5.0.0-alpha4 Release Notes

edit

Also see Breaking changes in 5.0.

This is an alpha release and is intended for testing purposes only. Indices created in this version will not be compatible with Elasticsearch 5.0.0 GA. Upgrading 5.0.0-alpha4 to any other version is not supported.

Breaking changes

edit
Aggregations
  • Remove size 0 options in aggregations #18854 (issue: #18838)
CRUD
  • Wait for changes to be visible by search #17986 (issue: #1063)
Core
Inner Hits
  • Also do not serialize _index key in search response for parent/child inner hits #19011
  • Don’t include _id, _type and _index keys in search response for inner hits #18995 (issue: #18091)
  • Nested inner hits shouldn’t use relative paths #18567 (issue: #16653)
Mapping
  • Remove _timestamp and _ttl on 5.x indices. #18980 (issue: #18280)
Packaging
Search
  • Remove only node preference #18875 (issue: #18822)
  • Add search preference to prefer multiple nodes #18872 (issue: #18822)
Settings
  • Rename boostrap.mlockall to bootstrap.memory_lock #18669
Snapshot/Restore
  • Change the default of include_global_state from true to false for snapshot restores #18773 (issue: #18569)

Breaking Java changes

edit
Core
Highlighting
  • Register Highlighter instances instead of classes #18859
Internal
  • Cleanup ClusterService dependencies and detached from Guice #18941
  • Simplify SubFetchPhase interface #18881
  • Simplify FetchSubPhase registration and detach it from Guice #18862
Java API
Plugins
  • Fail to start if plugin tries broken onModule #19025
  • Simplify ScriptModule and script registration #18903
  • Cut over settings registration to a pull model #18890
  • Plugins cleanup #18594 (issue: #18588)
Scripting
  • Move search template to lang-mustache module #18765 (issue: #17906)

New features

edit
Aggregations
  • Adds aggregation profiling to the profile API #18414 (issue: #10538)
  • New Matrix Stats Aggregation module #18300 (issue: #16826)
Index APIs
  • Add rollover API to switch index aliases given some predicates #18732 (issue: #18647)
Java REST Client
Mapping
Scroll
  • Add the ability to partition a scroll in multiple slices. #18237 (issue: #13494)
Store
  • Expose MMapDirectory.preLoad(). #18880
  • Add primitive to shrink an index into a single shard #18270

Enhancements

edit
Aggregations
  • Automatically set the collection mode to breadth_first in the terms aggregation when the cardinality of the field is unknown or smaller than the requested size. #18779 (issue: #9825)
  • Rename PipelineAggregatorBuilder to PipelineAggregationBuilder. #18677 (issue: #18377)
  • AggregatorBuilder and PipelineAggregatorBuilder do not need generics. #18368 (issue: #18133)
Allocation
  • Allow _shrink to N shards if source shards is a multiple of N #18699
  • Only filter intial recovery (post API) when shrinking an index #18661
  • Estimate shard size for shrinked indices #18659
  • Only fail relocation target shard if failing source shard is a primary #18574 (issue: #16144)
  • Simplify delayed shard allocation #18351 (issue: #18293)
Analysis
  • Add a MultiTermAwareComponent marker interface to analysis factories. #19028 (issues: #18064, #9978)
  • Add Flags Parameter for Char Filter #18363 (issue: #18362)
Cache
  • Cache FieldStats in the request cache #18768 (issue: #18717)
Cluster
  • Index creation does not cause the cluster health to go RED #18737 (issues: #9106, #9126)
  • Cluster Health class improvements #18673
Core
  • Read Elasticsearch manifest via URL #18999 (issue: #18996)
  • Throw if the local node is not set #18963 (issue: #18962)
  • Improve performance of applyDeletedShards #18788 (issue: #18776)
  • Bootstrap check for OnOutOfMemoryError and seccomp #18756 (issue: #18736)
Dates
  • Improve TimeZoneRoundingTests error messages #18895
  • Improve TimeUnitRounding for edge cases and DST transitions #18589
Expressions
  • improve date api for expressions/painless fields #18658
Index APIs
  • Add Shrink request source parser to parse create index request body #18802
Index Templates
  • Parse and validate mappings on index template creation #8802 (issue: #2415)
Ingest
  • Add ignore_failure option to all ingest processors #18650 (issue: #18493)
  • new ScriptProcessor for Ingest #18193
Internal
  • Hot methods redux #19016 (issue: #16725)
  • Remove forked joda time BaseDateTime class #18953
  • Support optional ctor args in ConstructingObjectParser #18725
  • Remove thread pool from page cache recycler #18664 (issue: #18613)
Java API
  • Switch QueryBuilders to new MatchPhraseQueryBuilder #18753
Logging
  • Throw IllegalStateException when handshake fails due to version or cluster mismatch #18676
Mapping
  • Upgrade string fields to text/keyword even if include_in_all is set. #19004 (issue: #18974)
Network
  • Exclude admin / diagnostic requests from HTTP request limiting #18833 (issues: #17951, #18145)
  • Do not start scheduled pings until transport start #18702
Packaging
  • Remove explicit parallel new GC flag #18767
  • Use JAVA_HOME or java.exe in PATH like the Linux scripts do #18685 (issue: #4913)
Percolator
  • Add percolator query extraction support for dismax query #18845
  • Improve percolate query performance by not verifying certain candidate matches #18696
  • Improve percolator query term extraction #18610
Plugin Lang Painless
  • Painless Initializers #19012
  • Add augmentation #19003
  • Infer lambda arguments/return type #18983
  • Fix explicit casts and improve tests. #18958
  • Add lambda captures #18954
  • improve Debugger to print code even if it hits exception #18932 (issue: #1)
  • Move semicolon hack into lexer #18931
  • Add flag support to regexes #18927
  • improve lambda syntax (allow single expression) #18924
  • Remove useless dropArguments in megamorphic cache #18913
  • non-capturing lambda support #18911 (issue: #18824)
  • fix bugs in operators and more improvements for the dynamic case #18899
  • improve unary operators and cleanup tests #18867 (issue: #18849)
  • Add support for the find operator (=~) and the match operator (==~) #18858
  • Remove casts and boxing for dynamic math #18849 (issue: #18847)
  • Refactor def math #18847
  • Add support for /regex/ #18842
  • Array constructor references #18831
  • Method references to user functions #18828
  • Add } as a delimiter. #18827 (issue: #18821)
  • Add Lambda Stub Node #18824
  • Add capturing method references #18818 (issue: #18748)
  • Add Functions to Painless #18810
  • Add Method to Get New MethodWriters #18771
  • Static For Each #18757
  • Method reference support #18748 (issue: #18578)
  • Add support for the new Java 9 MethodHandles#arrayLength() factory #18734
  • Improve painless compile-time exceptions #18711 (issue: #18600)
  • add java.time packages to painless whitelist #18621
  • Add Function Reference Stub to Painless #18578
Plugins
  • Add did-you-mean for plugin cli #18942 (issue: #18896)
  • Plugins: Remove name() and description() from api #18906
  • Emit nicer error message when trying to install unknown plugin #18876 (issue: #17226)
Query DSL
  • Treat zero token in common terms query as MatchNoDocsQuery #18656
  • Handle empty query bodies at parse time and remove EmptyQueryBuilder #17624 (issues: #17540, #17541)
REST
  • Adding status field in _msearch error request bodies #18586 (issue: #18013)
Recovery
  • index shard should be able to cancel check index on close. #18839 (issue: #12011)
Reindex API
  • Implement ctx.op = "delete" on _update_by_query and _reindex #18614 (issue: #18043)
Scripting
  • Compile each Groovy script in its own classloader #18918 (issue: #18572)
  • Include script field even if it value is null #18384 (issue: #16408)
Scroll
  • Add an index setting to limit the maximum number of slices allowed in a scroll request. #18782
Search
  • Change default similarity to BM25 #18948 (issue: #18944)
  • Add a parameter to cap the number of searches the msearch api will concurrently execute #18721
Sequence IDs
  • Persist sequence number checkpoints #18949 (issue: #10708)
  • Add sequence numbers to cat shards API #18772
Settings
  • Improve error message if a setting is not found #18920 (issue: #18663)
  • Cleanup placeholder replacement #17335
Snapshot/Restore
  • Adds UUIDs to snapshots #18228 (issue: #18156)
  • Clarify the semantics of the BlobContainer interface #18157 (issue: #15580)
Stats
  • Add total_indexing_buffer/_in_bytes to nodes info API #18914 (issue: #18651)
  • Allow FieldStatsRequest to disable cache #18900
  • Remove index_writer_max_memory stat from segment stats #18651 (issues: #14121, #7440)
  • Move DocStats under Engine to get more accurate numbers #18587
Task Manager
  • Fetch result when wait_for_completion #18905
  • Create get task API that falls back to the .tasks index #18682
  • Add ability to store results for long running tasks #17928
Translog
  • Beef up Translog testing with random channel exceptions #18997
  • Do not replay into translog on local recovery #18547

Bug fixes

edit
Allocation
  • Fix recovery throttling to properly handle relocating non-primary shards #18701 (issue: #18640)
CAT API
  • Fix merge stats rendering in RestIndicesAction #18720
CRUD
  • Squash a race condition in RefreshListeners #18806
Circuit Breakers
  • Never trip circuit breaker in liveness request #18627 (issue: #17951)
Cluster
  • Fix block checks when no indices are specified #19047 (issue: #8105)
  • Acknowledge index deletion requests based on standard cluster state acknowledgment #18602 (issues: #16442, #18558)
Core
  • Throw exception if using a closed transport client #18722 (issue: #18708)
Dates
  • Fix invalid rounding value for TimeIntervalRounding close to DST transitions #18800
  • Fix problem with TimeIntervalRounding on DST end #18780
Expressions
  • replace ScriptException with a better one #18600
Ingest
  • Fix ignore_failure behavior in _simulate?verbose and more cleanup #18987
Internal
  • Fix filtering of node ids for TransportNodesAction #18634 (issue: #18618)
Mapping
Packaging
  • Remove extra bin/ directory in bin folder #18630
Plugin Lang Painless
Query DSL
  • Make parsing of bool queries stricter #19052 (issue: #19034)
REST
  • Get XContent params from request in Nodes rest actions #18860 (issue: #18794)
Reindex API
  • Fix a race condition in reindex’s rethrottle #18731 (issue: #18744)
Search
  • Require timeout units when parsing query body #19077 (issue: #19075)
  • Close SearchContext if query rewrite failed #18727
Settings
  • Register "cloud.node.auto_attributes" setting in EC2 discovery plugin #18678
Snapshot/Restore
  • Better handling of an empty shard’s segments_N file #18784 (issue: #18707)
Stats
  • Fix sync flush total shards statistics #18766
Translog

Upgrades

edit
Core
  • Upgrade to Lucene 6.1.0. #18926
  • Upgrade to lucene-6.1.0-snapshot-3a57bea. #18786
  • Upgrade to Lucene 6.0.1. #18648 (issues: #17535, #28)
Dates
Packaging
  • Upgrade JNA to 4.2.2 and remove optionality #19045 (issue: #13245)
Plugin Discovery EC2
  • Update aws sdk to 1.10.69 and add use_throttle_retries repository setting #17784 (issues: #538, #586, #589)