[[release-notes-5.0.0-alpha3]] == 5.0.0-alpha3 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-alpha3 to any other version is not supported. [[breaking-5.0.0-alpha3]] [float] === Breaking changes Allocation:: * Move parsing of allocation commands into REST and remove support for plugins to register allocation commands {pull}17802[#17802] (issue: {issue}17894[#17894]) CAT API:: * Row-centric output for _cat/fielddata {pull}18068[#18068] (issue: {issue}10249[#10249]) Discovery:: * Introduce node handshake {pull}15971[#15971] (issue: {issue}9061[#9061]) Inner Hits:: * Drop top level inner hits in favour of inner hits defined in the query dsl {pull}17816[#17816] (issue: {issue}11118[#11118]) Internal:: * Actually bound the generic thread pool {pull}17017[#17017] Packaging:: * Require /bin/bash in packaging {pull}18259[#18259] (issue: {issue}18251[#18251]) * Remove plugin script parsing of system properties {pull}18207[#18207] (issue: {issue}18140[#18140]) Percolator:: * Move the percolator from core to its own module {pull}18511[#18511] * Remove percolator cache {pull}18434[#18434] Plugin Delete By Query:: * Remove Delete-By-Query plugin {pull}18516[#18516] (issue: {issue}18469[#18469]) Query DSL:: * Lessen leniency of the query dsl. {pull}18276[#18276] Scripting:: * Remove LeafSearchScript.runAsFloat(): Nothing calls it. {pull}18364[#18364] * Allow only a single extension for a scripting engine {pull}18332[#18332] (issue: {issue}10598[#10598]) * Remove 'sandbox' option for script settings, allow only registering a single language. {pull}18226[#18226] (issues: {issue}10598[#10598], {issue}17114[#17114]) Search:: * Refactor of query profile classes to make way for other profile implementations {pull}18370[#18370] (issue: {issue}10538[#10538]) Settings:: * Register `indices.query.bool.max_clause_count` setting {pull}18341[#18341] (issue: {issue}18336[#18336]) * Remove settings and system properties entanglement {pull}18198[#18198] (issue: {issue}18197[#18197]) [[feature-5.0.0-alpha3]] [float] === New features Ingest:: * Add a Sort ingest processor {pull}17999[#17999] * Add date_index_name processor {pull}17973[#17973] (issue: {issue}17814[#17814]) Reindex API:: * Port Delete By Query to Reindex infrastructure {pull}18329[#18329] (issue: {issue}16883[#16883]) Snapshot/Restore:: * Add Google Cloud Storage repository plugin {pull}13578[#13578] (issue: {issue}12880[#12880]) Stats:: * Extend field stats to report searchable/aggregatable fields {pull}17980[#17980] (issue: {issue}17750[#17750]) [[enhancement-5.0.0-alpha3]] [float] === Enhancements Aggregations:: * Rename AggregatorBuilder to AggregationBuilder {pull}18377[#18377] (issue: {issue}18367[#18367]) * Add the ability to use the breadth_first mode with nested aggregations (such as `top_hits`) which require access to score information. {pull}18127[#18127] (issue: {issue}9825[#9825]) * Make significant terms work on fields that are indexed with points. {pull}18031[#18031] Allocation:: * Limit retries of failed allocations per index {pull}18467[#18467] (issue: {issue}18417[#18417]) * Immutable ShardRouting {pull}17821[#17821] * Add the shard's store status to the explain API {pull}17689[#17689] (issue: {issue}17372[#17372]) Analysis:: * Core: better error message when analyzer created without tokenizer or… {pull}18455[#18455] (issue: {issue}15492[#15492]) * Move AsciiFolding earlier in FingerprintAnalyzer filter chain {pull}18281[#18281] (issue: {issue}18266[#18266]) CAT API:: * Add node name to Cat Recovery {pull}18187[#18187] (issue: {issue}8041[#8041]) * Add support for documented byte/size units and for micros as a time unit in _cat API {pull}17779[#17779] Core:: * Log OS and JVM on startup {pull}18557[#18557] * Add GC overhead logging {pull}18419[#18419] * Refactor JvmGcMonitorService for testing {pull}18378[#18378] * Default to server VM and add client VM check {pull}18155[#18155] * Add system bootstrap checks escape hatch {pull}18088[#18088] * Avoid sliced locked contention in internal engine {pull}18060[#18060] (issue: {issue}18053[#18053]) Dates:: * Support full range of Java Long for epoch DateTime {pull}18509[#18509] (issue: {issue}17936[#17936]) Discovery:: * Log warning if minimum_master_nodes set to less than quorum {pull}15625[#15625] Exceptions:: * Make the index-too-old exception more explicit {pull}18438[#18438] * Add index name in IndexAlreadyExistsException default message {pull}18274[#18274] Expressions:: * Support geo_point fields in lucene expressions {pull}18096[#18096] * Add support for .empty to expressions, and some docs improvements {pull}18077[#18077] Ingest:: * Expose underlying processor to blame for thrown exception within CompoundProcessor {pull}18342[#18342] (issue: {issue}17823[#17823]) * Avoid string concatentation in IngestDocument.FieldPath {pull}18108[#18108] * add ability to specify multiple grok patterns {pull}18074[#18074] (issue: {issue}17903[#17903]) * add ability to disable ability to override values of existing fields in set processor {pull}17902[#17902] (issue: {issue}17659[#17659]) Inner Hits:: * Change scriptFields member in InnerHitBuilder to set {pull}18092[#18092] (issue: {issue}5831[#5831]) Internal:: * Do not automatically close XContent objects/arrays {pull}18549[#18549] (issue: {issue}18433[#18433]) * Remove use of a Fields class in snapshot responses {pull}18497[#18497] * Removes multiple toXContent entry points for SnapshotInfo {pull}18494[#18494] * Removes unused methods in the o/e/common/Strings class {pull}18346[#18346] * Determine content length eagerly in HttpServer {pull}18203[#18203] * Consolidate query generation in QueryShardContext {pull}18129[#18129] * Make reset in QueryShardContext private {pull}18113[#18113] * Remove Strings#splitStringToArray {pull}18110[#18110] * Add toString() to GetResponse {pull}18102[#18102] * ConstructingObjectParser adapts ObjectParser for ctor args {pull}17596[#17596] (issue: {issue}17352[#17352]) Java API:: * Improve adding clauses to `span_near` and `span_or` query {pull}18485[#18485] (issue: {issue}18478[#18478]) * QueryBuilder does not need generics. {pull}18133[#18133] Mapping:: * Adds a methods to find (and dynamically create) the mappers for the parents of a field with dots in the field name {pull}18106[#18106] (issue: {issue}15951[#15951]) Network:: * Netty request/response tracer should wait for send {pull}18500[#18500] * Exclude specific transport actions from request size limit check {pull}17951[#17951] Packaging:: * Don't mkdir directly in deb init script {pull}18503[#18503] (issue: {issue}18307[#18307]) * Increase default heap size to 2g {pull}18311[#18311] (issues: {issue}16334[#16334], {issue}17686[#17686], {issue}18309[#18309]) * Switch init.d scripts to use bash {pull}18308[#18308] (issue: {issue}18259[#18259]) * Switch scripts to use bash {pull}18251[#18251] (issue: {issue}14002[#14002]) * Further simplifications of plugin script {pull}18239[#18239] (issue: {issue}18207[#18207]) * Pass ES_JAVA_OPTS to JVM for plugins script {pull}18140[#18140] (issue: {issue}16790[#16790]) Parent/Child:: * Allow adding additional child types that point to an existing parent type {pull}18446[#18446] (issue: {issue}17956[#17956]) Plugin Lang Painless:: * improve painless whitelist coverage of java api {pull}18533[#18533] * Definition cleanup {pull}18463[#18463] * Made def variable casting consistent with invokedynamic rules {pull}18425[#18425] * Use Java 9 Indy String Concats, if available {pull}18400[#18400] (issue: {issue}18398[#18398]) * Add method overloading based on arity {pull}18385[#18385] * Refactor WriterUtils to extend ASM GeneratorAdapter {pull}18382[#18382] * Whitelist expansion {pull}18372[#18372] * Remove boxing when loading and storing values in "def" fields/arrays, remove boxing onsimple method calls of "def" methods {pull}18359[#18359] * Some cleanups {pull}18352[#18352] * Use isAssignableFrom instead of relying on ClassCastException {pull}18350[#18350] * Build descriptor of array and field load/store in code {pull}18338[#18338] * Rename the dynamic call site factory to DefBootstrap {pull}18335[#18335] * Cleanup of DynamicCallSite {pull}18323[#18323] * Improve exception stacktraces {pull}18319[#18319] * Make Line Number Available in Painless {pull}18298[#18298] * Remove input, support params instead {pull}18287[#18287] * Decouple ANTLR AST from Painless {pull}18286[#18286] * _value support in painess? {pull}18284[#18284] * Long priority over Float {pull}18282[#18282] * _score as double, not float {pull}18277[#18277] * Add 'ctx' keyword to painless. {pull}18264[#18264] * Painless doc access {pull}18262[#18262] * Retrieve _score directly from Scorer {pull}18258[#18258] * Implement needsScore() correctly. {pull}18247[#18247] * Add synthetic length property as alias to Lists, so they can be used like arrays {pull}18241[#18241] * Use better typing for dynamic method calls {pull}18234[#18234] * Array load/store and length with invokedynamic {pull}18232[#18232] (issue: {issue}18201[#18201]) * Switch painless dynamic calls to invokedynamic, remove perf hack/cheat {pull}18201[#18201] * Add fielddata accessors (.value/.values/.distance()/etc) {pull}18169[#18169] * painless: optimize/simplify dynamic field and method access {pull}18151[#18151] * Painless: Single-Quoted Strings {pull}18150[#18150] Plugins:: * Add plugin information for Verbose mode {pull}18051[#18051] (issue: {issue}16375[#16375]) Query DSL:: * Enforce MatchQueryBuilder#maxExpansions() to be strictly positive {pull}18464[#18464] * Don't allow `fuzziness` for `multi_match` types `cross_fields`, `phrase` and `phrase_prefix` {pull}18322[#18322] (issues: {issue}6866[#6866], {issue}7764[#7764]) REST:: * CORS handling triggered whether User-Agent is a browser or not {pull}18283[#18283] * Add semicolon query string parameter delimiter {pull}18186[#18186] (issue: {issue}18175[#18175]) * Enable HTTP compression by default with compression level 3 {pull}18066[#18066] (issue: {issue}7309[#7309]) Reindex API:: * Make Reindex cancellation tests more uniform {pull}18498[#18498] * Makes DeleteByQueryRequest implements IndicesRequest {pull}18466[#18466] * Switch default batch size for reindex to 1000 {pull}18340[#18340] * Teach reindex to retry on search failures {pull}18331[#18331] (issue: {issue}18059[#18059]) * Remove ReindexResponse in favor of BulkIndexByScrollResponse {pull}18205[#18205] * Stricter validation of Reindex's requests_per_second {pull}18028[#18028] Search:: * Introduces GeoValidationMethod to GeoDistanceSortBuilder {pull}18036[#18036] * Switches from empty boolean query to matchNoDocs {pull}18007[#18007] (issue: {issue}17981[#17981]) * Allow binary sort values. {pull}17959[#17959] (issue: {issue}6077[#6077]) Search Refactoring:: * Removes the now obsolete SearchParseElement implementations {pull}18233[#18233] Snapshot/Restore:: * Change BlobPath.buildAsString() method {pull}18461[#18461] * Remove the Snapshot class in favor of using SnapshotInfo {pull}18167[#18167] (issue: {issue}18156[#18156]) Stats:: * Do not return fieldstats information for fields that exist in the mapping but not in the index. {pull}18212[#18212] (issue: {issue}17980[#17980]) * Add whether the shard state fetch is pending to the allocation explain API {pull}18119[#18119] (issue: {issue}17372[#17372]) * Add Failure Details to every NodesResponse {pull}17964[#17964] (issue: {issue}3740[#3740]) * Add I/O statistics on Linux {pull}15915[#15915] (issue: {issue}15296[#15296]) Translog:: * FSync translog outside of the writers global lock {pull}18360[#18360] [[bug-5.0.0-alpha3]] [float] === Bug fixes Aggregations:: * Fix TimeUnitRounding for hour, minute and second units {pull}18415[#18415] (issue: {issue}18326[#18326]) * Aggregations fix: support include/exclude strings for IP and dates {pull}18408[#18408] (issue: {issue}17705[#17705]) * Fix xcontent rendering of ip terms aggs. {pull}18003[#18003] * Improving parsing of sigma param for Extended Stats Bucket Aggregation {pull}17562[#17562] (issue: {issue}17499[#17499]) Analysis:: * Add `Character.MODIFIER_SYMBOL` to the list of symbol categories. {pull}18402[#18402] (issue: {issue}18388[#18388]) Bulk:: * Add not-null precondition check in BulkRequest {pull}18347[#18347] (issue: {issue}12038[#12038]) CAT API:: * Expand wildcards to closed indices in /_cat/indices {pull}18545[#18545] (issues: {issue}16419[#16419], {issue}17395[#17395]) Circuit Breakers:: * Free bytes reserved on request breaker {pull}18204[#18204] (issue: {issue}18144[#18144]) Cluster:: * Dangling indices are not imported if a tombstone for the index exists {pull}18250[#18250] (issue: {issue}18249[#18249]) * Fix issue with tombstones matching active indices in cluster state {pull}18058[#18058] (issue: {issue}18054[#18054]) Core:: * Fix concurrency bug in IMC that could cause it to check too infrequently {pull}18357[#18357] * Iterables.flatten should not pre-cache the first iterator {pull}18355[#18355] (issue: {issue}18353[#18353]) * Avoid race while retiring executors {pull}18333[#18333] * Don't try to compute completion stats on a reader after we already closed it {pull}18094[#18094] Highlighting:: * Skip all geo point queries in plain highlighter {pull}18495[#18495] (issue: {issue}17537[#17537]) * Exclude all but string fields from highlighting if wildcards are used… {pull}18183[#18183] (issue: {issue}17537[#17537]) Ingest:: * Pipeline Stats: Fix concurrent modification exception {pull}18177[#18177] (issue: {issue}18126[#18126]) * Validate properties values according to database type {pull}17940[#17940] (issue: {issue}17683[#17683]) Internal:: * Add XPointValues {pull}18011[#18011] (issue: {issue}18010[#18010]) Mapping:: * Make doc_values accessible for _type {pull}18220[#18220] * Fix and test handling of `null_value`. {pull}18090[#18090] (issue: {issue}18085[#18085]) * Fail automatic string upgrade if the value of `index` is not recognized. {pull}18082[#18082] (issue: {issue}18062[#18062]) Packaging:: * Filter client/server VM options from jvm.options {pull}18473[#18473] * Preserve config files from RPM install {pull}18188[#18188] (issue: {issue}18158[#18158]) * Fix typo in message for variable setup ES_MAX_MEM {pull}18168[#18168] * Don't run `mkdir` when $DATA_DIR contains a comma-separated list {pull}17419[#17419] (issue: {issue}16992[#16992]) Percolator:: * Add support for MatchNoDocsQuery in percolator's query terms extract service {pull}18492[#18492] Plugin Discovery EC2:: * Add TAG_SETTING to list of allowed tags for the ec2 discovery plugin. {pull}18257[#18257] Plugin Lang Painless:: * Remove Grammar Ambiguities {pull}18531[#18531] * Remove if/else ANTLR ambiguity. {pull}18428[#18428] * Fix insanely slow compilation {pull}18410[#18410] (issue: {issue}18398[#18398]) * Fix Bug in Painless Assignment {pull}18379[#18379] * Fix bracket shortcuts {pull}18263[#18263] Plugin Repository Azure:: * Fix azure files removal {pull}18451[#18451] (issues: {issue}16472[#16472], {issue}18436[#18436]) REST:: * Do not decode path when sending error {pull}18477[#18477] (issue: {issue}18476[#18476]) * CORS should permit same origin requests {pull}18278[#18278] (issue: {issue}18256[#18256]) Search:: * Fix _only_nodes preferences {pull}18483[#18483] (issues: {issue}12546[#12546], {issue}12700[#12700]) * Speed up named queries. {pull}18470[#18470] * Fix parsing single `rescore` element in SearchSourceBuilder {pull}18440[#18440] (issue: {issue}18439[#18439]) * Fail queries on not indexed fields. {pull}18014[#18014] Settings:: * Use object equality to compare versions in IndexSettings {pull}18103[#18103] * fix exists method for list settings when using numbered setting format {pull}17949[#17949] Snapshot/Restore:: * Fix race condition in snapshot initialization {pull}18426[#18426] (issue: {issue}18121[#18121]) * Handle indices=["_all"] when restoring a snapshot {pull}18025[#18025] Stats:: * Add missing builder.endObject() in FsInfo {pull}18443[#18443] (issues: {issue}15915[#15915], {issue}18433[#18433]) Translog:: * Snapshotting and sync could cause a dead lock TranslogWriter {pull}18481[#18481] (issues: {issue}1[#1], {issue}18360[#18360], {issue}2[#2])