Elasticsearch version 7.0.0-alpha2
Breaking changes
- Authentication
- Circuit Breakers
- CCR
- Index APIs
- Ranking
- Scripting
- Search
-
- Remove the deprecated _termvector endpoint. #36131 (issues: #36098, #8484)
- Remove deprecated Graph endpoints #35956
- Validate metadata on
_msearch#35938 (issue: #35869) - Make hits.total an object in the search response #35849 (issue: #33028)
- Remove the distinction between query and filter context in QueryBuilders #35354 (issue: #35293)
- Throw a parsing exception when boost is set in span_or query (#28390) #34112 (issue: #28390)
- ZenDiscovery
-
- Best-effort cluster formation if unconfigured #36215
Breaking Java changes
- ZenDiscovery
-
- Make node field in JoinRequest private #36405
Deprecations
- Core
- Machine Learning
- Mapping
-
- Deprecate types in index API #36575 (issues: #35190, #35790)
- Deprecate uses of _type as a field name in queries #36503 (issue: #35190)
- Deprecate types in update_by_query and delete_by_query #36365 (issue: #35190)
- For msearch templates, make sure to use the right name for deprecation logging. #36344
- Deprecate types in termvector and mtermvector requests. #36182
- Deprecate types in update requests. #36181
- Deprecate types in document delete requests. #36087
- Deprecate types in get, exists, and multi get. #35930
- Deprecate types in search and multi search templates. #35669
- Deprecate types in explain requests. #35611
- Deprecate types in validate query requests. #35575
- Deprecate types in count and msearch. #35421 (issue: #34041)
- Migration
- Monitoring
- Rollup
- Scripting
- Search
- Security
- SQL
- Watcher
New features
- Analysis
- Java High Level REST Client
- Java Low Level REST Client
- Geo
- Machine Learning
- Mapping
- SQL
- Search
Enhancements
- Aggregations
-
- Added keyed response to pipeline percentile aggregations 22302 #36392 (issue: #22302)
- Enforce max_buckets limit only in the final reduction phase #36152 (issues: #32125, #35921)
- Histogram aggs: add empty buckets only in the final reduce step #35921
- Handles exists query in composite aggs #35758
- Added parent validation for auto date histogram #35670
- Analysis
- Audit
-
- Add "request.id" to file audit logs #35536
- Authentication
- Authorization
- Build
- CCR
-
- Add time since last auto follow fetch to auto follow stats #36542 (issues: #33007, #35895)
- Clean followed leader index UUIDs in auto follow metadata #36408 (issue: #33007)
- Change AutofollowCoordinator to use wait_for_metadata_version #36264 (issues: #33007, #35895)
- Refactor AutoFollowCoordinator to track leader indices per remote cluster #36031 (issues: #33007, #35895)
- Core
-
- Override the JVM DNS cache policy #36570
- Replace usages of AtomicBoolean based block of code by the RunOnce class #35553 (issue: #35489)
- Added wait_for_metadata_version parameter to cluster state api. #35535
- Extract RunOnce into a dedicated class #35489
- Introduce elasticsearch-core jar #28191 (issue: #27933)
- Rename core module to server #28180 (issue: #27933)
- CRUD
-
- Rename seq# powered optimistic concurrency control parameters to ifSeqNo/ifPrimaryTerm #36757 (issues: #10708, #36148)
- Expose Sequence Number based Optimistic Concurrency Control in the rest layer #36721 (issues: #10708, #36148)
- Add doc’s sequence number + primary term to GetResult and use it for updates #36680 (issues: #10708, #36148)
- Add seq no powered optimistic locking support to the index and delete transport actions #36619 (issues: #10708, #36148)
- Distributed
-
- [Close Index API] Mark shard copy as stale if needed during shard verification #36755
- [Close Index API] Refactor MetadataIndexStateService #36354 (issue: #36249)
- [Close Index API] Add TransportShardCloseAction for pre-closing verifications #36249
- TransportResyncReplicationAction should not honour blocks #35795 (issues: #35332, #35597)
- Expose all permits acquisition in IndexShard and TransportReplicationAction #35540 (issue: #33888)
- [RCI] Check blocks while having index shard permit in TransportReplicationAction #35332 (issue: #33888)
- Engine
-
- Add sequence numbers based optimistic concurrency control support to Engine #36467 (issues: #10708, #36148)
- Require soft-deletes when access changes snapshot #36446
- Use delCount of SegmentInfos to calculate numDocs #36323
- Always configure soft-deletes field of IndexWriterConfig #36196 (issue: #36141)
- Enable soft-deletes by default on 7.0.0 or later #36141
- Always return false from
refreshNeededon ReadOnlyEngine #35837 (issue: #35785) - Add a
_freeze/_unfreezeAPI #35592 (issue: #34352) - [RCI] Add IndexShardOperationPermits.asyncBlockOperations(ActionListener<Releasable>) #34902 (issue: #33888)
- Features
-
- Simplify deprecation issue levels #36326
- Index APIs
- Ingest
- Java High Level REST Client
-
- Add get users action #36332 (issue: #29827)
- Add delete template API #36320 (issue: #27205)
- Implement get-user-privileges API #36292
- Get Deprecation Info API #36279 (issue: #29827)
- Add support for Follow Stats API #36253 (issue: #33824)
- Add support for CCR Stats API #36213 (issue: #33824)
- Put Role #36209 (issue: #29827)
- Add index templates exist API #36132 (issue: #27205)
- Add support for CCR Get Auto Follow Pattern apis #36049 (issue: #33824)
- Add support for CCR Delete Auto Follow Pattern API #35981 (issue: #33824)
- Remove fromXContent from IndexUpgradeInfoResponse #35934
- Add delete expired data API #35906 (issue: #29827)
- Execute watch API #35868 (issue: #29827)
- Add ability to put user with a password hash #35844 (issue: #35242)
- Add ML find file structure API #35833 (issue: #29827)
- Add support for get roles API #35787 (issue: #29827)
- Added support for CCR Put Auto Follow Pattern API #35780 (issue: #33824)
- XPack ML info action #35777 (issue: #29827)
- ML Delete event from Calendar #35760 (issue: #29827)
- Add ML revert model snapshot API #35750 (issue: #29827)
- ML Get Calendar Events #35747 (issue: #29827)
- Add high-level REST client API for
_freezeand_unfreeze#35723 (issue: #34352) - Fix issue in equals impl for GlobalOperationPrivileges #35721
- ML Delete job from calendar #35713 (issue: #29827)
- ML Add Event To Calendar API #35704 (issue: #29827)
- Add ML update model snapshot API (#35537) #35694 (issue: #29827)
- Add support for CCR Unfollow API #35693 (issue: #33824)
- Clean up PutLicenseResponse #35689 (issue: #35547)
- Clean up StartBasicResponse #35688 (issue: #35547)
- Add support for put privileges API #35679
- ML Add Job to Calendar API #35666 (issue: #29827)
- Add support for CCR Resume Follow API #35638 (issue: #33824)
- Add support for get application privileges API #35556 (issue: #29827)
- Clean up XPackInfoResponse class and related tests #35547
- Add parameters to stopRollupJob API #35545 (issue: #34811)
- Add ML delete model snapshot API #35537 (issue: #29827)
- Add get watch API #35531 (issue: #29827)
- Add ML Update Filter API #35522 (issue: #29827)
- Add ml get filters api #35502 (issue: #29827)
- Add ML get model snapshots API #35487 (issue: #29827)
- Add "_has_privileges" API to Security Client #35479 (issue: #29827)
- Add Delete Privileges API to HLRC #35454 (issue: #29827)
- Add support for CCR Put Follow API #35409
- Add ML delete filter action #35382 (issue: #29827)
- Add delete user action #35294 (issue: #29827)
- HLRC for _mtermvectors #35266 (issues: #27205, #33447)
- Reindex API with wait_for_completion false #35202 (issue: #27205)
- Add watcher stats API #35185 (issue: #29827)
- HLRC support for getTask #35166 (issue: #27205)
- Add GetRollupIndexCaps API #35102 (issue: #29827)
- HLRC: migration api - upgrade #34898 (issue: #29827)
- Add stop rollup job support to HL REST Client #34702 (issue: #29827)
- Bulk Api support for global parameters #34528 (issue: #26026)
- Add delete rollup job support to HL REST Client #34066 (issue: #29827)
- Add support for get license basic/trial status API #33176 (issue: #29827)
- Add machine learning open job #32860 (issue: #29827)
- Add ML HLRC wrapper and put_job API call #32726
- Add Get Snapshots High Level REST API #31537 (issue: #27205)
- Java Low Level REST Client
-
- On retry timeout add root exception #25576
- Monitoring
- Geo
- License
- Machine Learning
-
- Create the ML annotations index #36731 (issues: #26034, #33376)
- Split in batches and migrate all jobs and datafeeds #36716 (issue: #32905)
- Add cluster setting to enable/disable config migration #36700 (issue: #32905)
- Add audits when deprecation warnings occur with datafeed start #36233
- Add lazy parsing for DatafeedConfig:Aggs,Query #36117
- Add support for lazy nodes (#29991) #34538 (issue: #29991)
- Network
-
- Unify transport settings naming #36623
- Add sni name to SSLEngine in netty transport #33144 (issue: #32517)
- Add cors support to NioHttpServerTransport #30827 (issue: #28898)
- Reintroduce mandatory http pipelining support #30820
- Make http pipelining support mandatory #30695 (issues: #28898, #29500)
- Add nio http server transport #29587 (issue: #28898)
- Selectors operate on channel contexts #28468 (issue: #27260)
- Unify nio read / write channel contexts #28160 (issue: #27260)
- Create nio-transport plugin for NioTransport #27949 (issue: #27260)
- Add elasticsearch-nio jar for base nio classes #27801 (issue: #27802)
- Add NioGroup for use in different transports #27737 (issue: #27260)
- Add read timeouts to http module #27713
- Implement byte array reusage in
NioTransport#27696 (issue: #27563) - Introduce resizable inbound byte buffer #27551 (issue: #27563)
- Decouple nio constructs from the tcp transport #27484 (issue: #27260)
- Remove manual tracking of registered channels #27445 (issue: #27260)
- Remove tcp profile from low level nio channel #27441 (issue: #27260)
- Decouple
ChannelFactoryfrom Tcp classes #27286 (issue: #27260)
- Packaging
- Plugins
-
- Plugin install: don’t print download progress in batch mode #36361
- Ranking
- Recovery
- Rollup
- Scripting
- Settings
- Search
-
- Add copy constructor to SearchRequest #36641 (issue: #32125)
- Add raw sort values to SearchSortValues transport serialization #36617 (issue: #32125)
- Add sort and collapse info to SearchHits transport serialization #36555 (issue: #32125)
- Add default methods to DocValueFormat #36480
- Respect indices options on _msearch #35887
- Allow efficient can_match phases on frozen indices #35431 (issues: #34352, #34357)
- Add a new query type - ScriptScoreQuery #34533 (issues: #23850, #27588, #30303)
- Security
- Snapshot/Restore
- SQL
-
- Extend the ODBC metric by differentiating between 32 and 64bit platforms #36753 (issue: #36740)
- Fix wrong appliance of StackOverflow limit for IN #36724 (issue: #36592)
- Introduce NOW/CURRENT_TIMESTAMP function #36562 (issue: #36534)
- Move requests' parameters to requests JSON body #36149 (issue: #35992)
- Make INTERVAL millis optional #36043 (issue: #36032)
- Implement data type verification for conditionals #35916 (issue: #35907)
- Implement GREATEST and LEAST functions #35879 (issue: #35878)
- Implement null safe equality operator
<=>#35873 (issue: #35871) - SYS COLUMNS returns ODBC specific schema #35870 (issue: #35376)
- Polish grammar for intervals #35853
- Add filtering to SYS TYPES #35852 (issue: #35342)
- Implement NULLIF(expr1, expr2) function #35826 (issue: #35818)
- Lock down JDBC driver #35798 (issue: #35437)
- Implement NVL(expr1, expr2) #35794 (issue: #35782)
- Implement ISNULL(expr1, expr2) #35793 (issue: #35781)
- Implement IFNULL variant of COALESCE #35762 (issue: #35749)
- XPack FeatureSet functionality #35725 (issue: #34821)
- Perform lazy evaluation of mismatched mappings #35676 (issues: #35659, #35675)
- Improve validation of unsupported fields #35675 (issue: #35673)
- Move internals from Joda to java.time #35649 (issue: #35633)
- Stats
- Task Management
- ZenDiscovery
-
- Add discovery types to cluster stats #36442
- Introduce
zen2discovery type #36298 - Zen2: Persist cluster states the old way on non-master-eligible nodes #36247 (issue: #3)
- [Zen2] Storage layer WriteStateException propagation #36052
- [Zen2] Implement Tombstone REST APIs #36007
- [Zen2] Update default for USE_ZEN2 to true #35998
- [Zen2] Add warning if cluster fails to form fast enough #35993
- [Zen2] Allow Setting a List of Bootstrap Nodes to Wait for #35847
- [Zen2] VotingTombstone class #35832
- [Zen2] PersistedState interface implementation #35819
- [Zen2] Support rolling upgrades from Zen1 #35737
- [Zen2] Add lag detector #35685
- [Zen2] Move ClusterState fields to be persisted to ClusterState.Metadata #35625
- [Zen2] Introduce ClusterBootstrapService #35488
- [Zen2] Introduce vote withdrawal #35446
- Zen2: Add basic Zen1 transport-level BWC #35443
Bug fixes
- Aggregations
- Audit
- Authentication
- Build
- CCR
-
- Fix follow stats API’s follower index filtering feature #36647
- AutoFollowCoordinator should tolerate that auto follow patterns may be removed #35945 (issue: #35937)
- Only auto follow indices when all primary shards have started #35814 (issue: #35480)
- Avoid NPE in follower stats when no tasks metadata #35802
- Fix the names of CCR stats endpoints in usage API #35438
- Circuit Breakers
- Core
- Distributed
- Engine
- Geo
- Index APIs
- Ingest
- License
- Machine Learning
-
- Interrupt Grok in file structure finder timeout #36588
- Prevent stack overflow while copying ML jobs and datafeeds #36370 (issue: #36360)
- Adjust file structure finder parser config #35935
- Fix find_file_structure NPE with should_trim_fields #35465 (issue: #35462)
- Prevent notifications being created on deletion of a non existent job #35337 (issues: #34058, #35336)
- Clear Job#finished_time when it is opened (#32605) #32755
- Fix thread leak when waiting for job flush (#32196) #32541 (issue: #32196)
- Fix CPoissonMeanConjugate sampling error. #335
- Network
-
- Do not resolve addresses in remote connection info #36671 (issue: #35658)
- Always compress based on the settings #36522 (issue: #36399)
- http.publish_host Should Contain CNAME #32806 (issue: #22029)
- Adjust SSLDriver behavior for JDK11 changes #32145 (issues: #32122, #32144)
- Add TRACE, CONNECT, and PATCH http methods #31035 (issue: #31017)
- Transport client: Don’t validate node in handshake #30737 (issue: #30141)
- Fix issue with finishing handshake in ssl driver #30580
- Remove potential nio selector leak #27825
- Fix issue where the incorrect buffers are written #27695 (issue: #27551)
- Do not set SO_LINGER on server channels #26997
- Do not set SO_LINGER to 0 when not shutting down #26871 (issue: #26764)
- Release pipelined http responses on close #26226
- Packaging
- Plugins
- Recovery
-
- Register ResyncTask.Status as a NamedWriteable #36610
- Rollup
-
- Fix rollup search statistics #36674
- Scripting
- Settings
- SQL
-
- Fix translation of LIKE/RLIKE keywords #36672 (issues: #36039, #36584)
- Scripting support for casting functions CAST and CONVERT #36640 (issue: #36061)
- Fix translation to painless for conditionals #36636 (issue: #36631)
- Concat should be always not nullable #36601 (issue: #36169)
- Fix MOD() for long and integer arguments #36599 (issue: #36364)
- Fix issue with complex HAVING and GROUP BY ordinal #36594 (issue: #36059)
- Be lenient for tests involving comparison to H2 but strict for csv spec tests #36498 (issue: #36483)
- Non ISO 8601 versions of DAY_OF_WEEK and WEEK_OF_YEAR functions #36358 (issue: #36263)
- Do not ignore all fields whose names start with underscore #36214 (issue: #36206)
- Fix issue with wrong data type for scripted Grouping keys #35969 (issue: #35662)
- Fix translation of math functions to painless #35910 (issue: #35654)
- Fix jdbc jar to include deps #35602
- Fix query translation for scripted queries #35408 (issue: #35232)
- Clear the cursor if nested inner hits are enough to fulfill the query required limits #35398 (issue: #35176)
- Introduce IsNull node to simplify expressions #35206 (issues: #34876, #35171)
- The SSL default configuration shouldn’t override the https protocol if used #34635 (issue: #33817)
- Minor fix for javadoc #32573 (issue: #32553)
- Search
-
- Inner hits fail to propagate doc-value format. #36310
- Fix custom AUTO issue with Fuzziness#toXContent #35807 (issue: #33462)
- Fix analyzed prefix query in query_string #35756 (issue: #31702)
- Fix problem with MatchNoDocsQuery in disjunction queries #35726 (issue: #34708)
- Fix phrase_slop in query_string query #35533 (issue: #35125)
- Add a More Like This query routing requirement check (#29678) #33974
- Security
- Snapshot/Restore
-
- Upgrade GCS Dependencies to 1.55.0 #36634 (issues: #35229, #35459)
- Improve Resilience SnapshotShardService #36113 (issue: #32265)
- Keep SnapshotsInProgress State in Sync with Routing Table #35710
- Ensure that gcs client creation is privileged #25938 (issue: #25932)
- Make calls to CloudBlobContainer#exists privileged #25937 (issue: #25931)
- Watcher
- ZenDiscovery
Regressions
Upgrades
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/7.17/release-notes-7.0.0-alpha2.html