Also see Breaking changes in 6.0.
-
Network
-
-
Allow only a fixed-size receive predictor #26165 (issue: #23185)
-
REST
-
-
Standardize underscore requirements in parameters #27414 (issues: #26886, #27040)
-
/_nodes/settings?flat_settings
returns "settings"
key/value values as string
and array
values #26878 (issue: #27805)
-
Scroll
-
-
Fail queries with scroll that explicitely set request_cache #27342
-
Search
-
-
Add a limit to from + size in top_hits and inner hits. #26492 (issue: #11511)
Breaking Java changes
edit
-
Aggregations
-
-
Moves deferring code into its own subclass #26421
-
Core
-
-
Unify Settings xcontent reading and writing #26739
-
Settings
-
-
Return List instead of an array from settings #26903
-
Remove
Settings,put(Map<String,String>)
#26785
-
Aggregations
-
-
Deprecate global_ordinals_hash and global_ordinals_low_cardinality #26173 (issue: #26014)
-
Allocation
-
-
Add deprecation warning for negative index.unassigned.node_left.delayed_timeout #26832 (issue: #26828)
-
Analysis
-
-
Geo
-
-
[GEO] 6x Deprecate ShapeBuilders and decouple geojson parse logic #27345
-
Mapping
-
-
Deprecate the
index_options
parameter for numeric fields #26672 (issue: #21475)
-
Plugin Repository Azure
-
-
Azure repository: Move to named configurations as we do for S3 repository and secure settings #23405 (issues: #22762, #22763)
-
Search
-
-
doc: deprecate _primary and _replica shard option #26792 (issue: #26335)
-
Aggregations
-
-
Aggregations: bucket_sort pipeline aggregation #27152 (issue: #14928)
-
Add composite aggregator #26800
-
Analysis
-
-
Added Bengali Analyzer to Elasticsearch with respect to the lucene update #26527
-
Ingest
-
-
Java High Level REST Client
-
-
Added Delete Index support to high-level REST client #27019 (issue: #25847)
-
Nested Docs
-
-
Multi-level Nested Sort with Filters #26395
-
Query DSL
-
-
Add terms_set query #27145 (issue: #26915)
-
Introduce sorted_after query for sorted index #26377
-
Add support for auto_generate_synonyms_phrase_query in match_query, multi_match_query, query_string and simple_query_string #26097
-
Search
-
-
Similarities
-
-
Add a scripted similarity. #25831
-
Suggesters
-
-
Expose duplicate removal in the completion suggester #26496 (issue: #23364)
-
Support must and should for context query in context suggester #26407 (issues: #24421, #24565)
-
Aggregations
-
-
Allow aggregation sorting via nested aggregation #26683 (issue: #16838)
-
Allocation
-
-
Tie-break shard path decision based on total number of shards on path #27039 (issue: #26654)
-
Balance shards for an index more evenly across multiple data paths #26654 (issue: #16763)
-
Expand "NO" decision message in NodeVersionAllocationDecider #26542 (issue: #10403)
-
_reroute’s retry_failed flag should reset failure counter #25888 (issue: #25291)
-
Analysis
-
-
Add configurable
max_token_length
parameter to whitespace tokenizer #26749 (issue: #26643)
-
CRUD
-
-
Add wait_for_active_shards parameter to index open command #26682 (issue: #20937)
-
Core
-
-
Fix classes that can exit #27518
-
Replace empty index block checks with global block checks in template delete/put actions #27050 (issue: #10530)
-
Allow Uid#decodeId to decode from a byte array slice #26987 (issue: #26931)
-
Use separate searchers for "search visibility" vs "move indexing buffer to disk #26972 (issues: #15768, #26802, #26912, #3593)
-
Add ability to split shards #26931
-
Make circuit breaker mutations debuggable #26067 (issue: #25891)
-
Dates
-
-
Discovery
-
-
Stop responding to ping requests before master abdication #27329 (issue: #27328)
-
Engine
-
-
Ensure external refreshes will also refresh internal searcher to minimize segment creation #27253 (issue: #26972)
-
Move IndexShard#getWritingBytes() under InternalEngine #27209 (issue: #26972)
-
Refactor internal engine #27082
-
Geo
-
-
Add ignore_malformed to geo_shape fields #24654 (issue: #23747)
-
Ingest
-
-
add json-processor support for non-map json types #27335 (issue: #25972)
-
Introduce templating support to timezone/locale in DateProcessor #27089 (issue: #24024)
-
Add support for parsing inline script (#23824) #26846 (issue: #23824)
-
Consolidate locale parsing. #26400
-
Accept ingest simulate params as ints or strings #23885 (issue: #23823)
-
Internal
-
-
Avoid uid creation in ParsedDocument #27241
-
Upgrade to Lucene 7.1.0 snapshot version #26864 (issue: #26527)
-
Remove
_index
fielddata hack if cluster alias is present #26082 (issue: #25885)
-
Java High Level REST Client
-
-
Adjust RestHighLevelClient method modifiers #27238
-
Decouple BulkProcessor from ThreadPool #26727 (issue: #26028)
-
Logging
-
-
Add more information on failed_to_convert exception (#21946) #27034 (issue: #21946)
-
Improve shard-failed log messages. #26866
-
Mapping
-
-
Allow ip_range to accept CIDR notation #27192 (issue: #26260)
-
Deduplicate
_field_names
. #26550
-
Throw a better error message for empty field names #26543 (issue: #23348)
-
Stricter validation for min/max values for whole numbers #26137
-
Make FieldMapper.copyTo() always non-null. #25994
-
Nested Docs
-
-
Use the primary_term field to identify parent documents #27469 (issue: #24362)
-
Prohibit using
nested_filter
, nested_path
and new nested
Option at the same time in FieldSortBuilder #26490 (issue: #17286)
-
Network
-
-
Remove manual tracking of registered channels #27445 (issue: #27260)
-
Remove tcp profile from low level nio channel #27441 (issue: #27260)
-
Decouple
ChannelFactory
from Tcp classes #27286 (issue: #27260)
-
Percolator
-
-
Use Lucene’s CoveringQuery to select percolate candidate matches #27271 (issues: #26081, #26307)
-
Add support to percolate query to percolate multiple documents simultaneously #26418
-
Hint what clauses are important in a conjunction query based on fields #26081
-
Add support for selecting percolator query candidate matches containing range queries #25647 (issue: #21040)
-
Plugin Discovery EC2
-
-
update AWS SDK for ECS Task IAM support in discovery-ec2 #26479 (issue: #23039)
-
Plugin Lang Painless
-
-
Painless: Only allow Painless type names to be the same as the equivalent Java class. #27264
-
Allow for the Painless Definition to have multiple instances for white-listing #27096
-
Separate Painless Whitelist Loading from the Painless Definition #26540
-
Remove Sort enum from Painless Definition #26179
-
Plugin Repository Azure
-
-
Add azure storage endpoint suffix #26432 #26568 (issue: #26432)
-
Support for accessing Azure repositories through a proxy #23518 (issues: #23506, #23517)
-
Plugin Repository S3
-
-
Plugins
-
-
Plugins: Add versionless alias to all security policy codebase properties #26756 (issue: #26521)
-
Allow plugins to plug rescore implementations #26368 (issue: #26208)
-
Query DSL
-
-
Reindex API
-
-
Update by Query is modified to accept short
script
parameter. #26841 (issue: #24898)
-
reindex: automatically choose the number of slices #26030 (issues: #24547, #25582)
-
Rollover
-
-
Add size-based condition to the index rollover API #27160 (issue: #27004)
-
Add size-based condition to the index rollover API #27115 (issue: #27004)
-
Scripting
-
-
Script: Convert script query to a dedicated script context #26003
-
Search
-
-
Make fields optional in multi_match query and rely on index.query.default_field by default #27380
-
fix unnecessary logger creation #27349
-
ObjectParser
: replace IllegalStateException
with ParsingException
#27302 (issue: #27147)
-
Uses norms for exists query if enabled #27237
-
Cross-cluster search: make remote clusters optional #27182 (issues: #26118, #27161)
-
Enhances exists queries to reduce need for
_field_names
#26930 (issue: #26770)
-
Change ParentFieldSubFetchPhase to create doc values iterator once per segment #26815
-
Change VersionFetchSubPhase to create doc values iterator once per segment #26809
-
Change ScriptFieldsFetchSubPhase to create search scripts once per segment #26808 (issue: #26775)
-
Make sure SortBuilders rewrite inner nested sorts #26532
-
Extend testing of build method in ScriptSortBuilder #26520 (issues: #17286, #26490)
-
Accept an array of field names and boosts in the index.query.default_field setting #26320 (issue: #25946)
-
Reject IPv6-mapped IPv4 addresses when using the CIDR notation. #26254 (issue: #26078)
-
Rewrite range queries with open bounds to exists query #26160 (issue: #22640)
-
Sequence IDs
-
-
Only fsync global checkpoint if needed #27652
-
Log primary-replica resync failures #27421 (issues: #24841, #27418)
-
Lazy initialize checkpoint tracker bit sets #27179 (issue: #10708)
-
Returns the current primary_term for Get/MultiGet requests #27177 (issue: #26493)
-
Settings
-
-
Allow affix settings to specify dependencies #27161
-
Represent lists as actual lists inside Settings #26878 (issue: #26723)
-
Remove Settings#getAsMap() #26845
-
Replace group map settings with affix setting #26819
-
Throw exception if setting isn’t recognized #26569 (issue: #25607)
-
Settings: Move keystore creation to plugin installation #26329 (issue: #26309)
-
Snapshot/Restore
-
-
Remove XContentType auto detection in BlobStoreRepository #27480
-
Snapshot: Migrate TransportRequestHandler to TransportMasterNodeAction #27165 (issue: #27151)
-
Fix toString of class SnapshotStatus (#26851) #26852 (issue: #26851)
-
Stats
-
-
Adds average document size to DocsStats #27117 (issue: #27004)
-
Stats to record how often the ClusterState diff mechanism is used successfully #27107 (issue: #26973)
-
Expose adaptive replica selection stats in /_nodes/stats API #27090
-
Add cgroup memory usage/limit to OS stats on Linux #26166
-
Add segment attributes to the
_segments
API. #26157 (issue: #26130)
-
Suggesters
-
-
Improve error message for parse failures of completion fields #27297
-
Support AND operation for context query in context suggester #24565 (issue: #24421)
-
Aggregations
-
-
Disable the "low cardinality" optimization of terms aggregations. #27545 (issue: #27543)
-
scripted_metric _agg parameter disappears if params are provided #27159 (issues: #19768, #19863)
-
Cluster
-
-
Properly format IndexGraveyard deletion date as date #27362
-
Remove optimisations to reuse objects when applying a new
ClusterState
#27317
-
Core
-
-
Do not set data paths on no local storage required #27587 (issue: #27572)
-
Ensure threadcontext is preserved when refresh listeners are invoked #27565
-
Ensure logging is configured for CLI commands #27523 (issue: #27521)
-
Protect shard splitting from illegal target shards #27468 (issue: #26931)
-
Avoid NPE when getting build information #27442
-
Fix
ShardSplittingQuery
to respect nested documents. #27398 (issue: #27378)
-
When building Settings do not set SecureSettings if empty #26988 (issue: #316)
-
Engine
-
-
Reset LiveVersionMap on sync commit #27534 (issue: #27516)
-
Carry over version map size to prevent excessive resizing #27516 (issue: #20498)
-
Geo
-
-
Correct two equality checks on incomparable types #27688
-
[GEO] fix pointsOnly bug for MULTIPOINT #27415
-
Index Templates
-
-
Prevent constructing an index template without index patterns #27662
-
Ingest
-
-
Add pipeline support for REST API bulk upsert #27075 (issue: #25601)
-
Fixing Grok pattern for Apache 2.4 #26635
-
Inner Hits
-
-
Return an empty _source for nested inner hit when filtering on a field that doesn’t exist #27531
-
Internal
-
-
When checking if key exists in ThreadContextStruct:putHeaders() method,should put requestHeaders in map first #26068
-
Adding a refresh listener to a recovering shard should be a noop #26055
-
Java High Level REST Client
-
-
Register ip_range aggregation with the high level client #26383
-
add top hits as a parsed aggregation to the rest high level client #26370
-
Mapping
-
-
Fix dynamic mapping update generation. #27467
-
Fix merging of _meta field #27352 (issue: #27323)
-
Fixed rounding of bounds in scaled float comparison #27207 (issue: #27189)
-
Nested Docs
-
-
Ensure nested documents have consistent version and seq_ids #27455
-
Prevent duplicate fields when mixing parent and root nested includes #27072 (issue: #26990)
-
Network
-
-
Throw UOE from compressible bytes stream reset #27564 (issue: #24927)
-
Bubble exceptions when closing compressible streams #27542 (issue: #27540)
-
Do not set SO_LINGER on server channels #26997
-
Do not set SO_LINGER to 0 when not shutting down #26871 (issue: #26764)
-
Close TcpTransport on RST in some Spots to Prevent Leaking TIME_WAIT Sockets #26764 (issue: #26701)
-
Packaging
-
-
Removes minimum master nodes default number #26803
-
setgid on /etc/elasticearch on package install #26412 (issue: #26410)
-
Percolator
-
-
Avoid TooManyClauses exception if number of terms / ranges is exactly equal to 1024 #27519 (issue: #1)
-
Plugin Analysis ICU
-
-
Catch InvalidPathException in IcuCollationTokenFilterFactory #27202
-
Plugin Lang Painless
-
-
Painless: Fix variable scoping issue in lambdas #27571 (issue: #26760)
-
Painless: Fix errors allowing void to be assigned to def. #27460 (issue: #27210)
-
Plugin Repository GCS
-
-
Create new handlers for every new request in GoogleCloudStorageService #27339 (issue: #27092)
-
Recovery
-
-
Flush old indices on primary promotion and relocation #27580 (issue: #27536)
-
Reindex API
-
-
Reindex: Fix headers in reindex action #26937 (issue: #22976)
-
Scroll
-
-
Fix scroll query with a sort that is a prefix of the index sort #27498
-
Search
-
-
Fix profiling naming issues #27133
-
Fix max score tracking with field collapsing #27122 (issue: #23840)
-
Apply missing request options to the expand phase #27118 (issues: #26649, #27079)
-
Calculate and cache result when advanceExact is called #26920 (issue: #26817)
-
Filter unsupported relation for RangeQueryBuilder #26620 (issue: #26575)
-
Handle leniency for phrase query on a field indexed without positions #26388
-
Sequence IDs
-
-
Obey translog durability in global checkpoint sync #27641
-
Fix resync request serialization #27418 (issue: #24841)
-
Settings
-
-
Allow index settings to be reset by wildcards #27671 (issue: #27537)
-
Snapshot/Restore
-
-
Do not swallow exception in ChecksumBlobStoreFormat.writeAtomic() #27597
-
Delete shard store files before restoring a snapshot #27476 (issues: #20220, #26865)
-
Fix snapshot getting stuck in INIT state #27214 (issue: #27180)
-
Fix default value of ignore_unavailable for snapshot REST API (#25359) #27056 (issue: #25359)
-
Do not create directory on readonly repository (#21495) #26909 (issue: #21495)
-
Stats
-
-
Include internal refreshes in refresh stats #27615
-
Make Segment statistics aware of segments hold by internal readers #27558
-
Ensure
doc_stats
are changing even if refresh is disabled #27505
-
Core
-
-
Upgrade to Jackson 2.8.10 #27230
-
Upgrade to Lucene 7.1 #27225
-
Plugin Discovery EC2
-
-
Plugin Discovery GCE
-
-
Plugin Lang Painless
-
-
Upgrade Painless from ANTLR 4.5.1-1 to ANTLR 4.5.3. #27153