# What changed in trino

> 20 changes in trino 0.338 to 0.340 from its official release notes, upgrade guides and advisories: 1 breaking, 3 new APIs and options. Each one cited. Sources checked 2026-10-25. HTML: https://unstale.sh/pypi/trino/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## trino 0.340

### New APIs and options

- Adds allow_insecure_auth to opt out of the HTTP+auth guard. (0.340.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.340.0)

### Behavior and default changes

- Scopes empty response retries to statement requests. (0.340.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.340.0)

### Fixes and other changes

- Fixes zombie $partitions queries left running by SQLAlchemy reflection. (0.340.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.340.0)
- Fixes binding bytes values for VARBINARY columns. (0.340.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.340.0)

## trino 0.339

### Breaking changes

- An error is raised when credentials are sent over HTTP. (0.339.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.339.0)

### New APIs and options

- Query stats are exposed through a cursor callback. (0.339.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.339.0)

### Behavior and default changes

- Custom HTTP headers are forwarded on coordinator spooling requests. (0.339.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.339.0)
- Completed DML statements are not canceled when the cursor is closed. (0.339.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.339.0)

### Fixes and other changes

- Statement POST requests send a Content-Type charset. (0.339.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.339.0)
- SQLAlchemy get_columns returns column comments. (0.339.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.339.0)
- The client retries when an HTTP 200 response has an empty body. (0.339.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.339.0)
- Result iteration can recover after errors. (0.339.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.339.0)
- server_version_info is cached, and re-entrant reads are guarded against. (0.339.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.339.0)
- The SQLAlchemy URL helper validates the host. (0.339.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.339.0)
- Username, password, and query values are no longer double-decoded. (0.339.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.339.0)

## trino 0.338

### New APIs and options

- Adds support for NUMBER. (0.338.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.338.0)

### Performance

- Segments are loaded lazily. (0.338.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.338.0)

### Behavior and default changes

- A heartbeat is sent while downloading spooled segments. (0.338.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.338.0)

### Fixes and other changes

- The columns property handles the lazy SegmentIterator used by the spooled protocol. (0.338.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.338.0)
- Fixes spurious warnings and bogus indexes when reflecting Iceberg tables. (0.338.0) — [release notes](https://github.com/trinodb/trino-python-client/releases/tag/0.338.0)
