Elasticsearch version 7.0.0
These release notes include all changes made in the alpha, beta, and RC
releases of 7.0.0.
Also see Breaking changes in 7.0.
Breaking changes
- 
Aggregations
- 
Remove support for deprecated params._agg/_aggs for scripted metric aggregations #32979 (issues: #29328, #31597)
- 
Percentile/Ranks should return null instead of NaN when empty #30460 (issue: #29066)
- 
Render sum as zero if count is zero for stats aggregation #27193 (issue: #26893)
 
- 
Analysis
- 
Audit
- 
Logfile auditing settings remove after deprecation  #35205
- 
Remove index audit output type #37707 (issues: #29881, #37301)
 
- 
Authentication
- 
Security: remove wrapping in put user response #33512 (issue: #32332)
- 
Remove bwc logic for token invalidation #36893 (issue: #36727)
 
- 
Authorization
- 
Remove aliases resolution limitations when security is enabled #31952 (issue: #31516)
- 
Remove implicit index monitor privilege #37774
 
- 
Circuit Breakers
- 
Lower fielddata circuit breaker’s default limit #27162 (issue: #27130)
 
- 
CRUD
- 
Version conflict exception message enhancement #29432 (issue: #21278)
- 
Using ObjectParser in UpdateRequest #29293 (issue: #28740)
- 
Remove support for internal versioning for concurrency control #38254 (issue: #1078)
 
- 
Distributed
- 
Remove undocumented action.master.force_local setting #29351
- 
Remove tribe node support #28443
- 
Forbid negative values for index.unassigned.node_left.delayed_timeout #26828
- 
Remove cluster state size #40061 (issues: #39806, #39827, #39951, #40016)
 
- 
Features/Features
- 
Remove Migration Upgrade and Assistance APIs #40075 (issue: #40014)
 
- 
Features/Indices APIs
- 
Indices Exists API should return 404 for empty wildcards #34499
- 
Default to one shard #30539
- 
Limit the number of nested documents #27405 (issue: #26962)
 
- 
Features/Ingest
- 
Features/Java Low Level REST Client
- 
Drop support for the low-level REST client on JDK 7 #38540 (issue: #29607)
 
- 
Features/Watcher
- 
Remove Watcher Account "unsecure" settings #36736 (issue: #36403)
 
- 
Features/Stats
- 
Remove the suggest metric from stats APIs #29635 (issue: #29589)
- 
Align cat thread pool info to thread pool config #29195 (issue: #29123)
- 
Align thread pool info to thread pool configuration #29123 (issue: #29113)
 
- 
Geo
- 
Use geohash cell instead of just a corner in geo_bounding_box #30698 (issue: #25154)
 
- 
Index APIs
- 
Infra/Circuit Breakers
- 
Introduce durability of circuit breaking exception #34460 (issue: #31986)
- 
Circuit-break based on real memory usage #31767
 
- 
Infra/Core
- 
Default node.name to the hostname #33677
- 
Remove bulk fallback for write thread pool #29609
- 
CCS: Drop http address from remote cluster info #29568 (issue: #29207)
- 
Remove the index thread pool #29556
- 
Main response should not have status 503 when okay #29045 (issue: #8902)
- 
Automatically prepare indices for splitting #27451
- 
Don’t refresh on _flush_force_mergeand_upgrade#27000 (issue: #26972)
 
- 
Infra/Logging
- 
Infra/Packaging
- 
Packaging: Remove windows bin files from the tar distribution #30596
- 
Package ingest-user-agent as a module #36956
- 
Package ingest-geoip as a module #36898
 
- 
Infra/REST API
- 
Remove GET support for clear cache indices #29525
- 
Clear Indices Cache API remove deprecated url params #29068
 
- 
Infra/Scripting
- 
Remove support for deprecated StoredScript contexts #31394 (issues: #27612, #28939)
- 
Remove getDate methods from ScriptDocValues #30690
- 
Drop ScriptDocValues#dateandScriptDocValues#datesin 7.0.0 #30690 (issue: #23008)
 
- 
Infra/Settings
- 
Remove config prompting for secrets and text #27216
 
- 
Machine Learning
- 
Mapping
- 
Match phrase queries against non-indexed fields should throw an exception #31060
- 
Remove legacy mapping code. #29224
- 
Reject updates to the _default_mapping. #29165 (issues: #15613, #28248)
- 
Remove the update_all_typesoption. #28288
- 
Remove the _default_mapping. #28248
- 
Reject the index_optionsparameter for numeric fields #26668 (issue: #21475)
- 
Update the default for include_type_name to false. #37285
- 
Support include_type_name in RestGetIndicesAction #37149
 
- 
Network
- 
Remove http.enabled setting #29601 (issue: #12792)
- 
Remove HTTP max content length leniency #29337
- 
Remove TLS 1.0 as a default SSL protocol #37512 (issue: #36021)
- 
Security: remove SSL settings fallback #36846 (issue: #29797)
 
- 
Percolator
- 
Remove deprecated percolator map_unmapped_fields_as_string setting #28060
 
- 
Ranking
- 
Add minimal sanity checks to custom/scripted similarities. #33564 (issue: #33309)
- 
Scroll queries asking for rescore are considered invalid #32918 (issue: #31775)
- 
Forbid negative scores in function_score query #35709 (issue: #33309)
- 
Forbid negative field boosts in analyzed queries #37930 (issue: #33309)
 
- 
Scripting
- 
Delete deprecated getValues from ScriptDocValues #36183 (issue: #22919)
 
- 
Search
- 
Remove deprecated url parameters _source_includeand_source_exclude#35097 (issues: #22792, #33475)
- 
Disallow negative query boost #34486 (issue: #33309)
- 
Forbid negative weightin Function Score Query #33390 (issue: #31927)
- 
In the field capabilities API, remove support for providing fields in the request body. #30185
- 
Remove deprecated options for query_string #29203 (issue: #25551)
- 
Fix Laplace scorer to multiply by alpha (and not add) #27125
- 
Remove _primary and _replica shard preferences #26791 (issue: #26335)
- 
Limit the number of expanded fields it query_string and simple_query_string #26541 (issue: #25105)
- 
Make purely negative queries return scores of 0. #26015 (issue: #23449)
- 
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)
- 
Track total hits up to 10,000 by default #37466 (issue: #33028)
- 
Use mappings to format doc-value fields by default. #30831 (issues: #26948, #29639)
 
- 
Security
- 
Remove heuristics that enable security on trial licenses #38075 (issue: #38009)
 
- 
Snapshot/Restore
- 
Include size of snapshot in snapshot metadata  #30890 (issue: #18543)
- 
Remove azure deprecated settings #26099 (issue: #23405)
 
- 
Store
- 
Drop elasticsearch-translog for 7.0 #33373 (issues: #31389, #32281)
- 
completely drop index.shard.check_on_startup: fixfor 7.0 #33194
 
- 
Suggesters
- 
Fix threshold frequency computation in Suggesters #34312 (issue: #34282)
- 
Make Geo Context Mapping Parsing More Strict #32821 (issues: #32202, #32412)
- 
Remove the ability to index or query context suggestions without context #31007 (issue: #30712)
 
- 
ZenDiscovery
- 
Best-effort cluster formation if unconfigured #36215
- 
Remove DiscoveryPlugin#getDiscoveryTypes #38414 (issue: #38410)
 
Breaking Java changes
- 
Aggregations
- 
Change GeoHashGrid.Bucket#getKey() to return String #31748 (issue: #30320)
 
- 
Analysis
- 
Remove deprecated AnalysisPlugin#requriesAnalysisSettings method #32037 (issue: #32025)
 
- 
Features/Java High Level REST Client
- 
Drop deprecated methods from Retry #33925
- 
Cluster health to default to cluster level #31268 (issue: #29331)
- 
Remove deprecated API methods #31200 (issue: #31069)
 
- 
Features/Java Low Level REST Client
- 
Geo
- 
Decouple geojson parse logic from ShapeBuilders #27212
 
- 
Infra/Core
- 
Infra/Transport API
- 
ZenDiscovery
- 
Make node field in JoinRequest private #36405
 
Deprecations
- 
Aggregations
- 
Analysis
- 
Replace parameter unicodeSetFilter with unicode_set_filter  #29215 (issue: #22823)
- 
Replace delimited_payload_filter by delimited_payload #26625 (issue: #21978)
- 
Deprecate Standard Html Strip Analyzer in master #26719 (issue: #4704)
- 
Remove nGramandedgeNGramtoken filter names (#38911) #39070 (issues: #30209, #38911)
 
- 
Audit
- 
Core
- 
Deprecate use of scientific notation in epoch time parsing #36691
- 
Add backcompat for joda time formats #36531
 
- 
Cluster Coordination
- 
Deprecate size in cluster state response #39951 (issue: #39806)
 
- 
Features/Indices APIs
- 
Default copy settings to true and deprecate on the REST layer #30598
- 
Reject setting index.optimize_auto_generated_id after version 7.0.0 #28895 (issue: #27600)
 
- 
Features/Ingest
- 
Deprecate _typein simulate pipeline requests #37949 (issue: #37731)
 
- 
Features/Java High Level REST Client
- 
Features/Watcher
- 
Deprecate xpack.watcher.history.cleaner_service.enabled #37782 (issue: #32041)
- 
deprecate types for watcher #37594 (issue: #35190)
 
- 
Graph
- 
Deprecate types in _graph/explorecalls. #40466
 
- 
Infra/Core
- 
Deprecate negative epoch timestamps #36793
- 
Deprecate use of scientific notation in epoch time parsing #36691
 
- 
Infra/Packaging
- 
Deprecate fallback to java on PATH #37990
 
- 
Infra/Scripting
- 
Add types deprecation to script contexts #37554
- 
Deprecate _type from LeafDocLookup #37491
- 
Remove deprecated params.ctx #36848 (issue: #34059)
 
- 
Infra/Transport API
- 
Deprecate the transport client in favour of the high-level REST client #27085
 
- 
Machine Learning
- 
Deprecate X-Pack centric ML endpoints #36315 (issue: #35958)
- 
Adding ml_settings entry to HLRC and Docs for deprecation_info #38118
- 
Datafeed deprecation checks #38026 (issue: #37932)
- 
Remove "8" prefixes from file structure finder timestamp formats #38016
- 
Adjust structure finder for Joda to Java time migration #37306
- 
Resolve 7.0.0 TODOs in ML code #36842 (issue: #29963)
 
- 
Mapping
- 
Deprecate type exists requests. #34663
- 
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)
- 
Deprecate types in rollover index API #38039 (issue: #35190)
- 
Deprecate types in get field mapping API #37667 (issue: #35190)
- 
Deprecate types in the put mapping API. #37280 (issues: #29453, #37285)
- 
Support include_type_name in the field mapping and index template APIs. #37210
- 
Deprecate types in create index requests. #37134 (issues: #29453, #37285)
- 
Deprecate use of the _type field in aggregations. #37131 (issue: #36802)
- 
Deprecate reference to _type in lookup queries #37016 (issue: #35190)
- 
Deprecate the document create endpoint. #36863
- 
Deprecate types in index API #36575 (issues: #35190, #35790)
- 
Deprecate types in update APIs #36225
 
- 
Migration
- 
Deprecate X-Pack centric Migration endpoints #35976 (issue: #35958)
 
- 
Monitoring
- 
Deprecate /_xpack/monitoring/* in favor of /_monitoring/* #36130 (issue: #35958)
 
- 
Rollup
- 
Re-deprecate xpack rollup endpoints #36451 (issue: #36044)
- 
Deprecate X-Pack centric rollup endpoints #35962 (issue: #35958)
 
- 
Scripting
- 
Adds deprecation logging to ScriptDocValues#getValues. #34279 (issue: #22919)
- 
Conditionally use java time api in scripting #31441
 
- 
Search
- 
Deprecate filtering on _type. #29468 (issue: #15613)
- 
Remove X-Pack centric graph endpoints #36010 (issue: #35958)
- 
Deprecate use of type in reindex request body #36823
- 
Add typless endpoints for get_source and exist_source #36426
 
- 
Security
- 
Deprecate X-Pack centric license endpoints #35959 (issue: #35958)
- 
Deprecate /_xpack/security/* in favor of /_security/* #36293 (issue: #35958)
 
- 
SQL
- 
Deprecate X-Pack SQL translate endpoint #36030
- 
Deprecate X-Pack centric SQL endpoints #35964 (issue: #35958)
 
- 
Watcher
- 
Deprecate X-Pack centric watcher endpoints #36218 (issue: #35958)
 
New features
- 
Allocation
- 
Analysis
- 
Relax TermVectors API to work with textual fields other than TextFieldType #31915 (issue: #31902)
- 
Add support for inlined user dictionary in Nori #36123 (issue: #35842)
- 
Add a prebuilt ICU Analyzer #34958 (issue: #34285)
 
- 
Authentication
- 
Add support for API keys to access Elasticsearch #38291 (issue: #34383)
- 
OIDC realm authentication flows #37787
- 
OIDC Realm JWT+JWS related functionality #37272 (issues: #35339, #37009)
- 
OpenID Connect Realm base functionality #37009 (issue: #35339)
 
- 
Authorization
- 
CCR
- 
Generalize search.remote settings to cluster.remote #33413
- 
Add ccr follow info api #37408 (issue: #37127)
 
- 
Distributed
- 
Features/ILM
- 
Features/Ingest
- 
Revert "Introduce a Hashing Processor (#31087)" #32178
- 
Add ingest-attachment support for per document indexed_charslimit #28977 (issue: #28942)
 
- 
Features/Java High Level REST Client
- 
GraphClient for the high level REST client and associated tests #32366
 
- 
Features/Monitoring
- 
Collect only display_name (for now) #35265 (issue: #8445)
 
- 
Geo
- 
Integrate Lucene’s LatLonShape (BKD Backed GeoShapes) as default geo_shapeindexing approach #36751 (issue: #35320)
- 
Integrate Lucene’s LatLonShape (BKD Backed GeoShapes) as default geo_shapeindexing approach #35320 (issue: #32039)
- 
geotile_grid implementation #37842 (issue: #30240)
- 
Fork Lucene’s LatLonShape Classes to local lucene package #36794
- 
Integrate Lucene’s LatLonShape (BKD Backed GeoShapes) as default geo_shapeindexing approach #36751 (issue: #35320)
- 
Integrate Lucene’s LatLonShape (BKD Backed GeoShapes) as default geo_shapeindexing approach #35320 (issue: #32039)
 
- 
Infra/Core
- 
Skip shard refreshes if shard is search idle#27500
 
- 
Infra/Logging
- 
Logging: Unify log rotation for index/search slow log #27298
 
- 
Infra/Plugins
- 
Infra/REST API
- 
Java High Level REST Client
- 
Java Low Level REST Client
- 
Make warning behavior pluggable per request #36345
- 
Add PreferHasAttributeNodeSelector #36005
 
- 
Machine Learning
- 
Filter undefined job groups from update job calendar actions #30757
- 
Add delayed datacheck to the datafeed job runner #35387 (issue: #35131)
- 
Adds set_upgrade_mode API endpoint #37837
 
- 
Mapping
- 
Add a feature_vectorfield. #31102 (issue: #27552)
- 
Expose Lucene’s FeatureField. #30618
- 
Make typeless APIs usable with indices whose type name is different from _doc#35790 (issue: #35190)
- 
Give precedence to index creation when mixing typed templates with typeless index creation and vice-versa. #37871 (issue: #37773)
- 
Add nanosecond field mapper #37755 (issues: #27330, #32601)
 
- 
Ranking
- 
Recovery
- 
Allow to trim all ops above a certain seq# with a term lower than X, … #31211 (issue: #10708)
 
- 
SQL
- 
Add basic support for ST_AsWKT geo function #34205
- 
Add support for SYS GEOMETRY_COLUMNS #30496 (issue: #29872)
- 
Introduce HISTOGRAM grouping function #36510 (issue: #36509)
- 
DATABASE() and USER() system functions #35946 (issue: #35863)
- 
Introduce INTERVAL support   #35521 (issue: #29990)
- 
Allow sorting of groups by aggregates #38042 (issue: #35118)
- 
Implement FIRST/LAST aggregate functions #37936 (issue: #35639)
- 
Introduce SQL DATE data type #37693 (issue: #37340)
 
- 
Search
- 
Add “took” timing info to response for _msearch/template API #30961 (issue: #30957)
- 
Add allow_partial_search_results flag to search requests with default setting true #28440 (issue: #27435)
- 
Enable adaptive replica selection by default #26522 (issue: #24915)
- 
Add intervals query #36135 (issues: #29636, #32406)
- 
Added soft limit to open scroll contexts #25244 #36009 (issue: #25244)
- 
Introduce ability to minimize round-trips in CCS #37828 (issues: #32125, #37566)
- 
Add script filter to intervals #36776
- 
Add the ability to set the number of hits to track accurately #36357 (issue: #33028)
- 
Add a maximum search request size. #26423
- 
Make IntervalQuery available via the Query DSL #36135 (issue: #29636)
 
- 
Security
- 
Switch internal security index to ".security-7" #39337 (issue: #39284)
 
- 
Suggesters
- 
Serialize suggestion responses as named writeables #30284 (issue: #26585)
 
Enhancements
- 
Aggregations
- 
Uses MergingDigest instead of AVLDigest in percentiles agg #28702 (issue: #19528)
- 
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
- 
Add Composite to AggregationBuilders #38207 (issue: #38020)
- 
Allow nested fields in the composite aggregation #37178 (issue: #28611)
- 
Remove single shard optimization when suggesting shard_size #37041 (issue: #32125)
- 
Use List instead of priority queue for stable sorting in bucket sort aggregator #36748 (issue: #36322)
- 
Keys are compared in BucketSortPipelineAggregation so making key type… #36407
 
- 
Allocation
- 
Fail start on obsolete indices documentation #37786 (issue: #27073)
- 
Fail start on invalid index metadata #37748 (issue: #27073)
- 
Fail start of non-data node if node has data #37347 (issue: #27073)
 
- 
Analysis
- 
Allow word_delimiter_graph_filter to not adjust internal offsets #36699 (issues: #33710, #34741)
- 
Ensure TokenFilters only produce single tokens when parsing synonyms #34331 (issue: #34298)
- 
Allow word_delimiter_graph_filter to not adjust internal offsets #36699 (issues: #33710, #34741)
 
- 
Audit
- 
Add "request.id" to file audit logs  #35536
- 
Security Audit includes HTTP method for requests #37322 (issue: #29765)
- 
Add X-Forwarded-For to the logfile audit #36427
 
- 
Authentication
- 
Invalidate Token API enhancements - HLRC #36362 (issue: #35388)
- 
Add DEBUG/TRACE logs for LDAP bind #36028
- 
Add Tests for findSamlRealm #35905
- 
Add realm information for Authenticate API #35648
- 
Formal support for "password_hash" in Put User #35242 (issue: #34729)
- 
Propagate auth result to listeners #36900 (issue: #30794)
- 
Reorder realms based on last success #36878
- 
Improve error message for 6.x style realm settings #36876 (issues: #30241, #36026)
- 
Change missing authn message to not mention tokens #36750
- 
Invalidate Token API enhancements - HLRC #36362 (issue: #35388)
- 
Enhance Invalidate Token API #35388 (issues: #34556, #35115)
 
- 
Authorization
- 
Improve exact index matching performance #36017
- 
manage_tokenprivilege forkibana_system#35751
- 
Grant .tasks access to kibana_system role #35573
- 
Add apm_user reserved role #38206
- 
Permission for restricted indices #37577 (issue: #34454)
- 
Remove kibana_user and kibana_dashboard_only_user index privileges #37441
- 
Create snapshot role #35820 (issue: #34454)
 
- 
Build
- 
Sounds like typo in exception message #35458
- 
Allow set section in setup section of REST tests #34678
 
- 
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)
- 
Concurrent file chunk fetching for CCR restore #38495
- 
Tighten mapping syncing in ccr remote restore #38071 (issues: #36879, #37887)
- 
Do not allow put mapping on follower #37675 (issue: #30086)
- 
Added ccr to xpack usage infrastructure #37256 (issue: #37221)
- 
FollowingEngine should fail with 403 if operation has no seqno assigned #37213
- 
Added auto_follow_exception.timestamp field to auto follow stats #36947
- 
Add time since last auto follow fetch to auto follow stats #36542 (issues: #33007, #35895)
- 
Reduce retention lease sync intervals #40302
- 
Renew retention leases while following #39335 (issues: #37165, #38718)
- 
Reduce refresh when lookup term in FollowingEngine #39184
- 
Integrate retention leases to recovery from remote #38829 (issue: #37165)
- 
Enable removal of retention leases #38751 (issue: #37165)
- 
Introduce forget follower API #39718 (issue: #37165)
 
- 
Client
- 
Fixed required fields and paths list #39358
 
- 
Cluster Coordination
- 
Remove timeout task after completing cluster state publication #40411
- 
Use default discovery implementation for single-node discovery #40036
- 
Do not log unsuccessful join attempt each time #39756
 
- 
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)
- 
Add Seq# based optimistic concurrency control to UpdateRequest #37872 (issues: #10708, #36148)
- 
Introduce ssl settings to reindex from remote #37527 (issues: #29755, #37287)
- 
Use Sequence number powered OCC for processing updates #37308 (issues: #10708, #36148)
- 
Document Seq No powered optimistic concurrency control #37284 (issues: #10708, #36148)
- 
Enable IPv6 URIs in reindex from remote #36874
- 
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)
- 
Set acking timeout to 0 on dynamic mapping update #31140 (issues: #30672, #30844)
 
- 
Discovery-Plugins
- 
Adds connect and read timeouts to discovery-gce #28193 (issue: #24313)
 
- 
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)
- 
Recover retention leases during peer recovery #38435 (issue: #37165)
- 
Lift retention lease expiration to index shard #38380 (issues: #37165, #37963, #38070)
- 
Introduce retention lease background sync #38262 (issue: #37165)
- 
Allow shards of closed indices to be replicated as regular shards #38024 (issue: #33888)
- 
Expose retention leases in shard stats #37991 (issue: #37165)
- 
Introduce retention leases versioning #37951 (issue: #37165)
- 
Soft-deletes policy should always fetch latest leases #37940 (issues: #37165, #37375)
- 
Sync retention leases on expiration #37902 (issue: #37165)
- 
Ignore shard started requests when primary term does not match #37899 (issue: #33888)
- 
Move update and delete by query to use seq# for optimistic concurrency control #37857 (issues: #10708, #36148, #37639)
- 
Introduce retention lease serialization #37447 (issues: #37165, #37398)
- 
Add run under primary permit method #37440 (issue: #37398)
- 
Introduce retention lease syncing #37398 (issue: #37165)
- 
Introduce retention lease persistence #37375 (issue: #37165)
- 
Add validation for retention lease construction #37312 (issue: #37165)
- 
Introduce retention lease expiration #37195 (issue: #37165)
- 
Introduce shard history retention leases #37167 (issue: #37165)
- 
[Close Index API] Add unique UUID to ClusterBlock #36775
- 
[Close Index API] Mark shard copy as stale if needed during shard verification #36755
- 
[Close Index API] Propagate tasks ids between Freeze, Close and Verify Shard actions #36630
- 
Always initialize the global checkpoint #34381
- 
Introduce retention lease actions #38756 (issue: #37165)
- 
Add dedicated retention lease exceptions #38754 (issue: #37165)
- 
Copy retention leases when trim unsafe commits #37995 (issue: #37165)
- 
Allow retention lease operations under blocks #39089 (issues: #34648, #37165)
- 
Remove retention leases when unfollowing #39088 (issues: #34648, #37165)
- 
Introduce retention lease state file #39004 (issues: #37165, #38588, #39032)
- 
Enable soft-deletes by default for 7.0+ indices #38929 (issue: #36141)
 
- 
Engine
- 
Remove versionType from translog #31945
- 
Do retry if primary fails on AsyncAfterWriteAction #31857 (issues: #31716, #31755)
- 
handle AsyncAfterWriteAction exception before listener is registered #31755 (issue: #31716)
- 
Use IndexWriter#flushNextBuffer to free memory #27753
- 
Remove pre 6.0.0 support from InternalEngine #27720
- 
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)
- 
Specialize pre-closing checks for engine implementations #38702
- 
Ensure that max seq # is equal to the global checkpoint when creating ReadOnlyEngines #37426
- 
Enable Bulk-Merge if all source remains #37269
- 
Rename setting to enable mmap #37070 (issue: #36668)
- 
Add hybridfs store type #36668
- 
Introduce time-based retention policy for soft-deletes #34943 (issue: #34908)
- 
Handle AsyncAfterWriteAction failure on primary in the same way as failures on replicas  #31969 (issues: #31716, #31755)
- 
Explicitly advance max_seq_no before indexing #39473 (issue: #38879)
- 
Also mmap cfs files for hybridfs #38940 (issue: #36668)
 
- 
Features/CAT APIs
- 
Expose search.throttledon_cat/indices#37073 (issue: #34352)
 
- 
Features/Features
- 
Run Node deprecation checks locally (#38065) #38250 (issue: #38065)
 
- 
Features/ILM
- 
Features/Indices APIs
- 
Add cluster-wide shard limit #32856 (issue: #20705)
- 
Remove RestGetAllAliasesAction #31308 (issue: #31129)
- 
Add rollover-creation-date setting to rolled over index #31144 (issue: #30887)
- 
add is-write-index flag to aliases #30942
- 
Make index and bulk APIs work without types. #29479
- 
Simplify deprecation issue levels #36326
- 
New mapping signature and mapping string source fixed. #37401
 
- 
Features/Ingest
- 
Add ignore_missing property to foreach filter (#22147) #31578 (issue: #22147)
- 
Compile mustache template only if field includes {{' #37207 (issue: #37120)
- 
Move ingest-geoip default databases out of config #36949 (issue: #36898)
- 
Make the ingest-geoip databases even lazier to load #36679
- 
Updates the grok patterns to be consistent with the logstash #27181
 
- 
Features/Java High Level REST Client
- 
HLRC API for _termvectors #32610 (issue: #27205)
- 
Fix strict setting exception handling #37247 (issue: #37090)
- 
Use nonblocking entity for requests #32249
 
- 
Features/Monitoring
- 
Make Exporters Async #35765 (issue: #35743)
- 
Adding mapping for hostname field #37288
- 
Remove types from internal monitoring templates and bump to api 7 #39888 (issue: #38637)
 
- 
Features/Stats
- 
Stats to record how often the ClusterState diff mechanism is used successfully #26973
- 
Add JVM dns cache expiration config to JvmInfo #36372
 
- 
Features/Watcher
- 
Validate email adresses when storing a watch #34042 (issue: #33980)
- 
Move watcher to use seq# and primary term for concurrency control #37977 (issues: #10708, #37872)
- 
Use ILM for Watcher history deletion #37443 (issue: #32041)
- 
Add whitelist to HttpClient #36817 (issue: #29937)
- 
Remove the index type from internal watcher indexes #39761 (issue: #38637)
 
- 
Geo
- 
Adds a name of the field to geopoint parsing errors #36529 (issue: #15965)
- 
Add support to ShapeBuilders for building Lucene geometry #35707 (issue: #35320)
- 
Add ST_WktToSQL function #35416 (issue: #29872)
 
- 
Index APIs
- 
Infra/Circuit Breakers
- 
Have circuit breaker succeed on unknown mem usage #33125 (issue: #31767)
- 
Account for XContent overhead in in-flight breaker #31613
- 
Script Stats: Add compilation limit counter to stats #26387
 
- 
Infra/Core
- 
Add RunOnce utility class that executes a Runnable exactly once #35484
- 
Improved IndexNotFoundException’s default error message #34649 (issue: #34628)
- 
fix a few versionAdded values in ElasticsearchExceptions #37877
- 
Add simple method to write collection of writeables #37448 (issue: #37398)
- 
Date/Time parsing: Use java time API instead of exception handling #37222
- 
[API] spelling: interruptible #37049 (issue: #37035)
- 
Enhancements to IndicesQueryCache. #39099 (issue: #37117)
- 
Change zone formatting for all printers #39568 (issue: #38471)
 
- 
Infra/Logging
- 
Infra/Packaging
- 
Choose JVM options ergonomically #30684
- 
Add OS/architecture classifier to distributions #37881
- 
Change file descriptor limit to 65535 #37537 (issue: #35839)
- 
Exit batch files explictly using ERRORLEVEL #29583 (issue: #29582)
- 
Add no-jdk distributions #39882
- 
Allow AVX-512 on JDK 11+ #40828 (issue: #32138)
 
- 
Infra/REST API
- 
Infra/Scripting
- 
Tests: Add support for custom contexts to mock scripts #34100
- 
Reflect factory signatures in painless classloader #34088
- 
Handle missing values in painless #32207 (issue: #29286)
- 
Add getZone to JodaCompatibleZonedDateTime #37084
- 
[Painless] Add boxed type to boxed type casts for method/return #36571
 
- 
Infra/Packaging
- 
Use bundled JDK in Docker images #40238
- 
Upgrade bundled JDK and Docker images to JDK 12 #40229
- 
Bundle java in distributions #38013 (issue: #31845)
 
- 
Infra/Settings
- 
Settings: Add keystore creation to add commands #26126
- 
Separate out validation of groups of settings #34184
- 
Provide a clearer error message on keystore add #39327 (issue: #39324)
 
- 
Infra/Transport API
- 
Change BWC version for VerifyRepositoryResponse #30796 (issue: #30762)
 
- 
Ingest
- 
Grok fix duplicate patterns JAVACLASS and JAVAFILE  #35886
- 
Implement Drop Processor #32278 (issue: #23726)
 
- 
Java High Level REST Client
- 
Java Low Level REST Client
- 
On retry timeout add root exception #25576
 
- 
License
- 
Require acknowledgement to start_trial license #30135 (issue: #30134)
- 
Handle malformed license signatures #37137 (issue: #35340)
 
- 
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)
- 
Move ML Optimistic Concurrency Control to Seq No #38278 (issues: #10708, #36148)
- 
Add explanation so far to file structure finder exceptions #38191 (issue: #29821)
- 
Add reason field in JobTaskState #38029 (issue: #34431)
- 
Add _meta information to all ML indices #37964
- 
Add upgrade mode docs, hlrc, and fix bug #37942
- 
Tighten up use of aliases rather than concrete indices #37874
- 
Add support for single bucket aggs in Datafeeds #37544 (issue: #36838)
- 
Create the ML annotations index #36731 (issues: #26034, #33376)
- 
Merge the Jindex master feature branch #36702 (issue: #32905)
- 
Add cluster setting to enable/disable config  migration #36700 (issue: #32905)
- 
Allow stop unassigned datafeed and relax unset upgrade mode wait #39034
 
- 
Mapping
- 
Log document id when MapperParsingException occurs #37800 (issue: #37658)
- 
[API] spelling: unknown #37056 (issue: #37035)
- 
Make SourceToParse immutable #36971
- 
Use index-prefix fields for terms of length min_chars - 1 #36703
- 
Introduce a parameter suppress_types_warnings. #38923
 
- 
Network
- 
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)
- 
Add class for serializing message to bytes #29384 (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)
- 
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)
- 
Enable TLSv1.3 by default for JDKs with support #38103 (issue: #32276)
 
- 
Packaging
- 
Introduce Docker images build #36246
- 
Move creation of temporary directory to Java #36002 (issue: #31003)
 
- 
Percolator
- 
Make the typeparameter optional when percolating existing documents. #39987 (issue: #39963)
- 
Add support for selecting percolator query candidate matches containing geo_point based queries #26040
 
- 
Plugins
- 
Plugin install: don’t print download progress in batch mode #36361
 
- 
Ranking
- 
Recovery
- 
SyncedFlushService.getShardRoutingTable() should use metadata to check for index existence #37691 (issue: #33888)
- 
Make prepare engine step of recovery source non-blocking #37573 (issue: #37174)
- 
Make recovery source send operations non-blocking #37503 (issue: #37458)
- 
Prepare to make send translog of recovery non-blocking #37458 (issue: #37291)
- 
Make finalize step of recovery source non-blocking #37388 (issue: #37291)
- 
Make recovery source partially non-blocking #37291 (issue: #36195)
- 
Do not mutate RecoveryResponse #37204 (issue: #37174)
- 
Don’t block on peer recovery on the target side #37076 (issue: #36195)
- 
Reduce recovery time with compress or secure transport #36981 (issue: #33844)
- 
Translog corruption marker #33415 (issue: #31389)
- 
Do not wait for advancement of checkpoint in recovery #39006 (issues: #38949, #39000)
 
- 
Rollup
- 
Add non-X-Pack centric rollup endpoints #36383 (issues: #35958, #35962)
- 
Add more diagnostic stats to job #35471
- 
Add wait_for_completionoption to StopRollupJob API #34811 (issue: #34574)
- 
Replace the TreeMap in the composite aggregation #36675
 
- 
Recovery
- 
Exposed engine must include all operations below global checkpoint during rollback #36159 (issue: #32867)
 
- 
Scripting
- 
Update joda compat methods to use compat class #36654
- 
[Painless] Add boxed type to boxed type casts for method/return #36571
- 
[Painless] Add def to boxed type casts #36506
 
- 
Settings
- 
Search
- 
Make limit on number of expanded fields configurable #35284 (issues: #26541, #34778)
- 
Search: Simply SingleFieldsVisitor #34052
- 
Don’t count hits via the collector if the hit count can be computed from index stats. #33701
- 
Limit the number of concurrent requests per node #31206 (issue: #31192)
- 
Default max concurrent search req. numNodes * 5 #31171 (issues: #30783, #30994)
- 
Change ScriptException status to 400 (bad request) #30861 (issue: #12315)
- 
Change default value to true for transpositions parameter of fuzzy query #26901
- 
Introducing "took" time (in ms) for _msearch#23767 (issue: #23131)
- 
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)
- 
Tie break on cluster alias when merging shard search failures #38715 (issue: #38672)
- 
Add finalReduce flag to SearchRequest #38104 (issues: #37000, #37838)
- 
Streamline skip_unavailable handling #37672 (issue: #32125)
- 
Expose sequence number and primary terms in search responses #37639
- 
Add support for merging multiple search responses into one #37566 (issue: #32125)
- 
Allow field types to optimize phrase prefix queries #37436 (issue: #31921)
- 
Add support for providing absolute start time to SearchRequest #37142 (issue: #32125)
- 
Ensure that local cluster alias is never treated as remote #37121 (issues: #32125, #36997)
- 
[API] spelling: cacheable #37047 (issue: #37035)
- 
Add ability to suggest shard_size on coord node rewrite #37017 (issues: #32125, #36997, #37000)
- 
Skip final reduction if SearchRequest holds a cluster alias #37000 (issues: #32125, #36997)
- 
Add support for local cluster alias to SearchRequest #36997 (issue: #32125)
- 
Use SearchRequest copy constructor in ExpandSearchPhase #36772 (issue: #36641)
- 
Add raw sort values to SearchSortValues transport serialization #36617 (issue: #32125)
- 
Avoid BytesRef’s copying in ScriptDocValues’s Strings #29581 (issue: #29567)
 
- 
Security
- 
Make credentials mandatory when launching xpack/migrate #36197 (issues: #29847, #33972)
- 
Move CAS operations in TokenService to sequence numbers #38311 (issues: #10708, #37872)
- 
Cleanup construction of interceptors #38294
- 
Add passphrase support to elasticsearch-keystore #37472 (issue: #32691)
- 
Types removal security index template #39705 (issue: #38637)
- 
Types removal security index template #39542 (issue: #38637)
 
- 
Snapshot/Restore
- 
#31608 Add S3 Setting to Force Path Type Access #34721 (issue: #31608)
- 
Allow Parallel Restore Operations #36397
- 
Repo Creation out of ClusterStateTask #36157 (issue: #9488)
- 
Add read-only repository verification #35731 (issue: #35703)
- 
RestoreService should update primary terms when restoring shards of existing indices #38177 (issue: #33888)
- 
Allow open indices to be restored #37733
- 
Create specific exception for when snapshots are in progress #37550 (issue: #37541)
- 
Make Atomic Blob Writes Mandatory #37168 (issues: #37011, #37066)
- 
Speed up HDFS Repository Writes #37069
- 
Implement Atomic Blob Writes for HDFS Repository #37066 (issue: #37011)
- 
[API] spelling: repositories #37053 (issue: #37035)
- 
Use CancellableThreads to Abort #35901 (issue: #21759)
- 
S3 client encryption #30513 (issues: #11128, #16843)
- 
Mark Deleted Snapshot Directories with Tombstones #40228 (issue: #39852)
 
- 
Stats
- 
Handle OS pretty name on old OS without OS release #35453 (issue: #35440)
 
- 
Store
- 
Add RemoveCorruptedShardDataCommand #32281 (issues: #31389, #32279)
- 
Add option to force load term dict into memory #39741
 
- 
SQL
- 
Introduce support for NULL values #34573 (issue: #32079)
- 
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)
- 
Allow look-ahead resolution of aliases for WHERE clause #38450 (issue: #29983)
- 
Implement CURRENT_DATE #38175 (issue: #38160)
- 
Generate relevant error message when grouping functions are not used in GROUP BY #38017 (issue: #37952)
- 
Skip the nested and object field types in case of an ODBC request #37948 (issue: #37801)
- 
Add protocol tests and remove jdbc_type from drivers response #37516 (issues: #36635, #36882)
- 
Remove slightly used meta commands #37506 (issue: #37409)
- 
Describe aliases as views #37496 (issue: #37422)
- 
Make FULLnon-reserved keyword in the grammar #37377 (issue: #37376)
- 
Use declared source for error messages #37161
- 
Improve error message when unable to translate to ES query DSL #37129 (issue: #37040)
- 
[API] spelling: subtract #37055 (issue: #37035)
- 
[API] spelling: similar #37054 (issue: #37035)
- 
[API] spelling: input #37048 (issue: #37035)
- 
Enhance message for PERCENTILE[_RANK] with field as 2nd arg #36933 (issue: #36903)
- 
Preserve original source for each expression #36912 (issue: #36894)
- 
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)
- 
Enhance checks for inexact fields #39427 (issue: #38501)
- 
Change the default precision for CURRENT_TIMESTAMP function #39391 (issue: #39288)
- 
Add "fuzziness" option to QUERY and MATCH function predicates #40529 (issue: #40495)
- 
Add "validate.properties" property to JDBC’s allowed list of settings #39050 (issue: #38068)
 
- 
Suggesters
- 
Remove unused empty constructors from suggestions classes #37295
- 
[API] spelling: likelihood #37052 (issue: #37035)
 
- 
Task Management
- 
Periodically try to reassign unassigned persistent tasks #36069 (issue: #35792)
- 
Only require task permissions #35667 (issue: #35573)
- 
Retry if task can’t be written #35054 (issue: #33764)
 
- 
ZenDiscovery
- 
Introduce vote withdrawal #35446
- 
Add basic Zen1 transport-level BWC #35443
- 
Add diff-based publishing #35290
- 
Introduce auto_shrink_voting_configuration setting #35217
- 
Introduce transport API for cluster bootstrapping #34961
- 
Reconfigure cluster as its membership changes #34592 (issue: #33924)
- 
Fail fast on disconnects #34503
- 
Add storage-layer disruptions to CoordinatorTests #34347
- 
Add low-level bootstrap implementation #34345
- 
Gather votes from all nodes #34335
- 
Add Cluster State Applier #34257
- 
Add safety phase to CoordinatorTests #34241
- 
Integrate FollowerChecker with Coordinator #34075
- 
Integrate LeaderChecker with Coordinator #34049
- 
Trigger join when active master detected #34008
- 
Update PeerFinder term on term bump #33992
- 
Calculate optimal cluster configuration #33924
- 
Introduce FollowersChecker #33917
- 
Integrate publication pipeline into Coordinator #33771
- 
Add DisruptableMockTransport #33713
- 
Implement basic cluster formation #33668
- 
Introduce LeaderChecker #33024
- 
Add leader-side join handling logic #33013
- 
Add PeerFinder#onFoundPeersUpdated #32939
- 
Introduce PreVoteCollector #32847
- 
Introduce ElectionScheduler #32846
- 
Introduce ElectionScheduler #32709
- 
Add HandshakingTransportAddressConnector #32643 (issue: #32246)
- 
Add UnicastConfiguredHostsResolver #32642 (issue: #32246)
- 
Cluster state publication pipeline #32584 (issue: #32006)
- 
Introduce gossip-like discovery of master nodes #32246
- 
Add core coordination algorithm for cluster state publishing  #32171 (issue: #32006)
- 
Add term and config to cluster state #32100 (issue: #32006)
- 
Add discovery types to cluster stats #36442
- 
Introduce zen2discovery type #36298
- 
Persist cluster states the old way on non-master-eligible nodes #36247 (issue: #3)
- 
Storage layer WriteStateException propagation #36052
- 
Implement Tombstone REST APIs #36007
- 
Update default for USE_ZEN2 to true #35998
- 
Add warning if cluster fails to form fast enough #35993
- 
Allow Setting a List of Bootstrap Nodes to Wait for #35847
- 
VotingTombstone class #35832
- 
PersistedState interface implementation #35819
- 
Support rolling upgrades from Zen1 #35737
- 
Add lag detector #35685
- 
Move ClusterState fields to be persisted to ClusterState.MetaData #35625
- 
Introduce ClusterBootstrapService #35488
- 
Introduce vote withdrawal #35446
- 
Add basic Zen1 transport-level BWC #35443
- 
Add elasticsearch-node detach-cluster tool #37979
- 
Deprecate minimum_master_nodes #37868
- 
Step down as master when configured out of voting configuration #37802 (issue: #37712)
- 
Enforce cluster UUIDs #37775
- 
Bubble exceptions up in ClusterApplierService #37729
- 
Use m_m_nodes from Zen1 master for Zen2 bootstrap #37701
- 
Add tool elasticsearch-node unsafe-bootstrap #37696
- 
Report terms and version if cluster does not form #37473
- 
Bootstrap a Zen2 cluster once quorum is discovered #37463
- 
Zen2: Add join validation #37203
- 
Publish cluster states in chunks #36973
 
Bug fixes
- 
Aggregations
- 
Fix InternalAutoDateHistogram reproducible failure #32723 (issue: #32215)
- 
fix MultiValuesSourceFieldConfig toXContent #36525 (issue: #36474)
- 
Cache the score of the parent document in the nested agg #36019 (issues: #34555, #35985)
- 
Correct implemented interface of ParsedReverseNested #35455 (issue: #35449)
- 
Handle IndexOrDocValuesQuery in composite aggregation #35392
- 
Don’t load global ordinals with the mapexecution_hint #37833 (issue: #37705)
- 
Issue #37303 - Invalid variance fix #37384 (issue: #37303)
- 
Skip sibling pipeline aggregators reduction during non-final reduce #40101 (issue: #40059)
- 
Extend nextDoc to delegate to the wrapped doc-value iterator for date_nanos #39176 (issue: #39107)
- 
Only create MatrixStatsResults on final reduction #38130 (issue: #37587)
 
- 
Allocation
- 
Fix _host based require filters #38173
- 
ALLOC: Fail Stale Primary Alloc. Req. without Data #37226 (issue: #37098)
 
- 
Analysis
- 
Close #26771: beider_morse phonetic encoder failure when languageset unspecified  #26848 (issue: #26771)
- 
Fix PreConfiguredTokenFilters getSynonymFilter() implementations #38839 (issue: #38793)
 
- 
Audit
- 
Fix origin.type for connection_* events #36410
- 
Fix IndexAuditTrail rolling restart on rollover edge #35988 (issue: #33867)
- 
Fix NPE in Logfile Audit Filter #38120 (issue: #38097)
- 
LoggingAuditTrail correctly handle ReplicatedWriteRequest #39925 (issue: #39555)
 
- 
Authorization
- 
Authentication
- 
Fix kerberos setting registration #35986 (issues: #30241, #35942)
- 
Add support for Kerberos V5 Oid #35764 (issue: #34763)
- 
Enhance parsing of StatusCode in SAML Responses #38628
- 
Limit token expiry to 1 hour maximum #38244
- 
Fix expired token message in Exception header #37196
- 
Fix NPE in CachingUsernamePasswordRealm #36953 (issue: #36951)
- 
Allow non super users to create API keys #40028 (issue: #40029)
- 
Use consistent view of realms for authentication #38815 (issue: #30301)
- 
Correct authenticate response for API key #39684
- 
Fix security index auto-create and state recovery race #39582
 
- 
Build
- 
Use explicit deps on test tasks for check #36325
- 
Fix jdbc jar pom to not include deps #36036 (issue: #32014)
- 
Fix official plugins list #35661 (issue: #35623)
 
- 
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
- 
Prevent CCR recovery from missing documents #38237
- 
Fix file reading in ccr restore service #38117
- 
Correct argument names in update mapping/settings from leader #38063
- 
Ensure changes requests return the latest mapping version #37633
- 
Do not set fatal exception when shard follow task is stopped. #37603
- 
Add fatal_exception field for ccr stats in monitoring mapping #37563
- 
Do not add index event listener if CCR disabled #37432
- 
When removing an AutoFollower also mark it as removed. #37402 (issue: #36761)
- 
Make shard follow tasks more resilient for restarts #37239 (issue: #37231)
- 
Resume follow Api should not require a request body #37217 (issue: #37022)
- 
Report error if auto follower tries auto follow a leader index with soft deletes disabled #36886 (issue: #33007)
- 
Remote cluster license checker and no license info. #36837 (issue: #36815)
- 
Make CCR resilient against missing remote cluster connections #36682 (issues: #36255, #36667)
- 
AutoFollowCoordinator and follower index already created #36540 (issue: #33007)
- 
Safe publication of AutoFollowCoordinator #40153 (issue: #38560)
- 
Enable reading auto-follow patterns from x-content #40130 (issue: #40128)
- 
Stop auto-followers on shutdown #40124
- 
Protect against the leader index being removed #39351 (issue: #39308)
- 
Handle the fact that ShardStatsinstance may have no commit or seqno stats #38782 (issue: #38779)
- 
Fix LocalIndexFollowingIT#testRemoveRemoteConnection() test #38709 (issue: #38695)
- 
Fix shard follow task startup error handling #39053 (issue: #38779)
- 
Filter out upgraded version index settings when starting index following #38838 (issue: #38835)
 
- 
Circuit Breakers
- 
Modify BigArraysto take name of circuit breaker #36461 (issue: #31435)
 
- 
Core
- 
Fix CompositeBytesReference#slice to not throw AIOOBE with legal offsets. #35955 (issue: #35950)
- 
Suppress CachedTimeThread in hot threads output #35558 (issue: #23175)
- 
Upgrade to Joda 2.10.1 #35410 (issue: #33749)
 
- 
CRUD
- 
Fix Reindex from remote query logic #36908
- 
Synchronize WriteReplicaResult callbacks #36770
- 
Cascading primary failure lead to MSU too low #40249
- 
Store Pending Deletions Fix #40345 (issue: #40249)
- 
ShardBulkAction ignore primary response on primary #38901
 
- 
Cluster Coordination
- 
Fix node tool cleanup #39389
- 
Avoid serialising state if it was already serialised #39179
- 
Do not perform cleanup if Manifest write fails with dirty exception #40519 (issue: #39077)
- 
Cache compressed cluster state size #39827 (issue: #39806)
- 
Drop node if asymmetrically partitioned from master #39598
- 
Fixing the custom object serialization bug in diffable utils. #39544
- 
Clean GatewayAllocator when stepping down as master #38885
 
- 
Distributed
- 
Combine the execution of an exclusive replica operation with primary term update #36116 (issue: #35850)
- 
ActiveShardCount should not fail when closing the index #35936
- 
TransportVerifyShardBeforeCloseAction should force a flush #38401 (issues: #33888, #37961)
- 
Fix limit on retaining sequence number #37992 (issue: #37165)
- 
Close Index API should force a flush if a sync is needed #37961 (issues: #33888, #37426)
- 
Force Refresh Listeners when Acquiring all Operation Permits #36835
- 
Replaced the word shards with replicas in an error message. (#36234) #36275 (issue: #36234)
- 
Ignore waitForActiveShards when syncing leases #39224 (issue: #39089)
- 
Fix synchronization in LocalCheckpointTracker#contains #38755 (issues: #33871, #38633)
- 
Enforce retention leases require soft deletes #39922 (issue: #39914)
- 
Treat TransportService stopped error as node is closing #39800 (issue: #39584)
- 
Use cause to determine if node with primary is closing #39723 (issue: #39584)
- 
Don’t ack if unable to remove failing replica #39584 (issue: #39467)
- 
Fix NPE on Stale Index in IndicesService #38891 (issue: #38845)
 
- 
Engine
- 
Set Lucene version upon index creation. #36038 (issue: #33826)
- 
Wrap can_match reader with ElasticsearchDirectoryReader #35857
- 
Copy checkpoint atomically when rolling generation #35407
- 
Subclass NIOFSDirectory instead of using FileSwitchDirectory #37140 (issues: #36668, #37111)
- 
Bubble up exception when processing NoOp #39338 (issue: #38898)
- 
ReadOnlyEngine should update translog recovery state information #39238
- 
Advance max_seq_no before add operation to Lucene #38879 (issue: #31629)
 
- 
Features/Features
- 
Only count some fields types for deprecation check #40166
- 
Deprecation check for indices with very large numbers of fields #39869 (issue: #39851)
 
- 
Features/ILM
- 
Preserve ILM operation mode when creating new lifecycles #38134 (issues: #38229, #38230)
- 
Retry ILM steps that fail due to SnapshotInProgressException #37624 (issues: #37541, #37552)
- 
Remove indexing_completewhen removing policy #36620
- 
Handle failure to release retention leases in ILM #39281 (issue: #39181)
- 
Correct ILM metadata minimum compatibility version #40569 (issue: #40565)
- 
Handle null retention leases in WaitForNoFollowersStep #40477
- 
Allow ILM to stop if indices have nonexistent policies #40820 (issue: #40824)
 
- 
Features/Indices APIs
- 
Validate top-level keys for create index request (#23755) #23869 (issue: #23755)
- 
Reject delete index requests with a body #37501 (issue: #8217)
- 
Fix duplicate phrase in shrink/split error message #36734 (issue: #36729)
- 
Get Aliases with wildcard exclusion expression #34230 (issues: #33518, #33805, #34144)
 
- 
Features/Ingest
- 
Features/Java High Level REST Client
- 
Drop extra level from user parser #34932
- 
Update IndexTemplateMetaData to allow unknown fields #38448 (issue: #36938)
- 
if_seq_noandif_primary_termparameters aren’t wired correctly in REST Client’s CRUD API #38411
- 
Update Rollup Caps to allow unknown fields #38339 (issue: #36938)
- 
Fix ILM explain response to allow unknown fields #38054 (issue: #36938)
- 
Fix ILM status to allow unknown fields #38043 (issue: #36938)
- 
Fix ILM Lifecycle Policy to allow unknown fields #38041 (issue: #36938)
- 
Update authenticate to allow unknown fields #37713 (issue: #36938)
- 
Update verify repository to allow unknown fields #37619 (issue: #36938)
- 
Update get users to allow unknown fields #37593 (issue: #36938)
- 
Update Execute Watch to allow unknown fields #37498 (issue: #36938)
- 
Update Put Watch to allow unknown fields #37494 (issue: #36938)
- 
Update Delete Watch to allow unknown fields #37435 (issue: #36938)
- 
Fix rest reindex test for IPv4 addresses #37310
- 
Fix weighted_avg parser not found for RestHighLevelClient #37027 (issue: #36861)
 
- 
Features/Java Low Level REST Client
- 
Remove I/O pool blocking sniffing call from onFailure callback, add some logic around host exclusion #27985 (issue: #27984)
- 
Fix potential IllegalCapacityException in LLRC when selecting nodes #37821
 
- 
Features/Monitoring
- 
Allow built-in monitoring_user role to call GET _xpack API #38060 (issue: #37970)
- 
Don’t emit deprecation warnings on calls to the monitoring bulk API. #39805 (issue: #39336)
 
- 
Features/Watcher
- 
Ignore system locale/timezone in croneval CLI tool #33215
- 
Support merge nested Map in list for JIRA configurations #37634 (issue: #30068)
- 
Watcher accounts constructed lazily #36656
- 
Ensures watch definitions are valid json #30692 (issue: #29746)
- 
Use non-ILM template setting up watch history template & ILM disabled #39325 (issue: #38805)
- 
Only flush Watcher’s bulk processor if Watcher is enabled #38803 (issue: #38798)
- 
Fix Watcher stats class cast exception #39821 (issue: #39780)
- 
Use any index specified by .watches for Watcher #39541 (issue: #39478)
- 
Resolve concurrency with watcher trigger service #39092 (issue: #39087)
- 
Metric on watcher stats is a list not an enum #39114
 
- 
Geo
- 
Test GeoShapeQueryTests#testPointsOnlyfails #27454
- 
More robust handling of ignore_malformed in geoshape parsing #35603 (issues: #34047, #34498)
- 
Better handling of malformed geo_points #35554 (issue: #35419)
- 
Enables coerce support in WKT polygon parser #35414 (issue: #35059)
- 
Fix GeoHash PrefixTree BWC #38584 (issue: #38494)
- 
Do not normalize the longitude with value -180 for Lucene shapes #37299 (issue: #37297)
- 
Geo Point parse error fix #40447 (issue: #17617)
 
- 
Highlighting
- 
Bug fix for AnnotatedTextHighlighter - port of 39525 #39750 (issue: #39525)
 
- 
Infra/Core
- 
Ensure shard is refreshed once it’s inactive #27559 (issue: #27500)
- 
Bubble-up exceptions from scheduler #38317 (issue: #38014)
- 
Revert back to joda’s multi date formatters #36814 (issues: #36447, #36602)
- 
Propagate Errors in executors to uncaught exception handler #36137 (issue: #28667)
- 
Correct name of basic_date_time_no_millis #39367
- 
Allow single digit milliseconds in strict date parsing #40676 (issue: #40403)
- 
Parse composite patterns using ClassicFormat.parseObject #40100 (issue: #39916)
- 
Bat scripts to work with JAVA_HOME with parantheses #39712 (issues: #30606, #33405, #38578, #38624)
- 
Change licence expiration date pattern #39681 (issue: #39136)
- 
Fix DateFormatters.parseMillis when no timezone is given #39100 (issue: #39067)
- 
Don’t close caches while there might still be in-flight requests. #38958 (issue: #37117)
- 
Allow single digit milliseconds in strict date parsing #40676 (issue: #40403)
 
- 
Infra/Packaging
- 
Remove NOREPLACE for /etc/elasticsearch in rpm and deb #37839
- 
Packaging: Update marker used to allow ELASTIC_PASSWORD #37243 (issue: #37240)
- 
Remove permission editing in postinst #37242 (issue: #37143)
- 
Some elasticsearch-cli tools could not be run not from ES_HOME #39937
- 
Obsolete pre 7.0 noarch package in rpm #39472 (issue: #39414)
- 
Suppress error message when /proc/sys/vm/max_map_countis not exists. #35933
- 
Use TAR instead of DOCKER build type before 6.7.0 #40723 (issues: #39378, #40511)
- 
Source additional files correctly in elasticsearch-cli #40890 (issue: #40889)
 
- 
Infra/REST API
- 
Reject all requests that have an unconsumed body #37504 (issues: #30792, #37501, #8217)
- 
Fix #38623 remove xpack namespace REST API #38625
- 
Remove the "xpack" namespace from the REST API #38623
- 
Update spec files that erroneously documented parts as optional  #39122
- 
ilm.explain_lifecycle documents human again #39113
- 
Index on rollup.rollup_search.json is a list #39097
 
- 
Infra/Scripting
- 
Fix Painless void return bug #38046
- 
Correct bug in ScriptDocValues #40488
 
- 
Infra/Settings
- 
Change format how settings represent lists / array #26723
- 
Fix setting by time unit #37192
- 
Fix handling of fractional byte size value settings #37172
- 
Fix handling of fractional time value settings #37171
 
- 
Infra/Transport API
- 
Remove version read/write logic in Verify Response #30879 (issue: #30807)
- 
Enable muted Repository test #30875 (issue: #30807)
- 
Bad regex in CORS settings should throw a nicer error #29108
 
- 
Index APIs
- 
Fix duplicate phrase in shrink/split error message #36734 (issue: #36729)
- 
Raise a 404 exception when document source is not found (#33384) #34083 (issue: #33384)
 
- 
Ingest
- 
Fix on_failure with Drop processor #36686 (issue: #36151)
- 
Support default pipelines + bulk upserts #36618 (issue: #36219)
- 
Support default pipeline through an alias #36231 (issue: #35817)
 
- 
License
- 
Update versions for start_trial after backport #30218 (issue: #30135)
- 
Do not serialize basic license exp in x-pack info #30848
- 
Update versions for start_trial after backport #30218 (issue: #30135)
 
- 
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
- 
Report index unavailable instead of waiting for lazy node #38423
- 
Fix error race condition on stop _all datafeeds and close _all jobs #38113 (issue: #37959)
- 
Update ML results mappings on process start #37706 (issue: #37607)
- 
Prevent submit after autodetect worker is stopped #37700 (issue: #37108)
- 
Fix ML datafeed CCS with wildcarded cluster name #37470 (issue: #36228)
- 
Update error message for process update #37363
- 
Wait for autodetect to be ready in the datafeed #37349 (issues: #36810, #37227)
- 
Stop datafeeds running when their jobs are stale #37227 (issue: #36810)
- 
Order GET job stats response by job id #36841 (issue: #36683)
- 
Make GetJobStats work with arbitrary wildcards and groups #36683 (issue: #34745)
- 
Fix datafeed skipping first bucket after lookback when aggs are … #39859 (issue: #39842)
- 
Refactoring lazy query and agg parsing #39776 (issue: #39528)
- 
Stop the ML memory tracker before closing node #39111 (issue: #37117)
- 
Scrolling datafeed should clear scroll contexts on error #40773 (issue: #40772)
 
- 
Mapping
- 
Ensure that field aliases cannot be used in multi-fields. #32219
- 
Treat put-mapping calls with _docas a top-level key as typed calls. #38032
- 
Correct deprec log in RestGetFieldMappingAction #37843 (issue: #37667)
- 
Restore a noop _all metadata field for 6x indices #37808 (issue: #37429)
- 
Make sure PutMappingRequest accepts content types other than JSON. #37720
- 
Make sure to use the resolved type in DocumentMapperService#extractMappings. #37451 (issue: #36811)
- 
Improve Precision for scaled_float #37169 (issue: #32570)
- 
Make sure to accept empty unnested mappings in create index requests. #37089
- 
Stop automatically nesting mappings in index creation requests. #36924
- 
Rewrite SourceToParse with resolved docType #36921 (issues: #35790, #36769)
- 
Optimise rejection of out-of-range longvalues #40325 (issues: #26137, #40323)
- 
Make sure to reject mappings with type _doc when include_type_name is false. #38270 (issue: #38266)
 
- 
Network
- 
Adjust SSLDriver behavior for JDK11 changes #32145 (issues: #32122, #32144)
- 
Netty4SizeHeaderFrameDecoder error #31057
- 
Fix memory leak in http pipelining #30815 (issue: #30801)
- 
Fix issue with finishing handshake in ssl driver #30580
- 
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
- 
Reload SSL context on file change for LDAP #36937 (issues: #30509, #36923)
- 
Do not resolve addresses in remote connection info #36671 (issue: #35658)
 
- 
Packaging
- 
Fix error message when package install fails due to missing Java #36077 (issue: #31845)
- 
Add missing entries to conffiles  #35810 (issue: #35691)
 
- 
Plugins
- 
Ensure that azure stream has socket privileges #28751 (issue: #28662)
 
- 
Ranking
- 
QueryRescorer should keep the window size when rewriting #36836
 
- 
Recovery
- 
Register ResyncTask.Status as a NamedWriteable #36610
- 
RecoveryMonitor#lastSeenAccessTime should be volatile #36781
- 
Create retention leases file during recovery #39359 (issue: #37165)
- 
Recover peers from translog, ignoring soft deletes #38904 (issue: #37165)
- 
Retain history for peer recovery using leases #38855
- 
Resync should not send operations without sequence number #40433
 
- 
Rollup
- 
Fix rollup search statistics #36674
- 
Fix Rollup’s metadata parser #36791 (issue: #36726)
- 
Fix rollup search statistics #36674
- 
Remove timezone validation on rollup range queries #40647
- 
Rollup ignores time_zone on date histogram #40844
 
- 
Scripting
- 
Properly support no-offset date formatting #36316 (issue: #36306)
- 
[Painless] Generate Bridge Methods #36097
- 
Fix serialization bug in painless execute api request #36075 (issue: #36050)
- 
Actually add joda time back to whitelist #35965 (issue: #35915)
- 
Add back joda to whitelist #35915 (issue: #35913)
 
- 
Settings
- 
Search
- 
Ensure realtime _getand_termvectorsdon’t run on the network thread #33814 (issue: #27500)
- 
[bug] fuzziness custom auto #33462 (issue: #33454)
- 
Fix inner hits retrieval when stored fields are disabled (none) #33018 (issue: #32941)
- 
Set maxScore for empty TopDocs to Nan rather than 0 #32938
- 
Handle leniency for cross_fields type in multi_match query #27045 (issue: #23210)
- 
Raise IllegalArgumentException instead if query validation failed #26811 (issue: #26799)
- 
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
- 
Look up connection using the right cluster alias when releasing contexts #38570
- 
Fix fetch source option in expand search phase #37908 (issue: #23829)
- 
Change rationaltosaturationin script_score #37766 (issue: #37714)
- 
Throw if two inner_hits have the same name #37645 (issue: #37584)
- 
Ensure either success or failure path for SearchOperationListener is called #37467 (issue: #37185)
- 
query_stringshould use indexed prefixes #36895
- 
Avoid duplicate types deprecation messages in search-related APIs. #36802
- 
Serialize top-level pipeline aggs as part of InternalAggregations #40177 (issues: #40059, #40101)
- 
CCS: Skip empty search hits when minimizing round-trips #40098 (issues: #32125, #40067)
- 
CCS: Disable minimizing round-trips when dfs is requested #40044 (issue: #32125)
- 
Fix Fuzziness#asDistance(String) #39643 (issue: #39614)
- 
Fix alias resolution runtime complexity. #40263 (issue: #40248)
 
- 
Security
- 
Handle 6.4.0+ BWC for Application Privileges #32929
- 
Remove license state listeners on closeables #36308 (issues: #33328, #35627, #35628)
- 
Fix exit code for Security CLI tools  #37956 (issue: #37841)
- 
Fix potential NPE in UsersTool #37660
- 
Remove dynamic objects from security index #40499 (issue: #35460)
- 
Fix libs:ssl-config project setup #39074
- 
Do not create the missing index when invoking getRole #39039
 
- 
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)
- 
Fix Concurrent Snapshot Ending And Stabilize Snapshot Finalization #38368 (issue: #38226)
- 
Fix Two Races that Lead to Stuck Snapshots #37686 (issues: #32265, #32348)
- 
Fix Race in Concurrent Snapshot Delete and Create #37612 (issue: #37581)
- 
Streamline S3 Repository- and Client-Settings #37393
- 
Blob store compression fix #39073
 
- 
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)
- 
Prevent grouping over grouping functions #38649 (issue: #38308)
- 
Relax StackOverflow circuit breaker for constants #38572 (issue: #38571)
- 
Fix issue with IN not resolving to underlying keyword field #38440 (issue: #38424)
- 
Change the Intervals milliseconds precision to 3 digits #38297 (issue: #37423)
- 
Fix esType for DATETIME/DATE and INTERVALS #38179 (issue: #38051)
- 
Added SSL configuration options tests #37875 (issue: #37711)
- 
Fix casting from date to numeric type to use millis #37869 (issue: #37655)
- 
Fix BasicFormatter NPE #37804
- 
Return Intervals in SQL format for CLI #37602 (issues: #29970, #36186, #36432)
- 
Fix object extraction from sources #37502 (issue: #37364)
- 
Fix issue with field names containing "." #37364 (issue: #37128)
- 
Fix bug regarding alias fields with dots #37279 (issue: #37224)
- 
Proper handling of COUNT(field_name) and COUNT(DISTINCT field_name) #37254 (issue: #30285)
- 
Fix COUNT DISTINCT filtering #37176 (issue: #37086)
- 
Fix issue with wrong NULL optimization #37124 (issue: #35872)
- 
Fix issue with complex expression as args of PERCENTILE/_RANK #37102 (issue: #37099)
- 
Handle the bwc Joda ZonedDateTime scripting class in Painless #37024 (issue: #37023)
- 
Fix bug regarding histograms usage in scripting #36866
- 
Fix issue with always false filter involving functions #36830 (issue: #35980)
- 
Protocol returns ISO 8601 String formatted dates instead of Long for JDBC/ODBC requests #36800 (issue: #36756)
- 
Enhance Verifier to prevent aggregate or grouping functions from #36799 (issue: #36798)
- 
Fix translation of LIKE/RLIKE keywords #36672 (issues: #36039, #36584)
- 
Scripting support for casting functions CAST and CONVERT #36640 (issue: #36061)
- 
Concat should be always not nullable #36601 (issue: #36169)
- 
Fix issue with complex HAVING and GROUP BY ordinal #36594 (issue: #36059)
- 
Add missing handling of IP field in JDBC #40384 (issue: #40358)
- 
Fix metric aggs on date/time to not return double #40377 (issues: #39492, #40376)
- 
CAST supports both SQL and ES types #40365 (issue: #40282)
- 
Fix RLIKE bug and improve testing for RLIKE statement #40354 (issues: #34609, #39931)
- 
Unwrap the first value in an array in case of array leniency #40318 (issue: #40296)
- 
Preserve original source for cast/convert function #40271 (issue: #40239)
- 
Fix LIKE function equality by considering its pattern as well #40260 (issue: #39931)
- 
Fix issue with optimization on queries with ORDER BY/LIMIT #40256 (issue: #40211)
- 
Rewrite ROUND and TRUNCATE functions with a different optional parameter handling method #40242 (issue: #40001)
- 
Fix issue with getting DATE type in JDBC #40207
- 
Fix issue with date columns returned always in UTC #40163 (issue: #40152)
- 
Add multi_value_field_leniency inside FieldHitExtractor #40113 (issue: #39700)
- 
Fix incorrect ordering of groupings (GROUP BY) based on orderings (ORDER BY) #40087 (issue: #39956)
- 
Fix bug with JDBC timezone setting and DATE type #39978 (issue: #39915)
- 
Use underlying exact field for LIKE/RLIKE #39443 (issue: #39442)
- 
Fix display size for DATE/DATETIME #40669
- 
Have LIKE/RLIKE use wildcard and regexp queries #40628 (issue: #40557)
- 
Fix getTime() methods in JDBC #40484
- 
SYS TABLES: enumerate tables of requested types #40535 (issue: #40348)
- 
Passing an input to the CLI "freezes" the CLI after displaying an error message #40164 (issue: #40557)
- 
Wrap ZonedDateTime parameters inside scripts #39911 (issue: #39877)
- 
ConstantProcessor can now handle NamedWriteable #39876 (issue: #39875)
- 
Extend the multi dot field notation extraction to lists of values #39823 (issue: #39738)
- 
Values in datetime script aggs should be treated as long #39773 (issue: #37042)
- 
Don’t allow inexact fields for MIN/MAX #39563 (issue: #39427)
- 
Fix merging of incompatible multi-fields #39560 (issue: #39547)
- 
Fix COUNT DISTINCT column name #39537 (issue: #39511)
- 
Enable accurate hit tracking on demand #39527 (issue: #37971)
- 
Ignore UNSUPPORTED fields for JDBC and ODBC modes in SYS COLUMNS #39518 (issue: #39471)
- 
Enforce JDBC driver - ES server version parity #38972 (issue: #38775)
- 
Fall back to using the field name for column label #38842 (issue: #38831)
 
- 
Suggesters
- 
Fix duplicate removal when merging completion suggestions #36996 (issue: #35836)
 
- 
Task Management
- 
Un-assign persistent tasks as nodes exit the cluster #37656
 
- 
Watcher
- 
ZenDiscovery
- 
Remove duplicate discovered peers #35505
- 
Respect the no_master_block setting #36478
- 
Cancel GetDiscoveredNodesAction when bootstrapped #36423 (issues: #36380, #36381)
- 
Only elect master-eligible nodes #35996
- 
Remove duplicate discovered peers #35505
- 
Fix size of rolling-upgrade bootstrap config #38031
- 
Always return metadata version if metadata is requested #37674
- 
Elect freshest master in upgrade #37122 (issue: #40)
- 
Fix cluster state persistence for single-node discovery #36825
 
Regressions
- 
Infra/Core
- 
Restore date aggregation performance in UTC case #38221 (issue: #37826)
- 
Speed up converting of temporal accessor to zoned date time #37915 (issue: #37826)
 
- 
Mapping
- 
Performance fix. Reduce deprecation calls for the same bulk request #37415 (issue: #37411)
 
- 
Scripting
- 
Use Number as a return value for BucketAggregationScript #35653 (issue: #35351)
 
Upgrades
- 
Discovery-Plugins
- 
Bump jackson-databind version for AWS SDK #39183
 
- 
Engine
- 
Upgrade to lucene-8.0.0-snapshot-83f9835. #37668
- 
Upgrade to Lucene 8.0.0-snapshot-ff9509a8df #39350
- 
Upgrade to Lucene 8.0.0 #39992 (issue: #39640)
 
- 
Geo
- 
Ingest
- 
Update geolite2 database in ingest geoip plugin #33840
- 
Bump jackson-databind version for ingest-geoip #39182
 
- 
Infra/Core
- 
Security
- 
Upgrade the bouncycastle dependency to 1.61 #40017 (issue: #40011)
 
- 
Search
- 
Snapshot/Restore
- 
plugins/repository-gcs: Update google-cloud-storage/core to 1.59.0 #39748 (issue: #39366)
 
- 
Network
- 
Machine Learning
- 
No need to add state doc mapping on job open in 7.x #37759