pypi / elastic-transport
elastic-transport
What changed in elastic-transport 8 to 9, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-23.
16 breaking15 new APIs and options3 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initelastic-transport 95 changes
New APIs and options 3
Optional backoff delays can be configured between retries.
Adds support for an httpx synchronous node.
The httpx async client now supports Trio, allowing developers to use it with the Trio async runtime.
Fixes and other changes 2
Percent characters are escaped in logging output.
The httpx node class uses path_prefix to compute the base URL.
elastic-transport 829 changes
Breaking changes 16
Its base class is now Exception instead of TransportError; TransportError is reserved for errors at the transport layer.
Now returns NamedTuple(meta=ApiResponseMeta, body=bytes).
Removed in favor of NodePool.
The elastic_transport.connection logger was renamed to elastic_transport.node.
Removed in favor of NodePool.
Renamed NodeSelector.get_connection() to get().
Renamed connection_class to node_class.
ConnectionPool was renamed to NodePool.
ConnectionSelector was renamed to NodeSelector.
Support for Python 2.7 was removed.
Renamed the NodeSelector parameter randomize_hosts to randomize_nodes.
Deserializer was renamed to SerializersCollection.
Now denotes the minimum TLS version instead of the only TLS version.
Now returns NamedTuple(meta=ApiResponseMeta, body=Any).
Blocks on new connections when the internal connection pool is exhausted.
Renamed the connections_per_host parameter to connections_per_node.
New APIs and options 12
Added support for asyncio with AiohttpHttpNode.
Added support for asyncio with AsyncTransport.
Added a method to enable all logging for debugging purposes.
Added a module to help writing API clients.
Added JsonSerializer.
Added NdjsonSerializer.
Added an option to set requests.Session.auth within RequestsHttpNode via NodeConfig._extras.
Added the connections_per_node parameter.
Added support for ssl_assert_fingerprint.
Added support for node discovery via sniffing using the transport parameter.
Experimental support for pinning non-leaf certificates is available with CPython 3.10+.
Can now be specified with the ssl.TLSVersion enum instead of ssl.PROTOCOL_TLSvX for Python 3.7+.
Fixes and other changes 1
The workaround for method="HEAD" requests not marking the internal connection as reusable is no longer needed with aiohttp>=3.7.0.