[[release-notes-5.0.0-alpha4]] == 5.0.0-alpha4 Release Notes Also see <>. IMPORTANT: 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-5.0.0-alpha4]] [float] === Breaking changes Aggregations:: * Remove size 0 options in aggregations {pull}18854[#18854] (issue: {issue}18838[#18838]) CRUD:: * Wait for changes to be visible by search {pull}17986[#17986] (issue: {issue}1063[#1063]) Core:: * Register thread pool settings {pull}18674[#18674] (issues: {issue}18613[#18613], {issue}9216[#9216]) * Remove cluster name from data path {pull}18554[#18554] (issue: {issue}17810[#17810]) Highlighting:: * Register Highlighter instances instead of classes {pull}18859[#18859] Inner Hits:: * Also do not serialize `_index` key in search response for parent/child inner hits {pull}19011[#19011] * Don't include `_id`, `_type` and `_index` keys in search response for inner hits {pull}18995[#18995] (issue: {issue}18091[#18091]) * Nested inner hits shouldn't use relative paths {pull}18567[#18567] (issue: {issue}16653[#16653]) Internal:: * Cleanup ClusterService dependencies and detached from Guice {pull}18941[#18941] * Simplify SubFetchPhase interface {pull}18881[#18881] * Simplify FetchSubPhase registration and detach it from Guice {pull}18862[#18862] Java API:: * Remove setRefresh {pull}18752[#18752] (issue: {issue}1063[#1063]) Mapping:: * Remove `_timestamp` and `_ttl` on 5.x indices. {pull}18980[#18980] (issue: {issue}18280[#18280]) Packaging:: * Remove allow running as root {pull}18694[#18694] (issue: {issue}18688[#18688]) Plugins:: * Fail to start if plugin tries broken onModule {pull}19025[#19025] * Simplify ScriptModule and script registration {pull}18903[#18903] * Cut over settings registration to a pull model {pull}18890[#18890] * Plugins cleanup {pull}18594[#18594] (issue: {issue}18588[#18588]) Scripting:: * Move search template to lang-mustache module {pull}18765[#18765] (issue: {issue}17906[#17906]) Search:: * Remove only node preference {pull}18875[#18875] (issue: {issue}18822[#18822]) * Add search preference to prefer multiple nodes {pull}18872[#18872] (issue: {issue}18822[#18822]) Settings:: * Rename boostrap.mlockall to bootstrap.memory_lock {pull}18669[#18669] Snapshot/Restore:: * Change the default of `include_global_state` from true to false for snapshot restores {pull}18773[#18773] (issue: {issue}18569[#18569]) [[feature-5.0.0-alpha4]] [float] === New features Aggregations:: * Adds aggregation profiling to the profile API {pull}18414[#18414] (issue: {issue}10538[#10538]) * New Matrix Stats Aggregation module {pull}18300[#18300] (issue: {issue}16826[#16826]) Index APIs:: * Add rollover API to switch index aliases given some predicates {pull}18732[#18732] (issue: {issue}18647[#18647]) Mapping:: * Expose half-floats. {pull}18887[#18887] REST:: * Low level Rest Client {pull}18735[#18735] (issue: {issue}7743[#7743]) Scroll:: * Add the ability to partition a scroll in multiple slices. {pull}18237[#18237] (issue: {issue}13494[#13494]) Store:: * Expose MMapDirectory.preLoad(). {pull}18880[#18880] * Add primitive to shrink an index into a single shard {pull}18270[#18270] [[enhancement-5.0.0-alpha4]] [float] === Enhancements 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. {pull}18779[#18779] (issue: {issue}9825[#9825]) * Rename PipelineAggregatorBuilder to PipelineAggregationBuilder. {pull}18677[#18677] (issue: {issue}18377[#18377]) * AggregatorBuilder and PipelineAggregatorBuilder do not need generics. {pull}18368[#18368] (issue: {issue}18133[#18133]) Allocation:: * Allow `_shrink` to N shards if source shards is a multiple of N {pull}18699[#18699] * Only filter intial recovery (post API) when shrinking an index {pull}18661[#18661] * Estimate shard size for shrinked indices {pull}18659[#18659] * Only fail relocation target shard if failing source shard is a primary {pull}18574[#18574] (issue: {issue}16144[#16144]) * Simplify delayed shard allocation {pull}18351[#18351] (issue: {issue}18293[#18293]) Analysis:: * Add a MultiTermAwareComponent marker interface to analysis factories. {pull}19028[#19028] (issues: {issue}18064[#18064], {issue}9978[#9978]) * Add Flags Parameter for Char Filter {pull}18363[#18363] (issue: {issue}18362[#18362]) Cache:: * Cache FieldStats in the request cache {pull}18768[#18768] (issue: {issue}18717[#18717]) Cluster:: * Index creation does not cause the cluster health to go RED {pull}18737[#18737] (issues: {issue}9106[#9106], {issue}9126[#9126]) * Cluster Health class improvements {pull}18673[#18673] Core:: * Read Elasticsearch manifest via URL {pull}18999[#18999] (issue: {issue}18996[#18996]) * Throw if the local node is not set {pull}18963[#18963] (issue: {issue}18962[#18962]) * Improve performance of applyDeletedShards {pull}18788[#18788] (issue: {issue}18776[#18776]) * Bootstrap check for OnOutOfMemoryError and seccomp {pull}18756[#18756] (issue: {issue}18736[#18736]) Dates:: * Improve TimeZoneRoundingTests error messages {pull}18895[#18895] * Improve TimeUnitRounding for edge cases and DST transitions {pull}18589[#18589] Expressions:: * improve date api for expressions/painless fields {pull}18658[#18658] Index APIs:: * Add Shrink request source parser to parse create index request body {pull}18802[#18802] Index Templates:: * Parse and validate mappings on index template creation {pull}8802[#8802] (issue: {issue}2415[#2415]) Ingest:: * Add `ignore_failure` option to all ingest processors {pull}18650[#18650] (issue: {issue}18493[#18493]) * new ScriptProcessor for Ingest {pull}18193[#18193] Internal:: * Hot methods redux {pull}19016[#19016] (issue: {issue}16725[#16725]) * Remove forked joda time BaseDateTime class {pull}18953[#18953] * Support optional ctor args in ConstructingObjectParser {pull}18725[#18725] * Remove thread pool from page cache recycler {pull}18664[#18664] (issue: {issue}18613[#18613]) Java API:: * Switch QueryBuilders to new MatchPhraseQueryBuilder {pull}18753[#18753] Logging:: * Throw IllegalStateException when handshake fails due to version or cluster mismatch {pull}18676[#18676] Mapping:: * Upgrade `string` fields to `text`/`keyword` even if `include_in_all` is set. {pull}19004[#19004] (issue: {issue}18974[#18974]) Network:: * Exclude admin / diagnostic requests from HTTP request limiting {pull}18833[#18833] (issues: {issue}17951[#17951], {issue}18145[#18145]) * Do not start scheduled pings until transport start {pull}18702[#18702] Packaging:: * Remove explicit parallel new GC flag {pull}18767[#18767] * Use JAVA_HOME or java.exe in PATH like the Linux scripts do {pull}18685[#18685] (issue: {issue}4913[#4913]) Percolator:: * Add percolator query extraction support for dismax query {pull}18845[#18845] * Improve percolate query performance by not verifying certain candidate matches {pull}18696[#18696] * Improve percolator query term extraction {pull}18610[#18610] Plugin Lang Painless:: * Painless Initializers {pull}19012[#19012] * Add augmentation {pull}19003[#19003] * Infer lambda arguments/return type {pull}18983[#18983] * Fix explicit casts and improve tests. {pull}18958[#18958] * Add lambda captures {pull}18954[#18954] * improve Debugger to print code even if it hits exception {pull}18932[#18932] (issue: {issue}1[#1]) * Move semicolon hack into lexer {pull}18931[#18931] * Add flag support to regexes {pull}18927[#18927] * improve lambda syntax (allow single expression) {pull}18924[#18924] * Remove useless dropArguments in megamorphic cache {pull}18913[#18913] * non-capturing lambda support {pull}18911[#18911] (issue: {issue}18824[#18824]) * fix bugs in operators and more improvements for the dynamic case {pull}18899[#18899] * improve unary operators and cleanup tests {pull}18867[#18867] (issue: {issue}18849[#18849]) * Add support for the find operator (=~) and the match operator (==~) {pull}18858[#18858] * Remove casts and boxing for dynamic math {pull}18849[#18849] (issue: {issue}18847[#18847]) * Refactor def math {pull}18847[#18847] * Add support for /regex/ {pull}18842[#18842] * Array constructor references {pull}18831[#18831] * Method references to user functions {pull}18828[#18828] * Add } as a delimiter. {pull}18827[#18827] (issue: {issue}18821[#18821]) * Add Lambda Stub Node {pull}18824[#18824] * Add capturing method references {pull}18818[#18818] (issue: {issue}18748[#18748]) * Add Functions to Painless {pull}18810[#18810] * Add Method to Get New MethodWriters {pull}18771[#18771] * Static For Each {pull}18757[#18757] * Method reference support {pull}18748[#18748] (issue: {issue}18578[#18578]) * Add support for the new Java 9 MethodHandles#arrayLength() factory {pull}18734[#18734] * Improve painless compile-time exceptions {pull}18711[#18711] (issue: {issue}18600[#18600]) * add java.time packages to painless whitelist {pull}18621[#18621] * Add Function Reference Stub to Painless {pull}18578[#18578] Plugins:: * Add did-you-mean for plugin cli {pull}18942[#18942] (issue: {issue}18896[#18896]) * Plugins: Remove name() and description() from api {pull}18906[#18906] * Emit nicer error message when trying to install unknown plugin {pull}18876[#18876] (issue: {issue}17226[#17226]) Query DSL:: * Treat zero token in `common` terms query as MatchNoDocsQuery {pull}18656[#18656] * Handle empty query bodies at parse time and remove EmptyQueryBuilder {pull}17624[#17624] (issues: {issue}17540[#17540], {issue}17541[#17541]) REST:: * Adding status field in _msearch error request bodies {pull}18586[#18586] (issue: {issue}18013[#18013]) Recovery:: * index shard should be able to cancel check index on close. {pull}18839[#18839] (issue: {issue}12011[#12011]) Reindex API:: * Implement ctx.op = "delete" on _update_by_query and _reindex {pull}18614[#18614] (issue: {issue}18043[#18043]) Scripting:: * Compile each Groovy script in its own classloader {pull}18918[#18918] (issue: {issue}18572[#18572]) * Include script field even if it value is null {pull}18384[#18384] (issue: {issue}16408[#16408]) Scroll:: * Add an index setting to limit the maximum number of slices allowed in a scroll request. {pull}18782[#18782] Search:: * Change default similarity to BM25 {pull}18948[#18948] (issue: {issue}18944[#18944]) * Add a parameter to cap the number of searches the msearch api will concurrently execute {pull}18721[#18721] Sequence IDs:: * Persist sequence number checkpoints {pull}18949[#18949] (issue: {issue}10708[#10708]) * Add sequence numbers to cat shards API {pull}18772[#18772] Settings:: * Improve error message if a setting is not found {pull}18920[#18920] (issue: {issue}18663[#18663]) * Cleanup placeholder replacement {pull}17335[#17335] Snapshot/Restore:: * Adds UUIDs to snapshots {pull}18228[#18228] (issue: {issue}18156[#18156]) * Clarify the semantics of the BlobContainer interface {pull}18157[#18157] (issue: {issue}15580[#15580]) Stats:: * Add total_indexing_buffer/_in_bytes to nodes info API {pull}18914[#18914] (issue: {issue}18651[#18651]) * Allow FieldStatsRequest to disable cache {pull}18900[#18900] * Remove index_writer_max_memory stat from segment stats {pull}18651[#18651] (issues: {issue}14121[#14121], {issue}7440[#7440]) * Move DocStats under Engine to get more accurate numbers {pull}18587[#18587] Task Manager:: * Fetch result when wait_for_completion {pull}18905[#18905] * Create get task API that falls back to the .tasks index {pull}18682[#18682] * Add ability to store results for long running tasks {pull}17928[#17928] Translog:: * Beef up Translog testing with random channel exceptions {pull}18997[#18997] * Do not replay into translog on local recovery {pull}18547[#18547] [[bug-5.0.0-alpha4]] [float] === Bug fixes Allocation:: * Fix recovery throttling to properly handle relocating non-primary shards {pull}18701[#18701] (issue: {issue}18640[#18640]) CAT API:: * Fix merge stats rendering in RestIndicesAction {pull}18720[#18720] CRUD:: * Squash a race condition in RefreshListeners {pull}18806[#18806] Circuit Breakers:: * Never trip circuit breaker in liveness request {pull}18627[#18627] (issue: {issue}17951[#17951]) Cluster:: * Fix block checks when no indices are specified {pull}19047[#19047] (issue: {issue}8105[#8105]) * Acknowledge index deletion requests based on standard cluster state acknowledgment {pull}18602[#18602] (issues: {issue}16442[#16442], {issue}18558[#18558]) Core:: * Throw exception if using a closed transport client {pull}18722[#18722] (issue: {issue}18708[#18708]) Dates:: * Fix invalid rounding value for TimeIntervalRounding close to DST transitions {pull}18800[#18800] * Fix problem with TimeIntervalRounding on DST end {pull}18780[#18780] Expressions:: * replace ScriptException with a better one {pull}18600[#18600] Ingest:: * Fix ignore_failure behavior in _simulate?verbose and more cleanup {pull}18987[#18987] Internal:: * Fix filtering of node ids for TransportNodesAction {pull}18634[#18634] (issue: {issue}18618[#18618]) Mapping:: * Better error message when mapping configures null {pull}18809[#18809] (issue: {issue}18803[#18803]) * Process dynamic templates in order. {pull}18638[#18638] (issues: {issue}18625[#18625], {issue}2401[#2401]) Packaging:: * Remove extra bin/ directory in bin folder {pull}18630[#18630] Plugin Lang Painless:: * Fix compound assignment with string concats {pull}18933[#18933] (issue: {issue}18929[#18929]) * Fix horrible capture {pull}18907[#18907] (issue: {issue}18899[#18899]) * Fix Casting Bug {pull}18871[#18871] Query DSL:: * Make parsing of bool queries stricter {pull}19052[#19052] (issue: {issue}19034[#19034]) REST:: * Get XContent params from request in Nodes rest actions {pull}18860[#18860] (issue: {issue}18794[#18794]) Reindex API:: * Fix a race condition in reindex's rethrottle {pull}18731[#18731] (issue: {issue}18744[#18744]) Search:: * Require timeout units when parsing query body {pull}19077[#19077] (issue: {issue}19075[#19075]) * Close SearchContext if query rewrite failed {pull}18727[#18727] Settings:: * Register "cloud.node.auto_attributes" setting in EC2 discovery plugin {pull}18678[#18678] Snapshot/Restore:: * Better handling of an empty shard's segments_N file {pull}18784[#18784] (issue: {issue}18707[#18707]) Stats:: * Fix sync flush total shards statistics {pull}18766[#18766] Translog:: * Fix translog replay multiple operations same doc {pull}18611[#18611] (issues: {issue}18547[#18547], {issue}18623[#18623]) [[upgrade-5.0.0-alpha4]] [float] === Upgrades Core:: * Upgrade to Lucene 6.1.0. {pull}18926[#18926] * Upgrade to lucene-6.1.0-snapshot-3a57bea. {pull}18786[#18786] * Upgrade to Lucene 6.0.1. {pull}18648[#18648] (issues: {issue}17535[#17535], {issue}28[#28]) Dates:: * Upgrade joda-time to 2.9.4 {pull}18609[#18609] (issues: {issue}14524[#14524], {issue}18017[#18017]) Packaging:: * Upgrade JNA to 4.2.2 and remove optionality {pull}19045[#19045] (issue: {issue}13245[#13245]) Plugin Discovery EC2:: * Update aws sdk to 1.10.69 and add use_throttle_retries repository setting {pull}17784[#17784] (issues: {issue}538[#538], {issue}586[#586], {issue}589[#589])