The following list are changes in 8.0.0 as compared to 7.17.0, and combines release notes from the 8.0.0-alpha1, -alpha2, -beta1, -rc1 and -rc2 releases.
Also see Breaking changes in 8.0.
Known issues
- 
If you installed Elasticsearch from an archive on an aarch64 platform like Linux ARM or macOS M1, the
elasticuser password and Kibana enrollment token are not generated automatically when starting your node for the first time.After the node starts, generate the
elasticpassword with thebin/elasticsearch-reset-passwordtool:bin/elasticsearch-reset-password -u elastic
Then, create an enrollment token for Kibana with the
bin/elasticsearch-create-enrollment-tokentool:bin/elasticsearch-create-enrollment-token -s kibana
 
Breaking changes
- Aggregations
 - 
- Percentiles aggregation: disallow specifying same percentile values twice #52257 (issue: #51871)
 - Remove adjacency matrix setting #46327 (issues: #46257, #46324)
 - 
Remove 
MovingAveragepipeline aggregation #39328 - 
Remove deprecated 
_timeand_termsort orders #39450 - Remove deprecated date histo interval #75000
 
 - Allocation
 - Analysis
 - Authentication
 - CCR
 - Cluster Coordination
 - Distributed
 - Engine
 - Features/CAT APIs
 - Features/Features
 - Features/ILM+SLM
 - 
- 
Add lower bound on 
poll_interval#39593 (issue: #39163) - 
Make the ILM 
freezeaction a no-op #77158 (issue: #70192) - Always enforce default tier preference #79751 (issue: #76147)
 - Validate that snapshot repository exists for ILM policies at creation/update time #78468 (issues: #72957, #77657)
 - 
Default 
cluster.routing.allocation.enforce_default_tier_preferencetotrue#79275 (issues: #76147, #79210) 
 - 
Add lower bound on 
 - Features/Indices APIs
 - 
- 
Change 
prefer_v2_templatesparameter to default to true #55489 (issues: #53101, #55411) - 
Remove deprecated 
_upgradeAPI #64732 (issue: #21337) - Remove local parameter for get field mapping request #55100 (issue: #55099)
 - 
Remove 
include_type_nameparameter from REST layer #48632 (issue: #41059) - 
Remove the 
templatefield in index templates #49460 (issue: #21009) - Remove endpoint for freezing indices #78918 (issues: #70192, #77273)
 
 - 
Change 
 - Features/Watcher
 - 
- Move watcher history to data stream #64252
 
 - Geo
 - Infra/Circuit Breakers
 - 
- Fixed synchronizing inflight breaker with internal variable #40878
 
 - Infra/Core
 - 
- Limit processors by available processors #44894 (issue: #44889)
 - 
Remove 
nodes/0folder prefix from data path #42489 - 
Remove 
bootstrap.system_call_filtersetting #72848 - 
Remove 
fixed_auto_queue_sizethreadpool type #52280 - 
Remove 
node.max_local_storage_nodes#42428 (issue: #42426) - Remove camel case named date/time formats #60044
 - Remove legacy role settings #71163 (issues: #54998, #66409, #71143)
 - 
Remove 
processorssetting #45905 (issue: #45855) - 
Remove the 
localparameter of/_cat/nodes#50594 (issues: #50088, #50499) - Remove the listener thread pool #53314 (issue: #53049)
 - Remove the node local storage setting #54381 (issue: #54374)
 - 
Remove the 
pidfilesetting #45940 (issue: #45938) - 
Removes 
week_yeardate format #63384 (issue: #60707) - System indices treated as restricted indices #74212 (issue: #69298)
 - Remove Joda dependency #79007
 - Remove Joda support from date formatters #78990
 - All system indices are hidden indices #79512
 
 - Infra/Logging
 - Infra/Plugins
 - Infra/REST API
 - Infra/Resiliency
 - Infra/Scripting
 - Infra/Settings
 - Ingest
 - License
 - Machine Learning
 - Mapping
 - Network
 - Packaging
 - Recovery
 - Reindex
 - Rollup
 - Search
 - 
- Decouple shard allocation awareness from search and get requests #45735 (issue: #43453)
 - Fix range query on date fields for number inputs #63692 (issue: #63680)
 - Make fuzziness reject illegal values earlier #33511
 - Make remote cluster resolution stricter #40419 (issue: #37863)
 - Parse empty first line in msearch request body as action metadata #41011 (issue: #39841)
 - 
Remove 
CommonTermsQueryandcutoff_frequencyparam #42654 (issue: #37096) - 
Remove 
typequery #47207 (issue: #41059) - 
Remove 
use_field_mappingformat option for docvalue fields #55622 - 
Remove deprecated 
SimpleQueryStringBuilderparameters #57200 - 
Remove deprecated 
search.remotesettings #42381 (issues: #33413, #38556) - 
Remove deprecated sort options: 
nested_pathandnested_filter#42809 (issue: #27098) - Remove deprecated vector functions #48725 (issue: #48604)
 - 
Remove support for 
_typein searches #68564 (issues: #41059, #68311) - Remove support for sparse vectors #48781 (issue: #48368)
 - 
Remove the object format for 
indices_boost#55078 - 
Removes type from 
TermVectorsAPIs #42198 (issue: #41059) - Removes typed endpoint from search and related APIs #41640
 - Set max allowed size for stored async response #74455 (issue: #67594)
 - 
indices.query.bool.max_clause_countnow limits all query clauses #75297 
 - Security
 - 
- Remove obsolete security settings #40496
 - Remove support of creating CA on the fly when generating certificates #65590 (issue: #61884)
 - 
Remove the 
idfield from theInvalidateApiKeyAPI #66671 (issue: #66317) - Remove the migrate tool #42174
 - Compress audit logs #64472 (issue: #63843)
 - Remove insecure settings #46147 (issue: #45947)
 - 
Remove 
kibana_dashboard_only_userreserved role #76507 
 - Snapshot/Restore
 - 
- 
Blob store compress default to 
true#40033 - Get snapshots support for multiple repositories #42090 (issue: #41210)
 - Remove repository stats API #62309 (issue: #62297)
 - Remove frozen cache setting leniency #71013 (issue: #70341)
 - Adjust snapshot index resolution behavior to be more intuitive #79670 (issue: #78320)
 
 - 
Blob store compress default to 
 - TLS
 
Breaking Java changes
- Authentication
 - CCR
 - 
- 
Remove the 
CcrClient#42816 
 - 
Remove the 
 - CRUD
 - Client
 - 
- 
Remove 
SecurityClientfrom x-pack #42471 
 - 
Remove 
 - Features/ILM+SLM
 - 
- 
Remove the 
ILMClient#42817 
 - 
Remove the 
 - Features/Monitoring
 - 
- 
Remove 
MonitoringClientfrom x-pack #42770 
 - 
Remove 
 - Features/Watcher
 - 
- 
Remove 
WatcherClientfrom x-pack #42815 
 - 
Remove 
 - Infra/Core
 - Infra/REST API
 - 
- 
Copy HTTP headers to 
ThreadContextstrictly #45945 
 - 
Copy HTTP headers to 
 - Machine Learning
 - 
- 
Remove the 
MachineLearningClient#43108 
 - 
Remove the 
 - Mapping
 - 
- 
Remove type filter from 
GetMappingsAPI #47364 (issue: #41059) - 
Remove 
typeparameter fromPutMappingRequest.buildFromSimplifiedDef()#50844 (issue: #41059) - 
Remove unused parameter from 
MetadataFieldMapper.TypeParser#getDefault()#51219 - 
Remove 
typeparameter fromCIR.mapping(type, object...)#50739 (issue: #41059) 
 - 
Remove type filter from 
 - Search
 - 
- 
Removes types from 
SearchRequestandQueryShardContext#42112 
 - 
Removes types from 
 - Snapshot/Restore
 
Deprecations
New features
- Security
 - Snapshot/Restore
 - Watcher
 - 
- 
Use 
startsWithrather than exact matches for Watcher history template names #82396 
 - 
Use 
 
Enhancements
- Analysis
 - 
- 
Move 
reload_analyzersendpoint to x-pack #43559 
 - 
Move 
 - Authentication
 - 
- Reset elastic password CLI tool #74892 (issues: #70113, #74890)
 - Autogenerate and print elastic password on startup #77291
 - Enroll Kibana API uses Service Accounts #76370
 - 
Add 
reset-kibana-system-usertool #77322 - New CLI tool to reset password for built-in users #79709
 - 
Auto-configure the 
elasticuser password #78306 
 - Authorization
 - 
- 
Granting 
kibana_systemreserved role access to "all" privileges to.internal.preview.alerts*index #80889 (issues: #76624, #80746, #116374) - 
Granting 
kibana_systemreserved role access to "all" privileges to .preview.alerts* index #80746 - Granting editor and viewer roles access to alerts-as-data indices #81285
 
 - 
Granting 
 - Cluster Coordination
 - Data streams
 - EQL
 - Engine
 - Features/CAT APIs
 - Features/ILM+SLM
 - 
- Allow for setting the total shards per node in the Allocate ILM action #76794 (issue: #76775)
 - Inject migrate action regardless of allocate action #79090 (issue: #76147)
 - Make unchanged ILM policy updates into noop #82240 (issue: #82065)
 - 
Avoid unnecessary 
LifecycleExecutionStaterecalculation #81558 (issues: #77466, #79692) 
 - Features/Indices APIs
 - Features/Stats
 - Features/Watcher
 - 
- Remove Watcher history clean up from monitoring #67154
 
 - Infra/Core
 - 
- Remove aliases exist action #43430
 - Remove indices exists action #43164
 - Remove types exists action #43344
 - Retain reference to stdout for exceptional cases #77460
 - Check whether stdout is a real console #79882
 - Share int, long, float, double, and byte pages #75053
 - Revert "Deprecate resolution loss on date field (#78921)" #79914 (issue: #78921)
 - Add two missing entries to the deprecation information API #80290 (issue: #80233)
 - Prevent upgrades to 8.0 without first upgrading to the last 7.x release #82321 (issue: #81865)
 
 - Infra/Logging
 - Infra/REST API
 - 
- Allow for field declaration for future compatible versions #69774 (issue: #51816)
 - Introduce stability description to the REST API specification #38413
 - Parsing: Validate that fields are not registered twice #70243
 - Support response content-type with versioned media type #65500 (issue: #51816)
 - [REST API Compatibility] Typed endpoints for index and get APIs #69131 (issue: #54160)
 - [REST API Compatibility] Typed endpoints for put and get mapping and get field mappings #71721 (issues: #51816, #54160)
 - 
[REST API Compatibility] Allow 
copy_settingsflag for resize operations #75184 (issues: #38514, #51816) - [REST API Compatibility] Allow for type in geo shape query #74553 (issues: #51816, #54160)
 - 
[REST API Compatibility] Always return 
adjust_pure_negativevalue #75182 (issues: #49543, #51816) - [REST API Compatibility] Clean up x-pack/plugin rest compat tests #74701 (issue: #51816)
 - 
[REST API Compatibility] Do not return 
_docfor empty mappings in template #75448 (issues: #51816, #54160, #70966, #74544) - 
[REST API Compatibility] Dummy REST action for 
indices.upgradeAPI #75136 (issue: #51816) - [REST API Compatibility] REST Terms vector typed response #73117
 - 
[REST API Compatibility] Rename 
BulkItemResponse.Failuretype field #74937 (issue: #51816) - [REST API Compatibility] Type metadata for docs used in simulate request #74222 (issues: #51816, #54160)
 - 
[REST API Compatibility] Typed 
TermLookups#74544 (issues: #46943, #51816, #54160) - [REST API Compatibility] Typed and x-pack graph explore API #74185 (issues: #46935, #51816, #54160)
 - [REST API Compatibility] Typed endpoint for bulk API #73571 (issue: #51816)
 - [REST API Compatibility] Typed endpoint for multi-get API #73878 (issue: #51816)
 - 
[REST API Compatibility] Typed endpoints for 
RestUpdateActionandRestDeleteAction#73115 (issues: #51816, #54160) - 
[REST API Compatibility] Typed endpoints for 
get_sourceAPI #73957 (issues: #46587, #46931, #51816) - [REST API Compatibility] Typed endpoints for explain API #73901 (issue: #51816)
 - 
[REST API Compatibility] Typed endpoints for search 
_countAPI #73958 (issues: #42112, #51816) - [REST API Compatibility] Typed indexing stats #74181 (issues: #47203, #51816, #54160)
 - [REST API Compatibility] Types for percolate query API #74698 (issues: #46985, #51816, #54160, #74689)
 - [REST API Compatibility] Validate query typed API #74171 (issues: #46927, #51816, #54160)
 - [REST API Compatibility] Voting config exclusion exception message #75406 (issues: #51816, #55291)
 - 
[REST API Compatibility] 
MoreLikeThisQuerywith types #75123 (issues: #42198, #51816, #54160) - [REST API Compatibility] Update and delete by query using size field #69606
 - [REST API Compatibility] Indicies boost in object format #74422 (issues: #51816, #55078)
 - [REST API Compatibility] Typed endpoints for search and related endpoints #72155 (issues: #51816, #54160)
 - 
[REST API Compatibility] Allow to use size 
-1#75342 (issues: #51816, #69548, #70209) - 
[REST API Compatibility] Ignore 
use_field_mappingoption for docvalue #74435 (issue: #55622) - 
[REST API Compatibility] 
_timeand_termsort orders #74919 (issues: #39450, #51816) - 
[REST API Compatability] 
templateparameter and field on PUT index template #71238 (issues: #49460, #51816, #68905) - [REST API Compatibility] Make query registration easier #75722 (issue: #51816)
 - [REST API Compatibility] Typed query #75453 (issues: #47207, #51816, #54160)
 - [REST API Compatibility] Deprecate the use of synced flush #75372 (issues: #50882, #51816)
 - 
[REST API Compatibility] Licence 
accept_enterpriseand response changes #75479 (issues: #50067, #50735, #51816, #58217) 
 - Infra/Scripting
 - Infra/Settings
 - Ingest
 - License
 - Machine Learning
 - 
- The Windows build platform for the machine learning C++ code now uses Visual Studio 2019 #1352
 - The macOS build platform for the machine learning C++ code is now Mojave running Xcode 11.3.1, or Ubuntu 20.04 running clang 8 for cross compilation #1429
 - Add a new application for evaluating PyTorch models. The app depends on LibTorch - the C++ front end to PyTorch - and performs inference on models stored in the TorchScript format #1902
 - Adding new PUT trained model vocabulary endpoint #77387
 - Creating new PUT model definition part API #76987
 - Add inference time configuration overrides #78441 (issue: #77799)
 - 
Optimize source extraction for 
categorize_textaggregation #79099 - The Linux build platform for the machine learning C++ code is now CentOS 7 running gcc 10.3. #2028
 - Make ML indices hidden when the node becomes master #77416 (issue: #53674)
 - 
Add 
deployment_statsto trained model stats #80531 - 
The setting 
use_auto_machine_memory_percentnow defaultsmax_model_memory_limit#80532 (issue: #80415) 
 - Mapping
 - Monitoring
 - Network
 - Packaging
 - Recovery
 - Reindex
 - 
- Make reindexing managed by a persistent task #43382 (issue: #42612)
 - Reindex restart from checkpoint #46055 (issue: #42612)
 - Reindex search resiliency #45497 (issues: #42612, #43187)
 - Reindex v2 rethrottle sliced fix #46967 (issues: #42612, #46763)
 - Do not scroll if max docs is less than scroll size (update/delete by query) #81654 (issue: #54270)
 
 - Rollup
 - SQL
 - 
- Add text formatting support for multivalue #68606
 - Add xDBC and CLI support. QA CSV specs #68966
 - Export array values through result sets #69512
 - Improve alias resolution in sub-queries #67216 (issue: #56713)
 - Improve the optimization of null conditionals #71192
 - 
Push 
WHEREclause inside subqueries #71362 - 
Use Java 
Stringmethods forLTRIM/RTRIM#57594 - QL: Make canonical form take into account children #71266
 - QL: Polish optimizer expression rule declaration #71396
 - QL: Propagate nullability constraints across conjunctions #71187 (issue: #70683)
 
 - Search
 - 
- Completely disallow setting negative size in search #70209 (issue: #69548)
 - 
Make 
0as invalid value formin_childreninhas_childquery #41347 - Return error when remote indices are locally resolved #74556 (issue: #26247)
 - [REST API Compatibility] Nested path and filter sort options #76022 (issues: #42809, #51816)
 - 
[REST API Compatibility] 
CommonTermsQueryandcutoff_frequencyparameter #75896 (issues: #42654, #51816) - 
[REST API Compatibility] Allow first empty line for 
_msearch#75886 (issues: #41011, #51816) - Node level can match action #78765
 - TSDB: Add time series information to field caps #78790 (issue: #74660)
 - Add new kNN search endpoint #79013 (issue: #78473)
 - Disallow kNN searches on nested vector fields #79403 (issue: #78473)
 - Ensure kNN search respects authorization #79693 (issue: #78473)
 - Load kNN vectors format with mmapfs #78724 (issue: #78473)
 - Support cosine similarity in kNN search #79500
 - Node level can match action #78765
 - Check nested fields earlier in kNN search #80516 (issue: #78473)
 
 - Security
 - 
- Add a tool for creating enrollment tokens #74890
 - Add the Enroll Kibana API #72207
 - Change default hashing algorithm for FIPS 140 #55544
 - Create enrollment token #73573 (issues: #71438, #72129)
 - Enroll node API #72129
 - Configure security for the initial node CLI #74868
 - Generate and store password hash for elastic user #76276 (issue: #75310)
 - Set elastic password and generate enrollment token #75816 (issue: #75310)
 - 
Add 
elasticsearch-enroll-nodetool #77292 - 
Default hasher to 
PBKDF2_STRETCHon FIPS mode #76274 - 
Add v7 
restCompatfor invalidating API key with the id field #78664 (issue: #66671) - Print enrollment token on startup #78293
 - Startup check for security implicit behavior change #76879
 - CLI tool to reconfigure nodes to enroll #79690 (issue: #7718)
 - Security auto-configuration for packaged installations #75144 (issue: #78306)
 
 - Snapshot/Restore
 - TLS
 - Transform
 - 
- Prevent old beta transforms from starting #79712
 
 - TSDB
 
Bug fixes
- Aggregations
 - 
- 
Fix BWC issues for 
x_pack/usage#55181 (issue: #54847) - 
Fix 
DoubleBoundsnull serialization #59475 - 
Fix 
TopHitsAggregationBuilderadding duplicate_scoresort clauses #42179 (issue: #42154) - 
Fix 
t_testusage stats #54753 (issue: #54744) - 
Throw exception if legacy interval cannot be parsed in 
DateIntervalWrapper#41972 (issue: #41970) 
 - 
Fix BWC issues for 
 - Autoscaling
 - CCR
 - Cluster Coordination
 - Data streams
 - Distributed
 - Features/CAT APIs
 - Features/ILM+SLM
 - Features/Indices APIs
 - 
- 
Fix 
ComposableIndexTemplateequals whencomposed_ofis null #80864 
 - 
Fix 
 - Features/Java High Level REST Client
 - 
- The Java High Level Rest Client (HLRC) has been removed and replaced by a new Elasticsearch Java client. For migration steps, refer to Migrate from the High Level Rest Client.
 
 - Geo
 - Infra/Core
 - Infra/Logging
 - Infra/REST API
 - 
- 
Do not allow spaces within 
MediaType'sparameters #64650 (issue: #51816) - Handle incorrect header values #64708 (issues: #51816, #64689)
 - Ignore media ranges when parsing #64721 (issues: #51816, #64689)
 - 
RestControllershould not consume request content #44902 (issue: #37504) - 
Handle exceptions thrown from 
RestCompatibleVersionHelper#80253 (issues: #78214, #79060) 
 - 
Do not allow spaces within 
 - Infra/Scripting
 - Infra/Settings
 - Ingest
 - Machine Learning
 - 
- Add timeout parameter for delete trained models API #79739 (issue: #77070)
 - Tone down ML unassigned job notifications #79578 (issue: #79270)
 - Use a new annotations index for future annotations #79006 (issue: #78439)
 - Set model state compatibility version to 8.0.0 #2139
 - 
Check that 
total_definition_lengthis consistent before starting a deployment #80553 - Fail inference processor more consistently on certain error types #81475
 - Optimize the job stats call to do fewer searches #82362 (issue: #82255)
 
 - Mapping
 - Packaging
 - Recovery
 - SQL
 - Search
 - 
- 
Check for negative 
fromvalues in search request body #54953 (issue: #54897) - 
Fix 
VectorsFeatureSetUsageserialization in BWC mode #55399 (issue: #55378) - 
Handle total hits equal to 
track_total_hits#37907 (issue: #37897) - Improve error msg for CCS request on node without remote cluster role #60351 (issue: #59683)
 - Remove unsafe assertion in wildcard field #78966
 
 - 
Check for negative 
 - Security
 - 
- Allow access to restricted system indices for reserved system roles #76845
 
 - Snapshot/Restore
 
Regressions
- Search
 - 
- Disable numeric sort optimization conditionally #78103