IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
Elasticsearch version 8.0.0
editElasticsearch version 8.0.0
editThe 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
edit-
If you installed Elasticsearch from an archive on an aarch64 platform like Linux ARM or macOS M1, the
elastic
user password and Kibana enrollment token are not generated automatically when starting your node for the first time.After the node starts, generate the
elastic
password with thebin/elasticsearch-reset-password
tool:bin/elasticsearch-reset-password -u elastic
Then, create an enrollment token for Kibana with the
bin/elasticsearch-create-enrollment-token
tool:bin/elasticsearch-create-enrollment-token -s kibana
-
Parsing a request when the last element in an array is filtered out
(for instance using
_source_includes
) fails. This is due to a bug in Jackson parser. Fixed in Elasticsearch 8.6.1 (#91456)
Breaking changes
edit- Aggregations
-
- Percentiles aggregation: disallow specifying same percentile values twice #52257 (issue: #51871)
- Remove adjacency matrix setting #46327 (issues: #46257, #46324)
-
Remove
MovingAverage
pipeline aggregation #39328 -
Remove deprecated
_time
and_term
sort 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
freeze
action 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_preference
totrue
#79275 (issues: #76147, #79210)
-
Add lower bound on
- Features/Indices APIs
-
-
Change
prefer_v2_templates
parameter to default to true #55489 (issues: #53101, #55411) -
Remove deprecated
_upgrade
API #64732 (issue: #21337) - Remove local parameter for get field mapping request #55100 (issue: #55099)
-
Remove
include_type_name
parameter from REST layer #48632 (issue: #41059) -
Remove the
template
field 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/0
folder prefix from data path #42489 -
Remove
bootstrap.system_call_filter
setting #72848 -
Remove
fixed_auto_queue_size
threadpool 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
processors
setting #45905 (issue: #45855) -
Remove the
local
parameter 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
pidfile
setting #45940 (issue: #45938) -
Removes
week_year
date 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
CommonTermsQuery
andcutoff_frequency
param #42654 (issue: #37096) -
Remove
type
query #47207 (issue: #41059) -
Remove
use_field_mapping
format option for docvalue fields #55622 -
Remove deprecated
SimpleQueryStringBuilder
parameters #57200 -
Remove deprecated
search.remote
settings #42381 (issues: #33413, #38556) -
Remove deprecated sort options:
nested_path
andnested_filter
#42809 (issue: #27098) - Remove deprecated vector functions #48725 (issue: #48604)
-
Remove support for
_type
in searches #68564 (issues: #41059, #68311) - Remove support for sparse vectors #48781 (issue: #48368)
-
Remove the object format for
indices_boost
#55078 -
Removes type from
TermVectors
APIs #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_count
now 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
id
field from theInvalidateApiKey
API #66671 (issue: #66317) - Remove the migrate tool #42174
- Compress audit logs #64472 (issue: #63843)
- Remove insecure settings #46147 (issue: #45947)
-
Remove
kibana_dashboard_only_user
reserved 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
edit- Authentication
- CCR
-
-
Remove the
CcrClient
#42816
-
Remove the
- CRUD
- Client
-
-
Remove
SecurityClient
from x-pack #42471
-
Remove
- Features/ILM+SLM
-
-
Remove the
ILMClient
#42817
-
Remove the
- Features/Monitoring
-
-
Remove
MonitoringClient
from x-pack #42770
-
Remove
- Features/Watcher
-
-
Remove
WatcherClient
from x-pack #42815
-
Remove
- Infra/Core
- Infra/REST API
-
-
Copy HTTP headers to
ThreadContext
strictly #45945
-
Copy HTTP headers to
- Machine Learning
-
-
Remove the
MachineLearningClient
#43108
-
Remove the
- Mapping
-
-
Remove type filter from
GetMappings
API #47364 (issue: #41059) -
Remove
type
parameter fromPutMappingRequest.buildFromSimplifiedDef()
#50844 (issue: #41059) -
Remove unused parameter from
MetadataFieldMapper.TypeParser#getDefault()
#51219 -
Remove
type
parameter fromCIR.mapping(type, object...)
#50739 (issue: #41059)
-
Remove type filter from
- Search
-
-
Removes types from
SearchRequest
andQueryShardContext
#42112
-
Removes types from
- Snapshot/Restore
Deprecations
editNew features
edit- Security
- Snapshot/Restore
- Watcher
-
-
Use
startsWith
rather than exact matches for Watcher history template names #82396
-
Use
Enhancements
edit- Analysis
-
-
Move
reload_analyzers
endpoint 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-user
tool #77322 - New CLI tool to reset password for built-in users #79709
-
Auto-configure the
elastic
user password #78306
- Authorization
-
-
Granting
kibana_system
reserved role access to "all" privileges to.internal.preview.alerts*
index #80889 (issues: #76624, #80746, #116374) -
Granting
kibana_system
reserved 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
LifecycleExecutionState
recalculation #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_settings
flag 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_negative
value #75182 (issues: #49543, #51816) - [REST API Compatibility] Clean up x-pack/plugin rest compat tests #74701 (issue: #51816)
-
[REST API Compatibility] Do not return
_doc
for empty mappings in template #75448 (issues: #51816, #54160, #70966, #74544) -
[REST API Compatibility] Dummy REST action for
indices.upgrade
API #75136 (issue: #51816) - [REST API Compatibility] REST Terms vector typed response #73117
-
[REST API Compatibility] Rename
BulkItemResponse.Failure
type 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
RestUpdateAction
andRestDeleteAction
#73115 (issues: #51816, #54160) -
[REST API Compatibility] Typed endpoints for
get_source
API #73957 (issues: #46587, #46931, #51816) - [REST API Compatibility] Typed endpoints for explain API #73901 (issue: #51816)
-
[REST API Compatibility] Typed endpoints for search
_count
API #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]
MoreLikeThisQuery
with 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_mapping
option for docvalue #74435 (issue: #55622) -
[REST API Compatibility]
_time
and_term
sort orders #74919 (issues: #39450, #51816) -
[REST API Compatability]
template
parameter 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_enterprise
and 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_text
aggregation #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_stats
to trained model stats #80531 -
The setting
use_auto_machine_memory_percent
now 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
WHERE
clause inside subqueries #71362 -
Use Java
String
methods 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
0
as invalid value formin_children
inhas_child
query #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]
CommonTermsQuery
andcutoff_frequency
parameter #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-node
tool #77292 -
Default hasher to
PBKDF2_STRETCH
on FIPS mode #76274 -
Add v7
restCompat
for 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
edit- Aggregations
-
-
Fix BWC issues for
x_pack/usage
#55181 (issue: #54847) -
Fix
DoubleBounds
null serialization #59475 -
Fix
TopHitsAggregationBuilder
adding duplicate_score
sort clauses #42179 (issue: #42154) -
Fix
t_test
usage 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
ComposableIndexTemplate
equals whencomposed_of
is 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's
parameters #64650 (issue: #51816) - Handle incorrect header values #64708 (issues: #51816, #64689)
- Ignore media ranges when parsing #64721 (issues: #51816, #64689)
-
RestController
should 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_length
is 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
from
values in search request body #54953 (issue: #54897) -
Fix
VectorsFeatureSetUsage
serialization 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
edit- Search
-
- Disable numeric sort optimization conditionally #78103