unstale

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 init

@unstale/cli 0.2.3 on npm

elastic-transport 95 changes

New APIs and options 3

  • Optional backoff delays can be configured between retries.

    9.4.1release notes

  • Adds support for an httpx synchronous node.

    9.4.0release notes

  • The httpx async client now supports Trio, allowing developers to use it with the Trio async runtime.

    9.2.0release notes

Fixes and other changes 2

  • Percent characters are escaped in logging output.

    9.4.2release notes

  • The httpx node class uses path_prefix to compute the base URL.

    9.2.1release notes

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.

    8.0.0release notes

  • Now returns NamedTuple(meta=ApiResponseMeta, body=bytes).

    8.0.0release notes

  • Removed in favor of NodePool.

    8.0.0release notes

  • The elastic_transport.connection logger was renamed to elastic_transport.node.

    8.0.0release notes

  • Removed in favor of NodePool.

    8.0.0release notes

  • Renamed NodeSelector.get_connection() to get().

    8.0.0release notes

  • Renamed connection_class to node_class.

    8.0.0release notes

  • ConnectionPool was renamed to NodePool.

    8.0.0release notes

  • ConnectionSelector was renamed to NodeSelector.

    8.0.0release notes

  • Support for Python 2.7 was removed.

    8.0.0release notes

  • Renamed the NodeSelector parameter randomize_hosts to randomize_nodes.

    8.0.0release notes

  • Deserializer was renamed to SerializersCollection.

    8.0.0release notes

  • Now denotes the minimum TLS version instead of the only TLS version.

    8.0.0release notes

  • Now returns NamedTuple(meta=ApiResponseMeta, body=Any).

    8.0.0release notes

  • Blocks on new connections when the internal connection pool is exhausted.

    8.0.0release notes

  • Renamed the connections_per_host parameter to connections_per_node.

    8.0.0release notes

New APIs and options 12

  • Added support for asyncio with AiohttpHttpNode.

    8.0.0release notes

  • Added support for asyncio with AsyncTransport.

    8.0.0release notes

  • Added a method to enable all logging for debugging purposes.

    8.0.0release notes

  • Added a module to help writing API clients.

    8.0.0release notes

  • Added JsonSerializer.

    8.0.0release notes

  • Added NdjsonSerializer.

    8.0.0release notes

  • Added an option to set requests.Session.auth within RequestsHttpNode via NodeConfig._extras.

    8.0.0release notes

  • Added the connections_per_node parameter.

    8.0.0release notes

  • Added support for ssl_assert_fingerprint.

    8.0.0release notes

  • Added support for node discovery via sniffing using the transport parameter.

    8.0.0release notes

  • Experimental support for pinning non-leaf certificates is available with CPython 3.10+.

    8.0.0release notes

  • Can now be specified with the ssl.TLSVersion enum instead of ssl.PROTOCOL_TLSvX for Python 3.7+.

    8.0.0release notes

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.

    8.0.0release notes