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