Changelog¶
7.11.0 (2021-02-10)¶
- Added support for 7.11 APIs
- Added the
X-Elastic-Client-MetaHTTP header and themeta_headerparameter for controlling the header (#1473) - Added
ElasticsearchWarningwhich is raised when theWarningHTTP header is returned from Elasticsearch.ElasticsearchDeprecationWarningis now an alias for this warning type (#1495)
7.10.1 (2020-12-09)¶
- Fixed issue where the Scan helper would fail if a
scrollresponse returned without a value for_shards.skipped(#1451) - Fixed handling of IPv6 hosts with a port in the computed
Connection.hostproperty (#1460) - Fixed documented task management API stability, should have been as “experimental” (#1471)
- Changed deprecated
collections.Mappingin favor ofcollections.abc.Mappingfor Python 3.9 (#1443)
7.10.0 (2020-11-11)¶
- Added support for Elasticsearch 7.10 APIs
- Added basic type stubs for static type checking and IDE auto-complete of API parameters (#1297, #1406)
- Added support for Optimistic Concurrency Control options
(
_if_seq_no/_if_primary_term) to bulk helpers (#1387) - Added support for passing
_sourcewith"_op_type": "update"bulk helpers (#1387) - Fixed bug where
Connection.log_request_failure()call would receive the compressed HTTP body rather than uncompressed when an error is raised forRequestsHttpConnection(#1394) - Fix a typo in AsyncTransport where
sniff_timeoutwas used instead ofsniffer_timeout(#1431) - Removed explicit
yarldependency from[async]extra to avoid issue where pip would overrideaiohttp’s pin ofyarl. This is not a problem if you install with--use-feature=2020-resolver. Users should see no changes. (#1401)
7.9.1 (2020-08-19)¶
- Fixed the import of async helpers which were not available in 7.9.0 (#1353)
- Added support for
url_prefixwhen usingAIOHttpConnection(#1357)
7.9.0 (2020-08-18)¶
- Added support for ES 7.9 APIs
- Fixed retries to not raise an error when
sniff_on_connection_error=Trueand aTransportErroris raised during the sniff step. Instead the retry will continue or the error that triggered the retry will be raised (See #1279 and #1326)
7.8.0 (2020-06-18)¶
- Added support for ES 7.8 APIs
- Added support for async/await with asyncio via
AsyncElasticsearch. See documentation on using Asyncio with Elasticsearch for more information (See #1232, #1235, #1236) - Added async helpers
async_bulk,async_streaming_bulk,async_scan, andasync_reindex(See #1260) - Updated
exists_sourceAPI to use non-deprecated Elasticsearch API routes whendoc_typeis not specified to suppress deprecation warnings (See #1272)
7.7.1 (2020-05-26)¶
- Updated
create,update,explain,get_source, andtermvectorsAPIs to use non-deprecated Elasticsearch API routes whendoc_typeis not specified to suppress deprecation warnings (See #1253)
7.7.0 (2020-05-13)¶
- Added support for ES 7.7 APIs (See #1182)
- Added
ElasticsearchDeprecationWarningwhich is raised when aWarningHTTP header is sent by Elasticsearch. (See #1179) - Added support for serializing
numpyandpandas. data types toJSONSerializer. (See #1180) - Added
certifias a dependency so HTTPS connections work automatically. - Fixed duplicated parameters in some API docstrings (See #1169, thanks to Morten Hauberg!)
7.6.0 (2020-03-19)¶
- Added support for ES 7.6 APIs
- Added support for X-Opaque-Id to identify long-running tasks
- Added support for HTTP compression to
RequestsHttpConnection - Updated default setting of
http_compresswhen usingcloud_idtoTrue - Updated default setting of
sniffingwhen usingcloud_idtoFalse - Updated default port to
443ifcloud_idand no other port is defined on the client or withincloud_id - Updated
GETHTTP requests that contain a body toPOSTwhere the API allows this to fix proxies rejecting these requests. - Fix regression of
client.cluster.state()where the defaultmetricshould be set to"_all"if an index is given (See #1143) - Fix regression of
client.tasks.get()without atask_idhaving similar functionality toclient.tasks.list()This will be removed inv8.0ofelasticsearch-py(See #1157)
7.5.1 (2020-01-19)¶
7.5.0tag was not released so retagging
7.5.0¶
- All API is now auto generated
- deprecated the
.xpacknamespace - Update client to support ES 7.5 APIs
7.1.0 (2019-11-14)¶
- Fix sniffing with
http.publish_host - Fix
request_timeoutforindicesAPIs - Allow access to
x-packfeatures withoutxpacknamespace - Fix mark dead
7.0.5 (2019-10-01)¶
- Fix
verify_certs=False
7.0.4 (2019-08-22)¶
- Fix wheel distribution
7.0.3 (2019-08-21)¶
- remove sleep in retries
- pass
scroll_idthrough body inscroll - add
user-agent
7.0.2 (2019-05-29)¶
- Add connection parameter for Elastic Cloud cloud_id.
- ML client uses client object for _bulk_body requests
7.0.1 (2019-05-19)¶
- Use black to format the code.
- Update the test matrix to only use current pythons and 7.x ES
- Blocking pool must fit thread_count
- Update client to support missing ES 7 API’s and query params.
7.0.0 (2019-04-11)¶
- Removed deprecated option
update_all_types. - Using insecure SSL configuration (
verify_cert=False) raises a warning, this can be not showed withssl_show_warn=False - Add support for 7.x api’s in Elasticsearch both xpack and oss flavors
6.8.1 (2020-03-31)¶
- Added support for serializing
numpyandpandasdata types toJSONSerializer. (See #1180) - Fixed a namespace conflict in
elasticsearch6wheel distribution forv6.8.0(See #1186)
6.8.0 (2020-03-12)¶
- Added support for HTTP compression to
RequestsHttpConnection - Updated cloud_id default port
- Enable HTTP compression and disable sniffing by default when using Cloud ID to connect to ES.
- Updated versioning scheme to match ES major.minor
6.3.0 (2018-06-20)¶
- Add an exponential wait on delays
- Fix issues with dependencies
- Adding X-pack Docs
- Adding forecast to x-pack ML client
6.2.0 (2018-03-20)¶
- cleanup for SSL Context
- Add X-Pack clients to -py
- Adding Gzip support for capacity constrained networks
_routingin bulk action has been deprecated in ES. Introduces a breaking change if you useroutingas a field in your documents.
6.1.1 (2018-01-05)¶
- Updates to SSLContext logic to make it easier to use and have saner defaults.
- Doc updates
6.1.0 (2018-01-05)¶
- bad release
6.0.0 (2017-11-14)¶
- compatibility with Elasticsearch 6.0.0
5.5.0 (2017-11-10)¶
streaming_bulkhelper now supports retries with incremental backoffscanhelper properly checks for successful shards instead of just checkingfailed- compatible release with elasticsearch
5.6.4- fix handling of UTF-8 surrogates
5.4.0 (2017-05-18)¶
bulkhelpers now extractpipelineparameter from the action dictionary.
5.3.0 (2017-03-30)¶
- Compatibility with elasticsearch 5.3
5.2.0 (2017-02-12)¶
- The client now automatically sends
Content-Typehttp header set toapplication/json. If you are explicitly passing in other encoding thanjsonyou need to set the header manually.
5.1.0 (2017-01-11)¶
- Fixed sniffing
5.0.1 (2016-11-02)¶
- Fixed performance regression in
scanhelper
5.0.0 (2016-10-19)¶
- Version compatible with elasticsearch 5.0
- when using SSL certificate validation is now on by default. Install
certifior supply root certificate bundle. elasticsearch.tracelogger now also logs failed requests, signature of internal logging methodlog_request_failhas changed, all custom connection classes need to be updated- added
headersarg to connections to support custom http headers - passing in a keyword parameter with
Noneas value will cause that param to be ignored
2.4.0 (2016-08-17)¶
pingnow ignores allTransportErrorexceptions and just returnsFalse- expose
scroll_idonScanError - increase default size for
scanhelper to 1000 - Internal: changed
Transport.perform_requestto just return the body, not status as well.
2.3.0 (2016-02-29)¶
- added
client_keyargument to configure client certificates - debug logging now includes response body even for failed requests
2.2.0 (2016-01-05)¶
- Due to change in json encoding the client will no longer mask issues with
encoding - if you work with non-ascii data in python 2 you must use the
unicodetype or have proper encoding set in your environment. - adding additional options for ssh -
ssl_assert_hostnameandssl_assert_fingerprintto the default connection class - fix sniffing
2.1.0 (2015-10-19)¶
- move multiprocessing import inside parallel bulk for Google App Engine
2.0.0 (2015-10-14)¶
- Elasticsearch 2.0 compatibility release
1.8.0 (2015-10-14)¶
- removed thrift and memcached connections, if you wish to continue using those, extract the classes and use them separately.
- added a new, parallel version of the bulk helper using thread pools
- In helpers, removed
bulk_indexas an alias forbulk. Usebulkinstead.
1.7.0 (2015-09-21)¶
- elasticsearch 2.0 compatibility
- thrift now deprecated, to be removed in future version
- make sure urllib3 always uses keep-alive
1.6.0 (2015-06-10)¶
- Add
indices.flush_syncedAPI helpers.reindexnow supports reindexing parent/child documents
1.5.0 (2015-05-18)¶
- Add support for
query_cacheparameter when searching - helpers have been made more secure by changing defaults to raise an exception on errors
- removed deprecated options
replicationand the deprecated benchmark api. - Added
AddonClientclass to allow for extending the client from outside
1.4.0 (2015-02-11)¶
- Using insecure SSL configuration (
verify_cert=False) raises a warning reindexaccepts aqueryparameter- enable
reindexhelper to accept any kwargs for underlyingbulkandscancalls - when doing an initial sniff (via
sniff_on_start) ignore special sniff timeout - option to treat
TransportErroras normal failure inbulkhelpers - fixed an issue with sniffing when only a single host was passed in
1.3.0 (2014-12-31)¶
- Timeout now doesn’t trigger a retry by default (can be overriden by setting
retry_on_timeout=True) - Introduced new parameter
retry_on_status(defaulting to(503, 504)) controls which http status code should lead to a retry. - Implemented url parsing according to RFC-1738
- Added support for proper SSL certificate handling
- Required parameters are now checked for non-empty values
- ConnectionPool now checks if any connections were defined
- DummyConnectionPool introduced when no load balancing is needed (only one connection defined)
- Fixed a race condition in ConnectionPool
1.2.0 (2014-08-03)¶
- Compatibility with newest (1.3) Elasticsearch APIs.
- Filter out master-only nodes when sniffing
- Improved docs and error messages
1.1.1 (2014-07-04)¶
- Bugfix release fixing escaping issues with
request_timeout.
1.1.0 (2014-07-02)¶
- Compatibility with newest Elasticsearch APIs.
- Test helpers -
ElasticsearchTestCaseandget_test_clientfor use in your tests - Python 3.2 compatibility
- Use
simplejsonif installed instead of stdlib json library - Introducing a global
request_timeoutparameter for per-call timeout - Bug fixes
1.0.0 (2014-02-11)¶
- Elasticsearch 1.0 compatibility. See 0.4.X releases (and 0.4 branch) for code compatible with 0.90 elasticsearch.
- major breaking change - compatible with 1.0 elasticsearch releases only!
- Add an option to change the timeout used for sniff requests (
sniff_timeout). - empty responses from the server are now returned as empty strings instead of None
get_aliasnow hasnameas another optional parameter due to issue #4539 in es repo. Note that the order of params have changed so if you are not using keyword arguments this is a breaking change.
0.4.4 (2013-12-23)¶
helpers.bulk_indexrenamed tohelpers.bulk(alias put in place for backwards compatibility, to be removed in future versions)- Added
helpers.streaming_bulkto consume an iterator and yield results per operation helpers.bulkandhelpers.streaming_bulkare no longer limited to just index operations.- unicode body (for
incices.analyzefor example) is now handled correctly - changed
perform_requestonConnectionclasses to return headers as well. This is a backwards incompatible change for people who have developed their own connection class. - changed deserialization mechanics. Users who provided their own serializer
that didn’t extend
JSONSerializerneed to specify amimetypeclass attribute. - minor bug fixes
0.4.3 (2013-10-22)¶
- Fixes to
helpers.bulk_index, better error handling - More benevolent
hostsargument parsing forElasticsearch requestsno longer required (nor recommended) for install
0.4.2 (2013-10-08)¶
ignoreparam accepted by all APIs- Fixes to
helpers.bulk_index
0.4.1 (2013-09-24)¶
- Initial release.