Browse Source

Docs: Added 5.0.0-alpha1 release notes

Clinton Gormley 9 years ago
parent
commit
e07b6a2641

+ 7 - 1
docs/reference/release-notes.asciidoc

@@ -3,5 +3,11 @@
 
 [partintro]
 --
-This section will summarize the changes in released versions.
+This section summarizes the changes in each release.
+
+* <<release-notes-5.0.0-alpha1>>
+* <<release-notes-5.0.0-alpha1-2x>>
+
 --
+include::release-notes/5.0.0-alpha1.asciidoc[]
+include::release-notes/5.0.0-alpha1-2x.asciidoc[]

+ 600 - 0
docs/reference/release-notes/5.0.0-alpha1-2x.asciidoc

@@ -0,0 +1,600 @@
+[[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
+<<release-notes-5.0.0-alpha1>>.
+
+
+
+[[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])
+
+
+

+ 688 - 0
docs/reference/release-notes/5.0.0-alpha1.asciidoc

@@ -0,0 +1,688 @@
+[[release-notes-5.0.0-alpha1]]
+== 5.0.0-alpha1 Release Notes
+
+The changes listed below have been released for the first time in
+Elasticsearch 5.0.0-alpha1.  Changes in this release which were first released
+in the 2.x series are listed in <<release-notes-5.0.0-alpha1-2x>>.
+
+[[breaking-5.0.0-alpha1]]
+[float]
+=== Breaking changes
+
+Aggregations::
+* getKeyAsString and key_as_string should be the same for terms aggregation on boolean field {pull}15393[#15393]
+
+Aliases::
+* make get alias expand to open and closed indices by default {pull}15954[#15954] (issue: {issue}14982[#14982])
+
+Allocation::
+* Simplify shard balancer interface {pull}17028[#17028] (issue: {issue}8954[#8954])
+* Remove DisableAllocationDecider {pull}13313[#13313]
+
+CAT API::
+* Add raw recovery progress to cat recovery API {pull}17064[#17064] (issue: {issue}17022[#17022])
+* Remove host from cat nodes API {pull}16656[#16656] (issues: {issue}12959[#12959], {issue}16575[#16575])
+* Using the accept header in the request instead of content-type in _cat API. {pull}14421[#14421] (issue: {issue}14195[#14195])
+
+CRUD::
+* Remove object notation for core types. {pull}15684[#15684] (issue: {issue}15388[#15388])
+
+Cache::
+* Refactor IndicesRequestCache to make it testable. {pull}16610[#16610]
+* Remove deprecated query cache settings {pull}15592[#15592]
+
+Core::
+* Bootstrap does not set system properties {pull}17088[#17088] (issues: {issue}16579[#16579], {issue}16791[#16791])
+* Add max number of processes check {pull}16919[#16919]
+* Add mlockall bootstrap check {pull}16909[#16909]
+* Remove es.useLinkedTransferQueue {pull}16786[#16786]
+* One log {pull}16703[#16703] (issue: {issue}16585[#16585])
+
+Engine::
+* Remove `index.compound_on_flush` setting and default to `true` {pull}15594[#15594] (issue: {issue}10778[#10778])
+
+Fielddata::
+* Remove "uninverted" and "binary" fielddata support for numeric and boolean fields. {pull}14082[#14082]
+
+Index APIs::
+* Remove `GET` option for /_forcemerge {pull}15223[#15223] (issue: {issue}15165[#15165])
+* Remove /_optimize REST API endpoint {pull}14226[#14226] (issue: {issue}13778[#13778])
+
+Internal::
+* Cli: Switch to jopt-simple {pull}17024[#17024] (issue: {issue}11564[#11564])
+* Replace ContextAndHeaders with a ThreadPool based ThreadLocal implementation {pull}15776[#15776]
+* Remove NodeBuilder {pull}15354[#15354]
+* Fix IndexSearcherWrapper interface to not depend on the EngineConfig {pull}14654[#14654]
+* Cleanup query parsing and remove IndexQueryParserService {pull}14452[#14452]
+* Fold IndexCacheModule into IndexModule {pull}14293[#14293]
+* Remove circular dependency between IndicesService and IndicesStore {pull}14285[#14285]
+* Remove guice injection from IndexStore and friends {pull}14279[#14279]
+* Simplify similarity module and friends {pull}13942[#13942]
+* Remove shard-level injector {pull}13881[#13881]
+* Refactor SearchRequest to be parsed on the coordinating node {pull}13859[#13859]
+* Remove support for pre 2.0 indices {pull}13799[#13799]
+
+Java API::
+* Remove the count api {pull}14166[#14166] (issue: {issue}13928[#13928])
+* IdsQueryBuilder to accept only non null ids and types {pull}13937[#13937]
+
+Mapping::
+* Change the field mapping index time boost into a query time boost. {pull}16900[#16900]
+* Deprecate string in favor of text/keyword. {pull}16877[#16877]
+* [Mapping] Several MappingService cleanups {pull}16133[#16133] (issue: {issue}15924[#15924])
+* [Mapping] Cleanup ParentFieldMapper: {pull}16045[#16045]
+* Remove the `format` option of the `_source` field. {pull}15398[#15398]
+* Remove transform {pull}13657[#13657] (issue: {issue}12674[#12674])
+
+Network::
+* Remove ability to disable Netty gathering writes {pull}16774[#16774] (issue: {issue}7811[#7811])
+
+Parent/Child::
+* Removed `total` score mode in favour for `sum` score mode. {pull}17174[#17174] (issues: {issue}13470[#13470], {issue}17083[#17083])
+* Several other parent/child cleanups {pull}13470[#13470]
+* Removed pre 2.x parent child implementation {pull}13376[#13376]
+
+Percolator::
+* Change the percolate api to not dynamically add fields to mapping {pull}16077[#16077] (issue: {issue}15751[#15751])
+
+Plugins::
+* Rename bin/plugin in bin/elasticsearch-plugin {pull}16454[#16454]
+* Change the inner structure of the plugins zip {pull}16453[#16453]
+* Remove multicast plugin {pull}16326[#16326] (issue: {issue}16310[#16310])
+* Plugins: Remove site plugins {pull}16038[#16038]
+* Don't use guice for QueryParsers {pull}15761[#15761]
+* Remove guice from the index level {pull}14518[#14518]
+* Simplify Analysis registration and configuration {pull}14355[#14355]
+* Replace IndicesLifecycle with a per-index IndexEventListener {pull}14217[#14217] (issue: {issue}13259[#13259])
+
+Query DSL::
+* Remove the MissingQueryBuilder which was deprecated in 2.2.0. {pull}15364[#15364] (issue: {issue}14112[#14112])
+* Remove NotQueryBuilder {pull}14204[#14204] (issue: {issue}13761[#13761])
+* Function score query: remove deprecated support for boost_factor {pull}13510[#13510]
+* Remove support for deprecated queries. {pull}13418[#13418] (issue: {issue}13326[#13326])
+
+REST::
+* Limit the accepted length of the _id {pull}16036[#16036] (issue: {issue}16034[#16034])
+
+Scripting::
+* Script settings {pull}16197[#16197]
+
+Search::
+* Remove some deprecations {pull}14331[#14331]
+* Remove search exists api {pull}13911[#13911] (issues: {issue}13682[#13682], {issue}13910[#13910])
+* Query refactoring: split parse phase into fromXContent and toQuery for all queries {pull}13788[#13788] (issue: {issue}10217[#10217])
+* Remove the scan and count search types. {pull}13310[#13310]
+
+Search Refactoring::
+* Remove deprecated parameter from field sort builder. {pull}16573[#16573] (issue: {issue}16127[#16127])
+* Remove support for query_binary and filter_binary {pull}14433[#14433] (issue: {issue}14308[#14308])
+* Validate query api: move query parsing to the coordinating node {pull}14384[#14384]
+* Remove "query" query and fix related parsing bugs {pull}14304[#14304] (issue: {issue}13326[#13326])
+
+Settings::
+* Prevent index level setting from being configured on a node level {pull}17144[#17144] (issue: {issue}16799[#16799])
+* Remove es.max-open-files flag {pull}16757[#16757] (issues: {issue}16506[#16506], {issue}483[#483])
+* Enforce node level limits if node is started in production env {pull}16733[#16733] (issue: {issue}16727[#16727])
+* Move remaining settings in NettyHttpServerTransport to the new infra {pull}16531[#16531]
+* Make settings validation strict {pull}16365[#16365]
+* Remove the ability to fsync on every operation and only schedule fsync task if really needed {pull}16257[#16257] (issue: {issue}16152[#16152])
+* Remove index.flush_on_close entirely {pull}15977[#15977]
+* Restore chunksize of 512kb on recovery and remove configurability {pull}15235[#15235] (issue: {issue}15161[#15161])
+* Remove ancient deprecated and alternative recovery settings {pull}15234[#15234]
+* Replace IndexSettings annotation with a full-fledged class {pull}14251[#14251]
+* Fix ping timeout settings inconsistencies {pull}13701[#13701] (issue: {issue}6579[#6579])
+
+Similarities::
+* Renames `default` similarity into `classic` {pull}15446[#15446] (issue: {issue}15102[#15102])
+
+Snapshot/Restore::
+* Fail closing or deleting indices during a full snapshot {pull}17021[#17021] (issue: {issue}16321[#16321])
+
+Stats::
+* Modify load average format {pull}15932[#15932] (issue: {issue}15907[#15907])
+* Reintroduce five-minute and fifteen-minute load averages on Linux {pull}15907[#15907] (issues: {issue}12049[#12049], {issue}14741[#14741])
+* Add system CPU percent to OS stats {pull}14741[#14741]
+
+Store::
+* Standardize state format type for global and index level metadata {pull}17123[#17123]
+
+Term Vectors::
+* Remove DFS support from TermVector API {pull}16452[#16452]
+* Term vector APIs should no longer update mappings {pull}16285[#16285]
+
+Translog::
+* Drop support for simple translog and hard-wire buffer to 8kb {pull}15574[#15574]
+* Simplify translog-based flush settings {pull}15573[#15573]
+
+Warmers::
+* Remove query warmers and the warmer API. {pull}15614[#15614] (issue: {issue}15607[#15607])
+
+
+
+[[deprecation-5.0.0-alpha1]]
+[float]
+=== Deprecations
+
+Plugin Mapper Attachment::
+* Deprecate mapper-attachments plugin {pull}16948[#16948] (issue: {issue}16910[#16910])
+
+Search::
+* Deprecate fuzzy query {pull}16211[#16211] (issues: {issue}15760[#15760], {issue}16121[#16121])
+
+
+
+[[feature-5.0.0-alpha1]]
+[float]
+=== New features
+
+Discovery::
+* Add two phased commit to Cluster State publishing {pull}13062[#13062]
+
+Ingest::
+* Merge feature/ingest branch into master branch {pull}16049[#16049] (issue: {issue}14049[#14049])
+
+Mapping::
+* Add a text field. {pull}16637[#16637]
+* Add a new `keyword` field. {pull}16589[#16589]
+
+Percolator::
+* index the query terms from the percolator query {pull}13646[#13646] (issue: {issue}12664[#12664])
+
+Plugin Ingest Attachment::
+* Ingest: Add attachment processor {pull}16490[#16490] (issue: {issue}16303[#16303])
+
+Plugin Mapper Attachment::
+* Migrate mapper attachments plugin to main repository {pull}14605[#14605]
+
+Plugin Repository HDFS::
+* HDFS Snapshot/Restore plugin {pull}15192[#15192] (issue: {issue}15191[#15191])
+
+Query DSL::
+* Adds a rewrite phase to queries on the shard level {pull}16870[#16870] (issue: {issue}9526[#9526])
+
+Reindex API::
+* Merge reindex to master {pull}16861[#16861]
+
+Scripting::
+* Exceptions and Infinite Loop Checking {pull}15936[#15936]
+* Added a new scripting language (PlanA) {pull}15136[#15136] (issue: {issue}13084[#13084])
+
+Search::
+* Add `search_after` parameter in the SearchAPI {pull}16125[#16125] (issue: {issue}8192[#8192])
+
+Settings::
+* Add infrastructure to transactionally apply and reset dynamic settings {pull}15278[#15278]
+
+Stats::
+* API for listing index file sizes {pull}16661[#16661] (issue: {issue}16131[#16131])
+
+Suggesters::
+* Add document-oriented completion suggester {pull}14410[#14410] (issue: {issue}10746[#10746])
+
+Task Manager::
+* Add task cancellation mechanism {pull}16320[#16320]
+* Make the Task object available to the action caller {pull}16033[#16033]
+* Task Management: Add framework for registering and communicating with tasks {pull}15347[#15347] (issue: {issue}15117[#15117])
+
+
+
+[[enhancement-5.0.0-alpha1]]
+[float]
+=== Enhancements
+
+Aggregations::
+* Add tests and documentation for using `time_zone` in date range aggregation {pull}16955[#16955] (issue: {issue}10130[#10130])
+* Refactoring of Aggregations {pull}14136[#14136]
+
+Allocation::
+* Write shard state metadata as soon as shard is created / initializing {pull}16625[#16625] (issue: {issue}14739[#14739])
+* Reuse existing allocation id for primary shard allocation {pull}16530[#16530] (issue: {issue}14739[#14739])
+* Remove version in ShardRouting (now obsolete) {pull}16243[#16243] (issue: {issue}14739[#14739])
+* Prefer nodes that previously held primary shard for primary shard allocation {pull}16096[#16096] (issue: {issue}14739[#14739])
+* Extend reroute with an option to force assign stale primary shard copies {pull}15708[#15708] (issue: {issue}14739[#14739])
+* Allocate primary shards based on allocation IDs {pull}15281[#15281] (issue: {issue}14739[#14739])
+* Persist currently started allocation IDs to index metadata {pull}14964[#14964] (issue: {issue}14739[#14739])
+* Use ObjectParser to parse AllocationID {pull}14962[#14962] (issue: {issue}14831[#14831])
+* Persist allocation ID with shard state metadata on nodes {pull}14831[#14831] (issue: {issue}14739[#14739])
+
+CAT API::
+* Expose http address in cat/nodes {pull}16770[#16770]
+* [cat/recovery] Make recovery time a TimeValue() {pull}16743[#16743] (issue: {issue}9209[#9209])
+* :CAT API: remove space at the end of a line {pull}15250[#15250] (issue: {issue}9464[#9464])
+
+CRUD::
+* CRUD: Allow to get and set ttl as a time value/string {pull}15047[#15047]
+
+Cache::
+* Enable the indices request cache by default {pull}17162[#17162] (issues: {issue}16870[#16870], {issue}17134[#17134])
+
+Cluster::
+* Resolve index names to Index instances early {pull}17048[#17048]
+* Remove DiscoveryNode#shouldConnectTo method {pull}16898[#16898] (issue: {issue}16815[#16815])
+* Fail demoted primary shards and retry request {pull}16415[#16415] (issue: {issue}14252[#14252])
+* Illegal shard failure requests {pull}16275[#16275]
+* Shard failure requests for non-existent shards {pull}16089[#16089] (issue: {issue}14252[#14252])
+* Add handling of channel failures when starting a shard {pull}16041[#16041] (issue: {issue}15895[#15895])
+* Wait for new master when failing shard {pull}15748[#15748] (issue: {issue}14252[#14252])
+* Master should wait on cluster state publication when failing a shard {pull}15468[#15468] (issue: {issue}14252[#14252])
+* Split cluster state update tasks into roles {pull}14899[#14899] (issue: {issue}13627[#13627])
+* Add timeout mechanism for sending shard failures {pull}14707[#14707] (issue: {issue}14252[#14252])
+* Add listener mechanism for failures to send shard failed {pull}14295[#14295] (issue: {issue}14252[#14252])
+
+Core::
+* Use index UUID to lookup indices on IndicesService {pull}17001[#17001]
+* Add -XX+AlwaysPreTouch JVM flag {pull}16937[#16937]
+* Use and test relative time in TransportBulkAction {pull}16916[#16916]
+* Bump Elasticsearch version to 5.0.0-alpha1-SNAPSHOT {pull}16862[#16862]
+* Assert that we can write in all data-path on startup {pull}16745[#16745]
+* Add G1GC check on startup {pull}16737[#16737] (issue: {issue}10740[#10740])
+* Shards with heavy indexing should get more of the indexing buffer {pull}14121[#14121]
+* Remove and ban ImmutableMap {pull}13939[#13939] (issue: {issue}13224[#13224])
+* Finish banning ImmutableSet {pull}13820[#13820] (issue: {issue}13224[#13224])
+* Removes and bans ImmutableSet {pull}13754[#13754] (issue: {issue}13224[#13224])
+* Remove and ban ImmutableMap#entrySet {pull}13724[#13724]
+* Forbid ForwardingSet {pull}13720[#13720] (issue: {issue}13224[#13224])
+
+Discovery::
+* Add a dedicate queue for incoming ClusterStates {pull}13303[#13303] (issue: {issue}13062[#13062])
+
+Engine::
+* Remove writeLockTimeout from InternalEngine {pull}16930[#16930]
+* Don't guard IndexShard#refresh calls by a check to isRefreshNeeded {pull}16118[#16118]
+* Never call a listerner under lock in InternalEngine {pull}15786[#15786]
+* Use System.nanoTime() to initialize Engine.lastWriteNanos {pull}14321[#14321]
+* Flush big merges automatically if shard is inactive {pull}14275[#14275]
+* Remove Engine.Create {pull}13955[#13955]
+* Remove the disabled autogenerated id optimization from InternalEngine {pull}13857[#13857]
+
+Exceptions::
+* Fix typos in exception/assert/log messages in core module. {pull}16649[#16649]
+* Add field names to several mapping errors {pull}16508[#16508] (issue: {issue}16378[#16378])
+* Add serialization support for more important IOExceptions {pull}15766[#15766]
+* Adds exception objects to log messages. {pull}14827[#14827] (issue: {issue}10021[#10021])
+* Remove reflection hacks from ElasticsearchException {pull}13796[#13796]
+* Rename QueryParsingException to a more generic ParsingException {pull}13631[#13631]
+* Add *Exception(Throwable cause) constructors/ call where appropriate {pull}13544[#13544] (issue: {issue}10021[#10021])
+
+Geo::
+* Fix a potential parsing problem in GeoDistanceSortParser {pull}17111[#17111]
+* Geo: Add validation of shapes to ShapeBuilders {pull}15551[#15551] (issue: {issue}14416[#14416])
+* Make remaining ShapeBuilders implement Writeable {pull}15010[#15010] (issue: {issue}14416[#14416])
+* Geo: Remove internal `translated` flag from LineStringBuilder {pull}14969[#14969]
+* Make PointBuilder, CircleBuilder & EnvelopeBuilder implement Writable  {pull}14933[#14933] (issue: {issue}14416[#14416])
+* Merging BaseLineString and BasePolygonBuilder with subclass {pull}14887[#14887] (issue: {issue}14482[#14482])
+* Moving static factory methods to ShapeBuilders {pull}14529[#14529]
+* Remove InternalLineStringBuilder and InternalPolygonBuilder {pull}14482[#14482] (issue: {issue}14416[#14416])
+
+Highlighting::
+* Joint parsing of common global Hightlighter and subfield parameters {pull}15368[#15368] (issue: {issue}15285[#15285])
+*  Add fromXContent method to HighlightBuilder {pull}15157[#15157]
+
+Ingest::
+* Added ingest statistics to node stats API {pull}16915[#16915]
+* Add `ingest_took` to bulk response {pull}16876[#16876]
+* Add ingest info to node info API, which contains a list of available processors {pull}16865[#16865]
+* Use diffs for ingest metadata in cluster state {pull}16847[#16847]
+* hide null-valued metadata fields from WriteableIngestDocument#toXContent {pull}16557[#16557]
+* Ingest: use bulk thread pool for bulk request processing (was index before) {pull}16539[#16539] (issue: {issue}16503[#16503])
+* Add foreach processor {pull}16432[#16432]
+* revert PipelineFactoryError handling with throwing ElasticsearchParseException in ingest pipeline creation {pull}16355[#16355]
+* Add processor tags to on_failure metadata in ingest pipeline {pull}16324[#16324] (issue: {issue}16202[#16202])
+* catch processor/pipeline factory exceptions and return structured error responses {pull}16276[#16276] (issue: {issue}16010[#16010])
+* Ingest: move get/put/delete pipeline methods to ClusterAdminClient {pull}16242[#16242]
+* Geoip processor: remove redundant latitude and longitude fields and make location an object with lat and lon subfields {pull}16173[#16173]
+
+Internal::
+* Support scheduled commands in current context {pull}17077[#17077]
+* Thread limits {pull}17003[#17003]
+* Remove leniency from segments info integrity checks {pull}16985[#16985] (issue: {issue}16973[#16973])
+* Rename SearchServiceTransportAction to SearchTransportService {pull}16880[#16880]
+* Decouple the TransportService and ClusterService {pull}16872[#16872] (issue: {issue}16788[#16788])
+* Refactor bootstrap checks {pull}16844[#16844] (issues: {issue}16733[#16733], {issue}16835[#16835])
+* Add LifecycleRunnable {pull}16752[#16752]
+* Hot inlined methods in your area {pull}16725[#16725]
+* Move IndicesQueryCache and IndicesRequestCache into IndicesService {pull}16603[#16603]
+* Forbid use of java.security.MessageDigest#clone() {pull}16543[#16543] (issue: {issue}16479[#16479])
+* Make IndicesWarmer a private class of IndexService {pull}16470[#16470]
+* Simplify IndicesFieldDataCache and detach from guice {pull}16469[#16469]
+* Uppercase ells ('L') in long literals {pull}16329[#16329] (issue: {issue}16279[#16279])
+* ShardId equality and hash code inconsistency {pull}16319[#16319] (issue: {issue}16217[#16217])
+* Ensure all resources are closed on Node#close() {pull}16316[#16316] (issue: {issue}13685[#13685])
+* Make index uuid available in Index, ShardRouting & ShardId {pull}16217[#16217]
+* Move RefreshTask into IndexService and use since task per index {pull}15933[#15933]
+* Make IndexingMemoryController private to IndicesService {pull}15877[#15877]
+* Cleanup IndexingOperationListeners infrastructure {pull}15875[#15875]
+* Remove and forbid use of j.u.c.ThreadLocalRandom {pull}15862[#15862] (issue: {issue}15294[#15294])
+* Fix IntelliJ query builder type inference issues {pull}15429[#15429]
+* Remove and forbid use of Collections#shuffle(List) and Random#<init>() {pull}15299[#15299] (issue: {issue}15287[#15287])
+* Remove and forbid use of the type-unsafe empty Collections fields {pull}15187[#15187]
+* Move IndicesService.canDeleteShardContent to use IndexSettings {pull}15150[#15150] (issue: {issue}15059[#15059])
+* Simplify MonitorService construction and detach from guice {pull}15035[#15035]
+* Use Supplier for StreamInput#readOptionalStreamable {pull}14806[#14806]
+* Add variable-length long encoding {pull}14780[#14780]
+* Extend usage of IndexSetting class {pull}14731[#14731] (issue: {issue}14251[#14251])
+* Fold SimilarityModule into IndexModule {pull}14284[#14284]
+* Move to lucene BoostQuery {pull}14264[#14264]
+* Use built-in method for computing hash code of longs {pull}14213[#14213]
+* Refactor ShardFailure listener infrastructure {pull}14206[#14206]
+* Add methods for variable-length encoding integral arrays {pull}14087[#14087]
+* Fold IndexAliasesService into IndexService {pull}14044[#14044]
+* Remove unneeded Module abstractions {pull}13944[#13944]
+* Query refactoring: simplify IndexQueryParserService parse methods {pull}13938[#13938] (issue: {issue}13859[#13859])
+* Remove and forbid use of com.google.common.collect.Iterators {pull}13916[#13916] (issue: {issue}13224[#13224])
+* Remove and forbid use of com.google.common.collect.ImmutableCollection {pull}13909[#13909] (issue: {issue}13224[#13224])
+* Remove and forbid use of com.google.common.io.Resources {pull}13908[#13908] (issue: {issue}13224[#13224])
+* Remove and forbid use of com.google.common.hash.* {pull}13907[#13907] (issue: {issue}13224[#13224])
+* Remove and forbid use of com.google.common.net.InetAddresses {pull}13905[#13905] (issue: {issue}13224[#13224])
+* Remove and forbid use of com.google.common.collect.EvictingQueue {pull}13903[#13903] (issue: {issue}13224[#13224])
+* Replace Guava cache with simple concurrent LRU cache {pull}13879[#13879]
+* Remove ClusterSerivce and IndexSettingsService dependency from IndexShard {pull}13853[#13853]
+* Start making RecoverySourceHandler unittestable {pull}13840[#13840]
+* Remove IndexService dep. from IndexShard {pull}13797[#13797]
+* Remove ES internal deletion policies in favour of Lucenes implementations {pull}13794[#13794]
+* Move ShardTermVectorService to be on indices level as TermVectorService {pull}13786[#13786]
+* Move ShardPercolateService creation into IndexShard {pull}13777[#13777]
+* Remove `ExpressionScriptCompilationException` and `ExpressionScriptExecutionException` {pull}13742[#13742]
+* Reduced the number of ClusterStateUpdateTask variants {pull}13735[#13735]
+* Add a BaseParser helper for stream parsing {pull}13615[#13615]
+* Remove and forbid use of com.google.common.primitives.Ints {pull}13596[#13596] (issue: {issue}13224[#13224])
+* Remove and forbid use of com.google.common.math.LongMath {pull}13575[#13575] (issue: {issue}13224[#13224])
+* Remove and forbid use of com.google.common.base.Joiner {pull}13572[#13572] (issue: {issue}13224[#13224])
+* Replace and ban next batch of Guava classes {pull}13562[#13562] (issue: {issue}13224[#13224])
+* Remove and forbid use of com.google.common.collect.Iterables {pull}13559[#13559] (issue: {issue}13224[#13224])
+* Replace LoadingCache usage with a simple ConcurrentHashMap {pull}13552[#13552] (issue: {issue}13224[#13224])
+* Use Supplier instead of Reflection {pull}13545[#13545]
+* Remove and forbid use of com.google.common.base.Preconditions {pull}13540[#13540] (issue: {issue}13224[#13224])
+* Remove and forbid use of guava Function, Charsets, Collections2 {pull}13533[#13533] (issue: {issue}13224[#13224])
+* Remove and forbid use of com.google.common.collect.ImmutableSortedMap {pull}13525[#13525] (issue: {issue}13224[#13224])
+* Remove and forbid use of several com.google.common.util. classes {pull}13524[#13524] (issue: {issue}13224[#13224])
+* Cleanup SearchRequest & SearchRequestBuilder {pull}13518[#13518]
+* Remove and forbid use of com.google.common.collect.Queues {pull}13498[#13498] (issue: {issue}13224[#13224])
+* Remove and forbid use of com.google.common.base.Preconditions#checkNotNull {pull}13493[#13493] (issue: {issue}13224[#13224])
+* Remove and forbid use of com.google.common.collect.Sets {pull}13463[#13463] (issue: {issue}13224[#13224])
+* Remove and forbid use of com.google.common.collect.Maps {pull}13438[#13438] (issue: {issue}13224[#13224])
+* Remove use of underscore as an identifier {pull}13353[#13353]
+* Remove and forbid the use of com.google.common.base.Predicate(s)? {pull}13349[#13349] (issues: {issue}13224[#13224], {issue}13314[#13314])
+* This commit removes com.google.common.io {pull}13302[#13302] (issue: {issue}13224[#13224])
+
+Java API::
+* Remove copy constructors from request classes and TransportMessage type {pull}16640[#16640] (issue: {issue}15776[#15776])
+
+Mapping::
+* Remove friction from the mapping changes in 5.0. {pull}16991[#16991]
+* Rework norms parameters for 5.0. {pull}16987[#16987]
+* Moved dynamic field handling in doc parsing to end of parsing {pull}16798[#16798]
+* Remove the MapperBuilders utility class. {pull}16609[#16609]
+* Make the `index` property a boolean. {pull}16161[#16161]
+* Remove the ability to enable doc values with the `fielddata.format` setting. {pull}16147[#16147]
+* Be stricter about parsing boolean values in mappings. {pull}16146[#16146]
+* Fix default doc values to be enabled when a field is not indexed. {pull}16141[#16141]
+* Dynamically map floating-point numbers as floats instead of doubles. {pull}15319[#15319] (issue: {issue}13851[#13851])
+* Simplify MetaDataMappingService. {pull}15217[#15217]
+* Remove MergeMappingException. {pull}15177[#15177]
+
+NOT CLASSIFIED::
+* Use a seed node to form multi-node cluster in integ tests {pull}17078[#17078]
+
+Packaging::
+* Fail early on JDK with compiler bug {pull}16418[#16418] (issues: {issue}16097[#16097], {issue}16362[#16362])
+* Make security non-optional {pull}16176[#16176]
+* Remove RuntimePermission("accessDeclaredMembers") {pull}15378[#15378]
+* Remove Guava as a dependency {pull}14055[#14055] (issue: {issue}13224[#13224])
+* Remove Guava as a dependency {pull}14054[#14054] (issue: {issue}13224[#13224])
+
+Plugin Ingest Attachment::
+* Minor attachment processor improvements {pull}16574[#16574]
+
+Plugin Lang Painless::
+* Make Painless a Module {pull}16755[#16755]
+* Minor Clean up {pull}16457[#16457]
+
+Plugin Mapper Attachment::
+* minor attachments cleanups: IDE test support and EPUB format {pull}14626[#14626]
+
+Plugin Repository Azure::
+* Support global `repositories.azure.` settings {pull}15141[#15141] (issue: {issue}13776[#13776])
+* Add timeout settings (default to 5 minutes) {pull}15080[#15080] (issue: {issue}14277[#14277])
+
+Plugin Repository HDFS::
+* merge current hdfs improvements to master {pull}15588[#15588]
+
+Plugin Repository S3::
+* Add support for proxy authentication for s3 and ec2 {pull}15293[#15293] (issue: {issue}15268[#15268])
+
+Plugins::
+* CliTool: Cleanup and document Terminal {pull}16443[#16443]
+* Plugin cli: Improve maven coordinates detection {pull}16384[#16384] (issue: {issue}16376[#16376])
+* Enforce plugin zip does not contain zip entries outside of the plugin dir {pull}16361[#16361]
+* CliTool: Allow unexpected exceptions to propagate {pull}16359[#16359]
+* Reduce complexity of plugin cli {pull}16336[#16336]
+* Remove Plugin.onIndexService. {pull}15029[#15029] (issue: {issue}14896[#14896])
+* Open up QueryCache and SearcherWrapper extension points {pull}14303[#14303]
+
+Query DSL::
+* Function Score Query: make parsing stricter {pull}16617[#16617] (issue: {issue}16583[#16583])
+* Parsers should throw exception on unknown objects {pull}14255[#14255] (issue: {issue}10974[#10974])
+* UNICODE_CHARACTER_CLASS fix {pull}11598[#11598] (issue: {issue}10146[#10146])
+
+Query Refactoring::
+* Add infrastructure to rewrite query builders {pull}16599[#16599]
+* Switch geo validation to enum {pull}13672[#13672] (issue: {issue}13608[#13608])
+
+REST::
+* More robust handling of CORS HTTP Access Control {pull}16092[#16092]
+* Add option to exclude based on paths in XContent {pull}16017[#16017]
+
+Recovery::
+* Relocation source should be marked as relocating before starting recovery to primary relocation target {pull}16500[#16500]
+* Operation counter for IndexShard {pull}15956[#15956] (issue: {issue}15900[#15900])
+* Primary relocation handoff {pull}15900[#15900] (issue: {issue}15532[#15532])
+* Remove recovery threadpools and throttle outgoing recoveries on the master {pull}15372[#15372]
+* Refactor StoreRecoveryService to be a simple package private util class {pull}13766[#13766]
+
+Reindex API::
+* Add ingest pipeline support to reindex {pull}16932[#16932]
+
+Scripting::
+* Remove Extra String Concat Token {pull}16382[#16382]
+* Skipping hidden files compilation for script service {pull}16286[#16286] (issue: {issue}15269[#15269])
+* Rename Plan A to Painless {pull}16245[#16245]
+* Add plumbing for script compile-time parameters {pull}15464[#15464]
+* Factor mustache -> modules/lang-mustache {pull}15328[#15328]
+
+Search::
+* Store _all payloads on 1 byte instead of 4. {pull}16899[#16899]
+* Refuse to load fields from _source when using the `fields` option and support wildcards.  {pull}15017[#15017] (issues: {issue}10783[#10783], {issue}14489[#14489])
+* Add response into ClearScrollResponse {pull}13835[#13835] (issue: {issue}13817[#13817])
+* Shuffle shards for _only_nodes + support multiple specifications like cluster API  {pull}12575[#12575] (issues: {issue}12546[#12546], {issue}12700[#12700])
+
+Search Refactoring::
+* Move sort `order` field up into SortBuilder {pull}17035[#17035]
+* Moves SortParser:parse(...) to only require QueryShardContext {pull}16999[#16999] (issue: {issue}15178[#15178])
+* Change internal representation of suggesters  {pull}16873[#16873]
+* Fixes serialisation of Ranges {pull}16674[#16674]
+* Make GeoDistanceSortBuilder serializable, 2nd try {pull}16572[#16572] (issues: {issue}15178[#15178], {issue}16151[#16151])
+* Move missing() from SortBuilder interface to class {pull}16225[#16225] (issues: {issue}15178[#15178], {issue}16151[#16151])
+* Remove deprecated parameters from ScriptSortBuilder {pull}16153[#16153] (issue: {issue}15178[#15178])
+* Refactor GeoSortBuilder {pull}16151[#16151] (issue: {issue}15178[#15178])
+* Refactor FieldSortBuilder {pull}16127[#16127] (issue: {issue}15178[#15178])
+* Make sort order enum writable. {pull}16124[#16124] (issue: {issue}15178[#15178])
+* Make DistanceUnit writable. {pull}16122[#16122] (issue: {issue}15178[#15178])
+* RescoreBuilder: Add parsing and creating of RescoreSearchContext {pull}16014[#16014] (issue: {issue}15559[#15559])
+* Make RescoreBuilder and nested QueryRescorer Writable {pull}15953[#15953] (issue: {issue}15559[#15559])
+* Use HighlightBuilder in SearchSourceBuilder {pull}15376[#15376] (issue: {issue}15044[#15044])
+* Enable HighlightBuilder to create SearchContextHighlight {pull}15324[#15324]
+* Explain api: move query parsing to the coordinating node {pull}14270[#14270]
+* Switch query parsers to use ParseField  {pull}14249[#14249] (issue: {issue}8964[#8964])
+
+Settings::
+* Settings with complex matchers should not overlap {pull}16754[#16754]
+* Moves GCE settings to the new infra {pull}16722[#16722] (issue: {issue}16720[#16720])
+* Add filtering support within Setting class {pull}16629[#16629] (issue: {issue}16598[#16598])
+* Migrate AWS settings to new settings infrastructure {pull}16602[#16602] (issue: {issue}16293[#16293])
+* Remove `gateway.initial_meta` and always rely on min master nodes {pull}16446[#16446]
+* Rewrite SettingsFilter to be immutable {pull}16425[#16425]
+* Simplify azure settings {pull}16363[#16363]
+* Convert PageCacheRecycler settings {pull}16341[#16341]
+* Monitor settings {pull}16313[#16313]
+* Cut over tribe node settings to new settings infra {pull}16311[#16311]
+* Convert multcast plugin settings to the new infra {pull}16295[#16295]
+* Convert `request.headers.*` to the new settings infra {pull}16292[#16292]
+* Migrate Azure settings to new settings infrastructure {pull}16291[#16291]
+* Validate logger settings and allow them to be reset via API {pull}16289[#16289]
+* Switch NodeEnvironment's settings to new settings {pull}16273[#16273]
+* Simplify AutoCreateIndex and add more tests {pull}16270[#16270]
+* Convert several pending settings {pull}16269[#16269]
+* Migrate query caching settings to the new settings infra. {pull}16267[#16267]
+* Convert `action.auto_create_index` and `action.master.force_local` to the new settings infra {pull}16263[#16263]
+* Convert `cluster.routing.allocation.type` and `processors` to the new settings infra. {pull}16238[#16238]
+* Validate tribe node settings on startup {pull}16237[#16237]
+* Move node.client, node.data, node.master, node.local and node.mode to new settings infra {pull}16230[#16230]
+* Moved http settings to the new settings infrastructure {pull}16188[#16188]
+* Migrate network service to the new infra {pull}16187[#16187]
+* Convert client.transport settings to new infra {pull}16183[#16183]
+* Move discovery.* settings to new Setting infrastructure {pull}16182[#16182]
+* Change over to o.e.common.settings.Setting for http settings {pull}16181[#16181]
+* Convert "path.*" and "pidfile" to new settings infra {pull}16180[#16180]
+* Migrate repository settings to the new settings API {pull}16178[#16178]
+* Convert "indices.*" settings to new infra. {pull}16177[#16177]
+* Migrate gateway settings to the new settings API. {pull}16175[#16175]
+* Convert several node and test level settings {pull}16172[#16172]
+* Run Metadata upgrade tool on every version {pull}16168[#16168]
+* Check for invalid index settings on metadata upgrade {pull}16156[#16156]
+* Validate the settings key if it's simple chars separated by `.` {pull}16120[#16120]
+* Validate known global settings on startup {pull}16091[#16091]
+* Cut over all index scope settings to the new setting infrastrucuture {pull}16054[#16054] (issues: {issue}12790[#12790], {issue}12854[#12854], {issue}16032[#16032], {issue}6732[#6732])
+* Remove updatability of `index.flush_on_close` {pull}15964[#15964] (issue: {issue}15955[#15955])
+* Move all dynamic settings and their config classes to the index level {pull}15955[#15955] (issue: {issue}6732[#6732])
+* Always require units for bytes and time settings {pull}15948[#15948] (issue: {issue}11437[#11437])
+* Make MetaData parsing less lenient. {pull}15828[#15828]
+* Move async translog sync logic into IndexService {pull}15584[#15584]
+* Remove `index.merge.scheduler.notify_on_failure` and default to `true` {pull}15572[#15572] (issue: {issue}15570[#15570])
+* Remove cache concurrency level settings that no longer apply {pull}14210[#14210] (issues: {issue}13224[#13224], {issue}13717[#13717], {issue}7836[#7836])
+
+Similarities::
+* Defining a global default similarity {pull}16682[#16682] (issue: {issue}16594[#16594])
+
+Snapshot/Restore::
+* Remove AbstractLegacyBlobContainer {pull}14650[#14650] (issue: {issue}13434[#13434])
+
+Stats::
+* Normalize unavailable load average {pull}16061[#16061] (issues: {issue}12049[#12049], {issue}14741[#14741], {issue}15907[#15907], {issue}15932[#15932], {issue}15934[#15934])
+* Add load averages to OS stats on FreeBSD {pull}15934[#15934] (issue: {issue}15917[#15917])
+* Expose pending cluster state queue size in node stats {pull}14040[#14040] (issue: {issue}13610[#13610])
+
+Store::
+* Remove support for legacy checksums {pull}16931[#16931]
+* Rename index folder to index_uuid {pull}16442[#16442] (issues: {issue}13264[#13264], {issue}13265[#13265], {issue}14512[#14512], {issue}14932[#14932], {issue}15853[#15853])
+
+Suggesters::
+* Refactoring of Suggestions {pull}17096[#17096] (issue: {issue}10217[#10217])
+
+Task Manager::
+* Add start time and duration to tasks {pull}16829[#16829]
+* Combine node name and task id into single string task id {pull}16744[#16744]
+* Add task status {pull}16356[#16356] (issue: {issue}16344[#16344])
+* Extend tracking of parent tasks to master node, replication and broadcast actions {pull}15931[#15931]
+
+Translog::
+* Remove ChannelReference and simplify Views {pull}15898[#15898]
+* Simplify TranslogWriter to always write to a stream {pull}15771[#15771]
+* Remove TranslogService and fold it into synchronous IndexShard API {pull}13707[#13707]
+
+
+
+[[bug-5.0.0-alpha1]]
+[float]
+=== Bug fixes
+
+Aggregations::
+* Correct typo in class name of StatsAggregator {pull}15264[#15264] (issue: {issue}14730[#14730])
+
+Allocation::
+* Replica shards must be failed before primary shards {pull}15686[#15686]
+
+CRUD::
+* Prevent TransportReplicationAction to route request based on stale local routing table {pull}16274[#16274] (issues: {issue}12573[#12573], {issue}12574[#12574])
+* Resolves the conflict between alias routing and parent routing by applying the alias routing and ignoring the parent routing. {pull}15371[#15371] (issue: {issue}3068[#3068])
+
+Cluster::
+* Shard state action channel exceptions {pull}16057[#16057] (issue: {issue}15748[#15748])
+
+Geo::
+* Fix multi-field support for GeoPoint types {pull}15702[#15702] (issue: {issue}15701[#15701])
+* Enforce distance in distance query is > 0 {pull}15135[#15135]
+
+Ingest::
+* The IngestDocument copy constructor should make a deep copy {pull}16248[#16248] (issue: {issue}16246[#16246])
+
+Internal::
+* Enable unmap hack for java 9 {pull}16986[#16986] (issue: {issue}1[#1])
+* Fix issues with failed cache loads {pull}14315[#14315]
+* Allow parser to move on the START_OBJECT token when parsing search source {pull}14145[#14145]
+* Ensure searcher is release if wrapping fails {pull}14107[#14107]
+* Avoid deadlocks in Cache#computeIfAbsent {pull}14091[#14091] (issue: {issue}14090[#14090])
+
+Java API::
+* Fix potential NPE in SearchSourceBuilder {pull}16905[#16905] (issue: {issue}16902[#16902])
+
+Mapping::
+* Fix dynamic mapper when its parent already has an update {pull}17065[#17065]
+* Fix copy_to when the target is a dynamic object field. {pull}15216[#15216] (issues: {issue}111237[#111237], {issue}11237[#11237])
+* Preserve existing mappings on batch mapping updates {pull}15130[#15130] (issues: {issue}14899[#14899], {issue}15129[#15129])
+
+Packaging::
+* Do not pass double-dash arguments on startup {pull}17087[#17087] (issue: {issue}17084[#17084])
+
+Plugin Store SMB::
+* Fix calling ensureOpen() on the wrong directory (master forwardport) {pull}16395[#16395] (issue: {issue}16383[#16383])
+
+Plugins::
+* CliTool: Messages printed in Terminal should have percent char escaped {pull}16367[#16367]
+
+Query DSL::
+* `constant_score` query should throw error on more than one filter {pull}17135[#17135] (issue: {issue}17126[#17126])
+* Single IPv4 addresses in IP field term queries {pull}16068[#16068] (issue: {issue}16058[#16058])
+* Make strategy optional in GeoShapeQueryBuilder readFrom and writeTo {pull}13963[#13963]
+
+Query Refactoring::
+* Query refactoring: set has_parent & has_child types context properly {pull}13863[#13863]
+* Make sure equivalent geohashCellQueries are equal after toQuery called {pull}13792[#13792]
+
+Recovery::
+* Prevent interruption while store checks lucene files for consistency {pull}16308[#16308]
+* Mark shard as recovering on the cluster state thread {pull}14276[#14276] (issues: {issue}13766[#13766], {issue}14115[#14115])
+
+Search::
+* Fix for search after {pull}16271[#16271]
+* Do not be lenient when parsing CIDRs {pull}14874[#14874] (issue: {issue}14862[#14862])
+
+Settings::
+* Register bootstrap settings {pull}16513[#16513]
+* Add settings filtering to node info requests {pull}16445[#16445]
+* Ban write access to system properties {pull}14914[#14914]
+
+Translog::
+* Mark shard active during recovery; push settings after engine finally inits {pull}16250[#16250] (issues: {issue}14121[#14121], {issue}16209[#16209])
+
+
+
+[[upgrade-5.0.0-alpha1]]
+[float]
+=== Upgrades
+
+Core::
+* Upgrade to lucene-6.0.0-f0aa4fc. {pull}17075[#17075]
+* upgrade to lucene 6.0.0-snapshot-bea235f {pull}16964[#16964]
+* Upgrade to Jackson 2.7.1 {pull}16801[#16801] (issue: {issue}16294[#16294])
+
+Ingest::
+* Update MaxMind geoip2 version to 2.6 {pull}16837[#16837] (issue: {issue}16801[#16801])
+
+Internal::
+* Bump master (3.0-snapshot) to java 8 {pull}13314[#13314]
+
+Search Templates::
+* Update mustache.java to version 0.9.1 {pull}14053[#14053] (issue: {issue}13224[#13224])
+
+