Also see Breaking changes in 5.2.
-
Core
-
-
Add system call filter bootstrap check #21940
Breaking Java changes
edit
-
Allocation
-
-
Cluster
-
-
Remove PROTO-based custom cluster state components #22336 (issue: #21868)
-
Ingest
-
-
Change type of ingest doc meta-data field TIMESTAMP to
Date
#22234 (issue: #22074)
-
Internal
-
-
Consolidate the last easy parser construction #22095
-
Introduce XContentParser#namedObject #22003
-
Plugins
-
-
Plugins: Replace Rest filters with RestHandler wrapper #21905
-
Query DSL
-
-
Resolve index names in indices_boost #21393 (issue: #4756)
-
Search
-
-
Cluster search shards improvements: expose ShardId, adjust visibility of some members #21752
-
Java API
-
-
Deprecate and remove "minimumNumberShouldMatch" in BoolQueryBuilder #22403
-
Shadow Replicas
-
-
Add a deprecation notice to shadow replicas #22647 (issue: #22024)
-
Analysis
-
-
Synonym Graph Support (LUCENE-6664) #21517
-
Ingest
-
-
introduce KV Processor in Ingest Node #22272 (issue: #22222)
-
Mapping
-
-
Add the ability to set a normalizer on keyword fields. #21919 (issue: #18064)
-
Add RangeFieldMapper for numeric and date range types #21002 (issue: #20999)
-
Aggregations
-
-
value_type
is useful regardless of scripting. #22160 (issue: #20163)
-
Support for partitioning set of terms #21626 (issue: #21487)
-
Allocation
-
-
Adds setting level to allocation decider explanations #22268 (issue: #21771)
-
Improves allocation decider decision explanation messages #21771
-
Prepares allocator decision objects for use with the allocation explain API #21691
-
Analysis
-
-
Expose FlattenGraphTokenFilter #22643
-
CRUD
-
-
Use correct block levels for TRA subclasses #22224
-
Cluster
-
-
Keep NodeConnectionsService in sync with current nodes in the cluster state #22509
-
Add a generic way of checking version before serializing custom cluster object #22376 (issue: #22313)
-
Add validation for supported index version on node join, restore, upgrade & open index #21830 (issue: #21670)
-
Let ClusterStateObserver only hold onto state that’s needed for change detection #21631 (issue: #21568)
-
Remove mutable status field from cluster state #21379
-
Core
-
-
Rename bootstrap.seccomp to bootstrap.system_call_filter #22226 (issue: #21940)
-
Cleanup random stats serialization code #22223
-
Avoid corruption when deserializing booleans #22152
-
Reduce memory pressure when sending large terms queries. #21776
-
Discovery
-
-
Ingest
-
-
add
ignore_missing
flag to ingest plugins #22273
-
Added ability to remove pipelines via wildcards (#22149) #22191 (issue: #22149)
-
Enables the ability to inject serialized json fields into root of document #22179 (issue: #21898)
-
compile ScriptProcessor inline scripts when creating ingest pipelines #21858 (issue: #21842)
-
Internal
-
-
Remove some more usages of ParseFieldMatcher #22398 (issues: #19552, #22130)
-
Remove some more usages of ParseFieldMatcher #22395 (issues: #19552, #22130)
-
Remove some ParseFieldMatcher usages #22389 (issues: #19552, #22130)
-
Add infrastructure to manage network connections outside of Transport/TransportService #22194
-
Replace strict parsing mode with response headers assertions #22130 (issues: #11859, #19552, #20993)
-
Start using
ObjectParser
for aggs. #22048 (issue: #22009)
-
Don’t output null source node in RecoveryFailedException #21963
-
ClusterService should expose "applied" cluster states (i.e., remove ClusterStateStatus) #21817
-
Java High Level REST Client
-
-
Add fromxcontent methods to index response #22229
-
Add fromXContent() methods for ReplicationResponse #22196 (issue: #22082)
-
Add parsing method for ElasticsearchException #22143
-
Add fromXContent method to GetResponse #22082
-
Java REST Client
-
-
Warn log deprecation warnings received from server #21895
-
Logging
-
-
Log deleting indices at info level #22627 (issue: #22605)
-
Log failure to connect to node at info instead of debug #21809 (issue: #6468)
-
Mapping
-
-
Atomic mapping updates across types #22220
-
Only update DocumentMapper if field type changes #22165
-
Better error message when
_parent
isn’t an object #21987
-
Network
-
-
Disable the Netty recycler #22452 (issues: #22189, #22360, #22406, #5904)
-
Tell Netty not to be unsafe in transport client #22284
-
Introduce a low level protocol handshake #22094
-
Detach handshake from connect to node #22037
-
Reduce number of connections per node depending on the nodes role #21849
-
Add a connect timeout to the ConnectionProfile to allow per node connect timeouts #21847 (issue: #19719)
-
Grant Netty permission to read system somaxconn #21840
-
Remove connectToNodeLight and replace it with a connection profile #21799
-
Packaging
-
-
Plugin Discovery EC2
-
-
Add support for ca-central-1 region to EC2 and S3 plugins #22458 (issue: #22454)
-
Support for eu-west-2 (London) cloud-aws plugin #22308 (issue: #22306)
-
Add us-east-2 AWS region #21961 (issue: #21881)
-
Add setting to set read timeout for EC2 discovery and S3 repository plugins #21956 (issue: #19078)
-
Plugin Ingest GeoIp
-
-
Plugin Lang Painless
-
-
Improve painless’s ScriptException generation #21762 (issue: #21733)
-
Plugins
-
-
Pass ThreadContext to transport interceptors to allow header modification #22618 (issue: #22585)
-
Provide helpful error message if a plugin exists #22305 (issue: #22084)
-
Add shutdown hook for closing CLI commands #22126 (issue: #22111)
-
Allow plugins to install bootstrap checks #22110
-
Query DSL
-
-
Un-deprecate fuzzy query #22088 (issue: #15760)
-
support numeric bounds with decimal parts for long/integer/short/byte datatypes #21972 (issue: #21600)
-
Reindex API
-
-
Reindex: Better error message for pipeline in wrong place #21985
-
Timeout improvements for rest client and reindex #21741 (issue: #21707)
-
Scripting
-
-
Wrap VerifyError in ScriptException #21769
-
Log ScriptException’s xcontent if file script compilation fails #21767 (issue: #21733)
-
Search
-
-
Move SearchTransportService and SearchPhaseController creation outside of TransportSearchAction constructor #21754
-
Don’t carry ShardRouting around when not needed in AbstractSearchAsyncAction #21753
-
ShardSearchRequest to take ShardId constructor argument rather than the whole ShardRouting #21750
-
Use index uuid as key in the alias filter map rather than the index name #21749
-
Settings
-
-
Speed up filter and prefix settings operations #22249
-
Snapshot/Restore
-
-
Fixes retrieval of the latest snapshot index blob #22700
-
Synchronize snapshot deletions on the cluster state #22313 (issue: #19957)
-
Stats
-
-
Include unindexed field in FieldStats response #21821 (issue: #21952)
-
Task Manager
-
-
Improve the error message if task and node isn’t found #22062 (issue: #22027)
-
Add descriptions to create snapshot and restore snapshot tasks. #21901 (issue: #21768)
-
Add proper descriptions to reindex, update-by-query and delete-by-query tasks. #21841 (issue: #21768)
-
Aggregations
-
-
Fix scaled_float numeric type in aggregations #22351 (issue: #22350)
-
Allow terms aggregations on pure boolean scripts. #22201 (issue: #20941)
-
Fix numeric terms aggregations with includes/excludes and minDocCount=0 #22141 (issue: #22140)
-
Fix
missing
on aggs on boolean
fields. #22135 (issue: #22009)
-
IP range masks exclude the maximum address of the range. #22018 (issue: #22005)
-
Fix
other_bucket
on the filters
agg to be enabled if a key is set. #21994 (issue: #21951)
-
Allocation
-
-
Cannot force allocate primary to a node where the shard already exists #22031 (issue: #22021)
-
Promote shadow replica to primary when initializing primary fails #22021
-
Trim in-sync allocations set only when it grows #21976 (issue: #21719)
-
Analysis
-
-
AsciiFoldingFilter’s multi-term component should never preserve the original token. #21982
-
Pre-built analysis factories do not implement MultiTermAware correctly. #21981
-
CRUD
-
-
Reject external versioning and explicit version numbers on create #21998
-
Cluster
-
-
IndicesService handles all exceptions during index deletion #22433
-
Core
-
-
Streamline foreign stored context restore and allow to perserve response headers #22677 (issue: #22647)
-
Support negative numbers in readVLong #22314
-
Discovery
-
-
Close InputStream when receiving cluster state in PublishClusterStateAction #22711
-
Do not reply to pings from another cluster #21894 (issue: #21874)
-
Engine
-
-
Close and flush refresh listeners on shard close #22342
-
Exceptions
-
-
Fixing shard recovery error message to report the number of docs correctly for each node #22515 (issue: #21893)
-
Highlighting
-
-
Fix FiltersFunctionScoreQuery highlighting #21827
-
Index APIs
-
-
Ensure shrunk indices carry over version information from its source #22469 (issue: #22373)
-
Ingest
-
-
fix index out of bounds error in KV Processor #22288 (issue: #22272)
-
Fixes GrokProcessor’s ignorance of named-captures with same name. #22131 (issue: #22117)
-
Inner Hits
-
-
Internal
-
-
Index creation and setting update may not return deprecation logging #22702
-
Java API
-
-
Don’t output empty ext object in SearchSourceBuilder#toXContent #22093 (issue: #20969)
-
Java REST Client
-
-
Don’t use null charset in RequestLogger #22197 (issue: #22190)
-
Mapping
-
-
The
_all
default mapper is not completely configured. #22236
-
Fix MapperService.allEnabled(). #22227
-
Dynamic
date
fields should use the format
that was used to detect it is a date. #22174 (issue: #9410)
-
Sub-fields should not accept
include_in_all
parameter #21971 (issue: #21710)
-
Mappings: Fix get mapping when no indexes exist to not fail in response generation #21924 (issue: #21916)
-
Nested Docs
-
-
Fix bug in query builder rewrite that ignores the ignore_unmapped option #22456
-
Network
-
-
Pass
forceExecution
flag to transport interceptor #22739
-
Ensure new connections won’t be opened if transport is closed or closing #22589 (issue: #22554)
-
Prevent open channel leaks if handshake times out or is interrupted #22554
-
Execute low level handshake in #openConnection #22440
-
Properly configure Netty 3 ClientBootstrap when using custom connection profile #22363 (issue: #22277)
-
Handle connection close / reset events gracefully during handshake #22178
-
Do not lose host information when pinging #21939 (issue: #21828)
-
DiscoveryNode and TransportAddress should preserve host information #21828
-
Packaging
-
-
Another fix for handling of paths on Windows #22132 (issue: #21921)
-
Fix handling of spaces in Windows paths #21921 (issues: #20809, #21525)
-
Add option to skip kernel parameters on install #21899 (issue: #21877)
-
Percolator
-
-
Fix NPE in percolator’s now range check for percolator queries with range queries #22356 (issue: #22355)
-
Plugin Analysis Stempel
-
-
Fix thread safety of Stempel’s token filter factory #22610 (issue: #21911)
-
Plugin Lang Painless
-
-
Whitelist some ScriptDocValues in painless #22600 (issue: #22584)
-
Update Painless Loop Counter to be Higher #22560 (issue: #22508)
-
Fix some issues with painless’s strings #22393 (issue: #22372)
-
Test fix for def equals in Painless #21945 (issue: #21801)
-
Fix a VerifyError bug in Painless #21765
-
Plugin Mapper Attachment
-
-
NPE is raised when defining a non existing type within attachments type #21848
-
Plugin Repository Azure
-
-
Fixes default chunk size for Azure repositories #22577 (issue: #22513)
-
readonly on azure repository must be taken into account #22055 (issues: #22007, #22053)
-
Query DSL
-
-
Fix script score function that combines
_score
and weight #22713 (issue: #21483)
-
REST
-
-
Adds percent-encoding for Location headers #21057 (issue: #21016)
-
Recovery
-
-
Fix primary relocation for shadow replicas #22474 (issue: #20300)
-
Don’t close store under CancellableThreads #22434 (issue: #22325)
-
Use a fresh recovery id when retrying recoveries #22325 (issue: #22043)
-
Allow flush/force_merge/upgrade on shard marked as relocated #22078 (issue: #22043)
-
Reindex API
-
-
Fix reindex from remote clearing scroll #22525 (issue: #22514)
-
Fix source filtering in reindex-from-remote #22514 (issue: #22507)
-
Remove content type detection from reindex-from-remote #22504 (issue: #22329)
-
Don’t close rest client from its callback #22061 (issue: #22027)
-
Keep context during reindex’s retries #21941
-
Scripting
-
-
Expose
ip
fields as strings in scripts. #21997 (issue: #21977)
-
Search
-
-
Improve concurrency of ShardCoreKeyMap. #22316
-
Make
-0
compare less than +0
consistently. #22173 (issue: #22167)
-
Fix boost_mode propagation when the function score query builder is rewritten #22172 (issue: #22138)
-
FiltersAggregationBuilder: rewriting filter queries, the same way as in FilterAggregationBuilder #22076
-
Fix cross_fields type on multi_match query with synonyms #21638 (issue: #21633)
-
Search Templates
-
-
SearchTemplateRequest to implement CompositeIndicesRequest #21865 (issue: #21747)
-
Settings
-
-
Handle spaces in
action.auto_create_index
gracefully #21790 (issue: #21449)
-
Fix settings diff generation for affix and group settings #21788
-
Snapshot/Restore
-
-
Gracefully handles pre 2.x compressed snapshots #22267
-
URLRepository should throw NoSuchFileException to correctly adhere to readBlob contract #22069 (issue: #22004)
-
Fixes shard level snapshot metadata loading when index-N file is missing #21813
-
Stats
-
-
Implement stats for geo_point and geo_shape field #22391 (issue: #22384)
-
Use reader for doc stats #22317 (issue: #22285)
-
Avoid NPE in NodeService#stats if HTTP is disabled #22060 (issue: #22058)
-
Add support for "include_segment_file_sizes" in indices stats REST handler #21879 (issue: #21878)
-
Term Vectors
-
-
Fix
_termvectors
with preference to not hit NPE #21959
-
Return correct term statistics when a field is not found in a shard #21922 (issue: #21906)
-
Core
-
-
Source filtering: only accept array items if the previous include pattern matches #22593 (issue: #22557)
-
Logging
-
-
Restores the original default format of search slow log #21770 (issue: #21711)
-
Search
-
-
Handle specialized term queries in MappedFieldType.extractTerm(Query) #21889 (issue: #21882)
-
Core
-
-
Upgrade to Lucene 6.4.0 #22724
-
Update Jackson to 2.8.6 #22596 (issue: #22266)
-
Upgrade to lucene-6.4.0-snapshot-084f7a0. #22413
-
Upgrade to lucene-6.4.0-snapshot-ec38570 #21853
-
Network
-