See issues on GitHub

Release 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)