5.0.0-alpha4.asciidoc 15 KB

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