[[release-notes-5.0.0-alpha1-2x]] == 5.0.0-alpha1 Release Notes (Changes previously released in 2.x) The changes listed below were first released in the 2.x series. Changes released for the first time in Elasticsearch 5.0.0-alpha1 are listed in <>. [[breaking-5.0.0-alpha1-2x]] [float] === Breaking changes Allocation:: * Speed up shard balancer by reusing shard model while moving shards that can no longer be allocated to a node {pull}16926[#16926] Index APIs:: * Change Field stats API response to include both number and string based min and max values {pull}14674[#14674] (issue: {issue}14404[#14404]) * Add Force Merge API, deprecate Optimize API {pull}13778[#13778] Internal:: * Forbid changing thread pool types {pull}14367[#14367] (issues: {issue}14294[#14294], {issue}2509[#2509], {issue}2858[#2858], {issue}5152[#5152]) Logging:: * Log cluster health status changes {pull}14557[#14557] (issue: {issue}11657[#11657]) Mapping:: * Add per-index setting to limit number of nested fields {pull}15989[#15989] (issue: {issue}14983[#14983]) Nested Docs:: * If sorting by nested field then the `nested_path` should always be specified {pull}13429[#13429] (issue: {issue}13420[#13420]) Scripting:: * Filter classes loaded by scripts {pull}15262[#15262] * Lock down javascript and python script engines better {pull}13924[#13924] Search:: * Limit the size of the result window to a dynamic property {pull}13188[#13188] (issue: {issue}9311[#9311]) [[feature-5.0.0-alpha1-2x]] [float] === New features Aggregations:: * Adds geo_centroid metric aggregator {pull}13846[#13846] (issue: {issue}13621[#13621]) * Add `percentiles_bucket` pipeline aggregation {pull}13186[#13186] * Add `stats_bucket` / `extended_stats_bucket` pipeline aggs {pull}13128[#13128] Geo:: * Add CONTAINS relation to geo_shape query {pull}14810[#14810] (issue: {issue}14713[#14713]) * Add support for Lucene 5.4 GeoPoint queries {pull}14537[#14537] * Add GeoPointV2 Field Mapping {pull}14536[#14536] Network:: * Allow binding to multiple addresses. {pull}13954[#13954] (issue: {issue}13592[#13592]) Plugin Analysis Phonetic:: * Add support for `daitch_mokotoff` {pull}14834[#14834] Plugin Repository S3:: * Add support for S3 storage class {pull}13656[#13656] (issue: {issue}13655[#13655]) Plugins:: * Decentralize plugin security {pull}14108[#14108] Search:: * Add query profiler {pull}14889[#14889] (issues: {issue}12974[#12974], {issue}6699[#6699]) [[enhancement-5.0.0-alpha1-2x]] [float] === Enhancements Aliases:: * Add support to _aliases endpoint to specify multiple indices and aliases in one action {pull}15305[#15305] (issue: {issue}15186[#15186]) Allocation:: * Skip capturing least/most FS info for an FS with no total {pull}16001[#16001] (issue: {issue}15919[#15919]) * Speed improvements for BalancedShardsAllocator {pull}15678[#15678] (issue: {issue}6372[#6372]) * Simplify delayed shard allocation {pull}14808[#14808] * Add cluster-wide setting for total shard limit {pull}14563[#14563] (issue: {issue}14456[#14456]) * Early terminate high disk watermark checks on single data node cluster {pull}13882[#13882] (issue: {issue}9391[#9391]) * Also use PriorityComparator in shard balancer {pull}13256[#13256] (issue: {issue}13249[#13249]) * Add support for filtering by publish IP address {pull}8801[#8801] Analysis:: * Add detail response support for _analyze API {pull}11660[#11660] (issue: {issue}11076[#11076]) CAT API:: * Add sync_id to cat shards API {pull}14712[#14712] (issue: {issue}14705[#14705]) * Add duration field to /_cat/snapshots {pull}14385[#14385] * Add cat API for repositories and snapshots {pull}14247[#14247] (issue: {issue}13919[#13919]) * Adds disk used by indices to _cat/allocation {pull}13783[#13783] (issue: {issue}13529[#13529]) CRUD:: Cluster:: * Shard state action request logging {pull}16396[#16396] * Safe cluster state task notifications {pull}15777[#15777] * Reroute once per batch of shard failures {pull}15510[#15510] * Add callback for publication of new cluster state {pull}15494[#15494] (issue: {issue}15482[#15482]) * Use general cluster state batching mechanism for shard started {pull}15023[#15023] (issues: {issue}14725[#14725], {issue}14899[#14899]) * Use general cluster state batching mechanism for shard failures {pull}15016[#15016] (issues: {issue}14725[#14725], {issue}14899[#14899]) * Set an newly created IndexShard's ShardRouting before exposing it to operations {pull}14918[#14918] (issue: {issue}10708[#10708]) * Uniform exceptions for TransportMasterNodeAction {pull}14737[#14737] Core:: * Remove log4j exception hiding {pull}16834[#16834] * Avoid cloning MessageDigest instances {pull}16479[#16479] * Add a hard check to ensure we are running with the expected lucene version {pull}16305[#16305] (issue: {issue}16301[#16301]) * If we can't get a MAC address for the node, use a dummy one {pull}15266[#15266] (issue: {issue}10099[#10099]) * Simplify shard inactive logging {pull}15259[#15259] (issue: {issue}15252[#15252]) * Simplify IndexingMemoryController#checkIdle {pull}15252[#15252] (issue: {issue}15251[#15251]) * IndexingMemoryController should not track shard index states {pull}15251[#15251] (issues: {issue}13918[#13918], {issue}15225[#15225]) * Verify Checksum once it has been fully written to fail as soon as possible {pull}13896[#13896] Discovery:: * Don't allow nodes with missing custom meta data to join cluster {pull}15401[#15401] (issue: {issue}13445[#13445]) Exceptions:: * Added file name to exceptions when failing to read index state {pull}16850[#16850] (issue: {issue}16713[#16713]) * Add Exception class name to message in `NotSerializableExceptionWrapper` {pull}16325[#16325] * Deduplicate cause if already contained in shard failures {pull}14432[#14432] * Give a better exception when running from freebsd jail without enforce_statfs=1 {pull}14135[#14135] (issue: {issue}12018[#12018]) * Make root_cause of field conflicts more obvious {pull}13976[#13976] (issue: {issue}12839[#12839]) * Use a dedicated id to serialize EsExceptions instead of it's class name. {pull}13629[#13629] Fielddata:: * Update GeoPoint FieldData for GeoPointV2 {pull}14345[#14345] Geo:: * Upgrade GeoPointField to use Lucene 5.5 PrefixEncoding {pull}16482[#16482] * Geo: Fix toString() in GeoDistanceRangeQuery and GeoPolygonQuery {pull}15026[#15026] * Enable GeoPointV2 with backward compatibility testing {pull}14667[#14667] (issues: {issue}10761[#10761], {issue}11159[#11159], {issue}9859[#9859]) * Refactor Geo utilities to Lucene 5.4 {pull}14339[#14339] Index APIs:: * Add option to disable closing indices {pull}14169[#14169] (issue: {issue}14168[#14168]) Index Templates:: * Disallow index template pattern to be the same as an alias name {pull}15184[#15184] (issue: {issue}14842[#14842]) Internal:: * Cleanup search sub transport actions and collapse o.e.action.search.type package into o.e.action.search {pull}16758[#16758] (issue: {issue}11710[#11710]) * Simplify the Text API. {pull}15511[#15511] * Simpler using compressed oops flag representation {pull}15509[#15509] (issue: {issue}15489[#15489]) * Info on compressed ordinary object pointers {pull}15489[#15489] (issues: {issue}13187[#13187], {issue}455[#455]) * Explicitly log cluster state update failures {pull}15428[#15428] (issues: {issue}14899[#14899], {issue}15016[#15016], {issue}15023[#15023]) * Use transport service to handle RetryOnReplicaException to execute replica action on the current node {pull}15363[#15363] * Make IndexShard operation be more explicit about whether they are expected to run on a primary or replica {pull}15282[#15282] * Avoid trace logging allocations in TransportBroadcastByNodeAction {pull}15221[#15221] * Only trace log shard not available exceptions {pull}14950[#14950] (issue: {issue}14927[#14927]) * Transport options should be immutable {pull}14760[#14760] * Fix dangling comma in ClusterBlock#toString {pull}14483[#14483] * Improve some logging around master election and cluster state {pull}14481[#14481] * Add System#exit(), Runtime#exit() and Runtime#halt() to forbidden APIs {pull}14473[#14473] (issue: {issue}12596[#12596]) * Simplify XContent detection. {pull}14472[#14472] * Add threadgroup isolation. {pull}14353[#14353] * Cleanup plugin security {pull}14311[#14311] * Add workaround for JDK-8014008 {pull}14274[#14274] * Refactor retry logic for TransportMasterNodeAction {pull}14222[#14222] * Remove MetaDataSerivce and it's semaphores {pull}14159[#14159] (issue: {issue}1296[#1296]) * Cleanup IndexMetaData {pull}14119[#14119] * Add SpecialPermission to guard exceptions to security policy. {pull}13854[#13854] * Clean up scripting permissions. {pull}13844[#13844] * Factor groovy out of core into lang-groovy {pull}13834[#13834] (issue: {issue}13725[#13725]) * More helpful error message on parameter order {pull}13737[#13737] * Factor expressions scripts out to lang-expression plugin {pull}13726[#13726] (issue: {issue}13725[#13725]) * Cleanup InternalClusterInfoService {pull}13543[#13543] * Remove and forbid use of com.google.common.base.Throwables {pull}13409[#13409] (issue: {issue}13224[#13224]) * Remove cyclic dependencies between IndexService and FieldData / BitSet caches {pull}13381[#13381] * Remove and forbid use of com.google.common.base.Objects {pull}13355[#13355] (issue: {issue}13224[#13224]) * Enable indy (invokedynamic) compile flag for Groovy scripts by default {pull}8201[#8201] (issue: {issue}8184[#8184]) Java API:: * Align handling of interrupts in BulkProcessor {pull}15527[#15527] (issue: {issue}14833[#14833]) * BulkProcessor backs off exponentially by default {pull}15513[#15513] (issue: {issue}14829[#14829]) * Reject refresh usage in bulk items when using and fix NPE when no source {pull}15082[#15082] (issue: {issue}7361[#7361]) * BulkProcessor retries after request handling has been rejected due to a full thread pool {pull}14829[#14829] (issue: {issue}14620[#14620]) Logging:: * Log suppressed stack traces under DEBUG {pull}16627[#16627] (issues: {issue}12991[#12991], {issue}15329[#15329], {issue}16622[#16622]) * Add circuit breaker name to logging package {pull}14661[#14661] * Move logging for the amount of free disk to TRACE {pull}14403[#14403] (issue: {issue}12843[#12843]) * Map log-level 'trace' to JDK-Level 'FINEST' {pull}14234[#14234] Mapping:: * Expose the reason why a mapping merge is issued. {pull}16059[#16059] (issue: {issue}15989[#15989]) * Add sub-fields support to `bool` fields. {pull}15636[#15636] (issue: {issue}6587[#6587]) * Improve cross-type dynamic mapping updates. {pull}15633[#15633] (issue: {issue}15568[#15568]) * Make mapping updates more robust. {pull}15539[#15539] * Make mapping serialization more robust. {pull}15480[#15480] * Make mappings immutable. {pull}15313[#15313] (issue: {issue}9365[#9365]) * Make MappedFieldType.checkTypeName part of MappedFieldType.checkCompatibility. {pull}15245[#15245] * Register field mappers at the node level. {pull}14896[#14896] (issue: {issue}14828[#14828]) Network:: * Provide better error message when an incompatible node connects to a node {pull}17182[#17182] (issue: {issue}17090[#17090]) * Add additional fallback to http.publish_port and restrict fallback to transport.publish_port {pull}16626[#16626] (issue: {issue}14535[#14535]) * only allow code to bind to the user's configured port numbers/ranges {pull}14549[#14549] * Port of publishAddress should match port of corresponding boundAddress {pull}14535[#14535] (issues: {issue}14503[#14503], {issue}14513[#14513], {issue}14514[#14514]) Packaging:: * Windows service: Use JAVA_HOME environment variable in registry {pull}16552[#16552] (issue: {issue}13521[#13521]) * Default standard output to the journal in systemd {pull}16159[#16159] (issues: {issue}15315[#15315], {issue}16134[#16134]) * Use egrep instead of grep -E for Solaris {pull}15755[#15755] (issue: {issue}15628[#15628]) * punch thru symlinks when loading plugins/modules {pull}15311[#15311] * set ActiveProcessLimit=1 on windows {pull}15055[#15055] * set RLIMIT_NPROC = 0 on bsd/os X systems. {pull}15039[#15039] * Drop ability to execute on Solaris {pull}14200[#14200] * Nuke ES_CLASSPATH appending, JarHell fail on empty classpath elements {pull}13880[#13880] (issues: {issue}13812[#13812], {issue}13864[#13864]) * improve seccomp syscall filtering {pull}13829[#13829] * Block process execution with seccomp on linux/amd64 {pull}13753[#13753] * Get lang-javascript, lang-python, securemock ready for script refactoring {pull}13695[#13695] * Remove some bogus permissions only needed for tests. {pull}13620[#13620] * Remove java.lang.reflect.ReflectPermission "suppressAccessChecks" {pull}13603[#13603] * Remove JAVA_HOME detection from the debian init script {pull}13514[#13514] (issues: {issue}13403[#13403], {issue}9774[#9774]) Plugin Cloud GCE:: * cloud-gce plugin should check `discovery.type` {pull}13809[#13809] (issue: {issue}13614[#13614]) * Adding backoff from retries on GCE errors {pull}13671[#13671] (issue: {issue}13460[#13460]) Plugin Discovery EC2:: * Add ap-northeast-2 (seoul) endpoints for EC2 discovery and S3 snapshots {pull}16167[#16167] (issue: {issue}16166[#16166]) * Adding US-Gov-West {pull}14358[#14358] * Improved building of disco nodes {pull}14155[#14155] Plugin Ingest Attachment:: * Fix attachments plugins with docx {pull}17059[#17059] (issue: {issue}16864[#16864]) Plugin Repository Azure:: * Add support for secondary azure storage account {pull}13779[#13779] (issue: {issue}13228[#13228]) Plugin Repository S3:: * Add aws canned acl {pull}14297[#14297] (issue: {issue}14103[#14103]) * Enable S3SignerType {pull}13360[#13360] (issue: {issue}13332[#13332]) Plugins:: * Expose http.type setting, and collapse al(most all) modules relating to transport/http {pull}15434[#15434] (issue: {issue}14148[#14148]) * Ban RuntimePermission("getClassLoader") {pull}15253[#15253] * Add nicer error message when a plugin descriptor is missing {pull}15200[#15200] (issue: {issue}15197[#15197]) * Don't be lenient in PluginService#processModule(Module) {pull}14306[#14306] * Adds a validation for plugins script to check if java is set {pull}13633[#13633] (issue: {issue}13613[#13613]) * Output plugin info only in verbose mode {pull}12908[#12908] (issue: {issue}12907[#12907]) Query DSL:: * Allow CIDR notation in query string query {pull}14773[#14773] (issue: {issue}7464[#7464]) * Internal: simplify filtered query conversion to lucene query {pull}13312[#13312] (issue: {issue}13272[#13272]) REST:: * Make XContentGenerator.writeRaw* safer. {pull}15358[#15358] * Filter path refactoring {pull}14390[#14390] (issues: {issue}10980[#10980], {issue}11560[#11560], {issue}13344[#13344]) Recovery:: * Handle cancel exceptions on recovery target if the cancel comes from the source {pull}15309[#15309] * Decouple routing and primary operation logic in TransportReplicationAction {pull}14852[#14852] Reindex API:: * Implement helpful interfaces in reindex requests {pull}17032[#17032] * Reindex should timeout if sub-requests timeout {pull}16962[#16962] * Teach reindex to retry on rejection {pull}16556[#16556] (issue: {issue}16093[#16093]) Scripting:: * Remove suppressAccessChecks permission for Groovy script plugin {pull}16839[#16839] (issue: {issue}16527[#16527]) * Class permission for Groovy references {pull}16660[#16660] (issue: {issue}16657[#16657]) * Scripting: Allow to get size of array in mustache {pull}16193[#16193] * Enhancements to the mustache script engine {pull}15661[#15661] * Add property permissions so groovy scripts can serialize json {pull}14500[#14500] (issue: {issue}14488[#14488]) * Remove ScriptEngineService.unwrap. {pull}13958[#13958] * Remove ScriptEngineService.execute. {pull}13956[#13956] Search:: * Caching Weight wrappers should propagate the BulkScorer. {pull}14317[#14317] * fix numerical issue in function score query {pull}14085[#14085] * Optimize scrolls for constant-score queries. {pull}13311[#13311] Settings:: * Log warning if max file descriptors too low {pull}16506[#16506] Snapshot/Restore:: * Support wildcards for getting repositories and snapshots {pull}15151[#15151] (issue: {issue}4758[#4758]) * Add ignore_unavailable parameter to skip unavailable snapshot {pull}14471[#14471] (issue: {issue}13887[#13887]) * Simplify the BlobContainer blob writing interface {pull}13434[#13434] Stats:: * Pull Fields instance once from LeafReader in completion stats {pull}15090[#15090] (issue: {issue}6593[#6593]) * Add os.allocated_processors stats {pull}14409[#14409] (issue: {issue}13917[#13917]) * Adds stats counter for failed indexing requests {pull}13130[#13130] (issue: {issue}8938[#8938]) Top Hits:: * Put method addField on TopHitsBuilder {pull}14597[#14597] (issue: {issue}12962[#12962]) Translog:: * Check for tragic event on all kinds of exceptions not only ACE and IOException {pull}15535[#15535] Tribe Node:: * Tribe nodes should apply cluster state updates in batches {pull}14993[#14993] (issues: {issue}14725[#14725], {issue}14899[#14899]) [[bug-5.0.0-alpha1-2x]] [float] === Bug fixes Aggregations:: * Build empty extended stats aggregation if no docs collected for bucket {pull}16972[#16972] (issues: {issue}16812[#16812], {issue}9544[#9544]) * Set meta data for pipeline aggregations {pull}16516[#16516] (issue: {issue}16484[#16484]) * Filter(s) aggregation should create weights only once. {pull}15998[#15998] * Make `missing` on terms aggs work with all execution modes. {pull}15746[#15746] (issue: {issue}14882[#14882]) * Run pipeline aggregations for empty buckets added in the Range Aggregation {pull}15519[#15519] (issue: {issue}15471[#15471]) * [Children agg] fix bug that prevented all child docs from being evaluated {pull}15457[#15457] * Correct typo in class name of StatsAggregator {pull}15321[#15321] (issue: {issue}14730[#14730]) * Fix significant terms reduce for long terms {pull}14948[#14948] (issue: {issue}13522[#13522]) * Fix NPE in Derivative Pipeline when current bucket value is null {pull}14745[#14745] * Pass extended bounds into HistogramAggregator when creating an unmapped aggregator {pull}14742[#14742] (issue: {issue}14735[#14735]) * Added correct generic type parameter on ScriptedMetricBuilder {pull}14018[#14018] (issue: {issue}13986[#13986]) * Pipeline Aggregations at the root of the agg tree are now validated {pull}13475[#13475] (issue: {issue}13179[#13179]) Aliases:: * Fix _aliases filter and null parameters {pull}16553[#16553] (issues: {issue}16547[#16547], {issue}16549[#16549]) Allocation:: * IndicesStore checks for `allocated elsewhere` for every shard not alocated on the local node {pull}17106[#17106] * Prevent peer recovery from node with older version {pull}15775[#15775] * Fix calculation of next delay for delayed shard allocation {pull}14765[#14765] * Take ignored unallocated shards into account when making allocation decision {pull}14678[#14678] (issue: {issue}14670[#14670]) * Only allow rebalance operations to run if all shard store data is available {pull}14591[#14591] (issue: {issue}14387[#14387]) * Delayed allocation can miss a reroute {pull}14494[#14494] (issues: {issue}14010[#14010], {issue}14011[#14011], {issue}14445[#14445]) * Check rebalancing constraints when shards are moved from a node they can no longer remain on {pull}14259[#14259] (issue: {issue}14057[#14057]) Analysis:: * Analysis : Allow string explain param in JSON {pull}16977[#16977] (issue: {issue}16925[#16925]) * Analysis : Fix no response from Analyze API without specified index {pull}15447[#15447] (issue: {issue}15148[#15148]) Bulk:: * Bulk api: fail deletes when routing is required but not specified {pull}16675[#16675] (issues: {issue}10136[#10136], {issue}16645[#16645]) * Do not release unacquired semaphore {pull}14909[#14909] (issue: {issue}14908[#14908]) CAT API:: * Properly set indices and indicesOptions on subrequest made by /_cat/indices {pull}14360[#14360] CRUD:: * Throw exception if content type could not be determined in Update API {pull}15904[#15904] (issue: {issue}15822[#15822]) * Index name expressions should not be broken up {pull}13691[#13691] (issue: {issue}13665[#13665]) Cache:: * Handle closed readers in ShardCoreKeyMap {pull}16027[#16027] Cluster:: * Index deletes not applied when cluster UUID has changed {pull}16825[#16825] (issue: {issue}11665[#11665]) * Only fail the relocation target when a replication request on it fails {pull}15791[#15791] (issue: {issue}15790[#15790]) * Handle shards assigned to nodes that are not in the cluster state {pull}14586[#14586] (issue: {issue}14584[#14584]) * Bulk cluster state updates on index deletion {pull}11258[#11258] (issue: {issue}7295[#7295]) Core:: * BitSetFilterCache duplicates its content. {pull}15836[#15836] (issue: {issue}15820[#15820]) * Limit the max size of bulk and index thread pools to bounded number of processors {pull}15585[#15585] (issue: {issue}15582[#15582]) * AllTermQuery's scorer should skip segments that never saw the requested term {pull}15506[#15506] * Include root-cause exception when we fail to change shard's index buffer {pull}14867[#14867] * Restore thread interrupt flag after an InterruptedException {pull}14799[#14799] (issue: {issue}14798[#14798]) * Record all bytes of the checksum in VerifyingIndexOutput {pull}13923[#13923] (issues: {issue}13848[#13848], {issue}13896[#13896]) * When shard becomes active again, immediately increase its indexing buffer {pull}13918[#13918] (issue: {issue}13802[#13802]) * Close TokenStream in finally clause {pull}13870[#13870] (issue: {issue}11947[#11947]) * LoggingRunnable.run should catch and log all errors, not just Exception? {pull}13718[#13718] (issue: {issue}13487[#13487]) Exceptions:: * Fix ensureNodesAreAvailable's error message {pull}14007[#14007] (issue: {issue}13957[#13957]) Expressions:: * Check that _value is used in aggregations script before setting value to specialValue {pull}17091[#17091] (issue: {issue}14262[#14262]) Fielddata:: * Don't cache top level field data for fields that don't exist {pull}14693[#14693] Geo:: * Remove .geohash suffix from GeoDistanceQuery and GeoDistanceRangeQuery {pull}15871[#15871] (issue: {issue}15179[#15179]) * Geo: Allow numeric parameters enclosed in quotes for 'geohash_grid' aggregation {pull}14440[#14440] (issue: {issue}13132[#13132]) * Resync Geopoint hashCode/equals method {pull}14124[#14124] (issue: {issue}14083[#14083]) * Fix GeoPointFieldMapper to index geohash at correct precision. {pull}13649[#13649] (issue: {issue}12467[#12467]) Highlighting:: * Don't override originalQuery with request filters {pull}15793[#15793] (issue: {issue}15689[#15689]) * Fix spans extraction to not also include individual terms. {pull}15516[#15516] (issues: {issue}13239[#13239], {issue}15291[#15291]) Index APIs:: * Field stats: Index constraints should remove indices in the response if the field to evaluate is empty {pull}14868[#14868] * Field stats: Fix NPE for index constraint on empty index {pull}14841[#14841] * Field stats: Added `format` option for index constraints {pull}14823[#14823] (issue: {issue}14804[#14804]) * Forbid index name `.` and `..` {pull}13862[#13862] (issue: {issue}13858[#13858]) Inner Hits:: * Query and top level inner hit definitions shouldn't overwrite each other {pull}16222[#16222] (issue: {issue}16218[#16218]) Internal:: * Log uncaught exceptions from scheduled once tasks {pull}15824[#15824] (issue: {issue}15814[#15814]) * FunctionScoreQuery should implement two-phase iteration. {pull}15602[#15602] * Make sure the remaining delay of unassigned shard is updated with every reroute {pull}14890[#14890] (issue: {issue}14808[#14808]) * Throw a meaningful error when loading metadata and an alias and index have the same name {pull}14842[#14842] (issue: {issue}14706[#14706]) * fixup issues with 32-bit jvm {pull}14609[#14609] * Failure to update the cluster state with the recovered state should make sure it will be recovered later {pull}14485[#14485] * Gateway: a race condition can prevent the initial cluster state from being recovered {pull}13997[#13997] * Verify actually written checksum in VerifyingIndexOutput {pull}13848[#13848] * An inactive shard is activated by triggered synced flush {pull}13802[#13802] * Remove all setAccessible in tests and forbid {pull}13539[#13539] * Remove easy uses of setAccessible in tests. {pull}13537[#13537] * Ban setAccessible from core code, restore monitoring stats under java 9 {pull}13531[#13531] (issue: {issue}13527[#13527]) Logging:: * Add missing index name to indexing slow log {pull}17026[#17026] (issue: {issue}17025[#17025]) * ParseFieldMatcher should log when using deprecated settings. {pull}16988[#16988] * Don't log multi-megabyte guice exceptions. {pull}13782[#13782] * Moving system property setting to before it can be used {pull}13660[#13660] (issue: {issue}13658[#13658]) Mapping:: * Put mapping operations must update metadata of all types. {pull}16264[#16264] (issue: {issue}16239[#16239]) * Fix serialization of `search_analyzer`. {pull}16255[#16255] * Reuse metadata mappers for dynamic updates. {pull}16023[#16023] (issue: {issue}15997[#15997]) * Fix MapperService#searchFilter(...) {pull}15923[#15923] (issue: {issue}15757[#15757]) * Fix initial sizing of BytesStreamOutput. {pull}15864[#15864] (issue: {issue}15789[#15789]) * MetaDataMappingService should call MapperService.merge with the original mapping update. {pull}15508[#15508] * MapperService: check index.mapper.dynamic during index creation {pull}15424[#15424] (issue: {issue}15381[#15381]) * Only text fields should accept analyzer and term vector settings. {pull}15308[#15308] * Mapper parsers should not check for a `tokenized` property. {pull}15289[#15289] * Validate that fields are defined only once. {pull}15243[#15243] (issue: {issue}15057[#15057]) * Check mapping compatibility up-front. {pull}15175[#15175] (issue: {issue}15049[#15049]) * Don't treat _default_ as a regular type. {pull}15156[#15156] (issue: {issue}15049[#15049]) * Don't ignore mapping merge failures. {pull}15144[#15144] (issue: {issue}15049[#15049]) * Treat mappings at an index-level feature. {pull}15142[#15142] * Make _type use doc values {pull}14783[#14783] (issue: {issue}14781[#14781]) Network:: * Only accept transport requests after node is fully initialized {pull}16746[#16746] (issue: {issue}16723[#16723]) Packaging:: * Fix waiting for pidfile {pull}16718[#16718] (issue: {issue}16717[#16717]) * Fix Windows service installation failure {pull}15549[#15549] (issue: {issue}15349[#15349]) * Enable es_include at init {pull}15173[#15173] * Handle system policy correctly {pull}14704[#14704] (issue: {issue}14690[#14690]) * Startup script exit status should catch daemonized startup failures {pull}14170[#14170] (issue: {issue}14163[#14163]) * Don't let ubuntu try to install its crazy jayatana agent. {pull}13813[#13813] (issue: {issue}13785[#13785]) Parent/Child:: * Check that parent_type in Has Parent Query has child types {pull}16923[#16923] (issue: {issue}16692[#16692]) * Has child query forces default similarity {pull}16611[#16611] (issues: {issue}16550[#16550], {issue}4977[#4977]) Percolator:: * Don't replace found fields if map unmapped fields as string is enabled {pull}16043[#16043] (issue: {issue}10500[#10500]) * mpercolate api should serialise start time {pull}15938[#15938] (issue: {issue}15908[#15908]) Plugin Delete By Query:: * Fix Delete-by-Query with Shield {pull}14658[#14658] (issue: {issue}14527[#14527]) Plugin Discovery GCE:: * Add setFactory permission to GceDiscoveryPlugin {pull}16860[#16860] (issue: {issue}16485[#16485]) Plugin Mapper Attachment:: * Fix toXContent() for mapper attachments field {pull}15110[#15110] Plugin Repository Azure:: Plugin Repository S3:: * Hack around aws security hole of accessing sun.security.ssl, s3 repository works on java 9 again {pull}13538[#13538] (issue: {issue}432[#432]) Plugins:: * Fix plugin list command error message {pull}14288[#14288] (issue: {issue}14287[#14287]) * Fix HTML response during redirection {pull}11374[#11374] (issue: {issue}11370[#11370]) Query DSL:: * Fix FunctionScore equals/hashCode to include minScore and friends {pull}15676[#15676] * Min should match greater than the number of optional clauses should return no result {pull}15571[#15571] (issue: {issue}15521[#15521]) * Return a better exception message when `regexp` query is used on a numeric field {pull}14910[#14910] (issue: {issue}14782[#14782]) REST:: * Remove detect_noop from REST spec {pull}16386[#16386] * Make text parsing less lenient. {pull}15679[#15679] * Throw exception when trying to write map with null keys {pull}15479[#15479] (issue: {issue}14346[#14346]) * Fix OOM in AbstractXContentParser {pull}15350[#15350] (issue: {issue}15338[#15338]) * XContentFactory.xContentType: allow for possible UTF-8 BOM for JSON XContentType {pull}14611[#14611] (issue: {issue}14442[#14442]) * RestUtils.decodeQueryString ignores the URI fragment when parsing a query string {pull}13365[#13365] (issue: {issue}13320[#13320]) Recovery:: * Try to renew sync ID if `flush=true` on forceMerge {pull}17108[#17108] (issue: {issue}17019[#17019]) * CancellableThreads should also treat ThreadInterruptedException as InterruptedException {pull}15318[#15318] Reindex API:: * Properly register reindex status {pull}17125[#17125] * Make search failure cause rest failure {pull}16889[#16889] (issue: {issue}16037[#16037]) Scripting:: * Add permission to access sun.reflect.MethodAccessorImpl from Groovy scripts {pull}16540[#16540] (issue: {issue}16536[#16536]) * Security permissions for Groovy closures {pull}16196[#16196] (issues: {issue}16194[#16194], {issue}248[#248]) Search:: * Do not apply minimum_should_match on auto generated boolean query if the coordination factor is disabled. {pull}16155[#16155] * Do not apply minimum-should-match on a boolean query if the coords are disabled {pull}16078[#16078] (issue: {issue}15858[#15858]) * Fix blended terms take 2 {pull}15894[#15894] (issue: {issue}15860[#15860]) * Fix NPE when a segment with an empty cache gets closed. {pull}15202[#15202] (issue: {issue}15043[#15043]) * Fix the quotes in the explain message for a script score function without parameters {pull}11398[#11398] Settings:: * TransportClient should use updated setting for initialization of modules and service {pull}16095[#16095] * ByteSizeValue.equals should normalize units {pull}13784[#13784] Snapshot/Restore:: * Prevent closing index during snapshot restore {pull}16933[#16933] (issue: {issue}16321[#16321]) * Add node version check to shard allocation during restore {pull}16520[#16520] (issue: {issue}16519[#16519]) * Snapshot restore and index creates should keep index settings and cluster blocks in sync {pull}13931[#13931] (issue: {issue}13213[#13213]) * Fix blob size in writeBlob() method {pull}13574[#13574] (issue: {issue}13434[#13434]) Stats:: * Fix recovery translog stats totals when recovering from store {pull}16493[#16493] (issue: {issue}15974[#15974]) * Fix calculation of age of pending tasks {pull}15995[#15995] (issue: {issue}15988[#15988]) * Add extra validation into `cluster/stats` {pull}14699[#14699] (issue: {issue}7390[#7390]) * Omit current* stats for OldShardStats {pull}13801[#13801] (issue: {issue}13386[#13386]) Translog:: * Never delete translog-N.tlog file when creation fails {pull}15788[#15788] * Close recovered translog readers if createWriter fails {pull}15762[#15762] (issue: {issue}15754[#15754]) * Fail and close translog hard if writing to disk fails {pull}15420[#15420] (issue: {issue}15333[#15333]) * Prevent writing to closed channel if translog is already closed {pull}15012[#15012] (issue: {issue}14866[#14866]) * Don't delete temp recovered checkpoint file if it was renamed {pull}14872[#14872] (issue: {issue}14695[#14695]) * Translog recovery can repeatedly fail if we run out of disk {pull}14695[#14695] * Pending operations in the translog prevent shard from being marked as inactive {pull}13759[#13759] (issue: {issue}13707[#13707]) Tribe Node:: * Passthrough environment and network settings to tribe client nodes {pull}16893[#16893] * Tribe node: pass path.conf to inner tribe clients {pull}16258[#16258] (issue: {issue}16253[#16253]) * Fix tribe node to load config file for internal client nodes {pull}15300[#15300] (issues: {issue}13383[#13383], {issue}14573[#14573]) [[regression-5.0.0-alpha1-2x]] [float] === Regressions Analysis:: * Add PathHierarchy type back to path_hierarchy tokenizer for backward compatibility with 1.x {pull}15785[#15785] (issue: {issue}15756[#15756]) Internal:: * Deduplicate concrete indices after indices resolution {pull}14316[#14316] (issues: {issue}11258[#11258], {issue}12058[#12058]) Plugin Cloud Azure:: * Filter cloud azure credentials {pull}14863[#14863] (issues: {issue}13779[#13779], {issue}14843[#14843]) REST:: * Don't return all indices immediately if count of expressions >1 and first expression is * {pull}17033[#17033] (issue: {issue}17027[#17027]) [[upgrade-5.0.0-alpha1-2x]] [float] === Upgrades Core:: * Upgrade to Lucene 5.5.0 official release {pull}16742[#16742] * Upgrade to lucene 5.5.0-snapshot-850c6c2 {pull}16615[#16615] * Upgrade to lucene 5.5.0-snapshot-4de5f1d {pull}16400[#16400] (issues: {issue}16373[#16373], {issue}16399[#16399]) * Update lucene to r1725675 {pull}16114[#16114] * Upgrade to lucene-5.5.0-snapshot-1721183. {pull}15575[#15575] * Upgrade Lucene to 5.4.0-snapshot-1715952 {pull}14951[#14951] * Upgrade Lucene to 5.4.0-snapshot-1714615 {pull}14784[#14784] * Upgrade to lucene-5.4.0-snapshot-1712973. {pull}14619[#14619] * update to lucene-5.4.x-snapshot-1711508 {pull}14398[#14398] * Upgrade to lucene-5.4-snapshot-1710880. {pull}14320[#14320] * Upgrade to lucene-5.4-snapshot-1708254. {pull}14074[#14074] * upgrade lucene to r1702265 {pull}13439[#13439] * Upgrade master to lucene 5.4-snapshot r1701068 {pull}13324[#13324] Geo:: * Update to spatial4j 0.5 for correct Multi-Geometry {pull}14269[#14269] (issue: {issue}9904[#9904]) Internal:: * Update to Jackson 2.6.2 {pull}13344[#13344] (issues: {issue}10980[#10980], {issue}207[#207], {issue}213[#213]) Plugin Cloud AWS:: * Update AWS SDK version to 1.10.19 {pull}13655[#13655] (issue: {issue}13656[#13656]) Plugin Cloud Azure:: * Update Azure Service Management API to 0.9.0 {pull}15232[#15232] (issue: {issue}15209[#15209]) Plugin Discovery Azure:: * Upgrade azure SDK to 0.9.3 {pull}17102[#17102] (issues: {issue}17042[#17042], {issue}557[#557]) Plugin Lang JS:: * upgrade rhino for plugins/lang-javascript {pull}14466[#14466] Plugin Repository Azure:: * Upgrade Azure Storage client to 4.0.0 {pull}16084[#16084] (issues: {issue}12567[#12567], {issue}15080[#15080], {issue}15976[#15976]) Plugin Repository S3:: * Upgrade to aws 1.10.33 {pull}14672[#14672] Scripting:: * Upgrade groovy dependency in lang-groovy module to version 2.4.6 {pull}16830[#16830] (issue: {issue}16527[#16527])