Releases: elastic/elastic-transport-python
Releases · elastic/elastic-transport-python
8.1.1
Fixed
- Fixed
JsonSerializer
to returnNone
if a response usingContent-Type: application/json
is empty instead of raising an error.
8.1.0
Fixed
- Fixed
Urllib3HttpNode
andRequestsHttpNode
to never require a valid certificate chain when usingssl_assert_fingerprint
. Instead the internal HTTP client libraries will explicitly disable verifying the certificate chain and instead rely only on the certificate fingerprint for verification.
8.0.1
Fixed
- Fixed
AiohttpHttpNode
to close TLS connections that aren't properly shutdown by the server instead of leaking them - Fixed
Urllib3HttpNode
to respectpath_prefix
setting inNodeConfig
8.0.0
Added
- Added support for asyncio with
AsyncTransport
andAiohttpHttpNode
- Added
JsonSerializer
,NdjsonSerializer
- Added
connections_per_node
parameter toRequestsHttpNode
- Added support for
ssl_assert_fingerprint
toRequestsHttpNode
- Added experimental support for pinning non-leaf certificates
viassl_assert_fingerprint
when using CPython 3.10+ - Added support for node discovery via "sniffing" using the
sniff_callback
transport parameter - Added ability to specify
ssl_version
viassl.TLSVersion
enum
instead ofssl.PROTOCOL_TLSvX
for Python 3.7+ - Added
elastic_transport.client_utils
module to help writing API clients - Added
elastic_transport.debug_logging
method to enable all logging for debugging purposes - Added option to set
requests.Session.auth
withinRequestsHttpNode
viaNodeConfig._extras['requests.session.auth']
Changed
- Changed
*Connection
classes to use*Node
terminology - Changed
connection_class
tonode_class
- Changed
ConnectionPool
toNodePool
- Changed
ConnectionSelector
toNodeSelector
- Changed
NodeSelector(randomize_hosts)
parameter torandomize_nodes
- Changed
NodeSelector.get_connection()
method toget()
- Changed
elastic_transport.connection
logger name toelastic_transport.node
- Changed
Urllib3HttpNode(connections_per_host)
parameter toconnections_per_node
- Changed return type of
BaseNode.perform_request()
toNamedTuple(meta=ApiResponseMeta, body=bytes)
- Changed return type of
Transport.perform_request()
toNamedTuple(meta=ApiResponseMeta, body=Any)
- Changed name of
Deserializer
intoSerializersCollection
- Changed
ssl_version
to denote the minimum TLS version instead of the only TLS version - Changed the base class for
ApiError
to beException
instead ofTransportError
.
TransportError
is now only for errors that occur at the transport layer. - Changed
Urllib3HttpNode
to block on new connections when the internal connection pool is exhausted
Removed
- Removed support for Python 2.7
- Removed
DummyConnectionPool
andEmptyConnectionPool
in favor ofNodePool
.
Fixed
- Fixed a work-around with
AiohttpHttpNode
wheremethod="HEAD"
requests wouldn't mark the internal connection as reusable. This work-around is no longer needed whenaiohttp>=3.7.0
is installed. - Fixed logic for splitting
aiohttp.__version__
when determining ifHEAD
bug is fixed.
8.0.0-beta1
Added
- Added support for asyncio with
AsyncTransport
andAiohttpHttpNode
- Added
JsonSerializer
,NdjsonSerializer
- Added
connections_per_node
parameter toRequestsHttpNode
- Added support for
ssl_assert_fingerprint
toRequestsHttpNode
- Added experimental support for pinning non-leaf certificates
viassl_assert_fingerprint
when using CPython 3.10+ - Added support for node discovery via "sniffing" using the
sniff_callback
transport parameter - Added ability to specify
ssl_version
viassl.TLSVersion
enum
instead ofssl.PROTOCOL_TLSvX
for Python 3.7+ - Added
elastic_transport.client_utils
module to help writing API clients - Added
elastic_transport.debug_logging
method to enable all logging for debugging purposes - Added option to set
requests.Session.auth
withinRequestsHttpNode
viaNodeConfig._extras['requests.session.auth']
Changed
- Changed
*Connection
classes to use*Node
terminology - Changed
connection_class
tonode_class
- Changed
ConnectionPool
toNodePool
- Changed
ConnectionSelector
toNodeSelector
- Changed
NodeSelector(randomize_hosts)
parameter torandomize_nodes
- Changed
NodeSelector.get_connection()
method toget()
- Changed
elastic_transport.connection
logger name toelastic_transport.node
- Changed
Urllib3HttpNode(connections_per_host)
parameter toconnections_per_node
- Changed return type of
BaseNode.perform_request()
toNamedTuple(meta=ApiResponseMeta, body=bytes)
- Changed return type of
Transport.perform_request()
toNamedTuple(meta=ApiResponseMeta, body=Any)
- Changed name of
Deserializer
intoSerializersCollection
- Changed
ssl_version
to denote the minimum TLS version instead of the only TLS version - Changed the base class for
ApiError
to beException
instead ofTransportError
.
TransportError
is now only for errors that occur at the transport layer. - Changed
Urllib3HttpNode
to block on new connections when the internal connection pool is exhausted
Removed
- Removed support for Python 2.7
- Removed
DummyConnectionPool
andEmptyConnectionPool
in favor ofNodePool
.
Fixed
- Fixed a work-around with
AiohttpHttpNode
wheremethod="HEAD"
requests wouldn't mark the internal connection as reusable. This work-around is no longer needed whenaiohttp>=3.7.0
is installed. - Fixed logic for splitting
aiohttp.__version__
when determining ifHEAD
bug is fixed.
8.0.0-alpha7
v8.0.0a7 v8.0.0a7
7.16.0
- Release created to be compatible with 7.16 clients
- Deprecated Python 2.7, 3.4, and 3.5. Support will be removed in 8.0.0.