See issues on GitHubRelease Notes
Security
- Disable dynamic Groovy scripting by marking Groovy as not sandboxed. #9655
Enhancements
- Aggregations:
- Add standard error bounds to extended_stats #9389 (issue: #9356)
- Core:
- don't throttle recovery indexing operations #9396 (issue: #9394)
- Fix Store.checkIntegrity() for lucene 3.x index files. #9234
- Don't verify adler32 for lucene 3.x terms dict/terms index. #9142
- Discovery:
- publishing timeout to log at WARN and indicate pending nodes #9551
- Geo:
- Update GeoPolygonFilter to handle polygons crossing the dateline #9339 (issues: #5968, #8672, #9304)
- GeoPolygonFilter not properly handling dateline and pole crossing #9171 (issue: #5968)
- Removing unnecessary orientation enumerators #9036 (issues: #8978, #9035)
- Add optional left/right parameter to GeoJSON #8978 (issue: #8764)
- Feature/Fix for OGC compliant polygons failing with ambiguity #8762 (issue: #8672)
- Internal:
- ClusterInfoService should wipe local cache upon unknown exceptions #9449
- Log when upgrade starts and stops #9229 (issue: #9227)
- Logging:
- improve logging messages added in #9562 #9603
- Better timeout logging on stalled recovery and exception #9600
- add logging around gateway shard allocation #9562
- Mapping:
- Include currentFieldName into ObjectMapper errors #9020
- Query DSL:
- Expose max_determinized_states in regexp query, filter #8384 (issue: #8357)
- Recovery:
- add a timeout to local mapping change check #9575
- flush immediately after a remote recovery finishes (unless there are ongoing ones) #9439
- Scripting:
- Make
script.groovy.sandbox.method_blacklist_patch
truly append-only #9473 - Make groovy sandbox method blacklist dynamically additive #9470
- Add explainable script again #8665 (issues: #7245, #8561)
- Upgrade:
- Change wait_for_completion to default to true #9639 (issue: #9638)
- Windows:
- makes elasticsearch.bat more friendly to automated processes #9160 (issue: #8913)
Bug fixes
- Aggs:
- nested agg needs to reset root doc between segments. #9441 (issues: #9436, #9437)
- Fix handling of multiple buckets being emitted for the same parent doc id in nested aggregation #9346 (issues: #8454, #9317)
- In reverse nested aggregation, fix handling of the same child doc id being processed multiple times. #9345 (issues: #9263, #9346)
- The parent filter of the nested aggregator isn't resolved correctly all the time #9335 (issue: #9280)
- post collection the children agg should also invoke that phase on its wrapped child aggs. #9291 (issue: #9271)
- Validate the aggregation order on unmapped terms in terms agg. #8952 (issue: #8946)
- Allocation:
- Weight deltas must be absolute deltas #9149 (issue: #9023)
- Core:
- Mapping update task back references already closed index shard #9607
- Disable auto gen id optimization #9468 (issue: #8788)
- Verify the index state of concrete indices after alias resolution #9057
ignore_unavailable
shouldn't ignore closed indices #9047 (issue: #7153)- Terms filter lookup caching should cache values, not filters. #9027 (issues: #1, #2)
- Discovery:
- check index uuid when merging incoming cluster state into the local one #9541 (issue: #9489)
- Engine:
- back port fix to a potential dead lock when failing engine during COMMIT_TRANSLOG flush #9501 (issue: #9211)
- Geo:
- Indices API:
- Fix to make GET Index API consistent with docs #9178 (issue: #9148)
- Fix wrong search stats groups #8950 (issue: #7644)
- Internal:
- promptly cleanup updateTask timeout handler #9621
- Avoid unnecessary utf8 conversion when creating ScriptDocValues for a string field. #9557 (issue: #6908)
- Mapping:
- Throw StrictDynamicMappingException exception #9445 (issue: #9444)
- Explicit _timestamp default null is set to now #9428 (issues: #7036, #9049, #9104, #9426)
- Using default=null for _timestamp field creates a index loss on restart #9233 (issues: #9104, #9223)
- Reencode transformed result with same xcontent #8974 (issue: #8959)
- serialize doc values settings for _timestamp #8967 (issue: #8893)
- Nodes Stats:
- Fix open file descriptors count on Windows #9397 (issue: #1563)
- Parent/child:
- Fix concurrency issues of the _parent field data. #9030 (issue: #8396)
- Percolator:
- Support encoded body as query string param consistently #9628
- Fixed bug when using multi percolate api with routing #9161 (issue: #6214)
- Plugins:
- Installation failed when directories are on different file systems #9011 (issue: #8999)
- NPE when plugins dir is inaccessible #8839 (issue: #8837)
- Query cache:
- Remove query-cache serialization optimization. #9500 (issue: #9294)
- Queries are never cached when date math expressions are used (including exact dates) #9269 (issue: #9225)
- REST:
- Scripting:
- Disallow method pointer expressions in Groovy scripting #9509
- Make _score in groovy scripts comparable #9094 (issue: #8828)
- Search:
- Make sure that named filters/ queries defined in a wrapped query/filters aren't lost #9166 (issue: #6871)
- Fix paging on strings sorted in ascending order. #9157 (issue: #9136)
- Function score and optional weight : avg score is wrong #9004 (issue: #8992)
- Settings:
- Reset TieredMP settings only if the value actually changed #9497 (issue: #8890)
- cluster.routing.allocation.disk.threshold_enabled accepts wrong values #9309
- Snapshot status api:
- make sure headers are handed over to inner nodes request #9409
- Stats:
- Relax restrictions on filesystem size reporting in DiskUsage #9283 (issues: #9249, #9260)
- Tribe node:
- remove closed indices from cluster state #9334
- Upgrade:
- Fix version check in bytes to upgrade that spans major versions #9340
Regression
- Mapping:
- Mapping With a
null
Default Timestamp Causes NullPointerException on Merge #9205 (issue: #9204)