<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[Elastica]]></title>
  <link href="http://Elastica.io/atom.xml" rel="self"/>
  <link href="http://Elastica.io/"/>
  <updated>2019-10-31T10:38:01+01:00</updated>
  <id>http://Elastica.io/</id>
  <author>
    <name><![CDATA[ruflin]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[Release 7.0.0-beta1]]></title>
    <link href="http://Elastica.io/2019/10/31/release-7-dot-0-0-beta1/"/>
    <updated>2019-10-31T10:30:38+01:00</updated>
    <id>http://Elastica.io/2019/10/31/release-7-dot-0-0-beta1</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/7.0.0-beta1">Elastica 7.0.0-beta1</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/7.0.0-beta1">download</a>).</p>

<p>This is our first release in the 7.x cycle. It is compatible with Elasticsearch 7.x. Please review the breaking changes carefully. Most of them are related to the <a href="https://www.elastic.co/guide/en/elasticsearch/reference/master/removal-of-types.html">type removal in Elasticsearch</a>.</p>

<p>This release is compatible with Elasticsearch 7.x and was tested with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/7.3/release-notes-7.3.0.html">elasticsearch 7.3.0</a>.</p>

<h3>Backward Compatibility Breaks</h3>

<ul>
<li>The <code>\Elastica\Query::$_suggest</code> property has been renamed to <code>$hasSuggest</code> and is now private, it should not be used from extending classes <a href="https://github.com/ruflin/Elastica/pull/1679">#1679</a></li>
<li><code>\Elastica\Document</code> expects a string as ID, not an int <a href="https://github.com/ruflin/Elastica/pull/1672">#1672</a>.</li>
<li>Removed <code>\Elastica\Query\GeohashCell</code> query, use <code>\Elastica\Query\GeoBoundingBox</code> instead <a href="https://github.com/ruflin/Elastica/pull/1672">#1672</a>.</li>
<li>Deprecated usage of <code>\Elastica\Type</code> class, <code>\Elastica\Index</code> class must be used instead <a href="https://github.com/ruflin/Elastica/pull/1666">#1666</a></li>
<li>Removed <code>\Elastica\Type</code> class, <code>\Elastica\Index</code> class must be used instead <a href="https://github.com/ruflin/Elastica/pull/1666">#1666</a></li>
<li>Forced index names to string in <code>\Elastica\Index::__construct()</code> <a href="https://github.com/ruflin/Elastica/pull/1666">#1666</a></li>
<li>Removed Type query <code>\Elastica\Query\Type</code> <a href="https://github.com/ruflin/Elastica/pull/1666">#1666</a></li>
<li>Removed <code>Elastica\Type</code> class, <code>Elastica\Index</code> class must be used instead <a href="https://github.com/ruflin/Elastica/pull/1666">#1666</a></li>
<li>Removed <code>type</code> handling from <code>Elastica\Search</code> class <a href="https://github.com/ruflin/Elastica/pull/1666">#1666</a></li>
<li>Removed <code>type</code> handling from <code>Elastica\Bulk</code> and <code>Elastica\Bulk\Action</code> classes <a href="https://github.com/ruflin/Elastica/pull/1666">#1666</a></li>
<li>Forced index names to string in <code>Elastica\Index::__construct()</code> <a href="https://github.com/ruflin/Elastica/pull/1666">#1666</a></li>
<li>Removed Type query <code>Elastica\Query\Type</code> <a href="https://github.com/ruflin/Elastica/pull/1666">#1666</a></li>
<li>Dropped support for PHP 7.0</li>
<li>\Elastica\AbstractUpdateAction::getOptions( $fields ) no longer supports the $underscore parameter, option names must match what elasticsearch expects.</li>
<li>Removed no longer supported \Elastica\Query\QueryString::setAutoGeneratePhraseQueries( $bool ) <a href="https://github.com/ruflin/Elastica/pull/1622">#1622</a></li>
<li>Replaced <a href="https://www.elastic.co/guide/en/elasticsearch/reference/master/breaking-changes-7.0.html#_replaced_literal_params__agg_literal_with_literal_state_literal_context_variable_in_scripted_metric_aggregations">params._agg</a> with state context variable in scripted metric aggregations</li>
<li><a href="https://www.elastic.co/guide/en/elasticsearch/reference/master/breaking-changes-7.0.html#_camel_case_and_underscore_parameters_deprecated_in_6_x_have_been_removed">Camel Case</a> and underscore parameters deprecated in 6.x have been removed</li>
<li>The parameter <a href="https://www.elastic.co/guide/en/elasticsearch/reference/master/breaking-changes-7.0.html#_the_parameter_literal_fields_literal_deprecated_in_6_x_has_been_removed_from_bulk_request">fields</a> deprecated in 6.x has been removed from Bulk requestedit and Update request.</li>
<li>The <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-parent-field.html">_parent</a> field has been removed in favour of the join field.</li>
<li>hits.total is now an object in the search response <a href="https://www.elastic.co/guide/en/elasticsearch/reference/master/breaking-changes-7.0.html#_literal_hits_total_literal_is_now_an_object_in_the_search_response">hits.total</a></li>
<li>Elastica\Reindex does not return an Index anymore but a Response.</li>
<li>Elastica\Reindex->run() does not refresh the new Index after completion anymore. Use <code>$reindex-&gt;setParam(Reindex::REFRESH, 'wait_for')</code> instead.</li>
<li><code>Elastica\Search-&gt;search()</code> and <code>Elastica\Search-&gt;count()</code> use request method <code>POST</code> by default. Same for <code>Elastica\Index</code>, <code>Elastica\Type\AbstractType</code>, <code>Elastica\Type</code>.</li>
<li>Elastica\Client <code>$_config</code> field is now a <code>ClientConfiguration</code> instead of an array</li>
<li>Removed <code>\Elastica\Client::_log</code>, <code>\Elastica\Log</code> and the <code>log</code> configuration option. Use the <code>Psr\Log\LoggerInterface $logger</code> client argument to customize logging.</li>
<li>Changed all factory methods to make use of <a href="http://docs.php.net/manual/en/language.oop5.late-static-bindings.php">late static bindings</a> by using <code>static</code> instead of <code>self</code> keyword. This is to increase extendability for classes with factory methods.</li>
</ul>


<h3>Bugfixes</h3>

<ul>
<li>Always set the Guzzle <code>base_uri</code> to support connecting to multiple ES hosts. <a href="https://github.com/ruflin/Elastica/pull/1618">#1618</a></li>
<li>Properly handle underscore prefixes in options and bulk request metadata (<a href="https://github.com/elastic/elasticsearch/issues/26886">cf upstream</a>. <a href="https://github.com/ruflin/Elastica/pull/1621">#1621</a></li>
<li>Preserve zeros while doing float serialization to JSON. <a href="https://github.com/ruflin/Elastica/pull/1635">#1635</a></li>
<li>Add <code>settings</code> level on json to create an Index in all tests (it worked till 6.x but it shouldn&rsquo;t work)</li>
</ul>


<h3>Added</h3>

<ul>
<li>support for elasticsearch-php ^7.0</li>
<li>Added <code>ParentAggregation</code> <a href="https://github.com/ruflin/Elastica/pull/1616">#1616</a></li>
<li>Elastica\Reindex missing options (script, remote, wait_for_completion, scroll&hellip;)</li>
<li>Added <code>AdjacencyMatrix</code> aggregation <a href="https://github.com/ruflin/Elastica/pull/1642">#1642</a></li>
<li>Added request method parameter to <code>Elastica\SearchableInterface-&gt;search()</code> and <code>Elastica\SearchableInterface-&gt;count()</code>. Same for <code>Elastica\Search</code><a href="https://github.com/ruflin/Elastica/issues/1441">#1441</a></li>
<li>Added support for Field Collapsing (Issue: <a href="https://github.com/ruflin/Elastica/issues/1392">#1392</a>; PR: <a href="https://github.com/ruflin/Elastica/pull/1653">#1653</a>)</li>
<li>Support string DSN in <code>\Elastica\Client</code> constructor for config argument <a href="https://github.com/ruflin/Elastica/issues/1640">#1640</a></li>
<li>Move Client configuration in a dedicated class</li>
<li>Added <code>callable</code> type hinting to <code>$callback</code> in <code>Client</code> constructor. <a href="https://github.com/ruflin/Elastica/pull/1659">#1659</a></li>
<li>Added <code>setTrackTotalHits</code> method to <code>Elastica\Query</code><a href="https://github.com/ruflin/Elastica/issues/1663">#1663</a></li>
<li>Allow metadata to be set on Aggregations (via <code>AbstractAggregation::setMeta(array)</code>). <a href="https://github.com/ruflin/Elastica/issues/1677">#1677</a></li>
</ul>


<h3>Improvements</h3>

<ul>
<li>Added <code>native_function_invocation</code> CS rule <a href="https://github.com/ruflin/Elastica/pull/1606">#1606</a></li>
<li>Elasticsearch test version changed from 6.5.2 to 6.6.1 <a href="https://github.com/ruflin/Elastica/pull/1620">#1620</a></li>
<li>Clear scroll context also when empty page was received <a href="https://github.com/ruflin/Elastica/pull/1660">#1660</a></li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 6.1.1]]></title>
    <link href="http://Elastica.io/2019/01/29/release-6-dot-1-1/"/>
    <updated>2019-01-29T10:41:12+01:00</updated>
    <id>http://Elastica.io/2019/01/29/release-6-dot-1-1</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/6.1.1">Elastica 6.1.1</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/6.1.1">download</a>).</p>

<p>This release is compatible with Elasticsearch 6.x and was tested with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/6.5/release-notes-6.5.2.html">elasticsearch 6.5.2</a>.</p>

<h3>Added</h3>

<ul>
<li>Added <code>BucketSelector</code> aggregation <a href="https://github.com/ruflin/Elastica/pull/1554">#1554</a></li>
<li>Added <code>DerivativeAggregation</code> <a href="https://github.com/ruflin/Elastica/pull/1553">#1553</a></li>
<li>The preferred type name is <a href="https://www.elastic.co/guide/en/elasticsearch/reference/6.5/removal-of-types.html">_doc</a>, so that index APIs have the same path as they will have in 7.0</li>
<li>Introduced new version of PHP-CS-Fixer and new Lint travis step. <a href="https://github.com/ruflin/Elastica/pull/1555">#1555</a></li>
</ul>


<h3>Improvements</h3>

<ul>
<li>Reduced memory footprint of response by not keeping the raw JSON data when JSON after JSON has been parsed. <a href="https://github.com/ruflin/Elastica/pull/1588">#1588</a></li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 6.1.0]]></title>
    <link href="http://Elastica.io/2018/12/06/release-6-dot-1-0/"/>
    <updated>2018-12-06T08:42:15+01:00</updated>
    <id>http://Elastica.io/2018/12/06/release-6-dot-1-0</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/6.1.0">Elastica 6.1.0</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/6.1.0">download</a>).</p>

<p>This release is compatible with Elasticsearch 6.x and was tested with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/6.2/release-notes-6.2.4.html">elasticsearch 6.2.4</a>.</p>

<h3>Backward Compatibility Breaks</h3>

<ul>
<li>Made result sets adhere to <code>\Iterator</code> interface definition that they implement. Specifically, you need to call <code>valid()</code> on the result set before calling <code>current()</code>. When using <code>foreach</code> this is done by PHP automatically. When <code>valid</code> returns false, the return value of <code>current</code> is undefined instead of false. <a href="https://github.com/ruflin/Elastica/pull/1506">#1506</a>

<ul>
<li><code>\Elastica\ResultSet::next</code> returns <code>void</code> instead of <code>\Elastica\Result|false</code></li>
<li><code>\Elastica\Bulk\ResponseSet::current</code> returns <code>\Elastica\Bulk\Response</code> instead of <code>\Elastica\Bulk\Response|false</code></li>
<li><code>\Elastica\Multi\ResultSet::current</code> returns <code>\Elastica\ResultSet</code> instead of <code>\Elastica\ResultSet|false</code></li>
</ul>
</li>
</ul>


<h3>Added</h3>

<ul>
<li>Added a transport class for mocking a HTTP 403 error codes, useful for testing response failures in inheriting clients</li>
<li><a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html#function-random">Field</a> param for <code>Elastica\Query\FunctionScore::addRandomScoreFunction</code> <a href="https://github.com/ruflin/Elastica/pull/1529">#1529</a></li>
<li><a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-recovery.html">Index Recovery</a> : the indices recovery API provides insight into on-going index shard recoveries. It was never been implemented into Elastica. <a href="https://github.com/ruflin/Elastica/pull/1537">#1537</a></li>
<li>add parent_id (reference <a href="https://github.com/ruflin/Elastica/issues/1518">#1518</a>) in QueryBuilder. <a href="[#1518](https://github.com/ruflin/Elastica/issues/1533">#1533</a>)</li>
<li>implemented <code>string_distance</code> option in Term Suggestion <a href="https://github.com/ruflin/Elastica/pull/1543">#1543</a></li>
</ul>


<h3>Improvements</h3>

<ul>
<li>Using <code>Elastica\Query\FunctionScore::addRandomScoreFunction</code> without <code>$field</code> parameter is deprecated since ES 6.0 and will fail since ES 7.0 <a href="https://github.com/ruflin/Elastica/pull/1522">#1522</a></li>
<li><code>Aggreation\Percentiles</code> updated to a newer version of the Algorithm (T-Digest 3.2) and Percentiles results changed a bit Have a <a href="https://github.com/elastic/elasticsearch/pull/28305">look at here</a>, so updated tests in order not to fail. <a href="[#1352](https://github.com/ruflin/Elastica/pull/1531">#1531</a>)</li>
<li><p><code>Aggregation\Percentiles</code> have been updated since <a href="https://www.elastic.co/guide/en/elasticsearch/reference/2.3/search-aggregations-metrics-percentile-aggregation.html">Elasticsearch 2.3</a>. In this version <code>compression, HDR histogram</code> changed their implementations. The <code>missing</code> field has never been implemented. <a href="https://github.com/ruflin/Elastica/pull/1532">#1532</a></p>

<p>Before
<code>json
  "compression" : 200,
  "method" : "hdr",
  "number_of_significant_value_digits" : 3
</code></p>

<p>Now
<code>json
  "tdigest": {
    "compression" : 200
  },
  "hdr": {
    "number_of_significant_value_digits" : 3
  }
</code></p></li>
<li>Never implemented the method <em>Missing</em> on <a href="https://www.elastic.co/guide/en/elasticsearch/reference/6.4/search-aggregations-metrics-percentile-aggregation.html"><code>Aggregation\Percentiles</code></a> <a href="https://github.com/ruflin/Elastica/pull/1532">#1532</a></li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 6.0.2]]></title>
    <link href="http://Elastica.io/2018/05/29/release-6-dot-0-2/"/>
    <updated>2018-05-29T09:55:00+02:00</updated>
    <id>http://Elastica.io/2018/05/29/release-6-dot-0-2</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/6.0.2">Elastica 6.0.2</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/6.0.2">download</a>).</p>

<p>This release is compatible with Elasticsearch 6.x and was tested with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/6.2/release-notes-6.2.4.html">elasticsearch 6.2.4</a>.</p>

<h3>Added</h3>

<ul>
<li>Added support for pipeline when indexing document. <a href="https://github.com/ruflin/Elastica/pull/1455">#1455</a></li>
<li>Added support for multiple bucket sort orders for aggregations. <a href="https://github.com/ruflin/Elastica/pull/1480">#1480</a></li>
<li>Added basic support for the Elasticsearch Task Api</li>
<li>Added updateByQuery endpoint. <a href="https://github.com/ruflin/Elastica/pull/1499">#1499</a></li>
</ul>


<h3>Improvements</h3>

<ul>
<li>Use <code>source</code> script field instead of deprecated (since ES 5.6) <code>inline</code> field. <a href="https://github.com/ruflin/Elastica/pull/1497">#1497</a></li>
<li>Updated Elasticsearch testing version to 6.2.4. <a href="https://github.com/ruflin/Elastica/pull/1501">#1501</a></li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 6.0.1]]></title>
    <link href="http://Elastica.io/2018/02/18/release-6-dot-0-1/"/>
    <updated>2018-02-18T21:57:06+01:00</updated>
    <id>http://Elastica.io/2018/02/18/release-6-dot-0-1</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/6.0.1">Elastica 6.0.1</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/6.0.1">download</a>).</p>

<p>This release is compatible with Elasticsearch 6.x and was tested with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/6.0/release-notes-6.0.0.html">elasticsearch 6.0.0</a>.</p>

<h3>Bugfixes</h3>

<ul>
<li>Characters &ldquo;&lt;&rdquo; and &ldquo;>&rdquo; will be removed when a query term is passed to <a href="https://github.com/ruflin/Elastica/pull/1415/files"><code>Util::escapeTerm</code></a>. Since v5.1 the <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.1/query-dsl-query-string-query.html#_reserved_characters">documentation</a> states that these symbols cannot be escaped ever.</li>
<li>Remove <a href="http://www.php.net/each"><code>each()</code></a> usage to fix PHP 7.2 compatibility</li>
<li>Fix <a href="https://github.com/ruflin/Elastica/issues/1435">#1435</a> forcing <code>doc_as_upsert</code> to be boolean, acording <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html#_literal_doc_as_upsert_literal">Elastic doc-update documentation</a></li>
<li>Fix <a href="https://github.com/ruflin/Elastica/issues/1456">#1456</a> set SSL as connection scheme if it is required</li>
</ul>


<h3>Added</h3>

<ul>
<li>Added request parameters to <code>Client-&gt;deleteDocuments()</code>. <a href="https://github.com/ruflin/Elastica/pull/1419">#1419</a></li>
<li>Added request parameters to <code>Type-&gt;updateDocuments()</code>, <code>Type-&gt;addDocuments()</code>, <code>Type-&gt;addObjects()</code>, <code>Index-&gt;addDocuments()</code>, <code>Index-&gt;updateDocuments()</code>. <a href="https://github.com/ruflin/Elastica/pull/1427">#1427</a></li>
<li>Added avg_bucket() and sum_bucket() in aggregations <a href="https://github.com/ruflin/Elastica/pull/1443">PR#1443</a> - (<a href="https://github.com/ruflin/Elastica/issues/1279">https://github.com/ruflin/Elastica/issues/1279</a>)</li>
<li>Added support for <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-query.html#query-dsl-terms-lookup">terms lookup mechanism</a> on terms query <a href="https://github.com/ruflin/Elastica/pull/1452">#1452</a></li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 5.3.1]]></title>
    <link href="http://Elastica.io/2018/02/18/release-5-dot-3-1/"/>
    <updated>2018-02-18T21:46:55+01:00</updated>
    <id>http://Elastica.io/2018/02/18/release-5-dot-3-1</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/5.3.1">Elastica 5.3.1</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/5.3.1">download</a>).</p>

<p>This release is compatible with Elasticsearch 5.x and was tested with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.4/release-notes-5.4.1.html">elasticsearch 5.4.1</a>.</p>

<h3>Bugfixes</h3>

<ul>
<li>Removed deprecated <code>min_word_len</code> field in <code>Elastica\Suggest\Term</code>.
Use <code>min_word_length</code> instead.</li>
</ul>


<h3>Added</h3>

<ul>
<li>Added clear() to <code>Scroll</code> for closing search context on ES manually</li>
<li>In PHP 7.2 count() now raises a warning when an invalid parameter is passed. Only arrays and objects implementing the Countable interface should be passed. <a href="https://github.com/ruflin/Elastica/pull/1378">#1378</a></li>
</ul>


<h3>Improvements</h3>

<ul>
<li>Clear search context on ES after usage in <code>Scroll</code></li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 6.0.0]]></title>
    <link href="http://Elastica.io/2017/11/15/release-6-dot-0-0/"/>
    <updated>2017-11-15T00:27:37+01:00</updated>
    <id>http://Elastica.io/2017/11/15/release-6-dot-0-0</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/6.0.0">Elastica 6.0.0</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/6.0.0">download</a>).</p>

<p>This is the firts GA release of the 6.x release cycle. The release is compatible with Elasticsearch 6.x and was tested with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/6.0/release-notes-6.0.0.html">Elasticsearch 6.0.0</a>.</p>

<p>For previous breaking changes in 6.0 make sure to also have a look at the <a href="http://Elastica.io/2017/10/05/release-6-dot-0-0-beta1/">breaking changes in 6.0.0-beta1</a> release.</p>

<h3>Backward Compatibility Breaks</h3>

<ul>
<li>Return the <a href="https://github.com/elastic/elasticsearch/pull/26982">_source of inner hit nested</a> as is without wrapping it into its full path context <a href="https://github.com/ruflin/Elastica/pull/1398">#1398</a></li>
<li>Removed CrossIndex Class as from now use Reindex. <a href="https://github.com/ruflin/Elastica/pull/1411">#1411</a></li>
</ul>


<h3>Added</h3>

<ul>
<li>Added clear() to <code>Scroll</code> for closing search context on ES manually</li>
<li>Added Elastica\Aggregation\StatsBucket</li>
</ul>


<h3>Improvements</h3>

<ul>
<li>Clear search context on ES after usage in <code>Scroll</code></li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 6.0.0-beta1]]></title>
    <link href="http://Elastica.io/2017/10/05/release-6-dot-0-0-beta1/"/>
    <updated>2017-10-05T12:56:41+02:00</updated>
    <id>http://Elastica.io/2017/10/05/release-6-dot-0-0-beta1</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/6.0.0-beta1">Elastica 6.0.0-beta1</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/6.0.0-beta1">download</a>).</p>

<p>This is the first pre release of the 6.x release cycle. The release is compatible with Elasticsearch 6.x and was tested with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/6.0/release-notes-6.0.0-rc1.html">Elasticsearch 6.0.0-rc1</a>.</p>

<h2>Backward Compatibility Breaks</h2>

<ul>
<li>Numeric to and from parameters in <a href="https://www.elastic.co/guide/en/elasticsearch/reference/6.0/breaking_60_aggregations_changes.html#_numeric_literal_to_literal_and_literal_from_literal_parameters_in_literal_date_range_literal_aggregation_are_interpreted_according_to_literal_format_literal_now">date_range aggregation</a> are interpreted according to format of the target field</li>
<li>In ES6 only <a href="https://github.com/elastic/elasticsearch/pull/22200">strict type boolean</a> are accepted. <a href="https://www.elastic.co/guide/en/elasticsearch/reference/6.0/boolean.html">On ES6 docs</a></li>
<li>removed analyzed/not_analyzed on <a href="https://www.elastic.co/guide/en/elasticsearch/reference/6.0/mapping-index.html">indices mapping</a></li>
<li><a href="https://www.elastic.co/guide/en/elasticsearch/reference/6.0/mapping-store.html">store</a> field only accepts boolean</li>
<li>Replace IndexAlreadyExistsException with <a href="https://github.com/elastic/elasticsearch/pull/21494">ResourceAlreadyExistsException</a> <a href="https://github.com/ruflin/Elastica/pull/1350">#1350</a></li>
<li>in order to delete an index you should not delete by its alias now you should delete using the <a href="https://github.com/elastic/elasticsearch/blob/6.0/core/src/test/java/org/elasticsearch/aliases/IndexAliasesIT.java#L445">concrete index name</a> <a href="https://github.com/ruflin/Elastica/pull/1348">#1348</a></li>
<li>Removed <code>optimize</code> from Index class as it has been deprecated in ES 2.1 and removed in <a href="https://www.elastic.co/guide/en/elasticsearch/reference/2.4/indices-optimize.html">ES 5.x+</a> use forcemerge <a href="https://github.com/ruflin/Elastica/pull/1350">#1351</a></li>
<li>In QueryString is not allowed to use fields parameters in conjunction with default_field parameter. This is not well documented, it&rsquo;s possibile to understand from <a href="https://github.com/elastic/elasticsearch/blob/6.0/core/src/test/java/org/elasticsearch/index/query/QueryStringQueryBuilderTests.java#L917">Elasticsearch tests :  QueryStringQueryBuilderTests.java</a> <a href="https://github.com/ruflin/Elastica/pull/1352">#1352</a></li>
<li>Index mapping field of type <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.5/string.html"><em>&lsquo;string&rsquo;</em></a> has been removed from Elasticsearch 6.0 codebase <a href="https://github.com/ruflin/Elastica/pull/1353">#1353</a></li>
<li>The <a href="https://github.com/elastic/elasticsearch/pull/25516">created and found</a> fields in index and delete responses became obsolete after the introduction of the result field in index, update and delete responses <a href="https://github.com/ruflin/Elastica/pull/1354">#1354</a></li>
<li>Removed file scripts <a href="https://github.com/elastic/elasticsearch/pull/24627">#24627</a> <a href="https://github.com/ruflin/Elastica/pull/1364">#1364</a></li>
<li>Removed <a href="https://github.com/elastic/elasticsearch/pull/21607">groovy script</a> <a href="https://github.com/ruflin/Elastica/pull/1364">#1364</a></li>
<li>Removed <a href="https://github.com/elastic/elasticsearch/pull/24726">native script</a> <a href="https://github.com/ruflin/Elastica/pull/1364">#1364</a></li>
<li>Removed old / removed script language support : javascript, python, mvel <a href="https://github.com/ruflin/Elastica/pull/1364">#1364</a></li>
<li>Disable <a href="https://github.com/elastic/elasticsearch/pull/22144">_all</a> by default, disallow configuring _all on 6.0+ indices <a href="https://github.com/ruflin/Elastica/pull/1365">#1365</a></li>
<li><a href="https://github.com/elastic/elasticsearch/pull/26102">Unfiltered nested source</a> should keep its full path <a href="https://github.com/ruflin/Elastica/pull/1366">#1366</a></li>
<li>The deprecated minimum_number_should_match parameter in the bool query has been removed, use minimum_should_match instead. <a href="https://github.com/ruflin/Elastica/pull/1369">#1369</a></li>
<li>For geo_distance queries, sorting, and aggregations the sloppy_arc option has been removed from the distance_type parameter. <a href="https://github.com/ruflin/Elastica/pull/1369">#1369</a></li>
<li>The geo_distance_range query, which was deprecated in 5.0, has been removed. <a href="https://github.com/ruflin/Elastica/pull/1369">#1369</a></li>
<li>The optimize_bbox parameter has been removed from geo_distance queries. <a href="https://github.com/ruflin/Elastica/pull/1369">#1369</a></li>
<li>The disable_coord parameter of the bool and common_terms queries has been removed. If provided, it will be ignored and issue a deprecation warning. <a href="https://github.com/ruflin/Elastica/pull/1369">#1369</a></li>
<li><a href="https://github.com/elastic/elasticsearch/pull/26102">Unfiltered nested source</a> should keep its full path <a href="https://github.com/ruflin/Elastica/pull/1366">#1366</a></li>
<li><a href="https://www.elastic.co/guide/en/elasticsearch/reference/6.0/_explain_analyze.html">Analyze Explain</a> no more support <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.5/indices-analyze.html">request parameters</a>, use request body instead. <a href="https://github.com/ruflin/Elastica/pull/1370">#1370</a></li>
<li><a href="https://github.com/elastic/elasticsearch/pull/20416">Mapper Attachment plugin has been removed</a> Use Ingest-attachment plugin and attachment processors with pipeline to ingest new documents. <a href="https://github.com/ruflin/Elastica/pull/1375">#1375</a></li>
<li><a href="https://github.com/elastic/elasticsearch/pull/21837">Indices</a> Query has been removed in Elasticsearch 6.0 <a href="https://github.com/ruflin/Elastica/pull/1376">#1376</a></li>
<li>Remove deprecated <a href="https://github.com/elastic/elasticsearch/pull/26720">type and slop</a> field in match query <a href="https://github.com/ruflin/Elastica/pull/1382">#1382</a></li>
<li>Remove <a href="https://github.com/elastic/elasticsearch/pull/26711">several parse field</a> deprecations in query builders <a href="https://github.com/ruflin/Elastica/pull/1382">#1382</a></li>
<li>Remove <a href="https://github.com/elastic/elasticsearch/pull/26508">deprecated parameters</a> from ids_query <a href="https://github.com/ruflin/Elastica/pull/1382">#1382</a></li>
<li>Implemented <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/parent-join.html">join-datatype</a> is a special field that creates parent/child relation within documents of the same index. <a href="https://github.com/ruflin/Elastica/pull/1383">#1383</a></li>
</ul>


<h2>Bugfixes</h2>

<ul>
<li>Enforce <a href="https://github.com/elastic/elasticsearch/pull/23146">Content-Type requirement on the layer Rest</a>, a <a href="https://github.com/ruflin/Elastica/issues/1301">PR on Elastica #1301</a> solved it (it has been implemented only in the HTTP Transport), but it was not implemented in the Guzzle Transport. <a href="https://github.com/ruflin/Elastica/pull/1349">#1349</a></li>
<li>Scroll no longer does an extra iteration both on an empty result and on searches where the last page has a significantly smaller number of results than the pages before it.</li>
</ul>


<h2>Added</h2>

<ul>
<li>Added <code>Query\SpanContaining</code>, <code>Query\SpanWithin</code> and <code>Query\SpanNot</code> <a href="https://github.com/ruflin/Elastica/pull/1319">#1319</a></li>
<li>Implemented <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/pipeline.html">Pipeline</a> and <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-processors.html">Processors</a>. <a href="https://github.com/ruflin/Elastica/pull/1373">#1373</a></li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 5.3.0]]></title>
    <link href="http://Elastica.io/2017/07/26/release-5-dot-3-0/"/>
    <updated>2017-07-26T14:11:19+02:00</updated>
    <id>http://Elastica.io/2017/07/26/release-5-dot-3-0</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/5.3.0">Elastica 5.3.0</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/5.3.0">download</a>).</p>

<p>This release is compatible with Elasticsearch 5.x and was tested with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.4/release-notes-5.4.1.html">elasticsearch 5.4.1</a>.</p>

<h2>Backward Compatibility Breaks</h2>

<ul>
<li>Removed <code>Query\NumericRange</code>, use <code>Query\Range</code> instead <a href="https://github.com/ruflin/Elastica/pull/1334">#1334</a></li>
</ul>


<h2>Bugfixes</h2>

<ul>
<li>Send the <code>scroll_id</code> inside a json body instead of plain text <a href="https://github.com/ruflin/Elastica/pull/1325">#1325</a></li>
</ul>


<h2>Added</h2>

<ul>
<li>Added getNumberOfReplicas() for index settings <a href="https://github.com/ruflin/Elastica/pull/1324">PR#1324</a></li>
<li>Added getNumberOfShards() for index settings <a href="https://github.com/ruflin/Elastica/pull/1331">PR#1321</a></li>
<li>Added <code>\Elastica\Query\Span*</code> for proximity searches <a href="https://github.com/ruflin/Elastica/issues/304">#304</a></li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 5.2.1]]></title>
    <link href="http://Elastica.io/2017/06/07/release-5-dot-2-1/"/>
    <updated>2017-06-07T14:59:05+02:00</updated>
    <id>http://Elastica.io/2017/06/07/release-5-dot-2-1</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/5.2.1">Elastica 5.2.1</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/5.2.1">download</a>).</p>

<p>This release is compatible with Elasticsearch 5.x and was tested with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.2/release-notes-5.2.2.html">elasticsearch 5.2.2</a>.</p>

<h2>Bugfixes</h2>

<ul>
<li>Fix elastic 5.3.x deprecation warning related to Content-Type not being set.</li>
<li>Fix updating settings of an index. <a href="https://github.com/ruflin/Elastica/pull/1296">#1296</a></li>
<li>Fix bad parameter value to refresh document <a href="https://github.com/rufli/Elastica/pull/1318">#1318</a></li>
</ul>


<h2>Added</h2>

<ul>
<li>Parameter <code>filter_path</code> for response filtering (e.g. <code>$index-&gt;search($query, ['filter_path' =&gt; 'hits.hits._source'])</code>)</li>
<li>Add support for Health parameters for Cluster\Health endpoint (new prop : delayed_unassigned_shards, number_of_pending_tasks, number_of_in_flight_fetch, task_max_waiting_in_queue_millis, active_shards_percent_as_number)</li>
<li>Add support for querystring in Type. this allow to use <code>update_all_types</code> in type mapping in order to resolve conflicts between fields in different types. <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html#merging-conflicts">Conflicts between fields in different types</a></li>
<li>Added <code>\Elastica\Query\ParentId</code> to avoid join with parent documents <a href="https://github.com/ruflin/Elastica/issues/1287">#1287</a></li>
<li>Added <code>\Elastica\Reindex</code> for reindexing between indices <a href="https://github.com/ruflin/Elastica/issues/1311">#1311</a></li>
</ul>


<h2>Improvements</h2>

<ul>
<li>Added support for <code>other_bucket</code> and <code>other_bucket_key</code> paramters on <code>Elastica\Aggregation\Filters</code></li>
</ul>


<h2>Deprecated</h2>

<ul>
<li>Deprecated <code>Tool\CrossIndex</code> use <code>\Elastica\Reindex</code> instead <a href="https://github.com/ruflin/Elastica/issues/1311">#1311</a></li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 5.2.0]]></title>
    <link href="http://Elastica.io/2017/04/13/release-5-dot-2-0/"/>
    <updated>2017-04-13T11:04:37+02:00</updated>
    <id>http://Elastica.io/2017/04/13/release-5-dot-2-0</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/5.2.0">Elastica 5.2.0</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/5.2.0">download</a>).</p>

<p>This release is compatible with Elasticsearch 5.x and was tested with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.2/release-notes-5.2.2.html">elasticsearch 5.2.2</a>.</p>

<p>This release adds the official elasticsearch client <a href="https://github.com/elastic/elasticsearch-php">elasticsearch-php</a> as a dependency. All endpoints from the official client can now also be used in Elastica through <code>requestEndpoint</code>.</p>

<h2>Bugfixes</h2>

<ul>
<li>Fix reading bool index settings like <code>\Elastica\Index\Settings::getBlocksWrite</code>. Elasticsearch returns all settings as strings and does not normalize bool values.
The getters now return the right bool value for whichever string representation is used like &lsquo;true&rsquo;, &lsquo;1&rsquo;, &lsquo;on&rsquo;, &lsquo;yes&rsquo;. <a href="https://github.com/ruflin/Elastica/pull/1251">#1251</a></li>
<li>Fix for QueryBuilder version check <code>\Elastica\QueryBuilder\Version\Version240.php</code> added all new query types to queries array. <a href="https://github.com/ruflin/Elastica/pull/1266">#1266</a> <a href="https://github.com/ruflin/Elastica/pull/1269">#1269</a></li>
<li>Do not modify the original query in <code>\Elastica\Search::count</code>. <a href="https://github.com/ruflin/Elastica/pull/1276">#1276</a></li>
</ul>


<h2>Added</h2>

<ul>
<li>Added <code>\Elastica\Client::requestEndpoint</code>, <code>\Elastica\Index::requestEndpoint</code>, <code>\Elastica\Type::requestEndpoint</code> that allow make requests with official client Endpoint usage. <a href="https://github.com/ruflin/Elastica/pull/1275">#1275</a></li>
<li>Added <code>\Elastica\Aggregation\GeoBounds</code> that computes the bounding box containing all geo_point values for a field. <a href="https://github.com/ruflin/Elastica/pull/1271">#1271</a></li>
<li>Added <code>\Elastica\Query\MatchNone</code> the inverse of MatchAll. <a href="https://github.com/ruflin/Elastica/pull/1276">#1276</a></li>
</ul>


<h2>Improvements</h2>

<ul>
<li>added support for the &ldquo;explain&rdquo; flag of AnalyzeAPI <a href="https://github.com/ruflin/Elastica/pull/1254">#1254</a></li>
<li>added support for the &ldquo;request_cache&rdquo; search option <a href="https://github.com/ruflin/Elastica/pull/1243">#1243</a></li>
<li>skip sending &ldquo;retry_on_conflict=0&rdquo; default query param to improve compatibility with Amazon Elasticsearch <a href="https://github.com/ruflin/Elastica/pull/1047">#1047</a></li>
<li>optimized <code>\Elastica\Scroll</code> to avoid one request <a href="https://github.com/ruflin/Elastica/pull/1273">#1273</a></li>
<li>Update elasticsearch-php dependency to 5.2.0 <a href="https://github.com/ruflin/Elastica/pull/1245">#1245</a></li>
<li>Update elasticsearch testing dependency to 5.2.2 <a href="https://github.com/ruflin/Elastica/pull/1245">#1245</a></li>
</ul>


<h2>Deprecated</h2>

<ul>
<li>Deprecated <code>\Elastica\Exception\ElasticsearchException</code> which is irrelevant since Elasticsearch now exposes the errors as a structured array instead of a single string.
Use <code>\Elastica\Exception\ResponseException::getResponse::getFullError</code> instead.</li>
<li>Deprecated both <code>prefix_len</code> &amp; <code>min_word_len</code> fields in <code>Elastica\Suggest\CandidateGenerator\DirectGenerator</code> as these now return errors when using the phrase suggester to querying terms.
Use <code>prefix_length</code> &amp; <code>min_word_length</code> instead <a href="https://github.com/ruflin/Elastica/pull/1282">#1282</a>
Use <code>\Elastica\Exception\ResponseException::getResponse::getFullError</code> instead. <a href="https://github.com/ruflin/Elastica/pull/1251">#1251</a></li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 5.1.0]]></title>
    <link href="http://Elastica.io/2017/02/15/release-5-dot-1-0/"/>
    <updated>2017-02-15T12:23:04+01:00</updated>
    <id>http://Elastica.io/2017/02/15/release-5-dot-1-0</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/5.1.0">Elastica 5.1.0</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/5.1.0">download</a>).</p>

<p>This release is compatible with Elasticsearch 5.x and was tested with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.1/release-notes-5.1.2.html">elasticsearch 5.1.2</a>.</p>

<h2>Backward Compatibility Breaks</h2>

<ul>
<li><code>\Elastica\Script\AbstractScript</code> added the script language as constructor argument and sub-classes must implement <code>getScriptTypeArray</code></li>
</ul>


<h2>Bugfixes</h2>

<ul>
<li>Removed features that do not exist in Elasticsearch 5.0 anymore:

<ul>
<li><code>ttl</code> and <code>timestamp</code> logic: setters and getters in documents and mapping</li>
<li><code>\Elastica\Query\Missing</code>: negate <code>\Elastica\Query\Exists</code> instead</li>
<li><code>\Elastica\Query\TopChildren</code></li>
</ul>
</li>
<li><code>\Elastica\Query\MatchPhrase</code> and <code>\Elastica\Query\MatchPhrasePrefix</code> do not extend <code>\Elastica\Query\Match</code> anymore because they do not share exactly the same options</li>
<li>Removed the <code>routing</code> option in <code>\Elastica\Index::create</code> because there is no routing param when creating an index. So that option was doing nothing so far but fails in Elasticearch 5.0 because the non-existing query param is validated.</li>
<li>Fix <code>relation</code> property of <code>\Elastica\Query\GeoShapeProvided</code></li>
</ul>


<h2>Added</h2>

<ul>
<li>added <code>\Elastica\Script\ScriptId</code> to reference stored scripts by ID</li>
<li>added <code>\Elastica\Query\AbstractGeoShape::RELATION_WITHIN</code></li>
<li>Date math in index names is now escaped in URI</li>
<li>Added a check for paths that already have date math escaped</li>
</ul>


<h2>Improvements</h2>

<ul>
<li><code>\Elastica\Query\HasParent</code> to use <code>parent_type</code> instead of <code>type</code>. Fixes warning due to field being deprecated.</li>
</ul>


<h2>Deprecated</h2>

<ul>
<li>Deprecated functionality that is also deprecated in Elasticsearch 5.0:

<ul>
<li><code>\Elastica\Client::optimizeAll</code> in favor of <code>\Elastica\Client::forcemergeAll</code></li>
<li><code>\Elastica\Query\BoolQuery::setMinimumNumberShouldMatch</code> in favor of <code>\Elastica\Query\BoolQuery::setMinimumShouldMatch</code></li>
<li><code>\Elastica\Query\GeoDistanceRange</code>: use distance aggregations or sorting instead</li>
<li><code>\Elastica\Query\GeohashCell</code></li>
<li><code>\Elastica\Query\Indices</code>: search on the <code>_index</code> field instead</li>
<li><code>\Elastica\Query\Match::setFieldType</code>: use <code>\Elastica\Query\MatchPhrase</code> and <code>\Elastica\Query\MatchPhrasePrefix</code> instead</li>
</ul>
</li>
<li><code>\Elastica\Transport\Null</code> is deprecated because null is a reserved class name in PHP 7. Use <code>\Elastica\Transport\NullTransport</code> instead.</li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 5.0.0]]></title>
    <link href="http://Elastica.io/2016/12/14/release-5-dot-0-0/"/>
    <updated>2016-12-14T09:58:44+01:00</updated>
    <id>http://Elastica.io/2016/12/14/release-5-dot-0-0</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/5.0.0">Elastica 5.0.0</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/5.0.0">download</a>).</p>

<p>This is the first GA release of the Elastica 5.x series. Elastica is now compatible with <a href="(https://www.elastic.co/guide/en/elasticsearch/reference/5.0/release-notes-5.0.0.html">Elasticsearch 5.0</a>). For all the backward compatibility changes also check <a href="http://elastica.io/2016/11/09/release-5-dot-0-0-beta1/">5.0.0-beta1 release notes</a>. For all the major changes in Elasticsearch 5.0 check this <a href="https://www.elastic.co/blog/elasticsearch-5-0-0-released">blog post</a>.</p>

<h2>Backward Compatibility Fixes</h2>

<ul>
<li>remove _shutdown for Node and Cluster as deprecated</li>
</ul>


<h2>Bugfixes</h2>

<ul>
<li>Query options such as &ldquo;timeout&rdquo; or &ldquo;terminate_after&rdquo; should not be ignored when using Multi\Search</li>
</ul>


<h2>Added</h2>

<ul>
<li>Added regex option form suggest completions <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-completion.html#regex">https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters-completion.html#regex</a></li>
</ul>


<h2>Improvements</h2>

<ul>
<li><code>\Elastica\JSON</code> throws exception with readable message instead of errno</li>
<li><code>\Elastica\JSON::stringify</code> throws <code>\Elastica\Exception\JSONParseException</code> on error</li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 5.0.0-beta1]]></title>
    <link href="http://Elastica.io/2016/11/09/release-5-dot-0-0-beta1/"/>
    <updated>2016-11-09T22:11:31+01:00</updated>
    <id>http://Elastica.io/2016/11/09/release-5-dot-0-0-beta1</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/5.0.0-beta1">Elastica 5.0.0-beta1</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/5.0.0-beta1">download</a>).</p>

<p>This is the first major release of the Elastica 5.x series. Elastica is now compatible with <a href="(https://www.elastic.co/guide/en/elasticsearch/reference/5.0/release-notes-5.0.0.html">Elasticsearch 5.0</a>). For all the major changes in Elasticsearch 5.0 check this <a href="https://www.elastic.co/blog/elasticsearch-5-0-0-released">blog post</a>.</p>

<p>Lots of major changes and breaking changes have gone into this release. Please test this release with Elasticsearch 5.0 and report any issues on Github. A special thank you goes to <a href="https://github.com/p365labs">@p365labs</a> and <a href="https://github.com/Zyqsempai">@Zyqsempai</a> that helped to make this release possible.</p>

<h2>Backward Compatibility Breaks</h2>

<ul>
<li>Update elasticsearch dependency to 5.0</li>
<li>Replace flush refresh param with a options array</li>
<li>Rename Mapping::setFields to Mapping::setStoredFields</li>
<li>Removing all deprecated filters including tests. Use queries instead.</li>
<li>Remove deprecated Elastica\Script*.php classes. Use Elastica\Script* instead.</li>
<li>Remove Elastica/Query/Image.php and test/Elastica/Query/ImageTest.php, no more support for image-plugin.</li>
<li>Remove Elastica/Query/Filtered.php and test/Elastica/Query/FilteredTest.php and all uses from code.</li>
<li>Remove index.merge.policy.merge_factor, and set/get MergePolicy as it looks deprecated from ES 1.6</li>
<li>Add new &ldquo;Percolate query&rdquo; functionality and tests</li>
<li>Remove in Elastica\AbstractUpdateAction Option &ldquo;percolate&rdquo;, getter and setter as deprecated as of ES 1.3. Use Percolator instead.</li>
<li>Remove in Elastica\Aggregation\DateHistogram Option &ldquo;pre_zone&rdquo; is deprecated as of ES 1.5. Use &ldquo;time_zone&rdquo; instead</li>
<li>Remove in Elastica\Aggregation\DateHistogram Option &ldquo;post_zone&rdquo; is deprecated as of ES 1.5. Use &ldquo;time_zone&rdquo; instead.</li>
<li>Remove in Elastica\Aggregation\DateHistogram Option &ldquo;pre_zone_adjust_large_interval&rdquo; is deprecated as of ES 1.5. Use &ldquo;time_zone&rdquo; instead.</li>
<li>Remove in Elastica\Aggregation\DateHistogram Option &ldquo;pre_offset&rdquo; is deprecated as of ES 1.5. Use &ldquo;offset&rdquo; instead.</li>
<li>Remove in Elastica\Aggregation\DateHistogram Option &ldquo;post_offset&rdquo; is deprecated as of ES 1.5. Use &ldquo;offset&rdquo; instead.</li>
<li>Remove Elastica\Document::set as deprecated. Use Elastica\Document::set instead</li>
<li>Remove Elastica\Document::setScript() is no longer available as of 0.90.2. See <a href="http://elastica.io/migration/0.90.2/upsert.html">http://elastica.io/migration/0.90.2/upsert.html</a> to migrate.</li>
<li>Remove Elastica\Document::getScript() is no longer available as of 0.90.2. See <a href="http://elastica.io/migration/0.90.2/upsert.html">http://elastica.io/migration/0.90.2/upsert.html</a> to migrate.</li>
<li>Remove Elastica\Document::hasScript() is no longer available as of 0.90.2. See <a href="http://elastica.io/migration/0.90.2/upsert.html">http://elastica.io/migration/0.90.2/upsert.html</a> to migrate.</li>
<li>Remove Elastica/Query::setLimit as deprecated. Use the Elastica/Query::setSize() method</li>
<li>Remove Elastica\Query\Builder</li>
<li>Remove Elastica\Query\Fuzzy::addField as deprecated. Use Elastica\Query\Fuzzy::setField and Elastica\Query\FuzzysetFieldOption instead.</li>
<li>Remove Elastica\Query::setIds as deprecated. Use Elastica\Query::like instead.</li>
<li>Remove Elastica\Query::setLikeText as deprecated. Use Elastica\Query::like instead.</li>
<li>Remove Elastica\Query Option &ldquo;percent_terms_to_match&rdquo; is deprecated as of ES 1.5. Use &ldquo;minimum_should_match&rdquo; instead.</li>
<li>Remove Elastica\QueryBuilder\DSL\Query &ldquo;More Like This Field&rdquo; query is deprecated as of ES 1.4. Use MoreLikeThis query instead.</li>
<li>Changed visibility from protected to private Elastica\ResultSet::$_position as accessing this property in an extended class is deprecated.</li>
<li>Changed visibility from protected to private Elastica\ResultSet::$_response as accessing this property in an extended class is deprecated.</li>
<li>Changed visibility from protected to private Elastica\ResultSet::$_query as accessing this property in an extended class is deprecated.</li>
<li>Changed visibility from protected to private Elastica\ResultSet::$_results as accessing this property in an extended class is deprecated.</li>
<li>Removed Elastica\ResultSet::$_timedOut as deprecated. Use ResultSet->hasTimedOut() instead.</li>
<li>Removed Elastica\ResultSet::$_took as deprecated. Use ResultSet->hasTimedOut() instead.</li>
<li>Removed Elastica\ResultSet::$_totalHits as deprecated. Use ResultSet->hasTimedOut() instead.</li>
<li>Removed Elastica\Type::delete() It is no longer possible to delete the mapping for a type. Instead you should delete the index and recreate it with the new mappings.</li>
<li>Removed Elastica\Query\Builder as deprecated. Use new Elastica\QueryBuilder instead.</li>
<li>Removed Elastica\Percolator as deprecated. Use new Elastica\Query\Percolate instead.</li>
<li>Changed Elastica\Index::deleteByQuery() to use new API <a href="https://www.elastic.co/guide/en/elasticsearch/reference/5.0/docs-delete-by-query.html">https://www.elastic.co/guide/en/elasticsearch/reference/5.0/docs-delete-by-query.html</a></li>
<li>Remove Elastica\ScanAndScroll and test, Scan search type is removed from ElasticSearch 5.0.</li>
<li>Remove support for PHP 5.4 and 5.5. Require at least PHP 5.6 #1202</li>
<li>Remove groovy as default scripting language</li>
<li>Remove search_type=count as it is removed in Elasticsearch 5.0</li>
<li>Remove fielddata_fields as it has been deprecated in ES5, use parameter docvalue_fields instead</li>
</ul>


<h2>Added</h2>

<ul>
<li>Elastica\QueryBuilder\DSL\Query::exists</li>
<li>Elastica\QueryBuilder\DSL\Query::type</li>
</ul>


<h2>Improvements</h2>

<ul>
<li>Add a constant for the expression language.</li>
<li><code>Health::getIndices</code> returns key=>value result, where key === $indexName.</li>
</ul>


<figure class='code'><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
</pre></td><td class='code'><pre><code class=''><span class='line'>$cluster-&gt;getHealth()-&gt;getIndices()[$indexName]
</span><span class='line'>// or
</span><span class='line'>$indices = $cluster-&gt;getHealth()-&gt;getIndices();
</span><span class='line'>$indices[$indexName]</span></code></pre></td></tr></table></div></figure>


<ul>
<li>Added a <code>Query::setTrackScores</code> method</li>
<li>Implemented painless as default scripting language in tests</li>
<li>Updated Dockerfile and elasticsearch.yml to allow inline.script: true</li>
<li>Updated some Script function to use groovy as now default scripting is painless

<ul>
<li>Elastica\Test\Aggregation\ScriptTest::testAggregationScript</li>
<li>Elastica\Test\Aggregation\ScriptTest::testAggregationScriptAsString</li>
<li>Elastica\Test\Query\FunctionScoreTest::testScriptScore</li>
<li>Elastica\Test\BulkTest::testUpdate</li>
<li>Elastica\Test\ClientTest::testUpdateDocumentByScript</li>
<li>Elastica\Test\ClientTest::testUpdateDocumentByScriptWithUpsert</li>
<li>Elastica\Test\ClientTest::testUpdateDocumentPopulateFields</li>
<li>Elastica\Test\ClientTest::testUpdateDocumentPopulateFields</li>
<li>Elastica\Test\TypeTest::testUpdateDocument</li>
<li>Elastica\Test\TypeTest::testUpdateDocumentWithIdForwardSlashes</li>
<li>Elastica\Test\TypeTest::testUpdateDocumentWithParameter</li>
<li>Elastica\Test\TypeTest::testUpdateDocumentWithFieldsSource</li>
<li>Composer installations will no longer include tests and other development files.</li>
</ul>
</li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 3.2.3]]></title>
    <link href="http://Elastica.io/2016/09/23/release-3-dot-2-3/"/>
    <updated>2016-09-23T12:26:28+02:00</updated>
    <id>http://Elastica.io/2016/09/23/release-3-dot-2-3</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/3.2.3">Elastica 3.2.3</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/3.2.3">download</a>).</p>

<p>This release is compatible with Elasticsearch 2.x and was tested with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/2.4/release-notes-2.4.0.html">elasticsearch 2.4.0</a>.</p>

<h2>Bugfixes</h2>

<ul>
<li>Query builder is now compatible with Elasticsearch 2.X</li>
</ul>


<h2>Added</h2>

<ul>
<li>Elastica\Aggregation\BucketScript</li>
<li>Elastica\Aggregation\SerialDiff</li>
<li>Elastica\Query\InnerHits</li>
</ul>


<h2>Improvements</h2>

<ul>
<li>Elastica\Client constructor now accepts a transport of fully qualified name. <a href="https://github.com/ruflin/Elastica/pull/1169">#1169</a></li>
<li>Update Elasticsearch dependency to 2.4.0</li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 3.2.2]]></title>
    <link href="http://Elastica.io/2016/08/23/release-3-dot-2-2/"/>
    <updated>2016-08-23T14:45:27+02:00</updated>
    <id>http://Elastica.io/2016/08/23/release-3-dot-2-2</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/3.2.2">Elastica 3.2.2</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/3.2.2">download</a>).</p>

<p>This release is compatible with Elasticsearch 2.x and was tested with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/2.3/release-notes-2.3.2.html">elasticsearch 2.3.2</a>.</p>

<h2>Bugfixes</h2>

<ul>
<li>Set HTTP headers on each request preventing server error if persistent connection is enabled and compression enabled and later disabled for the same connection.</li>
<li>Removed <code>int</code> type hinting in <code>setMinimumMatch</code> (<code>Terms</code> Query): it should also allow <code>string</code>. <a href="https://github.com/ruflin/Elastica/pull/1151">#1151</a></li>
</ul>


<h2>Added</h2>

<ul>
<li>Elastica\QueryBuilder\DSL\Query::geo_distance</li>
<li>Elastica\Aggregation\GeoCentroid <a href="https://github.com/ruflin/Elastica/pull/1150">#1150</a></li>
<li><a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html#_multi_values_fields">Multi value field</a> param for decay function.</li>
<li>Elastica\Client::getVersion <a href="https://github.com/ruflin/Elastica/pull/1152">#1152</a></li>
</ul>


<h2>Improvements</h2>

<ul>
<li>Set PHP 7.0 as default development version</li>
<li>Get the root reason from Elasticsearch&rsquo;s error JSON, when available <a href="https://github.com/ruflin/Elastica/pull/1111">#1111</a></li>
<li>Optimize memory usage for Http Adapter <a href="https://github.com/ruflin/Elastica/pull/1161">#1161</a></li>
</ul>


<h2>Changed</h2>

<ul>
<li>Remove JSON_ELASTICSEARCH constant as not needed anymore</li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 3.2.1]]></title>
    <link href="http://Elastica.io/2016/06/15/release-3-dot-2-1/"/>
    <updated>2016-06-15T08:18:56+02:00</updated>
    <id>http://Elastica.io/2016/06/15/release-3-dot-2-1</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/3.2.1">Elastica 3.2.1</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/3.2.1">download</a>).</p>

<p>This release is compatible with Elasticsearch 2.x and was tested with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/2.3/release-notes-2.3.2.html">elasticsearch 2.3.2</a>.</p>

<h2>Backward Compatibility Fixes</h2>

<ul>
<li>Reintroduced properties in ResultSet removed in 3.2.0 as deprecated properties to be removed in 4.0</li>
</ul>


<h2>Bugfixes</h2>

<ul>
<li>Fix fatal error on <code>Query::addScriptField()</code> if scripts were already set via <code>setScriptFields()</code> <a href="https://github.com/ruflin/Elastica/pull/1086">#1086</a></li>
<li>Fix namespace collision of <code>Type</code> in <code>Query\Ids</code> <a href="https://github.com/ruflin/Elastica/pull/1104">#1104</a></li>
</ul>


<h2>Added</h2>

<ul>
<li>Added the concept of ResultSet Transformers. The Transformer adds more information to a Result, for example the original object or data that created the Result. <a href="https://github.com/ruflin/Elastica/pull/1066">#1066</a></li>
<li>Tidied property initialisation in classes where it was duplicated</li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 3.2.0]]></title>
    <link href="http://Elastica.io/2016/05/02/release-3-dot-2-0/"/>
    <updated>2016-05-02T08:11:13+02:00</updated>
    <id>http://Elastica.io/2016/05/02/release-3-dot-2-0</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/3.2.0">Elastica 3.2.0</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/3.2.0">download</a>).</p>

<p>This release is compatible with Elasticsearch 2.x and was tested with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/2.3/release-notes-2.3.2.html">elasticsearch 2.3.2</a>.</p>

<h2>Backward Compatibility Breaks</h2>

<p>The BC breaks in this release only affect implementations which modified / extended the ResultSet class.</p>

<ul>
<li>Method \Elastica\ResultSet::create and property \Elastica\ResultSet::$class were removed. To change the ResultSet class, implement your own ResultSet Builder. #1065</li>
<li>Properties on \Elastica\ResultSet <em>totalHits, </em>maxScore, <em>took and </em>timedOut that were originally set on object construction are now accessed by the getters on the ResultSet. #1065</li>
</ul>


<h2>Bugfixes</h2>

<ul>
<li>Fix php notice on <code>\Elastica\Index::getAliases()</code> if index has no aliases #1078</li>
</ul>


<h2>Added</h2>

<ul>
<li>Update elasticsearch build dependency to elasticsearch 2.3.2 #1084</li>
</ul>


<h2>Improvements</h2>

<ul>
<li><code>Elastica\Type-&gt;deleteByQuery($query, $options)</code> $query param can be a query <code>array</code> again <a href="https://github.com/ruflin/Elastica/issues/1072">https://github.com/ruflin/Elastica/issues/1072</a> #1073</li>
<li><code>Elastica\Client-&gt;connect()</code> allows to establish a connection to ES server when the config was set using method <code>Elastica\Client-&gt;setConfigValue()</code> <a href="https://github.com/ruflin/Elastica/issues/1076">https://github.com/ruflin/Elastica/issues/1076</a> #1077</li>
<li>Elastica\Client constructor now accepts a LoggerInterface and will log both successful and failed requests. #1069</li>
</ul>


<h2>Deprecated</h2>

<ul>
<li>Configuring the logger in \Elastica\Client $config constructor is deprecated and will be removed. Use the $logger argument instead. #1069</li>
<li>Extracted creation of ResultSet objects to a new dedicated ResultSet\Builder implementation. #1065</li>
</ul>


<h2>Deprecated</h2>

<ul>
<li>All properties in the \Elastica\ResultSet class will be moved to private in 4.0. To manipulate the creation of a ResultSet, implement the \Elastica\ResultSet\BuilderInterface and pass your new Builder to the \Elastica\Search instances. #1065</li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 3.1.1]]></title>
    <link href="http://Elastica.io/2016/03/18/release-3-dot-1-1/"/>
    <updated>2016-03-18T07:58:25+01:00</updated>
    <id>http://Elastica.io/2016/03/18/release-3-dot-1-1</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/3.1.1">Elastica 3.1.1</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/3.1.1">download</a>).</p>

<p>This release is compatible with Elasticsearch 2.x and was tested with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/2.2/release-notes-2.2.1.html">elasticsearch 2.2.1</a>.</p>

<h2>Added</h2>

<ul>
<li>Add an &ldquo;AwsAuthV4&rdquo; transport that automatically signs requests using credentials from the environment or from the client config. This allows using Elastica with Amazon ElasticSearch Service domains that are restricted to IAM roles or policies. <a href="https://github.com/ruflin/Elastica/pull/1056">https://github.com/ruflin/Elastica/pull/1056</a></li>
<li>Update elasticsearch build dependency to elasticsearch 2.2.1</li>
</ul>


<h2>Improvements</h2>

<ul>
<li><code>Elastica\Exception\InvalidException</code> will be thrown if you try using an
<code>Elastica\Aggregation\AbstractSimpleAggregation</code> without setting either the
<code>field</code> or <code>script</code> param.</li>
<li><code>Elastica\Index-&gt;deleteByQuery($query, $options)</code> $query param can be a query <code>array</code> again</li>
<li><code>Elastica\Query\MoreLikeThis-&gt;toArray()</code> now supports providing a non-indexed document as an input to perform the comparison.</li>
<li><code>Elastica\Status</code> will lazy load the <code>_stats</code> at when it is needed. <a href="https://github.com/ruflin/Elastica/pull/1058">https://github.com/ruflin/Elastica/pull/1058</a></li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Release 3.1.0]]></title>
    <link href="http://Elastica.io/2016/01/30/release-3-dot-1-0/"/>
    <updated>2016-01-30T21:23:56+01:00</updated>
    <id>http://Elastica.io/2016/01/30/release-3-dot-1-0</id>
    <content type="html"><![CDATA[<p><a href="https://github.com/ruflin/Elastica/tree/3.1.0">Elastica 3.1.0</a> (<a href="https://github.com/ruflin/Elastica/releases/tag/3.1.0">download</a>). This release is compatible with <a href="https://www.elastic.co/guide/en/elasticsearch/reference/2.1/release-notes-2.1.1.html">elasticsearch 2.1.1</a>.</p>

<h2>Backward Compatibility Breaks</h2>

<ul>
<li>Update Guzzle transport to use Guzzle 6</li>
<li>Elastica\Query\FunctionScore::setFilter - deprecated and will throw DeprecatedException since not supported by Elasticsearch. Use setQuery instead.</li>
</ul>


<h2>Added</h2>

<ul>
<li><code>Elastica\Result-&gt;getDocument</code> and <code>Elastica\ResultSet-&gt;getDocuments</code> for return <code>\Elastica\Document</code>. <a href="https://github.com/ruflin/Elastica/issues/960">https://github.com/ruflin/Elastica/issues/960</a></li>
</ul>


<h2>Improvements</h2>

<ul>
<li>Add username and password params to connection</li>
</ul>


<h2>Deprecated</h2>

<ul>
<li>Elastica\AbstractScript|Script|ScriptFile|ScriptFields deprecated in favor of Elastica\Script|AbstractScript|Script|ScriptFile|ScriptFields <a href="https://github.com/ruflin/Elastica/pull/1028">#1028</a></li>
<li>Elastica\Filter* are deprecated. You can use proper queries instead. Backward compatibility layer provided, but will be removed in next Elastica releases. See <a href="https://www.elastic.co/blog/better-query-execution-coming-elasticsearch-2-0">https://www.elastic.co/blog/better-query-execution-coming-elasticsearch-2-0</a> and <a href="https://github.com/ruflin/Elastica/issues/1001">https://github.com/ruflin/Elastica/issues/1001</a></li>
</ul>


<h2>Dependencies</h2>

<table>
<thead>
<tr>
<th> Project </th>
<th> Version </th>
<th> Required </th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/elasticsearch/elasticsearch/tree/v2.1.1">Elasticsearch</a></td>
<td>2.1.1</td>
<td>yes</td>
</tr>
<tr>
<td><a href="https://github.com/elasticsearch/elasticsearch-mapper-attachments/tree/v3.1.1">Elasticsearch mapper attachments plugin</a></td>
<td>3.1.1</td>
<td>no</td>
</tr>
<tr>
<td><a href="https://github.com/Jmoati/elasticsearch-image/releases/tag/1.7.1">Elasticsearch image plugin</a></td>
<td>1.7.1</td>
<td>no</td>
</tr>
</tbody>
</table>

]]></content>
  </entry>
  
</feed>
