Also see Breaking changes in 8.1.
Breaking changes
Bug fixes
- Aggregations
 - Allocation
 - Authorization
 - Autoscaling
 - Client
 - Distributed
 - Engine
 - Geo
 - ILM+SLM
 - 
- 
Fix 
PolicyStepsRegistry'scachedStepsnull handling #84588 
 - 
Fix 
 - Indices APIs
 - Infra/Core
 - 
- Always re-run Feature migrations which have encountered errors #83918 (issue: #83917)
 - 
Copy 
trace.idin threadcontext stash #83218 - 
Preserve context in 
ResultDeduplicator#84038 (issue: #84036) - 
Registration of 
SystemIndexMigrationTasknamed xcontent objects #84192 (issue: #84115) - 
Update system index mappings if 
_metais null #83896 (issue: #83890) 
 - Infra/REST API
 - 
- Do not allow safelisted media types on Content-Type #83448
 
 - Infra/Scripting
 - Ingest
 - Machine Learning
 - 
- Allow autoscaling to work when vertical scaling is possible #84242 (issue: #84198)
 - 
Correctly capture min stats for 
inference.ingest_processorsin ML usage #82352 - Fail queued inference requests with cause if the process crashes #81584
 - 
Fix NLP tokenization 
never_splithandling around punctuation #82982 - 
Fix 
ZeroShotClassificationConfigupdate mixing fields #82848 - Fix bug where initial scale from 0→1 could scale too high #84244
 - Fix submit after shutdown in process worker service #83645 (issue: #83633)
 - 
Fixes 
categorize_textparameter validation to be parse order independent #82628 (issue: #82629) - Record node shutdown start time for each node #84355
 - Register the named X-content parser for snapshot upgrade params #84420 (issue: #84419)
 - Retry anomaly detection job recovery during relocation #83456
 - 
Return 
zxxforlang_ident_model_1if no valid text is found for language identification #82746 (issue: #81933) - Text structure finder caps exclude lines pattern at 1000 characters #84236 (issue: #83434)
 - Validate vocabulary on model deployment #81548 (issue: #81470)
 - Wait for model process to stop in stop deployment #83644
 - Fix a bug in the tuning of the hyperparameters when training regression classification models #2128
 - Improve training stability for regression and classification models #2144, #2147, #2150
 - Avoid edge cases in the classification weights calculation to maximize minimum recall which could lead to only a single class being predicted #2194
 - Address cause of "[CStatisticalTests.cc@102] Test statistic is nan" log errors #2196
 - Address possible causes of "x = NaN, distribution = N5boost4math23students_t_distribution" log errors #2197
 - Fix bug restoring data gatherer state for time of day and week anomaly detection functions. This could lead to "No queue item for time" and "Time is out of range. Returning earliest bucket index" log errors #2213
 
 - Mapping
 - Network
 - Packaging
 - Recovery
 - SQL
 - 
- Fix txt format for empty result sets #83376
 
 - Search
 - Security
 - Snapshot/Restore
 - 
- 
Adjust 
LinuxFileSystemNatives.allocatedSizeInBytesfor aarch64 architectures #81376 (issues: #80437, #81362) - Distinguish "missing repository" from "missing repository plugin" #82457 (issue: #81758)
 - 
Fix 
DirectBlobContainerIndexInputcloning method #84341 (issue: #84238) - Move get snapshots serialization to management pool #83215
 - 
Preserve context in 
snapshotDeletionListeners#84089 (issue: #84036) 
 - 
Adjust 
 - TSDB
 - 
- Fix time series timestamp meta missing #80695
 
 - Transform
 - Watcher
 
Deprecations
- CRUD
 - Cluster Coordination
 - 
- Remove last few mentions of Zen discovery #80410
 
 - SQL
 
Enhancements
- Aggregations
 - Allocation
 - Analysis
 - 
- Expose Japanese completion filter to kuromoji analysis plugin #81858
 
 - Authentication
 - Authorization
 - Cluster Coordination
 - 
- Add detail to slow cluster state warning message #83221
 - Batch Index Settings Update Requests #82896 (issue: #79866)
 - Improve node-join task descriptions #80090
 - 
Make 
PeerFinderlog messages happier #83222 - More compact serialization of metadata #82608 (issue: #77466)
 - Paginate persisted cluster state #78875
 - Reduce verbosity-increase timeout to 3 minutes #81118
 - Use network recycler for publications #80650 (issue: #80111)
 
 - Data streams
 - ILM+SLM
 - Indices APIs
 - Infra/Circuit Breakers
 - Infra/Core
 - Infra/REST API
 - Infra/Scripting
 - 
- Add $ syntax as a shortcut for field in Painless #80518
 - 
Add 
BinaryDocValuesFieldto replaceBytesRef(ScriptDocValues)#79760 - Add a geo point field for the scripting fields api #81395
 - Add date fields to the scripting fields api #81272
 - Add half float mapping to the scripting fields API #82294
 - Add scaled float to the scripting fields API #82275
 - 
Add support for 
GeoShapeto the scripting fields API #81617 - Fields API for IP mapped type #81396
 - Fields API for byte, double, float, integer, long, short #81126 (issue: #79105)
 - Fields API for flattened mapped type #82590
 - 
Fields API for x-pack 
constant_keyword#82292 - Fields API for x-pack version, doc version, seq no, mumur3 #81476
 - Improve support for joda datetime to java datetime in Painless #83099
 - Keyword fields API support #81266
 - Make wildcard accessible from the scripting field API #82763
 - Ordinal field data plumbing #80970 (issue: #79105)
 - Support boolean fields in Fields API #80043 (issue: #79105)
 - Time series compile and cache evict metrics #79078 (issue: #62899)
 
 - Infra/Settings
 - 
- 
Optimize duplicated code block in 
MetadataUpdateSettingsService#82048 
 - 
Optimize duplicated code block in 
 - Machine Learning
 - 
- Add ability to update the truncation option at inference #80267
 - Add error counts to trained model stats #82705
 - Add latest search interval to datafeed stats #82620 (issue: #82405)
 - Adds new MPNet tokenization for NLP models #82234
 - Force delete trained models #80595
 - Improve error message on starting scrolling datafeed with no matching indices #81069 (issue: #81013)
 - Report thread settings per node for trained model deployments #81723 (issue: #81149)
 - Set default value of 30 days for model prune window #81377
 - Track token positions and use source string to tag NER entities #81275
 - Warn when creating job with an unusual bucket span #82145 (issue: #81645)
 - Improve skip_model_update rule behavior #2096
 - Prevent over-subscription of threads in pytorch_inference #2141
 
 - Mapping
 - Monitoring
 - Network
 - Recovery
 - 
- 
Adjust 
indices.recovery.max_bytes_per_secaccording to external settings #82819 
 - 
Adjust 
 - SQL
 - Search
 - 
- 
Add 
scripted_metricagg context tounsigned_long#64422 (issue: #64347) - Add field usage support for vectors #80608
 - Allow doc-values only search on boolean fields #82925 (issues: #82409, #81210, #52728)
 - Allow doc-values only search on date types #82602 (issues: #82409, #81210, #52728)
 - Allow doc-values only search on ip fields #82929 (issues: #82409, #81210, #52728)
 - Allow doc-values only search on keyword fields #82846 (issues: #82409, #81210, #52728)
 - Allow doc-values only search on number types #82409 (issues: #81210, #52728)
 - 
Rewrite 
matchandmatch_phrasequeries totermqueries onkeywordfields #82612 (issue: #82515) - Short cut if reader has point values #80268
 - 
Support combining 
_shardspreference param with<custom-string>#80024 (issue: #80021) 
 - 
Add 
 - Security
 - Snapshot/Restore
 - Stats
 - TSDB
 - Transform