A newer version is available. For the latest information, see the
current release documentation.
Elasticsearch version 7.2.0
editElasticsearch version 7.2.0
editAlso see Breaking changes in 7.2.
Known issues
edit- Applying deletes or updates on an index after it has been shrunk may corrupt the index. In order to prevent this issue, it is recommended to stop shrinking read-write indices. For read-only indices, it is recommended to force-merge indices after shrinking, which significantly reduces the likeliness of this corruption in the case that deletes/updates would be applied by mistake. This bug is fixed in Elasticsearch 7.7 and later versions. More details can be found on the corresponding issue.
-
Indices created in 6.x with
date
anddate_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 Elasticsearch 7.7 and later versions.
Breaking changes
editBreaking Java changes
edit- Infra/Plugins
-
- Remove IndexStore and DirectoryService #42446
Deprecations
editNew features
edit- Authentication
-
- Add an OpenID Connect authentication realm #40674
- Distributed
- Infra/Scripting
- Machine Learning
-
- Add data frame feature #38934
- Ranking
- SQL
-
- Add initial geo support #42031 (issues: #29872, #37206)
- Implement CASE… WHEN… THEN… ELSE… END #41349 (issue: #36200)
- Introduce MAD (MedianAbsoluteDeviation) aggregation #40048 (issue: #39597)
- Introduce SQL TIME data type #39802 (issue: #38174)
- Introduce the columnar option for REST requests #39287 (issue: #37702)
- Snapshot/Restore
- Suggesters
- Features/Ingest
-
- Add HTML strip processor #41888
- Search
Enhancements
edit- Aggregations
-
- Use the breadth first collection mode for significant terms aggs. #29042 (issue: #28652)
- Disallow null/empty or duplicate composite sources #41359 (issue: #32414)
- Move top-level pipeline aggs out of QuerySearchResult #40319 (issue: #40177)
- Remove throws IOException from PipelineAggregationBuilder#create #40222
- Better error messages when pipelines reference incompatible aggs #40068 (issues: #25273, #30152)
- Do not allow Sampler to allocate more than maxDoc size, better CB accounting #39381 (issue: #34269)
- Force selection of calendar or fixed intervals in date histo agg #33727
- Allocation
- Analysis
- Authentication
- Authorization
-
- Support mustache templates in role mappings #39984 (issue: #36567)
- Add .code_internal-* index pattern to kibana user #42247
- Add granular API key privileges #41488 (issue: #40031)
- Add Kibana application privileges for monitoring and ml reserved roles #40651
- Support roles with application privileges against wildcard applications #40398
- CCR
- CRUD
- Cluster Coordination
- Data Frame
-
- Persist and restore checkpoint and position #41942 (issue: #41752)
- Complete the Data Frame task on stop #41752
- Data Frame stop all #41156
- Data Frame HLRC Get Stats API #40327
- Data Frame HLRC Get API #40209
- Data Frame HLRC Preview API #40206
- Data Frame HLRC start & stop APIs #40154 (issue: #29546)
- Add Data Frame client to the Java HLRC #39921
- Discovery-Plugins
-
- Upgrade SDK and test discovery-ec2 credential providers #41732
- Distributed
-
- Prevent in-place downgrades and invalid upgrades #41731
- Add index name to cluster block exception #41489 (issue: #40870)
- Noop peer recoveries on closed index #41400 (issue: #33888)
- Do not trim unsafe commits when open readonly engine #41041 (issue: #33888)
- Avoid background sync on relocated primary #40800 (issue: #40731)
- No mapper service and index caches for replicated closed indices #40423
- Add support for replicating closed indices #39499 (issues: #33888, #33903, #37359, #37413, #38024, #38326, #38327, #38329, #38421, #38631, #38767, #38854, #38955, #39006, #39110, #39186, #39249, #39364)
- Docs Infrastructure
-
- Docs: Simplifying setup by using module configuration variant syntax #40879
- Engine
-
- Simplify initialization of max_seq_no of updates #41161 (issues: #33842, #40249)
- Adjust init map size of user data of index commit #40965
- Don’t mark shard as refreshPending on stats fetching #40458 (issues: #33835, #33847)
- Reject illegal flush parameters #40213 (issue: #36342)
- Always fail engine if delete operation fails #40117 (issue: #33256)
- Combine overriddenOps and skippedOps in translog #39771 (issue: #33317)
-
Return cached segments stats if
include_unloaded_segments
is true #39698 (issue: #39512) - Allow inclusion of unloaded segments in stats #39512
- Never block on scheduled refresh if a refresh is running #39462
- Expose external refreshes through the stats API #38643 (issue: #36712)
- Make setting index.translog.sync_interval be dynamic #37382 (issue: #32763)
- Features/CAT APIs
- Features/Indices APIs
- Features/Java High Level REST Client
- Features/Monitoring
- Geo
- Infra/Core
-
- Validate non-secure settings are not in keystore #42209 (issue: #41831)
- Implement XContentParser.genericMap and XContentParser.genericMapOrdered methods #42059
- Remove manual parsing of JVM options #41962 (issue: #30684)
- Clarify some ToXContent implementations behaviour #41000 (issue: #16347)
-
Remove String interning from
o.e.index.Index
. #40350 (issue: #40263) - Do not swallow exceptions in TimedRunnable #39856 (issue: #36137)
- Infra/Logging
- Infra/Packaging
-
- Clearer error message - installing windows service #33804
- Infra/Resiliency
- Infra/Scripting
- Machine Learning
-
- Improve message misformation error in file structure finder #42175
- Improve hard_limit audit message #42086 (issue: #38034)
- Add validation that rejects duplicate detectors in PutJobAction #40967 (issue: #39704)
- Add created_by info to usage stats #40518 (issue: #38403)
- Data frame transforms config HLRC objects #39691
- Use scaling thread pool and xpack.ml.max_open_jobs cluster-wide dynamic #39320 (issue: #29809)
- Add task recovery on node change #39416
- Stop tasks on failure #39203
- Add _preview endpoint #38924
- Use hardened compiler options to build 3rd party libraries #453
- Only select more complex trend models for forecasting if there is evidence that they are needed #463
- Improve residual model selection #468
- Stop linking to libcrypt on Linux #480
- Improvements to hard_limit audit message #486
- Increase maximum forecast interval from 8 weeks to a limit based on the amount of data seen, up to a maximum of 10 years #214 and #41082 (issue: #41103)
- Mapping
- Network
-
- Update ciphers for TLSv1.3 and JDK11 if available #42082 (issues: #38646, #41385, #41808)
- Show SSL usage when security is not disabled #40672 (issue: #37433)
- Optimize Bulk Message Parsing and Message Length Parsing #39634 (issue: #39286)
- Netty transport accept plaintext connections #39532 (issue: #39531)
- Chunk + Throttle Netty Writes #39286
- Ranking
- Recovery
- Reindex
- SQL
-
- Implement IIF(<cond>, <result1>, <result2>) #41420 (issue: #40917)
- Use field caps inside DESCRIBE TABLE as well #41377 (issue: #34071)
- Implement CURRENT_TIME/CURTIME functions #40662 (issue: #40648)
- Polish behavior of SYS TABLES command #40535 (issue: #40348)
- Adjust the precision and scale for drivers #40467 (issue: #40357)
- Polish parsing of CAST expression #40428
- Fix classpath discovery on Java 10+ #40420 (issue: #40388)
- Spec tests now use classpath discovery #40388 (issue: #40358)
-
Implement
::
cast operator #38774 (issue: #38717)
- Search
-
- Fix range query edge cases #41160 (issue: #40937)
- Add stopword support to IntervalBuilder #39637
- Shortcut counts on exists queries #39570 (issue: #37475)
- Completion suggestions to be reduced once instead of twice #39255
- Rename SearchRequest#withLocalReduction #39108
- Tie break search shard iterator comparisons on cluster alias #38853
- Clean up ShardSearchLocalRequest #38574
- Handle unmapped fields in _field_caps API #34071
-
Make 0 as invalid value for
min_children
inhas_child
query #33073 (issue: #32949) - Analyze numbers, dates and ips with a whitespace analyzer in text queries #27395
- Add date and date_nanos conversion to the numeric_type sort option #40199
-
Add
use_field
option to intervals query #40157 - Add overlapping, before, after filters to intervals query #38999
- Security
- Snapshot/Restore
-
- Remove IndexShard dependency from Repository #42213
- Add shared access signature authentication support #42117
- Support multiple repositories in get snapshot request #41799 (issue: #41210)
- Implement Bulk Deletes for GCS Repository #41368 (issue: #40322)
- Add Bulk Delete Api to BlobStore #40322 (issues: #40144, #40250)
- Async Snapshot Repository Deletes #40144 (issues: #39656, #39657)
- Allow snapshotting replicated closed indices #39644 (issue: #33888)
- Add support for S3 intelligent tiering (#38836) #39376 (issue: #38836)
- Store
-
- Log missing file exception when failing to read metadata snapshot #32920
- Suggesters
-
- Tie-break completion suggestions with same score and surface form #39564
Bug fixes
edit- Aggregations
- Allocation
- Analysis
- Authentication
-
- Refresh remote JWKs on all errors #42850
- Fix refresh remote JWKS logic #42662
- Fix settings prefix for realm truststore password #42336 (issues: #30241, #41663)
- Merge claims from userinfo and ID Token correctly #42277
- Do not refresh realm cache unless required #42169 (issue: #35218)
-
Amend
prepareIndexIfNeededThenExecute
for security token refresh #41697 - Fix token Invalidation when retries exhausted #39799
- Authorization
- CCR
- CRUD
-
- Fix NPE when rejecting bulk updates #42923
- Cluster Coordination
- Data Frame
- Distributed
- Engine
- Features/ILM
- Features/Indices APIs
- Features/Ingest
-
- Build local year inside DateFormat lambda #42120
- Features/Java High Level REST Client
- Features/Watcher
- Geo
- Highlighting
- Infra/Core
-
- Fix roundUp parsing with composite patterns #43080 (issue: #42835)
- scheduleAtFixedRate would hang #42993 (issue: #38441)
- Only ignore IOException when fsyncing on dirs #42972 (issue: #42950)
- Fix node close stopwatch usage #41918
- Make ISO8601 date parser accept timezone when time does not have seconds #41896
- Allow unknown task time in QueueResizingEsTPE #41810 (issue: #41448)
- Parse composite patterns using ClassicFormat.parseObject #40100 (issue: #39916)
- Infra/Packaging
- Infra/Settings
- Machine Learning
- Mapping
-
- Fix possible NPE in put mapping validators #43000 (issue: #37675)
- Fix merging of text field mappers #40627
- Fix an off-by-one error in the vector field dimension limit. #40489
- Fix not Recognizing Disabled Object Mapper #39862 (issue: #39456)
- Avoid copying the field alias lookup structure unnecessarily. #39726
- Handle NaNs when detrending seasonal components #408
- Network
- Percolator
- Recovery
- Reindex
- Rollup
- SQL
- Search
-
-
Fix IntervalBuilder#analyzeText to never return
null
#42750 (issue: #42587) - Fix sorting on nested field with unmapped #42451 (issue: #33644)
- Always set terminated_early if terminate_after is set in the search request #40839 (issue: #33949)
- more_like_this query to throw an error if the like fields is not provided #40632
- Fixing 503 Service Unavailable errors during fetch phase #39086
- Fix IndexSearcherWrapper visibility #39071 (issue: #30758)
-
Fix IntervalBuilder#analyzeText to never return
- Snapshot/Restore
- Suggesters