See issues on GitHub

Release Notes

Breaking changes:

  • Handling of the _parent field: Rejecting documents without parent field set as well as prohibit adding a parent mapping at runtime as well as  #3849
  • Reject indexing requests which specify a parent, if no parent type is defined #3848
  • Completion Suggester: Reject non-integer weights on indexing to prevent rounding #3977

New features:

  • Added a GetFieldMapping API, which allows to return the mapping for a single field #3941
  • A new highlighter based on Lucene postings highlighter has been added #3704 and #4042

Enhancements:

  • Automatic script reload, allows to reload scripts without restarting the node #4062
  • Support for routing parameter in the URI
    • Multi Search API: Support global routing parameter in the URI #4058
    • MultiGet API: Support global routing parameter in the URI #3996
    • Bulk API: Support global routing parameter in the URI #4053
  • Nodes stats API: Path, dev and mount cannot be retrieved using the Java API #4004
  • Generic cluster state update ack mechanism to wait for acknowledgements in the cluster state from other nodes #3786
    • Update cluster settings api to support acknowledgements #3995
    • Cluster reroute api to support acknowledgements #3985
    • Delete mapping api to support acknowledgements #3984
    • Update index settings api to support acknowledgements #3983
    • Delete warmer api to support acknowledgements #3833
    • Put warmer api to support acknowledgements #3831
  • Windows service: Introduce stop timeout and start type #3962
  • Date Mapping: Renamed index.mapping.date.parse_upper_inclusive to mapping.date.round_ceil #3914
  • Add support for Lucene SuggestStopFilter in the StopFilter using the remove_trailing parameter #3913
  • Add generic count down mechanism when waiting for several events to complete #3910
  • Set queue sizes by default on bulk/index thread pools #3888
  • Migrate from Trove to Hppc for internal collection handling #3858
  • Upgrade to Lucene 4.5.1 #3967
  • Better logic for ignoring empty filters when parsing in order to fall back to useful defaults #3838
  • Date math: Support year units in expressions #3828
  • Parent / child queries now also work in count, explain and delete-by-query APIs #3822
  • Terms/Terms stats facet: Add support for shard_size parameter to be more exact #3821
  • Dynamic Templates: Specifying a match mapping type criteria is sufficient #3814
  • Internal analyzer handling: Allow to load different pre built analyzers depending on its version #3790
  • The _boost field can now be indexed and stored in the mapping (to allow sorting by it) #3752
  • Discovery supports a timeout waiting for other nodes to process a new cluster state #3736
  • span_near query allows to configure no slop #3673
  • Highlighting is supported against non-search queries(like rescore) #3630
  • Internal Suggest API now carries index and shard id information #3199
  • Highlighting can now return excerpts even with no highlights #1171
  • Delete Template: When deleting with * and no templates exists, do not return an error #3723
  • REST: Add newline to response when using pretty flag #3748
  • Segments API: Support merge id on segments (groups segments being merged, useful for monitoring) #3904
  • span_multi term query now supports regexp queries #3392
  • Transport: Have a separate channel for recovery to ensure this events are prioritized properly #3954

Bug fixes:

  • Windows service.bat fixes
    • Windows: service.bat incorrectly assumes JRE will have a client/ directory #3928
    • Windows: service.bat fails if ES_HOME contains whitespaces and parentheses #3906
    • Windows: elasticsearch-service-x64 unable to reflect ES_HEAP_SIZE #3884
    • Windows: service.bat doesn't properly set the memory limits for installed services #3785
    • Windows: Incorrect JVM_DLL environment variable definition in service.bat #3760
    • Windows: service.bat should handle JRE not just JDK for starting Elasticsearch #3739
    • Windows: service.bat fails unexpectedly if JAVA_HOME contains spaces #3725
  • Fix bug in TransportShardReplicationOperationAction retry mechanism to prevent requests to hang #4019
  • Resent shard started messages when shard state is POST_RECOVERY and master died before processing #4009
  • The +index pattern without a wildcard in the index list was handled inconsistently #3979
  • Fixed a NullPointerException using has_child filter after upgrade to v0.90.5 #3965
  • A has_child query could cause an infinite loop (100% CPU) when used in bool query #3955
  • Awareness attributes could not be reset once they were set #3931
  • Settings queue_size on index/bulk thread pools could cause rejection failures when executed over network #3929
  • No results are found with specific use case when using a custom word_delimiter filter #3898
  • function_score query: Decay functions did not allow date math #3892
  • bin/plugin --install reports success for aborted installations #3882
  • match_query now supports stacked tokens (for example produces by synonym filters) #3881
  • GeoShapeQueryBuilder.toXContent() was not closing all opened objects properly #3878
  • Naming in function_score was fixed #3872
  • plugin -remove could delete the bin/ directory #3847
  • pattern_capture token filter did not return an error with patterns missing. #3808
  • NullPointerException in multi_match query when using lenient and field weight was fixed #3797
  • Prevent applying mapping updates, if the index was deleted and created in the meantime #3783
  • Deleting and creating an index quickly could cause lingering shard state events #3778
  • Update API: An operation could hang rarely when retrying on invalid shard state #3769
  • Boost did not work for prefix queries (fixed upstream in Lucene 4.5) #3754
  • Nodes Stats API: Missing completion fields #3746
  • Geo-distance sorting did not accept the sort_mode parameter #3717
  • Date range query parsing was wrong when using now
  • SimpleHTMLEncoder to not encode non-ASCII chars (fixed upstream in Lucene 4.5) #3587
  • Search API (Java): Setting track_scores does not affect scan search type #3949
  • Query String: Support multiple fields regexp queries #3901