5.0.0-alpha4.asciidoc 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361
  1. [[release-notes-5.0.0-alpha4]]
  2. == 5.0.0-alpha4 Release Notes
  3. Also see <<breaking-changes-5.0>>.
  4. IMPORTANT: This is an alpha release and is intended for _testing purposes only_. Indices created in this version will *not be compatible with Elasticsearch 5.0.0 GA*. Upgrading 5.0.0-alpha4 to any other version is not supported.
  5. [[breaking-5.0.0-alpha4]]
  6. [float]
  7. === Breaking changes
  8. Aggregations::
  9. * Remove size 0 options in aggregations {pull}18854[#18854] (issue: {issue}18838[#18838])
  10. CRUD::
  11. * Wait for changes to be visible by search {pull}17986[#17986] (issue: {issue}1063[#1063])
  12. Core::
  13. * Remove cluster name from data path {pull}18554[#18554] (issue: {issue}17810[#17810])
  14. Inner Hits::
  15. * Also do not serialize `_index` key in search response for parent/child inner hits {pull}19011[#19011]
  16. * Don't include `_id`, `_type` and `_index` keys in search response for inner hits {pull}18995[#18995] (issue: {issue}18091[#18091])
  17. * Nested inner hits shouldn't use relative paths {pull}18567[#18567] (issue: {issue}16653[#16653])
  18. Mapping::
  19. * Remove `_timestamp` and `_ttl` on 5.x indices. {pull}18980[#18980] (issue: {issue}18280[#18280])
  20. Packaging::
  21. * Remove allow running as root {pull}18694[#18694] (issue: {issue}18688[#18688])
  22. Search::
  23. * Remove only node preference {pull}18875[#18875] (issue: {issue}18822[#18822])
  24. * Add search preference to prefer multiple nodes {pull}18872[#18872] (issue: {issue}18822[#18822])
  25. Settings::
  26. * Rename boostrap.mlockall to bootstrap.memory_lock {pull}18669[#18669]
  27. Snapshot/Restore::
  28. * Change the default of `include_global_state` from true to false for snapshot restores {pull}18773[#18773] (issue: {issue}18569[#18569])
  29. [[breaking java-5.0.0-alpha4]]
  30. [float]
  31. === Breaking Java changes
  32. Core::
  33. * Register thread pool settings {pull}18674[#18674] (issues: {issue}18613[#18613], {issue}9216[#9216])
  34. Highlighting::
  35. * Register Highlighter instances instead of classes {pull}18859[#18859]
  36. Internal::
  37. * Cleanup ClusterService dependencies and detached from Guice {pull}18941[#18941]
  38. * Simplify SubFetchPhase interface {pull}18881[#18881]
  39. * Simplify FetchSubPhase registration and detach it from Guice {pull}18862[#18862]
  40. Java API::
  41. * Remove setRefresh {pull}18752[#18752] (issue: {issue}1063[#1063])
  42. Plugins::
  43. * Fail to start if plugin tries broken onModule {pull}19025[#19025]
  44. * Simplify ScriptModule and script registration {pull}18903[#18903]
  45. * Cut over settings registration to a pull model {pull}18890[#18890]
  46. * Plugins cleanup {pull}18594[#18594] (issue: {issue}18588[#18588])
  47. Scripting::
  48. * Move search template to lang-mustache module {pull}18765[#18765] (issue: {issue}17906[#17906])
  49. [[feature-5.0.0-alpha4]]
  50. [float]
  51. === New features
  52. Aggregations::
  53. * Adds aggregation profiling to the profile API {pull}18414[#18414] (issue: {issue}10538[#10538])
  54. * New Matrix Stats Aggregation module {pull}18300[#18300] (issue: {issue}16826[#16826])
  55. Index APIs::
  56. * Add rollover API to switch index aliases given some predicates {pull}18732[#18732] (issue: {issue}18647[#18647])
  57. Java REST Client::
  58. * Low level Rest Client {pull}18735[#18735] (issue: {issue}7743[#7743])
  59. Mapping::
  60. * Expose half-floats. {pull}18887[#18887]
  61. Scroll::
  62. * Add the ability to partition a scroll in multiple slices. {pull}18237[#18237] (issue: {issue}13494[#13494])
  63. Store::
  64. * Expose MMapDirectory.preLoad(). {pull}18880[#18880]
  65. * Add primitive to shrink an index into a single shard {pull}18270[#18270]
  66. [[enhancement-5.0.0-alpha4]]
  67. [float]
  68. === Enhancements
  69. Aggregations::
  70. * Automatically set the collection mode to breadth_first in the terms aggregation when the cardinality of the field is unknown or smaller than the requested size. {pull}18779[#18779] (issue: {issue}9825[#9825])
  71. * Rename PipelineAggregatorBuilder to PipelineAggregationBuilder. {pull}18677[#18677] (issue: {issue}18377[#18377])
  72. * AggregatorBuilder and PipelineAggregatorBuilder do not need generics. {pull}18368[#18368] (issue: {issue}18133[#18133])
  73. Allocation::
  74. * Allow `_shrink` to N shards if source shards is a multiple of N {pull}18699[#18699]
  75. * Only filter intial recovery (post API) when shrinking an index {pull}18661[#18661]
  76. * Estimate shard size for shrinked indices {pull}18659[#18659]
  77. * Only fail relocation target shard if failing source shard is a primary {pull}18574[#18574] (issue: {issue}16144[#16144])
  78. * Simplify delayed shard allocation {pull}18351[#18351] (issue: {issue}18293[#18293])
  79. Analysis::
  80. * Add a MultiTermAwareComponent marker interface to analysis factories. {pull}19028[#19028] (issues: {issue}18064[#18064], {issue}9978[#9978])
  81. * Add Flags Parameter for Char Filter {pull}18363[#18363] (issue: {issue}18362[#18362])
  82. Cache::
  83. * Cache FieldStats in the request cache {pull}18768[#18768] (issue: {issue}18717[#18717])
  84. Cluster::
  85. * Index creation does not cause the cluster health to go RED {pull}18737[#18737] (issues: {issue}9106[#9106], {issue}9126[#9126])
  86. * Cluster Health class improvements {pull}18673[#18673]
  87. Core::
  88. * Read Elasticsearch manifest via URL {pull}18999[#18999] (issue: {issue}18996[#18996])
  89. * Throw if the local node is not set {pull}18963[#18963] (issue: {issue}18962[#18962])
  90. * Improve performance of applyDeletedShards {pull}18788[#18788] (issue: {issue}18776[#18776])
  91. * Bootstrap check for OnOutOfMemoryError and seccomp {pull}18756[#18756] (issue: {issue}18736[#18736])
  92. Dates::
  93. * Improve TimeZoneRoundingTests error messages {pull}18895[#18895]
  94. * Improve TimeUnitRounding for edge cases and DST transitions {pull}18589[#18589]
  95. Expressions::
  96. * improve date api for expressions/painless fields {pull}18658[#18658]
  97. Index APIs::
  98. * Add Shrink request source parser to parse create index request body {pull}18802[#18802]
  99. Index Templates::
  100. * Parse and validate mappings on index template creation {pull}8802[#8802] (issue: {issue}2415[#2415])
  101. Ingest::
  102. * Add `ignore_failure` option to all ingest processors {pull}18650[#18650] (issue: {issue}18493[#18493])
  103. * new ScriptProcessor for Ingest {pull}18193[#18193]
  104. Internal::
  105. * Hot methods redux {pull}19016[#19016] (issue: {issue}16725[#16725])
  106. * Remove forked joda time BaseDateTime class {pull}18953[#18953]
  107. * Support optional ctor args in ConstructingObjectParser {pull}18725[#18725]
  108. * Remove thread pool from page cache recycler {pull}18664[#18664] (issue: {issue}18613[#18613])
  109. Java API::
  110. * Switch QueryBuilders to new MatchPhraseQueryBuilder {pull}18753[#18753]
  111. Logging::
  112. * Throw IllegalStateException when handshake fails due to version or cluster mismatch {pull}18676[#18676]
  113. Mapping::
  114. * Upgrade `string` fields to `text`/`keyword` even if `include_in_all` is set. {pull}19004[#19004] (issue: {issue}18974[#18974])
  115. Network::
  116. * Exclude admin / diagnostic requests from HTTP request limiting {pull}18833[#18833] (issues: {issue}17951[#17951], {issue}18145[#18145])
  117. * Do not start scheduled pings until transport start {pull}18702[#18702]
  118. Packaging::
  119. * Remove explicit parallel new GC flag {pull}18767[#18767]
  120. * Use JAVA_HOME or java.exe in PATH like the Linux scripts do {pull}18685[#18685] (issue: {issue}4913[#4913])
  121. Percolator::
  122. * Add percolator query extraction support for dismax query {pull}18845[#18845]
  123. * Improve percolate query performance by not verifying certain candidate matches {pull}18696[#18696]
  124. * Improve percolator query term extraction {pull}18610[#18610]
  125. Plugin Lang Painless::
  126. * Painless Initializers {pull}19012[#19012]
  127. * Add augmentation {pull}19003[#19003]
  128. * Infer lambda arguments/return type {pull}18983[#18983]
  129. * Fix explicit casts and improve tests. {pull}18958[#18958]
  130. * Add lambda captures {pull}18954[#18954]
  131. * improve Debugger to print code even if it hits exception {pull}18932[#18932] (issue: {issue}1[#1])
  132. * Move semicolon hack into lexer {pull}18931[#18931]
  133. * Add flag support to regexes {pull}18927[#18927]
  134. * improve lambda syntax (allow single expression) {pull}18924[#18924]
  135. * Remove useless dropArguments in megamorphic cache {pull}18913[#18913]
  136. * non-capturing lambda support {pull}18911[#18911] (issue: {issue}18824[#18824])
  137. * fix bugs in operators and more improvements for the dynamic case {pull}18899[#18899]
  138. * improve unary operators and cleanup tests {pull}18867[#18867] (issue: {issue}18849[#18849])
  139. * Add support for the find operator (=~) and the match operator (==~) {pull}18858[#18858]
  140. * Remove casts and boxing for dynamic math {pull}18849[#18849] (issue: {issue}18847[#18847])
  141. * Refactor def math {pull}18847[#18847]
  142. * Add support for /regex/ {pull}18842[#18842]
  143. * Array constructor references {pull}18831[#18831]
  144. * Method references to user functions {pull}18828[#18828]
  145. * Add } as a delimiter. {pull}18827[#18827] (issue: {issue}18821[#18821])
  146. * Add Lambda Stub Node {pull}18824[#18824]
  147. * Add capturing method references {pull}18818[#18818] (issue: {issue}18748[#18748])
  148. * Add Functions to Painless {pull}18810[#18810]
  149. * Add Method to Get New MethodWriters {pull}18771[#18771]
  150. * Static For Each {pull}18757[#18757]
  151. * Method reference support {pull}18748[#18748] (issue: {issue}18578[#18578])
  152. * Add support for the new Java 9 MethodHandles#arrayLength() factory {pull}18734[#18734]
  153. * Improve painless compile-time exceptions {pull}18711[#18711] (issue: {issue}18600[#18600])
  154. * add java.time packages to painless whitelist {pull}18621[#18621]
  155. * Add Function Reference Stub to Painless {pull}18578[#18578]
  156. Plugins::
  157. * Add did-you-mean for plugin cli {pull}18942[#18942] (issue: {issue}18896[#18896])
  158. * Plugins: Remove name() and description() from api {pull}18906[#18906]
  159. * Emit nicer error message when trying to install unknown plugin {pull}18876[#18876] (issue: {issue}17226[#17226])
  160. Query DSL::
  161. * Treat zero token in `common` terms query as MatchNoDocsQuery {pull}18656[#18656]
  162. * Handle empty query bodies at parse time and remove EmptyQueryBuilder {pull}17624[#17624] (issues: {issue}17540[#17540], {issue}17541[#17541])
  163. REST::
  164. * Adding status field in _msearch error request bodies {pull}18586[#18586] (issue: {issue}18013[#18013])
  165. Recovery::
  166. * index shard should be able to cancel check index on close. {pull}18839[#18839] (issue: {issue}12011[#12011])
  167. Reindex API::
  168. * Implement ctx.op = "delete" on _update_by_query and _reindex {pull}18614[#18614] (issue: {issue}18043[#18043])
  169. Scripting::
  170. * Compile each Groovy script in its own classloader {pull}18918[#18918] (issue: {issue}18572[#18572])
  171. * Include script field even if it value is null {pull}18384[#18384] (issue: {issue}16408[#16408])
  172. Scroll::
  173. * Add an index setting to limit the maximum number of slices allowed in a scroll request. {pull}18782[#18782]
  174. Search::
  175. * Change default similarity to BM25 {pull}18948[#18948] (issue: {issue}18944[#18944])
  176. * Add a parameter to cap the number of searches the msearch api will concurrently execute {pull}18721[#18721]
  177. Sequence IDs::
  178. * Persist sequence number checkpoints {pull}18949[#18949] (issue: {issue}10708[#10708])
  179. * Add sequence numbers to cat shards API {pull}18772[#18772]
  180. Settings::
  181. * Improve error message if a setting is not found {pull}18920[#18920] (issue: {issue}18663[#18663])
  182. * Cleanup placeholder replacement {pull}17335[#17335]
  183. Snapshot/Restore::
  184. * Adds UUIDs to snapshots {pull}18228[#18228] (issue: {issue}18156[#18156])
  185. * Clarify the semantics of the BlobContainer interface {pull}18157[#18157] (issue: {issue}15580[#15580])
  186. Stats::
  187. * Add total_indexing_buffer/_in_bytes to nodes info API {pull}18914[#18914] (issue: {issue}18651[#18651])
  188. * Allow FieldStatsRequest to disable cache {pull}18900[#18900]
  189. * Remove index_writer_max_memory stat from segment stats {pull}18651[#18651] (issues: {issue}14121[#14121], {issue}7440[#7440])
  190. * Move DocStats under Engine to get more accurate numbers {pull}18587[#18587]
  191. Task Manager::
  192. * Fetch result when wait_for_completion {pull}18905[#18905]
  193. * Create get task API that falls back to the .tasks index {pull}18682[#18682]
  194. * Add ability to store results for long running tasks {pull}17928[#17928]
  195. Translog::
  196. * Beef up Translog testing with random channel exceptions {pull}18997[#18997]
  197. * Do not replay into translog on local recovery {pull}18547[#18547]
  198. [[bug-5.0.0-alpha4]]
  199. [float]
  200. === Bug fixes
  201. Allocation::
  202. * Fix recovery throttling to properly handle relocating non-primary shards {pull}18701[#18701] (issue: {issue}18640[#18640])
  203. CAT API::
  204. * Fix merge stats rendering in RestIndicesAction {pull}18720[#18720]
  205. CRUD::
  206. * Squash a race condition in RefreshListeners {pull}18806[#18806]
  207. Circuit Breakers::
  208. * Never trip circuit breaker in liveness request {pull}18627[#18627] (issue: {issue}17951[#17951])
  209. Cluster::
  210. * Fix block checks when no indices are specified {pull}19047[#19047] (issue: {issue}8105[#8105])
  211. * Acknowledge index deletion requests based on standard cluster state acknowledgment {pull}18602[#18602] (issues: {issue}16442[#16442], {issue}18558[#18558])
  212. Core::
  213. * Throw exception if using a closed transport client {pull}18722[#18722] (issue: {issue}18708[#18708])
  214. Dates::
  215. * Fix invalid rounding value for TimeIntervalRounding close to DST transitions {pull}18800[#18800]
  216. * Fix problem with TimeIntervalRounding on DST end {pull}18780[#18780]
  217. Expressions::
  218. * replace ScriptException with a better one {pull}18600[#18600]
  219. Ingest::
  220. * Fix ignore_failure behavior in _simulate?verbose and more cleanup {pull}18987[#18987]
  221. Internal::
  222. * Fix filtering of node ids for TransportNodesAction {pull}18634[#18634] (issue: {issue}18618[#18618])
  223. Mapping::
  224. * Better error message when mapping configures null {pull}18809[#18809] (issue: {issue}18803[#18803])
  225. * Process dynamic templates in order. {pull}18638[#18638] (issues: {issue}18625[#18625], {issue}2401[#2401])
  226. Packaging::
  227. * Remove extra bin/ directory in bin folder {pull}18630[#18630]
  228. Plugin Lang Painless::
  229. * Fix compound assignment with string concats {pull}18933[#18933] (issue: {issue}18929[#18929])
  230. * Fix horrible capture {pull}18907[#18907] (issue: {issue}18899[#18899])
  231. * Fix Casting Bug {pull}18871[#18871]
  232. Query DSL::
  233. * Make parsing of bool queries stricter {pull}19052[#19052] (issue: {issue}19034[#19034])
  234. REST::
  235. * Get XContent params from request in Nodes rest actions {pull}18860[#18860] (issue: {issue}18794[#18794])
  236. Reindex API::
  237. * Fix a race condition in reindex's rethrottle {pull}18731[#18731] (issue: {issue}18744[#18744])
  238. Search::
  239. * Require timeout units when parsing query body {pull}19077[#19077] (issue: {issue}19075[#19075])
  240. * Close SearchContext if query rewrite failed {pull}18727[#18727]
  241. Settings::
  242. * Register "cloud.node.auto_attributes" setting in EC2 discovery plugin {pull}18678[#18678]
  243. Snapshot/Restore::
  244. * Better handling of an empty shard's segments_N file {pull}18784[#18784] (issue: {issue}18707[#18707])
  245. Stats::
  246. * Fix sync flush total shards statistics {pull}18766[#18766]
  247. Translog::
  248. * Fix translog replay multiple operations same doc {pull}18611[#18611] (issues: {issue}18547[#18547], {issue}18623[#18623])
  249. [[upgrade-5.0.0-alpha4]]
  250. [float]
  251. === Upgrades
  252. Core::
  253. * Upgrade to Lucene 6.1.0. {pull}18926[#18926]
  254. * Upgrade to lucene-6.1.0-snapshot-3a57bea. {pull}18786[#18786]
  255. * Upgrade to Lucene 6.0.1. {pull}18648[#18648] (issues: {issue}17535[#17535], {issue}28[#28])
  256. Dates::
  257. * Upgrade joda-time to 2.9.4 {pull}18609[#18609] (issues: {issue}14524[#14524], {issue}18017[#18017])
  258. Packaging::
  259. * Upgrade JNA to 4.2.2 and remove optionality {pull}19045[#19045] (issue: {issue}13245[#13245])
  260. Plugin Discovery EC2::
  261. * Update aws sdk to 1.10.69 and add use_throttle_retries repository setting {pull}17784[#17784] (issues: {issue}538[#538], {issue}586[#586], {issue}589[#589])