8.0.0-beta1
Pre-release
Pre-release
Added
- Added support for asyncio with
AsyncTransportandAiohttpHttpNode - Added
JsonSerializer,NdjsonSerializer - Added
connections_per_nodeparameter toRequestsHttpNode - Added support for
ssl_assert_fingerprinttoRequestsHttpNode - Added experimental support for pinning non-leaf certificates
viassl_assert_fingerprintwhen using CPython 3.10+ - Added support for node discovery via "sniffing" using the
sniff_callbacktransport parameter - Added ability to specify
ssl_versionviassl.TLSVersionenum
instead ofssl.PROTOCOL_TLSvXfor Python 3.7+ - Added
elastic_transport.client_utilsmodule to help writing API clients - Added
elastic_transport.debug_loggingmethod to enable all logging for debugging purposes - Added option to set
requests.Session.authwithinRequestsHttpNodeviaNodeConfig._extras['requests.session.auth']
Changed
- Changed
*Connectionclasses to use*Nodeterminology - Changed
connection_classtonode_class - Changed
ConnectionPooltoNodePool - Changed
ConnectionSelectortoNodeSelector - Changed
NodeSelector(randomize_hosts)parameter torandomize_nodes - Changed
NodeSelector.get_connection()method toget() - Changed
elastic_transport.connectionlogger 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
DeserializerintoSerializersCollection - Changed
ssl_versionto denote the minimum TLS version instead of the only TLS version - Changed the base class for
ApiErrorto beExceptioninstead ofTransportError.
TransportErroris now only for errors that occur at the transport layer. - Changed
Urllib3HttpNodeto block on new connections when the internal connection pool is exhausted
Removed
- Removed support for Python 2.7
- Removed
DummyConnectionPoolandEmptyConnectionPoolin favor ofNodePool.
Fixed
- Fixed a work-around with
AiohttpHttpNodewheremethod="HEAD"requests wouldn't mark the internal connection as reusable. This work-around is no longer needed whenaiohttp>=3.7.0is installed. - Fixed logic for splitting
aiohttp.__version__when determining ifHEADbug is fixed.