On October 28th, Elastic released Elasticsearch Version 2.0.0.  Read this article for a short summary of the release notes and links to more information.

There have been some changes to mappings intended to eliminate a range of issues from exceptions when indexing and querying to search results that are different on identical requests.  This was accomplished by removing the ability to delete a type mapping and imposing restrictions, such as all fields with the same name within the same index must have the same mapping.

In a distributed app like Elasticsearch, keeping copies of data identical across multiple nodes is of extreme importance.  To that end, Elasticsearch has been hardened from an indexing perspective.  Documents are now fsynced to disk before indexing requests are acknowledged, making them “durable-by-default.”  Also, all file renames are now atomic to prevent partially written files.

Elasticsearch now only binds to localhost by default, and multicast has been replaced with unicast.  This was done to prevent an unconfigured node from a joining a public network.

Filters have been removed and replaced with filter clauses becoming query clauses.  To learn more about what that means and how to utilize it read this article.

Pipeline aggregations are a great new feature.  Rather than summarize, I’ll link to our blog post on the topic.

There are also many smaller changes to increase performance and resiliency.  The full release notes can be found here.