[[release-notes-5.0.0-alpha5]] == 5.0.0-alpha5 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-alpha5 to any other version is not supported. [[breaking-5.0.0-alpha5]] [float] === Breaking changes CAT API:: * Improve cat thread pool API {pull}19721[#19721] (issue: {issue}19590[#19590]) Cluster:: * Persistent Node Ids {pull}19140[#19140] (issue: {issue}17811[#17811]) Core:: * Keep input time unit when parsing TimeValues {pull}19102[#19102] Exceptions:: * Die with dignity {pull}19272[#19272] (issue: {issue}19231[#19231]) Index APIs:: * Removes write consistency level across replication action APIs in favor of wait_for_active_shards {pull}19454[#19454] (issue: {issue}18985[#18985]) Scripting:: * Remove deprecated 1.x script and template syntax {pull}19387[#19387] (issue: {issue}13729[#13729]) Search:: * Rename `fields` to `stored_fields` and add `docvalue_fields` {pull}18992[#18992] (issue: {issue}18943[#18943]) Settings:: * Persistent Node Names {pull}19456[#19456] (issue: {issue}19140[#19140]) * Remove support for properties {pull}19398[#19398] (issues: {issue}19388[#19388], {issue}19391[#19391]) [[breaking-java-5.0.0-alpha5]] [float] === Breaking Java changes CRUD:: * Removing isCreated and isFound from the Java API {pull}19645[#19645] (issues: {issue}19566[#19566], {issue}19631[#19631]) Internal:: * Clean up BytesReference {pull}19196[#19196] Java API:: * Add a dedicated client/transport project for transport-client {pull}19435[#19435] (issue: {issue}19412[#19412]) Network:: * Factor out abstract TCPTransport* classes to reduce the netty footprint {pull}19096[#19096] Plugins:: * Migrate query registration from push to pull {pull}19376[#19376] * Add components getter as bridge between guice and new plugin init world {pull}19371[#19371] * Remove CustomNodeAttributes extension point {pull}19348[#19348] * Add RepositoryPlugin interface for registering snapshot repositories {pull}19324[#19324] * Simplified repository api for snapshot/restore {pull}19292[#19292] * Switch most search extensions from push to pull {pull}19238[#19238] * Move RestHandler registration to ActionModule and ActionPlugin {pull}19165[#19165] * Pull actions from plugins {pull}19108[#19108] * Switch analysis from push to pull {pull}19073[#19073] * Remove guice from Mapper plugins {pull}19018[#19018] Scripting:: * Remove o.e.script.Template class and move template query to lang-mustache module {pull}19425[#19425] (issue: {issue}16314[#16314]) Settings:: * Remove `node.mode` and `node.local` settings {pull}19428[#19428] Snapshot/Restore:: * Removes extra writeBlob method in BlobContainer {pull}19727[#19727] (issue: {issue}18528[#18528]) [[deprecation-5.0.0-alpha5]] [float] === Deprecations CRUD:: * Deprecate found and created in delete and index rest responses {pull}19633[#19633] Plugin Discovery Azure Classic:: * Deprecate discovery-azure and rename it to discovery-azure-classic {pull}19186[#19186] (issue: {issue}19144[#19144]) Templates:: * Deprecate template query {pull}19607[#19607] (issue: {issue}19390[#19390]) [[feature-5.0.0-alpha5]] [float] === New features Aggregations:: * Split regular histograms from date histograms. {pull}19551[#19551] (issues: {issue}4847[#4847], {issue}8082[#8082]) Circuit Breakers:: * Circuit break on aggregation bucket numbers with request breaker {pull}19394[#19394] (issue: {issue}14046[#14046]) Ingest:: * ingest-useragent plugin {pull}19074[#19074] Java REST Client:: * Introduce async performRequest method {pull}19400[#19400] Mapping:: * Add `scaled_float`. {pull}19264[#19264] (issues: {issue}15939[#15939], {issue}1941[#1941]) Plugin Repository S3:: * Add support for path_style_access {pull}15114[#15114] Reindex API:: * Reindex from remote {pull}18585[#18585] (issue: {issue}17447[#17447]) Translog:: * Add `elasticsearch-translog` CLI tool with `truncate` command {pull}19342[#19342] (issue: {issue}19123[#19123]) [[enhancement-5.0.0-alpha5]] [float] === Enhancements Aggregations:: * Make the heuristic to compute the default shard size less aggressive. {pull}19659[#19659] * Add _bucket_count option to buckets_path {pull}19571[#19571] (issue: {issue}19553[#19553]) * Remove AggregationStreams {pull}19507[#19507] * Migrate serial_diff aggregation to NamedWriteable {pull}19483[#19483] * Migrate most remaining pipeline aggregations to NamedWriteable {pull}19480[#19480] * Migrate moving_avg pipeline aggregation to NamedWriteable {pull}19420[#19420] * Migrate matrix_stats to NamedWriteable {pull}19418[#19418] * Migrate derivative pipeline aggregation to NamedWriteable {pull}19407[#19407] * Migrate top_hits, histogram, and ip_range aggregations to NamedWriteable {pull}19375[#19375] * Migrate nested, reverse_nested, and children aggregations to NamedWriteable {pull}19374[#19374] * Migrate geohash_grid and geo_bounds aggregations to NamedWriteable {pull}19372[#19372] * Clean up significant terms aggregation results {pull}19365[#19365] * Migrate range, date_range, and geo_distance aggregations to NamedWriteable {pull}19321[#19321] * Migrate terms aggregation to NamedWriteable {pull}19277[#19277] * Migrate sampler and missing aggregations to NamedWriteable {pull}19259[#19259] * Migrate global, filter, and filters aggregation to NamedWriteable {pull}19220[#19220] * Migrate the cardinality, scripted_metric, and geo_centroid aggregations to NamedWriteable {pull}19219[#19219] * Use a static default precision for the cardinality aggregation. {pull}19215[#19215] * Migrate more aggregations to NamedWriteable {pull}19199[#19199] * Migrate stats and extended stats to NamedWriteable {pull}19198[#19198] * Migrate sum, min, and max aggregations over to NamedWriteable {pull}19194[#19194] * Start migration away from aggregation streams {pull}19097[#19097] Analysis:: * Specify custom char_filters/tokenizer/token_filters in the analyze API {pull}15671[#15671] (issue: {issue}8878[#8878]) CAT API:: * Includes the index UUID in the _cat/indices API {pull}19204[#19204] (issue: {issue}19132[#19132]) CRUD:: * #19664 Renaming operation to result and reworking responses {pull}19704[#19704] (issue: {issue}19664[#19664]) * Adding _operation field to index, update, delete response. {pull}19566[#19566] (issues: {issue}19267[#19267], {issue}9642[#9642], {issue}9736[#9736]) Cache:: * Enable option to use request cache for size > 0 {pull}19472[#19472] Cluster:: * Batch process node left and node failure {pull}19289[#19289] (issue: {issue}19282[#19282]) * Index creation waits for write consistency shards {pull}18985[#18985] * Inline reroute with process of node join/master election {pull}18938[#18938] (issue: {issue}17270[#17270]) Core:: * Makes index creation more friendly {pull}19450[#19450] (issue: {issue}9126[#9126]) * Clearer error when handling fractional time values {pull}19158[#19158] (issue: {issue}19102[#19102]) Discovery:: * Do not log cluster service errors at after joining a master {pull}19705[#19705] Exceptions:: * Make NotMasterException a first class citizen {pull}19385[#19385] * Do not catch throwable {pull}19231[#19231] Geo:: * GeoBoundingBoxQueryBuilder should throw IAE when topLeft and bottomRight are the same coordinate {pull}18668[#18668] (issues: {issue}18458[#18458], {issue}18631[#18631]) Ingest:: * Add REST _ingest/pipeline to get all pipelines {pull}19603[#19603] (issue: {issue}19585[#19585]) * Show ignored errors in verbose simulate result {pull}19404[#19404] (issue: {issue}19319[#19319]) * update foreach processor to only support one applied processor. {pull}19402[#19402] (issue: {issue}19345[#19345]) * Skip the execution of an empty pipeline {pull}19200[#19200] (issue: {issue}19192[#19192]) Internal:: * Make Priority an enum {pull}19448[#19448] * Snapshot UUIDs in blob names {pull}19421[#19421] (issues: {issue}18156[#18156], {issue}18815[#18815], {issue}19002[#19002], {issue}7540[#7540]) * Add RestController method for deprecating in one step {pull}19343[#19343] * Tighten ensure atomic move cleanup {pull}19309[#19309] (issue: {issue}19036[#19036]) * Enable checkstyle ModifierOrder {pull}19214[#19214] * Expose task information from NodeClient {pull}19189[#19189] * Changed rest handler interface to take NodeClient {pull}19170[#19170] * Deprecate ExceptionsHelper.detailedMessage {pull}19160[#19160] (issue: {issue}19069[#19069]) * Factor out ChannelBuffer from BytesReference {pull}19129[#19129] * Cleanup Compressor interface {pull}19125[#19125] * Require executor name when calling scheduleWithFixedDelay {pull}17538[#17538] Java API:: * Start from a random node number so that clients do not overload the first node configured {pull}14143[#14143] Java REST Client:: * Add response body to ResponseException error message {pull}19653[#19653] (issue: {issue}19653[#19653]) * Simplify Sniffer initialization and automatically create the default HostsSniffer {pull}19599[#19599] * Remove duplicate dependency declaration for http client {pull}19580[#19580] (issue: {issue}19281[#19281]) * Add callback to customize http client settings {pull}19373[#19373] * Rest Client: add short performRequest method variants without params and/or body {pull}19340[#19340] (issue: {issue}19312[#19312]) Logging:: * Add log message about enforcing bootstrap checks {pull}19451[#19451] * Improve logging for batched cluster state updates {pull}19255[#19255] * Send HTTP Warning Header(s) for any Deprecation Usage from a REST request {pull}17804[#17804] (issue: {issue}17687[#17687]) Mapping:: * Elasticsearch should reject dynamic templates with unknown `match_mapping_type`. {pull}17285[#17285] (issue: {issue}16945[#16945]) Network:: * Explicitly tell Netty to not use unsafe {pull}19786[#19786] (issues: {issue}19562[#19562], {issue}5624[#5624]) * Enable Netty 4 extensions {pull}19767[#19767] (issue: {issue}19526[#19526]) * Modularize netty {pull}19392[#19392] * Simplify TcpTransport interface by reducing send code to a single send method {pull}19223[#19223] Percolator:: * Also support query term extract for queries wrapped inside a FunctionScoreQuery {pull}19184[#19184] * Add support for synonym query to percolator query term extraction {pull}19066[#19066] Plugin Discovery EC2:: * Use `DefaultAWSCredentialsProviderChain` AWS SDK class for credentials {pull}19561[#19561] (issue: {issue}19556[#19556]) * Support new Asia Pacific (Mumbai) ap-south-1 AWS region {pull}19112[#19112] (issue: {issue}19110[#19110]) Plugin Discovery GCE:: * Allow `_gce_` network when not using discovery gce {pull}15765[#15765] (issue: {issue}15724[#15724]) Plugin Lang Painless:: * Change Painless Tree Structure for Variable/Method Chains {pull}19459[#19459] * Add replaceAll and replaceFirst {pull}19070[#19070] Plugin Mapper Size:: * Add doc values support to the _size field in the mapper-size plugin {pull}19217[#19217] (issue: {issue}18334[#18334]) Plugins:: * Add ScriptService to dependencies available for plugin components {pull}19770[#19770] * Log one plugin info per line {pull}19441[#19441] * Make rest headers registration pull based {pull}19440[#19440] * Add resource watcher to services available for plugin components {pull}19401[#19401] * Add some basic services to createComponents for plugins {pull}19380[#19380] * Make plugins closeable {pull}19137[#19137] * Plugins: Add status bar on download {pull}18695[#18695] Query DSL:: * Allow empty json object in request body in `_count` API {pull}19595[#19595] (issue: {issue}19422[#19422]) REST:: * Add Location header to the index, update, and create APIs {pull}19509[#19509] (issue: {issue}19079[#19079]) * Add support for `wait_for_events` to the `_cluster/health` REST endpoint {pull}19432[#19432] (issue: {issue}19419[#19419]) * Rename Search Template REST spec names {pull}19178[#19178] Recovery:: * Non-blocking primary relocation hand-off {pull}19013[#19013] (issues: {issue}15900[#15900], {issue}18553[#18553]) Reindex API:: * Only ask for `_version` we need it {pull}19693[#19693] (issue: {issue}19135[#19135]) * Use fewer threads when reindexing-from-remote {pull}19636[#19636] * Support authentication with reindex-from-remote {pull}19310[#19310] * Support requests_per_second=-1 to mean no throttling in reindex {pull}19101[#19101] (issue: {issue}19089[#19089]) Scripting:: * Remove ClusterState from compile api {pull}19136[#19136] * Mustache: Render Map as JSON {pull}18856[#18856] (issue: {issue}18970[#18970]) Search:: * Limit batch size when scrolling {pull}19367[#19367] (issue: {issue}19249[#19249]) * Record method counts while profiling query components {pull}18302[#18302] Settings:: * Validates new dynamic settings from the current state {pull}19122[#19122] (issue: {issue}19046[#19046]) Snapshot/Restore:: * BlobContainer#writeBlob no longer can overwrite a blob {pull}19749[#19749] (issue: {issue}15579[#15579]) * More resilient blob handling in snapshot repositories {pull}19706[#19706] (issues: {issue}18156[#18156], {issue}18815[#18815], {issue}19421[#19421], {issue}7540[#7540]) * Adding repository index generational files {pull}19002[#19002] (issue: {issue}18156[#18156]) * Raised IOException on deleteBlob {pull}18815[#18815] (issue: {issue}18530[#18530]) Stats:: * Add missing field type in the FieldStats response. {pull}19241[#19241] (issue: {issue}17750[#17750]) * Expose the ClusterInfo object in the allocation explain output {pull}19106[#19106] (issue: {issue}14405[#14405]) [[bug-5.0.0-alpha5]] [float] === Bug fixes Aggregations:: * Undeprecates `aggs` in the search request {pull}19674[#19674] (issue: {issue}19504[#19504]) * Change how `nested` and `reverse_nested` aggs know about their nested depth level {pull}19550[#19550] (issues: {issue}11749[#11749], {issue}12410[#12410]) * Make ExtendedBounds immutable {pull}19490[#19490] (issue: {issue}19481[#19481]) * Fix potential AssertionError with include/exclude on terms aggregations. {pull}19252[#19252] (issue: {issue}18575[#18575]) * Pass resolved extended bounds to unmapped histogram aggregator {pull}19085[#19085] (issue: {issue}19009[#19009]) * Fix "key_as_string" for date histogram and epoch_millis/epoch_second format with time zone {pull}19043[#19043] (issue: {issue}19038[#19038]) Allocation:: * Fix NPE when initializing replica shard has no UnassignedInfo {pull}19491[#19491] (issue: {issue}19488[#19488]) * Make shard store fetch less dependent on the current cluster state, both on master and non data nodes {pull}19044[#19044] (issue: {issue}18938[#18938]) Analysis:: * Fix analyzer alias processing {pull}19506[#19506] (issue: {issue}19163[#19163]) CAT API:: * Fixes cat tasks operation in detailed mode {pull}19759[#19759] (issue: {issue}19755[#19755]) * Add index pattern wildcards support to _cat/shards {pull}19655[#19655] (issue: {issue}19634[#19634]) Cluster:: * Allow routing table to be filtered by index pattern {pull}19688[#19688] * Use executor's describeTasks method to log task information in cluster service {pull}19531[#19531] Core:: * Makes `m` case sensitive in TimeValue {pull}19649[#19649] (issue: {issue}19619[#19619]) * Guard against negative result from FileStore.getUsableSpace when picking data path for a new shard {pull}19554[#19554] * Handle rejected execution exception on reschedule {pull}19505[#19505] Dates:: * Make sure TimeIntervalRounding is monotonic for increasing dates {pull}19020[#19020] Geo:: * Incomplete results when using geo_distance for large distances {pull}17578[#17578] Highlighting:: * Plain highlighter should ignore parent/child queries {pull}19616[#19616] (issue: {issue}14999[#14999]) * Let fast vector highlighter also extract terms from the nested query's inner query. {pull}19337[#19337] (issue: {issue}19265[#19265]) Index APIs:: * Fixes active shard count check in the case of `all` shards {pull}19760[#19760] * Add zero-padding to auto-generated rollover index name increment {pull}19610[#19610] (issue: {issue}19484[#19484]) Ingest:: * Fix NPE when simulating a pipeline with no id {pull}19650[#19650] * Change foreach processor to use ingest metadata for array element {pull}19609[#19609] (issue: {issue}19592[#19592]) * No other processors should be executed after on_failure is called {pull}19545[#19545] * rethrow script compilation exceptions into ingest configuration exceptions {pull}19318[#19318] * Rename from `ingest-useragent` plugin to `ingest-user-agent` and its processor from `useragent` to `user_agent` {pull}19261[#19261] Inner Hits:: * Ensure that that InnerHitBuilder uses rewritten queries {pull}19360[#19360] (issue: {issue}19353[#19353]) Internal:: * Priority values should be unmodifiable {pull}19447[#19447] * Extract AbstractBytesReferenceTestCase {pull}19141[#19141] Java REST Client:: * Rest Client: add slash to log line when missing between host and uri {pull}19325[#19325] (issue: {issue}19314[#19314]) * Rest Client: HostsSniffer to set http as default scheme {pull}19306[#19306] Logging:: * Only log running out of slots when out of slots {pull}19637[#19637] Mapping:: * Mappings: Fix detection of metadata fields in documents {pull}19765[#19765] * Fix not_analyzed string fields to error when position_increment_gap is set {pull}19510[#19510] * Automatically created indices should honor `index.mapper.dynamic`. {pull}19478[#19478] (issue: {issue}17592[#17592]) Network:: * Verify lower level transport exceptions don't bubble up on disconnects {pull}19518[#19518] (issue: {issue}19096[#19096]) Packaging:: * Disable service in pre-uninstall {pull}19328[#19328] Parent/Child:: * Make sure that no `_parent#null` gets introduces as default _parent mapping {pull}19470[#19470] (issue: {issue}19389[#19389]) Plugin Discovery Azure Classic:: * Make discovery-azure plugin work again {pull}19062[#19062] (issues: {issue}15630[#15630], {issue}18637[#18637]) Plugin Discovery EC2:: * Fix EC2 discovery settings {pull}18690[#18690] (issues: {issue}18652[#18652], {issue}18662[#18662]) Plugin Discovery GCE:: * Fix NPE when GCE region is empty {pull}19176[#19176] (issue: {issue}16967[#16967]) Plugin Repository Azure:: * Register group setting for repository-azure accounts {pull}19086[#19086] Plugin Repository S3:: * Add missing permission to repository-s3 {pull}19128[#19128] (issues: {issue}18539[#18539], {issue}19121[#19121]) * Fix repository S3 Settings and add more tests {pull}18703[#18703] (issues: {issue}18662[#18662], {issue}18690[#18690]) Query DSL:: * Throw ParsingException if a query is wrapped in an array {pull}19750[#19750] (issue: {issue}12887[#12887]) * Restore parameter name auto_generate_phrase_queries {pull}19514[#19514] (issue: {issue}19512[#19512]) REST:: * Fixes CORS handling so that it uses the defaults {pull}19522[#19522] (issue: {issue}19520[#19520]) Recovery:: * Move `reset recovery` into RecoveriesCollection {pull}19466[#19466] (issue: {issue}19473[#19473]) * Fix replica-primary inconsistencies when indexing during primary relocation with ongoing replica recoveries {pull}19287[#19287] (issue: {issue}19248[#19248]) Search:: * Don't recursively count children profile timings {pull}19397[#19397] (issue: {issue}18693[#18693]) * fix explain in function_score if no function filter matches {pull}19185[#19185] * Fix NPEs due to disabled source {pull}18957[#18957] Settings:: * Validate settings against dynamic updaters on the master {pull}19088[#19088] (issue: {issue}19046[#19046]) Stats:: * Fix serialization bug in allocation explain API. {pull}19494[#19494] * Allocation explain: Also serialize `includeDiskInfo` field {pull}19492[#19492] Store:: * Tighten up concurrent store metadata listing and engine writes {pull}19684[#19684] (issue: {issue}19416[#19416]) * Make static Store access shard lock aware {pull}19416[#19416] (issue: {issue}18938[#18938]) * Catch assertion errors on commit and turn it into a real exception {pull}19357[#19357] (issue: {issue}19356[#19356]) [[upgrade-5.0.0-alpha5]] [float] === Upgrades Network:: * Dependencies: Upgrade to netty 4.1.4 {pull}19689[#19689] * Introduce Netty 4 {pull}19526[#19526] (issue: {issue}3226[#3226]) * Upgrade to netty 3.10.6.Final {pull}19235[#19235]