Lines Matching refs:Elastica

7 ## [Unreleased](https://github.com/ruflin/Elastica/compare/7.3.1...master)
18 ## [7.3.1](https://github.com/ruflin/Elastica/compare/7.3.0...7.3.1)
21 * Added missing `@throws` annotations to Client::request and related methods [#2153](https://github.com/ruflin/Elastica/pull/2153)
24 * Deprecated not passing a `buckets_path` and `script` when constructing `Elastica\Aggregation\BucketScript` and `Elastica\Aggregation\BucketSelector`
27 * Fix types order in `Elastica\Query` to work with psalm & expand the `aggs` type to include raw arrays
29 ## [7.3.0](https://github.com/ruflin/Elastica/compare/7.3.0...7.2.0)
31 * Use `ramsey/composer-install` to simplify CI jobs and test with the lowest set of dependencies [#2113](https://github.com/ruflin/Elastica/pull/2113)
32 * Bumped `elasticsearch/elasticsearch` to `7.10` to be able to use `OpenPointInTime` class [#2113](https://github.com/ruflin/Elastica/pull/2113)
33 * Updated `php-cs-fixer` to `3.9.5` [#2110](https://github.com/ruflin/Elastica/pull/2110)
34 * Changed `Elastica\Index\Settings::get` adding ability to get default settings by @krasilnikovm [#2115](https://github.com/ruflin/Elastica/pull/2115)
35 * Update `AWSAuthV4 transport` to sanitize host name for AWS requests before signing [#2090](https://github.com/ruflin/Elastica/pull/2090)
36 * New method `Elastica\Aggregation\Terms::setMissingBucket`. For Composite Agg. Include in the response documents without a value for a given source. [#2117](https://github.com/ruflin/Elastica/pull/2117)
37 * Increased `PHPStan` level to `5` by @franmomu [#2108](https://github.com/ruflin/Elastica/pull/2108)
39 * Removed `CallbackStrategyTestHelper` and `ErrorsCollector` from `tests` [#2111](https://github.com/ruflin/Elastica/pull/2111)
41 * Fixed `Query/Terms` terms phpdoc from `array<bool|float|int|string>` to `list<bool|float|int|string>` [#2118](https://github.com/ruflin/Elastica/pull/2118)
44 ## [7.2.0](https://github.com/ruflin/Elastica/compare/7.2.0...7.1.5)
46 * Changed `SetProcessor::setValue` signature to allow to pass any type, if you are overriding this method you must update the signature removing the `string` type-hint by @franmomu [#2082](https://github.com/ruflin/Elastica/pull/2082)
47 * Changed `Settings::setMergePolicy` signature to allow to pass `int` and `string` as argument 2, if you are overriding this method you must update the signature removing the `string` type-hint by @franmomu [#2085](https://github.com/ruflin/Elastica/pull/2085)
49 * Added `PHPStan` at level 3 by @franmomu [#2064](https://github.com/ruflin/Elastica/pull/2064)
50 * Added coverage check to CI by @franmomu [#2071](https://github.com/ruflin/Elastica/pull/2071)
51 * Added `string` as a valid type for `data` in `Request` by @franmomu [#2078](https://github.com/ruflin/Elastica/pull/2078)
52 * Added missing `throws` PHPDoc tags by @franmomu [#2077](https://github.com/ruflin/Elastica/pull/2077)
53 * Added `Search::addIndexByName()`, `Search::hasIndexByName()` and `Search::addIndicesByName()` by @franmomu [#2103](https://github.com/ruflin/Elastica/pull/2103)
55 * Updated `symfony/phpunit-bridge` to `6.0` by @franmomu [#2067](https://github.com/ruflin/Elastica/pull/2067)
56 * Updated `php-cs-fixer` to `3.8.0` [#2074](https://github.com/ruflin/Elastica/pull/2074)
57 * Updated `composer-normalize` to `2.2.28` by @deguif [#2084](https://github.com/ruflin/Elastica/pull/2084)
58 * Increased `PHPStan` level to `4` [#2080](https://github.com/ruflin/Elastica/pull/2080)
59 * `ExceptionInterface` extends `Throwable` [#2083](https://github.com/ruflin/Elastica/pull/2083)
60 * Changed `value` in `SetProcessor` to accept `mixed` instead of `string` by @franmomu [#2082](https://github.com/ruflin/Elastica/pull/2082)
61 * Updated `Query::create` PHPDoc to include supported types and propagate it to callers by @franmomu [#2088](https://github.com/ruflin/Elastica/pull/2088)
62 * Update some iterable types in PHPDoc to be more specific by @franmomu [#2092](https://github.com/ruflin/Elastica/pull/2092)
63 * Updated `AwsAuthV4Test` adding assertions for exception type by @franmomu [#2094](https://github.com/ruflin/Elastica/pull/2094)
65 * Deprecated `Elastica\Reindex::WAIT_FOR_COMPLETION_FALSE`, use a boolean as parameter instead by @franmomu [#2070](https://github.com/ruflin/Elastica/pull/2070)
66 * Passing anything else than a boolean as 1st argument to `Reindex::setWaitForCompletion`, pass a boolean instead by @franmomu [#2070](https://github.com/ruflin/Elastica/pull/2070)
67 * Deprecated passing a `string` as 1st argument to `Search::addIndex()` and `Search::hasIndex()`, pass an Index instance instead by @franmomu [#2103](https://github.com/ruflin/Elastica/pull/2103)
68 * Deprecated passing an array of `string` as 1st argument to `Search::addIndices()`, use an array of Index instances by @franmomu [#2103](https://github.com/ruflin/Elastica/pull/2103)
71 * Removed `egeloen/http-adapter` as suggested package since the project is abandoned by @franmomu [#2069](https://github.com/ruflin/Elastica/pull/2069)
72 * Removed `0` as valid request data using Analyze API by @franmomu [#2068](https://github.com/ruflin/Elastica/pull/2068)
73 * Removed dead code in `AwsAuthV4Test` by @franmomu [#2073](https://github.com/ruflin/Elastica/pull/2073)
75 * Fixed some PHPDoc types adding `null` as possible value by @franmomu [#2070](https://github.com/ruflin/Elastica/pull/2070) and [#2087](https://github.com/ruflin/Elastica/pull/2087)
76 * Fixed passing wrong types to `GapPolicyInterface::setGapPolicy()`, `Document::setDocAsUpsert()` and `Connection::setPort()` methods by @franmomu [#2081](https://github.com/ruflin/Elastica/pull/2081)
77 * Fixed `Http` PHPDoc adding `\CurlHandle` type for Curl connection by @franmomu [#2086](https://github.com/ruflin/Elastica/pull/2086)
78 * Fixed case mismatch in method calls by @franmomu [#2087](https://github.com/ruflin/Elastica/pull/2087)
79 * Fixed `MoreLikeThis::setLike()` PHPDoc allowing `Document` by @franmomu [#2091](https://github.com/ruflin/Elastica/pull/2091)
80 * Fixed `Term::setTerm()` PHPDoc allowing scalar values for `$value` parameter by @franmomu [#2094](https://github.com/ruflin/Elastica/pull/2094)
81 * Fixed `DateHistogram` deprecation: use `fixed_interval` or `calendar_interval` instead of `interval` by @VincentLanglet [#2099](https://github.com/ruflin/Elastica/pull/2099)
83 ## [7.1.5](https://github.com/ruflin/Elastica/compare/7.1.5...7.1.4)
85 * Added explicit return annotation to `Elastica\Multi\ResultSet::current()` and `Elastica\Multi\ResultSet::offsetGet()` by @franmomu [2056](https://github.com/ruflin/Elastica/pull/2056)
86 * Add throwing `\Elastica\Exception\RequestEntityTooLargeException` on HTTP-413 responses in `\Elastica\Bulk` by @Vetaxon [2055](https://github.com/ruflin/Elastica/pull/2055)
88 ## [7.1.4](https://github.com/ruflin/Elastica/compare/7.1.4...7.1.3)
90 * Added support for `symfony/deprecation-contracts` 3.0 by @rguennichi [#2047](https://github.com/ruflin/Elastica/pull/2047)
91 * Added aggregation `auto_date_histogram` @andriinavrotskii [#2051](https://github.com/ruflin/Elastica/pull/2051)
93 * Fixed version parameters for DeleteDocument by @pheyse24 [#2048](https://github.com/ruflin/Elastica/pull/2048)
94 * Fixed version parameters for Index::addDocument() by @pidera [#2050](https://github.com/ruflin/Elastica/pull/2050)
96 ## [7.1.3](https://github.com/ruflin/Elastica/compare/7.1.2...7.1.3)
98 * Added support for scripted upsert on bulk requests by @dsgrillo [#1974](https://github.com/ruflin/Elastica/pull/1974)
99 * Added `Elastica\Aggregation\CumulativeSum` by @limenet [#1987](https://github.com/ruflin/Elastica/pull/1987)
100 * Added `ignore_failure` option to suitable ingest processors by @deguif [#2003](https://github.com/ruflin/Elastica/pull/2003)
101 * Added `ignore_missing` option to `lowercase`, `remove`, `trim` and `uppercase` processors by @deguif [#2001](https://github.com/ruflin/Elastica/pull/2001)
102 * Added `allow_duplicates` option to `append` processor by @deguif [#2004](https://github.com/ruflin/Elastica/pull/2004)
103 * Added `bytes` processor by @deguif [#2008](https://github.com/ruflin/Elastica/pull/2008)
104 * Added `indices_boost` option to `Elastica\Query` by @deguif [#2018](https://github.com/ruflin/Elastica/pull/2018)
105 * Added `Elastica\Query\Terms::setBoost()` method to configure boost by @deguif [#2035](https://github.com/ruflin/Elastica/pull/2035)
106 * Added `Elastica\Query\TermsSet` query by @mamchyts [#2020](https://github.com/ruflin/Elastica/pull/2020)
107 * Added `terms_set` in query builder by @deguif [#2036](https://github.com/ruflin/Elastica/pull/2036)
108 * Added `Elastica\Aggregation\Traits\BucketsPathTrait` to configure `buckets_path` on aggregations by @deguif
109 [#2037](https://github.com/ruflin/Elastica/pull/2037)
110 [#2039](https://github.com/ruflin/Elastica/pull/2039)
111 * Allowed to configure a sub key when adding a param with `Elastica\Param::addParam()` by @deguif [#2030](https://github.com/ruflin/Elastica/pull/2030)
113 * Triggered deprecation in `Elastica\Result::getType()` method by @deguif [#2016](https://github.com/ruflin/Elastica/pull/2016)
114 * Updated `php-cs-fixer` to `3.3.2` by @deguif [#2022](https://github.com/ruflin/Elastica/pull/2022)
115 * Updated `composer-normalize` to `2.15.0` by @deguif [#2021](https://github.com/ruflin/Elastica/pull/2021)
116 * Updated `elasticsearch` test version to `7.15.2` by @deguif [#2027](https://github.com/ruflin/Elastica/pull/2027)
117 * Extracted setting gap policy to `\Elastica\Aggregation\Traits\GapPolicyTrait` and introduced `\Elastica\Aggregation\GapPolicyInterface` with constants for options by @stchr [#2023](https://github.com/ruflin/Elastica/pull/2023)
118 * Extracted setting `field` to `Elastica\Processor\Traits\FieldTrait` by @deguif [#2024](https://github.com/ruflin/Elastica/pull/2024)
119 * Extracted setting `target_field` to `Elastica\Processor\Traits\TargetFieldTrait` by @deguif [#2026](https://github.com/ruflin/Elastica/pull/2026)
120 * Simplified github action matrix for continuous integration workflow by @deguif [#2025](https://github.com/ruflin/Elastica/pull/2025)
122 * Deprecated `Elastica\Query\Common` class, use `Elastica\Query\MatchQuery` instead by @deguif [#2013](https://github.com/ruflin/Elastica/pull/2013)
123 * Deprecated `Elastica\QueryBuilder\DSL\Query::common_terms()`, use `match()` instead by @deguif [#2013](https://github.com/ruflin/Elastica/pull/2013)
124 * Deprecated passing an `int` as 1st argument to `Elastica\Search::setOptionsAndQuery()`, pass an array with the key `size` instead by @deguif [#2010](https://github.com/ruflin/Elastica/pull/2010)
125 * Deprecated `cutoff_frequency` option of `Elastica\Query\MatchQuery` by @deguif [#2014](https://github.com/ruflin/Elastica/pull/2014)
126 * Deprecated `cutoff_frequency` option of `Elastica\Query\MultiMatch` by @deguif [#2015](https://github.com/ruflin/Elastica/pull/2015)
127 * Deprecated `Elastica\Bulk::toString()`, `Elastica\Bulk\Action::toString()` and `Elastica\Request::toString()` methods, use `__toString()` method or cast to string instead by @deguif [#2033](https://github.com/ruflin/Elastica/pull/2033)
128 * Deprecated not passing a `buckets_path` when constructing `Elastica\Aggregation\AvgBucket`, `Elastica\Aggregation\Derivative`, `Elastica\Aggregation\NormalizeAggregation`, `Elastica\Aggregation\PercentilesBucket`, `Elastica\Aggregation\SerialDiff`, `Elastica\Aggregation\StatsBucket` and `Elastica\Aggregation\SumBucket` by @deguif [#2038](https://github.com/ruflin/Elastica/pull/2038)
129 * Deprecated not passing a `method` when constructing `Elastica\Aggregation\NormalizeAggregation` by @deguif [#2040](https://github.com/ruflin/Elastica/pull/2040)
131 * Removed remaining `_type` field usages by @deguif [#2017](https://github.com/ruflin/Elastica/pull/2017)
132 * Removed `Elastica\Bulk::$_type` dead property by @deguif [#2034](https://github.com/ruflin/Elastica/pull/2034)
133 * Removed Elasticsearch old version checks in tests by @deguif [#2041](https://github.com/ruflin/Elastica/pull/2041)
135 * Fixed type-hint for `Elastica\Search::setOptionsAndQuery()` by @deguif [#2009](https://github.com/ruflin/Elastica/pull/2009)
136 * Fixed terms query params resolution by @deguif [#2032](https://github.com/ruflin/Elastica/pull/2032)
138 ## [7.1.2](https://github.com/ruflin/Elastica/compare/7.1.1...7.1.2)
140 * Changed `Elastica\Exception\JSONParseException` inheritance, it now extends `\JsonException` instead of `\RuntimeException` [#1949](https://github.com/ruflin/Elastica/pull/1949)
142 * Added `Elastica\Aggregation\NormalizeAggregation` [#1956](https://github.com/ruflin/Elastica/pull/1956)
143 * Added `Elastica\Suggest\Phrase::addDirectGenerator` to align with ES specification [#1964](https://github.com/ruflin/Elastica/pull/1964)
144 * Added support for `psr/log` 2.0 and 3.0 [#1971](https://github.com/ruflin/Elastica/pull/1971)
145 * Added new optional 'case_insensitive' option to `Elastica\Query\Wildcard` [#1894](https://github.com/ruflin/Elastica/pull/1894)
146 * Added `Elastica\Result::getSort()` fetching the "sort" property of results [#1979](https://github.com/ruflin/Elastica/pull/1979)
147 * Added exposure of Point-In-Time ID for search responses in `Elastica\ResultSet::getPointInTimeId()` [#1991](https://github.com/ruflin/Elastica/pull/1991)
148 * Added `Elastica\Index::openPointInTime()` for opening a PiT on the index [#1994](https://github.com/ruflin/Elastica/pull/1994)
149 * Added possibility to specify PointInTime on `Elastica\Query::setPointInTime()` [#1992](https://github.com/ruflin/Elastica/pull/1992)
150 * Added `Elastica\Client::closePointInTime()` for closing a PiT [#1995](https://github.com/ruflin/Elastica/pull/1995)
153 [#1996](https://github.com/ruflin/Elastica/pull/1996)
154 [#1959](https://github.com/ruflin/Elastica/pull/1959)
155 [#1955](https://github.com/ruflin/Elastica/pull/1955)
156 * Using default Elasticsearch images for testing instead of OSS https://github.com/ruflin/Elastica/pull/1954
158 * Fixed compatibility with `guzzlehttp/psr7` version `2.x` [#2002](https://github.com/ruflin/Elastica/pull/2002)
159 * Fixed the assignment of `version`, `seq_no` and `primary_term` on `getDocument` [#1973](https://github.com/ruflin/Elastica/pull/1973)
161 ## [7.1.1](https://github.com/ruflin/Elastica/compare/7.1.0...7.1.1)
163 * Changed `Elastica\Query\MatchQuery::setFieldParam()` signature to allow passing bool, float or int [#1941](https://github.com/ruflin/Elastica/pull/1941)
164 * Changed `Elastica\Query\MatchPhraseQuery::setFieldParam()` signature to allow passing bool, float or int [#1944](https://github.com/ruflin/Elastica/pull/1944)
166 * Excluded `docker` directory in `.gitattributes` [#1938](https://github.com/ruflin/Elastica/pull/1938)
168 * Included `Content-Type` HTTP header every time, whatever the content of the body is [#1780](https://github.com/ruflin/Elastica/pull/1780)
169 * Changed `Elastica\Status::indexExists()`, `Elastica\Status::aliasExists()` and `Elastica\Status::getIndicesWithAlias()` signatures [#1929](https://github.com/ruflin/Elastica/pull/1929)
170 * Replaced `call_user_func()` and `call_user_func_array()` by direct calls [#1923](https://github.com/ruflin/Elastica/pull/1923)
171 * Replaced legacy constant `CURLINFO_HTTP_CODE` by `CURLINFO_RESPONSE_CODE` [#1931](https://github.com/ruflin/Elastica/pull/1931)
172 * Updated `php-cs-fixer` to `2.18.3` [#1915](https://github.com/ruflin/Elastica/pull/1915)
173 * Updated `composer-normalize` to `2.13.3` [#1927](https://github.com/ruflin/Elastica/pull/1927)
175 * Deprecated `Elastica\Transport\HttpAdapter` class [#1940](https://github.com/ruflin/Elastica/pull/1940)
176 * Deprecated `Elastica\Exception\JSONParseException` exception, catch `\JsonException` instead [#1949](https://github.com/ruflin/Elastica/pull/1949)
178 * Fixed wrong `ltrim` usage in guzzle transport [#1783](https://github.com/ruflin/Elastica/pull/1783)
179 * Fixed `_seq_no` and `_primary_term` wrong initialization [#1920](https://github.com/ruflin/Elastica/pull/1920)
180 * Fixed `Elastica\Connection\StrategyInterface` instance checks [#1921](https://github.com/ruflin/Elastica/pull/1921)
181 * Fixed various PHPDoc annotations [#1922](https://github.com/ruflin/Elastica/pull/1922)
182 * Fixed numeric index names are returned as `int` in `Elastica\Status::getIndexNames()` [#1928](https://github.com/ruflin/Elastica/pull/1928)
183 * Fixed using raw array in `post_filter` [#1950](https://github.com/ruflin/Elastica/pull/1950)
185 ## [7.1.0](https://github.com/ruflin/Elastica/compare/7.0.0...7.1.0)
187 * Added a default value to `Elastica\Aggregation\Range::setKeyed()` and `Elastica\Aggregation\PercentilesBucket::setKeyed()` [#1876](https://github.com/ruflin/Elastica/pull/1876)
188 * Removed type-hint to `Elastica\Aggregation\Percentiles::setMissing()` argument [#1875](https://github.com/ruflin/Elastica/pull/1875)
189 * Allowed the Terms query to accept an array of bool, float, int and/or string [#1872](https://github.com/ruflin/Elastica/pull/1872)
191 * Added `auth_type` parameter in the client class config to specify the type of authentication (allowed values are `basic, digest, gssnegotiate, ntlm`) [#1790](https://github.com/ruflin/Elastica/pull/1790)
192 * Added `if_seq_no` / `if_primary_term` to replace `version` for [optimistic concurrency control](https://www.elastic.co/guide/en/elasticsearch/reference/7.x/optimistic-concurrency-control.html) [#1803](https://github.com/ruflin/Elastica/pull/1803)
193 * Added `Elastica\Aggregation\PercentilesBucket` aggregation [#1806](https://github.com/ruflin/Elastica/pull/1806)
194 * Added `weighted_avg` to aggregations DSL [#1814](https://github.com/ruflin/Elastica/pull/1814)
195 * Added support for defining a connection pool with DSN. Example: `pool(http://127.0.0.1 http://127.0.0.2/bar?timeout=4)` [#1808](https://github.com/ruflin/Elastica/pull/1808)
196 * Added `Elastica\Aggregation\Composite` aggregation [#1804](https://github.com/ruflin/Elastica/pull/1804)
197 * Added `symfony/deprecation-contracts` package to handle deprecations [#1823](https://github.com/ruflin/Elastica/pull/1823)
198 * Added `list_syntax` CS rule [#1854](https://github.com/ruflin/Elastica/pull/1854)
199 * Added `native_constant_invocation` CS rule [#1833](https://github.com/ruflin/Elastica/pull/1833)
200 * Added `static_lambda` CS rule [#1870](https://github.com/ruflin/Elastica/pull/1870)
201 * Added `Elastica\Aggregation\DateRange::setTimezone()` [#1847](https://github.com/ruflin/Elastica/pull/1847)
202 * Added endpoint options support to `Elastica\Index::create()` [#1859](https://github.com/ruflin/Elastica/pull/1859)
203 * Added `Elastica\Aggregation\DateHistogram::setKeyed()` [#1876](https://github.com/ruflin/Elastica/pull/1876)
204 * Added `Elastica\Aggregation\GeoDistance::setKeyed()` [#1876](https://github.com/ruflin/Elastica/pull/1876)
205 * Added `Elastica\Aggregation\Histogram::setKeyed()` [#1876](https://github.com/ruflin/Elastica/pull/1876)
206 * Added `Elastica\Aggregation\IpRange::setKeyed()` [#1876](https://github.com/ruflin/Elastica/pull/1876)
207 * Added `Elastica\Aggregation\GeotileGridAggregation` [#1880](https://github.com/ruflin/Elastica/pull/1880)
208 * Added `Elastica\Aggregation\Avg::setMissing()`, `Elastica\Aggregation\Cardinality::setMissing()`, `Elastica\Aggregation\DateRange::setMissing()`, `Elastica\Aggregation\DateHistogram::setMissing()`, `Elastica\Aggregation\ExtendedStats::setMissing()`, `Elastica\Aggregation\Histogram::setMissing()`, `Elastica\Aggregation\Max::setMissing()`, `Elastica\Aggregation\Min::setMissing()`, `Elastica\Aggregation\Stats::setMissing()`, `Elastica\Aggregation\Sum::setMissing()`, `Elastica\Aggregation\Terms::setMissing()` [#1876](https://github.com/ruflin/Elastica/pull/1876)
209 * Supported `guzzlehttp/guzzle` 7.x [#1816](https://github.com/ruflin/Elastica/pull/1816)
210 * Supported PHP 8.0 [#1794](https://github.com/ruflin/Elastica/pull/1794)
211 * Supported BC break on `elasticsearch/elasticsearch` version `7.4.0` [#1864](https://github.com/ruflin/Elastica/pull/1864)
213 * Allowed `string` such as `wait_for` to be passed to `AbstractUpdateAction::setRefresh` [#1791](https://github.com/ruflin/Elastica/pull/1791)
214 * Allowed float values for connection timeout and connection connect-timeout, providing ms precision for those. Previous precision was second. [#1868](https://github.com/ruflin/Elastica/pull/1868)
215 * Changed the return type of `AbstractUpdateAction::getRefresh` to `boolean|string` [#1791](https://github.com/ruflin/Elastica/pull/1791)
216 * Reviewed options handling in `Elastica\Index::create()` [#1822](https://github.com/ruflin/Elastica/pull/1822)
217 * Replaced deprecated `exceptions` request option by `http_errors` request option in Guzzle transport [#1817](https://github.com/ruflin/Elastica/pull/1817)
218 * Run coding styles check on github action [#1878](https://github.com/ruflin/Elastica/pull/1878)
219 * Run unit tests on github action [#1882](https://github.com/ruflin/Elastica/pull/1882)
220 * Run functional tests on github action [#1885](https://github.com/ruflin/Elastica/pull/1885)
221 * Updated `php-cs-fixer` to `2.16.4` [#1830](https://github.com/ruflin/Elastica/pull/1830)
222 * Updated `php-cs-fixer` to `2.16.7` [#1881](https://github.com/ruflin/Elastica/pull/1881)
223 * Updated `php-cs-fixer` to `2.17.3` [#1895](https://github.com/ruflin/Elastica/pull/1895)
224 * Updated `php-cs-fixer` to `2.18.2` [#1897](https://github.com/ruflin/Elastica/pull/1897)
225 * Used `GuzzleHttp\RequestOptions` constants for configuring request options [#1820](https://github.com/ruflin/Elastica/pull/1820)
226 * Used new alias endpoints classes [#1839](https://github.com/ruflin/Elastica/pull/1839)
227 * Used new cache endpoints classes [#1840](https://github.com/ruflin/Elastica/pull/1840)
228 * Used new ingest pipeline endpoints classes [#1834](https://github.com/ruflin/Elastica/pull/1834)
229 * Used new mapping endpoints classes [#1845](https://github.com/ruflin/Elastica/pull/1845)
230 * Used new nodes endpoints classes [#1863](https://github.com/ruflin/Elastica/pull/1863)
231 * Used new settings endpoints classes [#1852](https://github.com/ruflin/Elastica/pull/1852)
233 * Deprecated `Elastica\Aggregation\Range::setKeyedResponse()`, use `setKeyed()` instead [#1848](https://github.com/ruflin/Elastica/pull/1848)
234 * Deprecated `Elastica\Exception\ResponseException::getElasticsearchException()`, use `getResponse()::getFullError()` instead [#1829](https://github.com/ruflin/Elastica/pull/1829)
235 * Deprecated `Elastica\QueryBuilder\DSL\Aggregation::global_agg()`, use `global()` instead [#1826](https://github.com/ruflin/Elastica/pull/1826)
236 * Deprecated `Elastica\Util::getParamName()` [#1832](https://github.com/ruflin/Elastica/pull/1832)
237 * Deprecated all Processor class names in favor of suffixed class names [#1893](https://github.com/ruflin/Elastica/pull/1893)
238 * Deprecated Match query class and introduced MatchQuery instead for PHP 8.0 compatibility reason [#1799](https://github.com/ruflin/Elastica/pull/1799)
240 * Deprecated passing `bool` or `null` as 2nd argument to `Elastica\Index::create()` [#1828](https://github.com/ruflin/Elastica/pull/1828)
242 * Removed HHVM proxy detection [#1818](https://github.com/ruflin/Elastica/pull/1818)
244 * Fixed issue [1789](https://github.com/ruflin/Elastica/issues/1789)
245 * Fixed type-hint for `Elastica\QueryBuilder\DSL\Aggregation::sampler()` not consistent with the underlying constructor call [#1815](https://github.com/ruflin/Elastica/pull/1815)
246 * Fixed `Elastica\Util::toSnakeCase()` with first letter being lower cased [#1831](https://github.com/ruflin/Elastica/pull/1831)
247 * Fixed handling precision as string in `Elastica\Aggregation\GeohashGrid::setPrecision()` [#1884](https://github.com/ruflin/Elastica/pull/1884)
248 * Fixed calling `Elastica\Aggregation\Composite::addAfter()` with the `null` value [1877](https://github.com/ruflin/Elastica/pull/1877)
249 * Replaced `_routing` and `_retry_on_conflict` by `routing` and `retry_on_conflict` in `AbstractUpdateAction` [#1807](https://github.com/ruflin/Elastica/issues/1807)
252 ## [7.0.0](https://github.com/ruflin/Elastica/compare/7.0.0-beta.4...7.0.0)
254 * Added `Elastica\Aggregation\WeightedAvg` aggregation [#1770](https://github.com/ruflin/Elastica/pull/1770)
257 * Added missing Response information to Bulk/ResponseSet [#1776](https://github.com/ruflin/Elastica/pull/1776)
260 ## [7.0.0-beta.4](https://github.com/ruflin/Elastica/compare/7.0.0-beta3...7.0.0-beta.4)
262 * If you're **NOT** using composer to manage your libraries: the root directory of the library's source code moved from `lib/Elastica/` to `src/`.
268 * Added `AbstractTermsAggregation::setIncludeAsExactMatch()` [#1766](https://github.com/ruflin/Elastica/pull/1766)
269 * Added `AbstractTermsAggregation::setExcludeAsExactMatch()` [#1766](https://github.com/ruflin/Elastica/pull/1766)
270 * Added `AbstractTermsAggregation::setIncludeWithPartitions()` [#1766](https://github.com/ruflin/Elastica/pull/1766)
271 * Added `Elastica\Reindex->setPipeline(Elastica\Pipeline $pipeline): void`. The link between the reindex and the pipeline is solved when `run()` is called, and thus the pipeline given doesn't need to be created before calling `setPipeline()` [#1752](https://github.com/ruflin/Elastica/pull/1752)
272 * Added `Elastica\Reindex->setRefresh(string $value): void`. It accepts `REFRESH_*` constants from its class [#1752](https://github.com/ruflin/Elastica/pull/1752) and [#1758](https://github.com/ruflin/Elastica/pull/1758)
273 * Added `Elastica\Reindex->setQuery(Elastica\Query\AbstractQuery $query): void` [#1752](https://github.com/ruflin/Elastica/pull/1752)
274 * Added constants `PIPELINE`, `REFRESH_TRUE`, `REFRESH_FALSE`, `REFRESH_WAIT_FOR`, `SLICES` and `SLICES_AUTO` to `Elastica\Reindex` [#1752](https://github.com/ruflin/Elastica/pull/1752)
275 * Added `Elastica\Pipeline->getId(): ?string` [#1752](https://github.com/ruflin/Elastica/pull/1752)
276 * Added `Elastica\Aggregation\ExtendedStatsBucket` aggregation [#1756](https://github.com/ruflin/Elastica/pull/1756)
279 * Changed `Terms::setTerms()` signature: it now accepts a list of strings only [#1765](https://github.com/ruflin/Elastica/pull/1765)
280 * Changed `Terms::setTermsLookup()` signature: `index`, `path` and `id` are now required arguments [#1765](https://github.com/ruflin/Elastica/pull/1765)
282 * Updated PHP coding standards to adhere to PSR-12 [#1760](https://github.com/ruflin/Elastica/pull/1760)
283 * Updated to PHPUnit v8.5 [#1759](https://github.com/ruflin/Elastica/pull/1759)
284 * Refactored code structure: use `src/` and `tests/` folders [#1755](https://github.com/ruflin/Elastica/pull/1755)
289 accessing the current item, as documented in PHP's Iterator documentation [#1749](https://github.com/ruflin/Elastica/pull/1749)
292 * Removed unsupported `flags` from `AbstractTermsAggregation::setInclude()` [#1766](https://github.com/ruflin/Elastica/pull/1766)
293 * Removed unsupported `flags` from `AbstractTermsAggregation::setExclude()` [#1766](https://github.com/ruflin/Elastica/pull/1766)
297 ## [7.0.0-beta.3](https://github.com/ruflin/Elastica/compare/7.0.0-beta2...7.0.0-beta.3)
298 * Marked Elastica 5.x as unmaintained
301 * Fix Search::count() not counting all results [#1746](https://github.com/ruflin/Elastica/pull/1746)
305 * Added `DiversifiedSampler` aggregation [#1735](https://github.com/ruflin/Elastica/pull/1735)
306 * Added `\Elastica\Query\DistanceFeature` [#1730](https://github.com/ruflin/Elastica/pull/1730)
307 * Added support for injecting a callable AWS credential provider to use static, cached, or custom-sourced credentials [#1667](https://github.com/ruflin/Elastica/pull/1667)
310 * Scroll releases previous ResultSet from memory before calling ES for next data batch [#1740](https://github.com/ruflin/Elastica/pull/1740)
313 ## [7.0.0-beta2](https://github.com/ruflin/Elastica/compare/7.0.0-beta1...7.0.0-beta2)
317 * The method `Index::deleteById()` does not throw an `NotFoundException` when deleting a non-existing document [#1732](https://github.com/ruflin/Elastica/pull/1732)
318 * The class `\Elastica\QueryBuilder\Version\Version240` has been moved to `\Elastica\QueryBuilder\Version\Version700` [#1693](https://github.com/ruflin/Elastica/pull/1693)
319 * Dropped support for PHP 7.1 [#1703](https://github.com/ruflin/Elastica/pull/1703)
323 * Renamed `\Elastica\Suggest\Term` deprecated option `prefix_len` to `prefix_length` [#1707](https://github.com/ruflin/Elastica/pull/1707)
324 * The `\Elastica\Query\GeoPolygon::count()` method now returns the count of points passed to the filter [#1696](https://github.com/ruflin/Elastica/pull/1696)
325 * Fix issue in `\Elastica\Client::request()` which causes request data to not be sent to the logger [#1682](https://github.com/ruflin/Elastica/pull/1682)
329 * Added `geo_bounding_box`, `geo_polygon`, `match_phrase`, `match_phrase_prefix`, `match_none` to `\Elastica\QueryBuilder\Version\Version700` [#1702](https://github.com/ruflin/Elastica/pull/1702)
330 * Added `\Elastica\ResultSet::getTotalHitsRelation()` to get relation for total hits [#1694](https://github.com/ruflin/Elastica/pull/1694)
331 * Added `Sampler` aggregation [#1688](https://github.com/ruflin/Elastica/pull/1688)
335 * Launched tests with PHP 7.4 [#1704](https://github.com/ruflin/Elastica/pull/1704)
336 * Launched local tests with PHP 7.2 by default [#1725](https://github.com/ruflin/Elastica/pull/1725)
337 * Added `nullable_type_declaration_for_default_null_value`, `no_alias_functions` CS rules [#1706](https://github.com/ruflin/Elastica/pull/1706)
338 * Configured `visibility_required` CS rule for constants [#1723](https://github.com/ruflin/Elastica/pull/1723)
339 * Added `Collapse` DSL to `QueryBuilder` [#1724](https://github.com/ruflin/Elastica/pull/1724)
342 ## [7.0.0-beta1](https://github.com/ruflin/Elastica/compare/6.1.1...7.0.0-beta1)
345 * The class `\Elastica\Type\Mapping` has been moved to `\Elastica\Mapping` [#1666](https://github.com/ruflin/Elastica/pull/1666)
346 * The `\Elastica\Query::$_suggest` property has been renamed to `$hasSuggest` and is now private, it should not be used from extending classes [#1679](https://github.com/ruflin/Elastica/pull/1679)
347 * `\Elastica\Document` expects a string as ID, not an int [#1672](https://github.com/ruflin/Elastica/pull/1672).
348 * Removed `\Elastica\Query\GeohashCell` query, use `\Elastica\Query\GeoBoundingBox` instead [#1672](https://github.com/ruflin/Elastica/pull/1672).
349 * Deprecated usage of `\Elastica\Type` class, `\Elastica\Index` class must be used instead [#1666](https://github.com/ruflin/Elastica/pull/1666)
350 * Removed `\Elastica\Type` class, `\Elastica\Index` class must be used instead [#1666](https://github.com/ruflin/Elastica/pull/1666)
351 * Forced index names to string in `\Elastica\Index::__construct()` [#1666](https://github.com/ruflin/Elastica/pull/1666)
352 * Removed Type query `\Elastica\Query\Type` [#1666](https://github.com/ruflin/Elastica/pull/1666)
353 * Removed `Elastica\Type` class, `Elastica\Index` class must be used instead [#1666](https://github.com/ruflin/Elastica/pull/1666)
354 * Removed `type` handling from `Elastica\Search` class [#1666](https://github.com/ruflin/Elastica/pull/1666)
355 * Removed `type` handling from `Elastica\Bulk` and `Elastica\Bulk\Action` classes [#1666](https://github.com/ruflin/Elastica/pull/1666)
356 * Forced index names to string in `Elastica\Index::__construct()` [#1666](https://github.com/ruflin/Elastica/pull/1666)
357 * Removed Type query `Elastica\Query\Type` [#1666](https://github.com/ruflin/Elastica/pull/1666)
359 * \Elastica\AbstractUpdateAction::getOptions( $fields ) no longer supports the $underscore parameter, option names must match what elasticsearch expects.
360 * Removed no longer supported \Elastica\Query\QueryString::setAutoGeneratePhraseQueries( $bool ) [#1622](https://github.com/ruflin/Elastica/pull/1622)
366 * Elastica\Reindex does not return an Index anymore but a Response.
367 * Elastica\Reindex->run() does not refresh the new Index after completion anymore. Use `$reindex->setParam(Reindex::REFRESH, 'wait_for')` instead.
368 * `Elastica\Search->search()` and `Elastica\Search->count()` use request method `POST` by default. Same for `Elastica\Index`, `Elastica\Type\AbstractType`, `Elastica\Type`.
369 * Elastica\Client `$_config` field is now a `ClientConfiguration` instead of an array
370 * Removed `\Elastica\Client::_log`, `\Elastica\Log` and the `log` configuration option. Use the `Psr\Log\LoggerInterface $logger` client argument to customize logging.
376 * Always set the Guzzle `base_uri` to support connecting to multiple ES hosts. [#1618](https://github.com/ruflin/Elastica/pull/1618)
377 * Properly handle underscore prefixes in options and bulk request metadata ([cf upstream](https://github.com/elastic/elasticsearch/issues/26886). [#1621](https://github.com/ruflin/Elastica/pull/1621)
378 * Preserve zeros while doing float serialization to JSON. [#1635](https://github.com/ruflin/Elastica/pull/1635)
385 * Added `ParentAggregation` [#1616](https://github.com/ruflin/Elastica/pull/1616)
386 * Elastica\Reindex missing options (script, remote, wait_for_completion, scroll...)
387 * Added `AdjacencyMatrix` aggregation [#1642](https://github.com/ruflin/Elastica/pull/1642)
388 * Added request method parameter to `Elastica\SearchableInterface->search()` and `Elastica\SearchableInterface->count()`. Same for `Elastica\Search`[#1441](https://github.com/ruflin/Elastica/issues/1441)
389 * Added support for Field Collapsing (Issue: [#1392](https://github.com/ruflin/Elastica/issues/1392); PR: [#1653](https://github.com/ruflin/Elastica/pull/1653))
390 * Support string DSN in `\Elastica\Client` constructor for config argument [#1640](https://github.com/ruflin/Elastica/issues/1640)
392 * Added `callable` type hinting to `$callback` in `Client` constructor. [#1659](https://github.com/ruflin/Elastica/pull/1659)
393 * Added `setTrackTotalHits` method to `Elastica\Query`[#1663](https://github.com/ruflin/Elastica/issues/1663)
394 * Allow metadata to be set on Aggregations (via `AbstractAggregation::setMeta(array)`). [#1677](https://github.com/ruflin/Elastica/issues/1677)
399 * Added `native_function_invocation` CS rule [#1606](https://github.com/ruflin/Elastica/pull/1606)
400 * Elasticsearch test version changed from 6.5.2 to 6.6.1 [#1620](https://github.com/ruflin/Elastica/pull/1620)
401 * Clear scroll context also when empty page was received [#1660](https://github.com/ruflin/Elastica/pull/1660)
404 ## [6.1.1](https://github.com/ruflin/Elastica/compare/6.1.0...6.1.1)
409 * Added `BucketSelector` aggregation [#1554](https://github.com/ruflin/Elastica/pull/1554)
410 * Added `DerivativeAggregation` [#1553](https://github.com/ruflin/Elastica/pull/1553)
412 * Introduced new version of PHP-CS-Fixer and new Lint travis step. [#1555](https://github.com/ruflin/Elastica/pull/1555)
413 * Added `typed_keys` support for Search queries [#1603](https://github.com/ruflin/Elastica/pull/1603)
417 * Reduced memory footprint of response by not keeping the raw JSON data when JSON after JSON has been parsed. [#1588](https://github.com/ruflin/Elastica/pull/1588)
422 ## [6.1.0](https://github.com/ruflin/Elastica/compare/6.0.2...6.1.0)
426 * Made result sets adhere to `\Iterator` interface definition that they implement. Specifically, you need to call `valid()` on the result set before calling `current()`. When using `foreach` this is done by PHP automatically. When `valid` returns false, the return value of `current` is undefined instead of false. [#1506](https://github.com/ruflin/Elastica/pull/1506)
427 * `\Elastica\ResultSet::next` returns `void` instead of `\Elastica\Result|false`
428 * `\Elastica\Bulk\ResponseSet::current` returns `\Elastica\Bulk\Response` instead of `\Elastica\Bulk\Response|false`
429 * `\Elastica\Multi\ResultSet::current` returns `\Elastica\ResultSet` instead of `\Elastica\ResultSet|false`
433 * Added a transport class for mocking a HTTP 403 error codes, useful for testing response failures in inheriting clients [#1529](https://github.com/ruflin/Elastica/pull/1529)
434 * [Field](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html#function-random) param for `Elastica\Query\FunctionScore::addRandomScoreFunction` [#1529](https://github.com/ruflin/Elastica/pull/1529)
435 * [Index Recovery](https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-recovery.html) : the indices recovery API provides insight into on-going index shard recoveries. It was never been implemented into Elastica. [#1537](https://github.com/ruflin/Elastica/pull/1537)
436 * add parent_id (reference [#1518](https://github.com/ruflin/Elastica/issues/1518)) in QueryBuilder. [#1533]([#1518](https://github.com/ruflin/Elastica/issues/1533))
437 * implemented ```string_distance``` option in Term Suggestion [#1543](https://github.com/ruflin/Elastica/pull/1543)
441 * Using `Elastica\Query\FunctionScore::addRandomScoreFunction` without `$field` parameter is deprecated since ES 6.0 and will fail since ES 7.0 [#1522](https://github.com/ruflin/Elastica/pull/1522)
442 * `Aggreation\Percentiles` updated to a newer version of the Algorithm (T-Digest 3.2) and Percentiles results changed a bit Have a [look at here](https://github.com/elastic/elasticsearch/pull/28305), so updated tests in order not to fail. [#1531]([#1352](https://github.com/ruflin/Elastica/pull/1531))
443 * `Aggregation\Percentiles` have been updated since [Elasticsearch 2.3](https://www.elastic.co/guide/en/elasticsearch/reference/2.3/search-aggregations-metrics-percentile-aggregation.html). In this version `compression, HDR histogram` changed their implementations. The `missing` field has never been implemented. [#1532](https://github.com/ruflin/Elastica/pull/1532)
462 * Never implemented the method *Missing* on [`Aggregation\Percentiles`](https://www.elastic.co/guide/en/elasticsearch/reference/6.4/search-aggregations-metrics-percentile-aggregation.html) [#1532](https://github.com/ruflin/Elastica/pull/1532)
464 ## [6.0.2](https://github.com/ruflin/Elastica/compare/6.0.1...6.0.2)
468 * Added support for pipeline when indexing document. [#1455](https://github.com/ruflin/Elastica/pull/1455)
469 * Added support for multiple bucket sort orders for aggregations. [#1480](https://github.com/ruflin/Elastica/pull/1480)
471 * Added updateByQuery endpoint. [#1499](https://github.com/ruflin/Elastica/pull/1499)
475 * Use `source` script field instead of deprecated (since ES 5.6) `inline` field. [#1497](https://github.com/ruflin/Elastica/pull/1497)
476 * Updated Elasticsearch testing version to 6.2.4. [#1501](https://github.com/ruflin/Elastica/pull/1501)
479 ## [6.0.1](https://github.com/ruflin/Elastica/compare/6.0.0...6.0.1)
482 - Characters "<" and ">" will be removed when a query term is passed to [`Util::escapeTerm`](https://github.com/ruflin/Elastica/pull/1415/files). Since v5.1 the [documentation](https://www.elastic.co/guide/en/elasticsearch/reference/5.1/query-dsl-query-string-query.html#_reserved_characters) states that these symbols cannot be escaped ever.
484 - Fix [#1435](https://github.com/ruflin/Elastica/issues/1435) forcing `doc_as_upsert` to be boolean, acording [Elastic doc-update documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-update.html#_literal_doc_as_upsert_literal)
485 - Fix [#1456](https://github.com/ruflin/Elastica/issues/1456) set SSL as connection scheme if it is required
489 * Added request parameters to `Client->deleteDocuments()`. [#1419](https://github.com/ruflin/Elastica/pull/1419)
490 * Added request parameters to `Type->updateDocuments()`, `Type->addDocuments()`, `Type->addObjects()`, `Index->addDocuments()`, `Index->updateDocuments()`. [#1427](https://github.com/ruflin/Elastica/pull/1427)
491 * Added avg_bucket() and sum_bucket() in aggregations [PR#1443](https://github.com/ruflin/Elastica/pull/1443) - (https://github.com/ruflin/Elastica/issues/1279)
492 * Added support for [terms lookup mechanism](https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-query.html#query-dsl-terms-lookup) on terms query [#1452](https://github.com/ruflin/Elastica/pull/1452)
495 ## [6.0.0](https://github.com/ruflin/Elastica/compare/6.0.0-beta1...6.0.0)
498 - Return the [_source of inner hit nested](https://github.com/elastic/elasticsearch/pull/26982) as is without wrapping it into its full path context [#1398](https://github.com/ruflin/Elastica/pull/1398)
499 - Removed CrossIndex Class as from now use Reindex. [#1411](https://github.com/ruflin/Elastica/pull/1411)
504 - Added Elastica\Aggregation\StatsBucket
511 ## [6.0.0-beta1](https://github.com/ruflin/Elastica/compare/5.3.0...6.0.0-beta1)
519 - Replace IndexAlreadyExistsException with [ResourceAlreadyExistsException](https://github.com/elastic/elasticsearch/pull/21494) [#1350](https://github.com/ruflin/Elastica/pull/1350)
520 - in order to delete an index you should not delete by its alias now you should delete using the [concrete index name](https://github.com/elastic/elasticsearch/blob/6.0/core/src/test/java/org/elasticsearch/aliases/IndexAliasesIT.java#L445) [#1348](https://github.com/ruflin/Elastica/pull/1348)
521 - Removed ```optimize``` from Index class as it has been deprecated in ES 2.1 and removed in [ES 5.x+](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/indices-optimize.html) use forcemerge [#1351](https://github.com/ruflin/Elastica/pull/1350)
522 - In QueryString is not allowed to use fields parameters in conjunction with default_field parameter. This is not well documented, it's possibile to understand from [Elasticsearch tests : QueryStringQueryBuilderTests.java](https://github.com/elastic/elasticsearch/blob/6.0/core/src/test/java/org/elasticsearch/index/query/QueryStringQueryBuilderTests.java#L917) [#1352](https://github.com/ruflin/Elastica/pull/1352)
523 - Index mapping field of type [*'string'*](https://www.elastic.co/guide/en/elasticsearch/reference/5.5/string.html) has been removed from Elasticsearch 6.0 codebase [#1353](https://github.com/ruflin/Elastica/pull/1353)
524 - The [created and found](https://github.com/elastic/elasticsearch/pull/25516) fields in index and delete responses became obsolete after the introduction of the result field in index, update and delete responses [#1354](https://github.com/ruflin/Elastica/pull/1354)
525 - Removed file scripts [#24627](https://github.com/elastic/elasticsearch/pull/24627) [#1364](https://github.com/ruflin/Elastica/pull/1364)
526 - Removed [groovy script](https://github.com/elastic/elasticsearch/pull/21607) [#1364](https://github.com/ruflin/Elastica/pull/1364)
527 - Removed [native script](https://github.com/elastic/elasticsearch/pull/24726) [#1364](https://github.com/ruflin/Elastica/pull/1364)
528 - Removed old / removed script language support : javascript, python, mvel [#1364](https://github.com/ruflin/Elastica/pull/1364)
529 - Disable [_all](https://github.com/elastic/elasticsearch/pull/22144) by default, disallow configuring _all on 6.0+ indices [#1365](https://github.com/ruflin/Elastica/pull/1365)
530 - [Unfiltered nested source](https://github.com/elastic/elasticsearch/pull/26102) should keep its full path [#1366](https://github.com/ruflin/Elastica/pull/1366)
531 - The deprecated minimum_number_should_match parameter in the bool query has been removed, use minimum_should_match instead. [#1369](https://github.com/ruflin/Elastica/pull/1369)
532 - For geo_distance queries, sorting, and aggregations the sloppy_arc option has been removed from the distance_type parameter. [#1369](https://github.com/ruflin/Elastica/pull/1369)
533 - The geo_distance_range query, which was deprecated in 5.0, has been removed. [#1369](https://github.com/ruflin/Elastica/pull/1369)
534 - The optimize_bbox parameter has been removed from geo_distance queries. [#1369](https://github.com/ruflin/Elastica/pull/1369)
535 - 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. [#1369](https://github.com/ruflin/Elastica/pull/1369)
536 - [Unfiltered nested source](https://github.com/elastic/elasticsearch/pull/26102) should keep its full path [#1366](https://github.com/ruflin/Elastica/pull/1366)
537 - [Analyze Explain](https://www.elastic.co/guide/en/elasticsearch/reference/6.0/_explain_analyze.html) no more support [request parameters](https://www.elastic.co/guide/en/elasticsearch/reference/5.5/indices-analyze.html), use request body instead. [#1370](https://github.com/ruflin/Elastica/pull/1370)
538 - [Mapper Attachment plugin has been removed](https://github.com/elastic/elasticsearch/pull/20416) Use Ingest-attachment plugin and attachment processors with pipeline to ingest new documents. [#1375](https://github.com/ruflin/Elastica/pull/1375)
539 - [Indices](https://github.com/elastic/elasticsearch/pull/21837) Query has been removed in Elasticsearch 6.0 [#1376](https://github.com/ruflin/Elastica/pull/1376)
540 - Remove deprecated [type and slop](https://github.com/elastic/elasticsearch/pull/26720) field in match query [#1382](https://github.com/ruflin/Elastica/pull/1382)
541 - Remove [several parse field](https://github.com/elastic/elasticsearch/pull/26711) deprecations in query builders [#1382](https://github.com/ruflin/Elastica/pull/1382)
542 - Remove [deprecated parameters](https://github.com/elastic/elasticsearch/pull/26508) from ids_query [#1382](https://github.com/ruflin/Elastica/pull/1382)
543 - Implemented [join-datatype](https://www.elastic.co/guide/en/elasticsearch/reference/current/parent-join.html) is a special field that creates parent/child relation within documents of the same index. [#1383](https://github.com/ruflin/Elastica/pull/1383)
546 - Enforce [Content-Type requirement on the layer Rest](https://github.com/elastic/elasticsearch/pull/23146), a [PR on Elastica #1301](https://github.com/ruflin/Elastica/issues/1301) solved it (it has been implemented only in the HTTP Transport), but it was not implemented in the Guzzle Transport. [#1349](https://github.com/ruflin/Elastica/pull/1349)
551 - Added `Query\SpanContaining`, `Query\SpanWithin` and `Query\SpanNot` [#1319](https://github.com/ruflin/Elastica/pull/1319)
552 - Implemented [Pipeline](https://www.elastic.co/guide/en/elasticsearch/reference/current/pipeline.html) and [Processors](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-processors.html). [#1373](https://github.com/ruflin/Elastica/pull/1373)
553 - 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. [#1378](https://github.com/ruflin/Elastica/pull/1378)
556 ## [5.3.0](https://github.com/ruflin/Elastica/compare/5.2.1...5.3.0)
560 - Removed `Query\NumericRange`, use `Query\Range` instead [#1334](https://github.com/ruflin/Elastica/pull/1334)
564 - Send the `scroll_id` inside a json body instead of plain text [#1325](https://github.com/ruflin/Elastica/pull/1325)
567 - Added getNumberOfReplicas() for index settings [PR#1324](https://github.com/ruflin/Elastica/pull/1324)
568 - Added getNumberOfShards() for index settings [PR#1321](https://github.com/ruflin/Elastica/pull/1331)
569 - Added `\Elastica\Query\Span*` for proximity searches [#304](https://github.com/ruflin/Elastica/issues/304)
570 - Added avg_bucket() and sum_bucket() in aggregations [PR#1443](https://github.com/ruflin/Elastica/pull/1443) - (https://github.com/ruflin/Elastica/issues/1279)
573 ## [5.2.1](https://github.com/ruflin/Elastica/compare/5.2.0...5.2.1)
578 - Fix updating settings of an index. [#1296](https://github.com/ruflin/Elastica/pull/1296)
579 - Remove `Elastica\Search::OPTION_SEARCH_TYPE_DFS_QUERY_AND_FETCH` and `Elastica\Search::OPTION_SEARCH_TYPE_QUERY_AND_FETCH` as no longer supported as of 5.3.0
580 - Fix bad parameter value to refresh document [#1318](https://github.com/rufli/Elastica/pull/1318)
587 - Added `\Elastica\Query\ParentId` to avoid join with parent documents [#1287](https://github.com/ruflin/Elastica/issues/1287)
588 - Added `\Elastica\Reindex` for reindexing between indices [#1311](https://github.com/ruflin/Elastica/issues/1311)
592 - Added support for `other_bucket` and `other_bucket_key` paramters on `Elastica\Aggregation\Filters`
596 - Deprecated `Tool\CrossIndex` use `\Elastica\Reindex` instead [#1311](https://github.com/ruflin/Elastica/issues/1311)
598 ## [5.2.0](https://github.com/ruflin/Elastica/compare/5.1.0...5.2.0)
602 - Fix reading bool index settings like `\Elastica\Index\Settings::getBlocksWrite`. Elasticsearch returns all settings as strings and does not normalize bool values.
603 The getters now return the right bool value for whichever string representation is used like 'true', '1', 'on', 'yes'. [#1251](https://github.com/ruflin/Elastica/pull/1251)
604 - Fix for QueryBuilder version check `\Elastica\QueryBuilder\Version\Version240.php` added all new query types to queries array. [#1266](https://github.com/ruflin/Elastica/pull/1266) [#1269](https://github.com/ruflin/Elastica/pull/1269)
605 - Do not modify the original query in `\Elastica\Search::count`. [#1276](https://github.com/ruflin/Elastica/pull/1276)
609 - Added `\Elastica\Client::requestEndpoint`, `\Elastica\Index::requestEndpoint`, `\Elastica\Type::requestEndpoint` that allow make requests with official client Endpoint usage. [#1275](https://github.com/ruflin/Elastica/pull/1275)
610 - Added `\Elastica\Aggregation\GeoBounds` that computes the bounding box containing all geo_point values for a field. [#1271](https://github.com/ruflin/Elastica/pull/1271)
611 - Added `\Elastica\Query\MatchNone` the inverse of MatchAll. [#1276](https://github.com/ruflin/Elastica/pull/1276)
615 - added support for the "explain" flag of AnalyzeAPI [#1254](https://github.com/ruflin/Elastica/pull/1254)
616 - added support for the "request_cache" search option [#1243](https://github.com/ruflin/Elastica/pull/1243)
617 - skip sending "retry_on_conflict=0" default query param to improve compatibility with Amazon Elasticsearch [#1047](https://github.com/ruflin/Elastica/pull/1047)
618 - optimized `\Elastica\Scroll` to avoid one request [#1273](https://github.com/ruflin/Elastica/pull/1273)
619 - Update elasticsearch-php dependency to 5.2.0 [#1245](https://github.com/ruflin/Elastica/pull/1245)
620 - Update elasticsearch testing dependency to 5.2.2 [#1245](https://github.com/ruflin/Elastica/pull/1245)
624 - Deprecated `\Elastica\Exception\ElasticsearchException` which is irrelevant since Elasticsearch now exposes the errors as a structured array instead of a single string.
625 Use `\Elastica\Exception\ResponseException::getResponse::getFullError` instead.
626 - Deprecated both `prefix_len` & `min_word_len` fields in `Elastica\Suggest\CandidateGenerator\DirectGenerator` as these now return errors when using the phrase suggester to querying terms.
627 Use `prefix_length` & `min_word_length` instead [#1282](https://github.com/ruflin/Elastica/pull/1282)
628 Use `\Elastica\Exception\ResponseException::getResponse::getFullError` instead. [#1251](https://github.com/ruflin/Elastica/pull/1251)
630 ## [5.1.0](https://github.com/ruflin/Elastica/compare/5.0.0...5.1.0)
634 - `\Elastica\Script\AbstractScript` added the script language as constructor argument and sub-classes must implement `getScriptTypeArray`
640 - `\Elastica\Query\Missing`: negate `\Elastica\Query\Exists` instead
641 - `\Elastica\Query\TopChildren`
642 - `\Elastica\Query\MatchPhrase` and `\Elastica\Query\MatchPhrasePrefix` do not extend `\Elastica\Query\Match` anymore because they do not share exactly the same options
643 - Removed the `routing` option in `\Elastica\Index::create` 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.
644 - Fix `relation` property of `\Elastica\Query\GeoShapeProvided`
645 - repoint `\Elastica\Type::exists` from the deprecated /{index}/{type} endpoint to /{index}/_mapping/{type}
649 - added `\Elastica\Script\ScriptId` to reference stored scripts by ID
650 - added `\Elastica\Query\AbstractGeoShape::RELATION_WITHIN`
656 - `\Elastica\Query\HasParent` to use `parent_type` instead of `type`. Fixes warning due to field being deprecated.
661 - `\Elastica\Client::optimizeAll` in favor of `\Elastica\Client::forcemergeAll`
662 - `\Elastica\Query\BoolQuery::setMinimumNumberShouldMatch` in favor of `\Elastica\Query\BoolQuery::setMinimumShouldMatch`
663 - `\Elastica\Query\GeoDistanceRange`: use distance aggregations or sorting instead
664 - `\Elastica\Query\GeohashCell`
665 - `\Elastica\Query\Indices`: search on the `_index` field instead
666 - `\Elastica\Query\Match::setFieldType`: use `\Elastica\Query\MatchPhrase` and `\Elastica\Query\MatchPhrasePrefix` instead
667 - `\Elastica\Transport\Null` is deprecated because null is a reserved class name in PHP 7. Use `\Elastica\Transport\NullTransport` instead.
669 ## [5.0.0](https://github.com/ruflin/Elastica/compare/5.0.0-beta1...5.0.0)
672 - Updated Elastica\Test\Suggest\CompletionTest now payload and output are removed
673 - Updated Elastica\Test\TypeTest::testGetDocumentWithFieldsSelection The stored_fields parameter will only return stored fields — it will no longer extract values from the _source
683 - `\Elastica\JSON` throws exception with readable message instead of errno
684 - `\Elastica\JSON::stringify` throws `\Elastica\Exception\JSONParseException` on error
687 ## [5.0.0-beta1](https://github.com/ruflin/Elastica/compare/3.2.3...5.0.0-beta1)
694 - Remove deprecated Elastica\Script*.php classes. Use Elastica\Script\* instead.
695 - Remove Elastica/Query/Image.php and test/Elastica/Query/ImageTest.php, no more support for image-plugin.
696 - Remove Elastica/Query/Filtered.php and test/Elastica/Query/FilteredTest.php and all uses from code.
699 - Remove in Elastica\AbstractUpdateAction Option "percolate", getter and setter as deprecated as of ES 1.3. Use Percolator instead.
700 - Remove in Elastica\Aggregation\DateHistogram Option "pre_zone" is deprecated as of ES 1.5. Use "time_zone" instead
701 - Remove in Elastica\Aggregation\DateHistogram Option "post_zone" is deprecated as of ES 1.5. Use "time_zone" instead.
702 - Remove in Elastica\Aggregation\DateHistogram Option "pre_zone_adjust_large_interval" is deprecated as of ES 1.5. Use "time_zone" instead.
703 - Remove in Elastica\Aggregation\DateHistogram Option "pre_offset" is deprecated as of ES 1.5. Use "offset" instead.
704 - Remove in Elastica\Aggregation\DateHistogram Option "post_offset" is deprecated as of ES 1.5. Use "offset" instead.
705 - Remove Elastica\Document::add as deprecated. Use Elastica\Document::set instead
706 - Remove Elastica\Document::setScript() is no longer available as of 0.90.2. See http://elastica.io/migration/0.90.2/upsert.html to migrate.
707 - Remove Elastica\Document::getScript() is no longer available as of 0.90.2. See http://elastica.io/migration/0.90.2/upsert.html to migrate.
708 - Remove Elastica\Document::hasScript() is no longer available as of 0.90.2. See http://elastica.io/migration/0.90.2/upsert.html to migrate.
709 - Remove Elastica/Query::setLimit as deprecated. Use the Elastica/Query::setSize() method
710 - Remove Elastica\Query\Builder
711 - Remove Elastica\Query\Fuzzy::addField as deprecated. Use Elastica\Query\Fuzzy::setField and Elastica\Query\FuzzysetFieldOption instead.
712 - Remove Elastica\Query::setIds as deprecated. Use Elastica\Query::like instead.
713 - Remove Elastica\Query::setLikeText as deprecated. Use Elastica\Query::like instead.
714 - Remove Elastica\Query Option "percent_terms_to_match" is deprecated as of ES 1.5. Use "minimum_should_match" instead.
715 - Remove Elastica\QueryBuilder\DSL\Query "More Like This Field" query is deprecated as of ES 1.4. Use MoreLikeThis query instead.
716 - Changed visibility from protected to private Elastica\ResultSet::$_position as accessing this property in an extended class is deprecated.
717 - Changed visibility from protected to private Elastica\ResultSet::$_response as accessing this property in an extended class is deprecated.
718 - Changed visibility from protected to private Elastica\ResultSet::$_query as accessing this property in an extended class is deprecated.
719 - Changed visibility from protected to private Elastica\ResultSet::$_results as accessing this property in an extended class is deprecated.
720 - Removed Elastica\ResultSet::$_timedOut as deprecated. Use ResultSet->hasTimedOut() instead.
721 - Removed Elastica\ResultSet::$_took as deprecated. Use ResultSet->hasTimedOut() instead.
722 - Removed Elastica\ResultSet::$_totalHits as deprecated. Use ResultSet->hasTimedOut() instead.
723 - 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.
724 - Removed Elastica\Query\Builder as deprecated. Use new Elastica\QueryBuilder instead.
725 - Removed Elastica\Percolator as deprecated. Use new Elastica\Query\Percolate instead.
726 - Changed Elastica\Index::deleteByQuery() to use new API https://www.elastic.co/guide/en/elasticsearch/reference/5.0/docs-delete-by-query.html
727 - Remove Elastica\ScanAndScroll and test, Scan search type is removed from ElasticSearch 5.0.
734 - Elastica\QueryBuilder\DSL\Query::exists
735 - Elastica\QueryBuilder\DSL\Query::type
750 - Elastica\Test\Aggregation\ScriptTest::testAggregationScript
751 - Elastica\Test\Aggregation\ScriptTest::testAggregationScriptAsString
752 - Elastica\Test\Query\FunctionScoreTest::testScriptScore
753 - Elastica\Test\BulkTest::testUpdate
754 - Elastica\Test\ClientTest::testUpdateDocumentByScript
755 - Elastica\Test\ClientTest::testUpdateDocumentByScriptWithUpsert
756 - Elastica\Test\ClientTest::testUpdateDocumentPopulateFields
757 - Elastica\Test\ClientTest::testUpdateDocumentPopulateFields
758 - Elastica\Test\TypeTest::testUpdateDocument
759 - Elastica\Test\TypeTest::testUpdateDocumentWithIdForwardSlashes
760 - Elastica\Test\TypeTest::testUpdateDocumentWithParameter
761 - Elastica\Test\TypeTest::testUpdateDocumentWithFieldsSource
765 ## [3.2.3](https://github.com/ruflin/Elastica/compare/3.2.2...3.2.3)
771 - Elastica\Aggregation\BucketScript
772 - Elastica\Aggregation\SerialDiff
773 - Elastica\Query\InnerHits
776 - Elastica\Client constructor now accepts a transport of fully qualified name. [#1169](https://github.com/ruflin/Elastica/pull/1169)
780 ## [3.2.2](https://github.com/ruflin/Elastica/compare/3.2.1...3.2.2)
786 - Removed `int` type hinting in `setMinimumMatch` (`Terms` Query): it should also allow `string`. [#1151](https://github.com/ruflin/Elastica/pull/1151)
789 - Elastica\QueryBuilder\DSL\Query::geo_distance
790 - Elastica\Aggregation\GeoCentroid [#1150](https://github.com/ruflin/Elastica/pull/1150)
792 - Elastica\Client::getVersion [#1152](https://github.com/ruflin/Elastica/pull/1152)
793 - Added support for terminate_after parameter in search queries [#1168](https://github.com/ruflin/Elastica/pull/1168)
797 - Get the root reason from Elasticsearch's error JSON, when available [#1111](https://github.com/ruflin/Elastica/pull/1111)
798 - Optimize memory usage for Http Adapter [#1161](https://github.com/ruflin/Elastica/pull/1161)
803 ## [3.2.1](https://github.com/ruflin/Elastica/compare/3.2.0...3.2.1)
809 - Fix fatal error on `Query::addScriptField()` if scripts were already set via `setScriptFields()` [#1086](https://github.com/ruflin/Elastica/pull/1086)
810 - Fix namespace collision of `Type` in `Query\Ids` [#1104](https://github.com/ruflin/Elastica/pull/1104)
813 - 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. [#1066](https://github.com/ruflin/Elastica/pull/1066)
816 ## [3.2.0](https://github.com/ruflin/Elastica/compare/3.1.1...3.2.0)
819 - Method \Elastica\ResultSet::create and property \Elastica\ResultSet::$class were removed. To change the ResultSet class, implement your own ResultSet Builder. [#1065](https://github.com/ruflin/Elastica/pull/1065)
820 - Properties on \Elastica\ResultSet _totalHits, _maxScore, _took and _timedOut that were originally set on object construction are now accessed by the getters on the ResultSet. [#1065](https://github.com/ruflin/Elastica/pull/1065)
823 - Fix php notice on `\Elastica\Index::getAliases()` if index has no aliases [#1078](https://github.com/ruflin/Elastica/issues/1078)
826 - Update elasticsearch build dependency to elasticsearch 2.3.2 [#1084](https://github.com/ruflin/Elastica/pull/1084)
829 - `Elastica\Type->deleteByQuery($query, $options)` $query param can be a query `array` again https://github.com/ruflin/Elastica/issues/1072 [#1073](https://github.com/ruflin/Elastica/pull/1073)
830 - `Elastica\Client->connect()` allows to establish a connection to ES server when the config was set using method `Elastica\Client->setConfigValue()` https://github.com/ruflin/Elastica/issues/1076 [#1077](https://github.com/ruflin/Elastica/pull/1077)
831 - Elastica\Client constructor now accepts a LoggerInterface and will log both successful and failed requests. [#1069](https://github.com/ruflin/Elastica/pull/1069)
834 - Configuring the logger in \Elastica\Client $config constructor is deprecated and will be removed. Use the $logger argument instead. [#1069](https://github.com/ruflin/Elastica/pull/1069)
835 - Extracted creation of ResultSet objects to a new dedicated ResultSet\Builder implementation. [#1065](https://github.com/ruflin/Elastica/pull/1065)
836 - 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](https://github.com/ruflin/Elastica/pull/1065)
839 ## [3.1.1](https://github.com/ruflin/Elastica/compare/3.1.0...3.1.1)
842 - Add an "AwsAuthV4" 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. [#1056](https://github.com/ruflin/Elastica/pull/1056)
846 - `Elastica\Exception\InvalidException` will be thrown if you try using an
847 `Elastica\Aggregation\AbstractSimpleAggregation` without setting either the
849 - `Elastica\Index->deleteByQuery($query, $options)` $query param can be a query `array` again
850 - `Elastica\Query\MoreLikeThis->toArray()` now supports providing a non-indexed document as an input to perform the comparison.
851 - `Elastica\Status` will lazy load the `_stats` at when it is needed. https://github.com/ruflin/Elastica/pull/1058
854 ## [3.1.0](https://github.com/ruflin/Elastica/compare/3.0.1...3.1.0)
858 - Elastica\Query\FunctionScore::setFilter - deprecated and will throw DeprecatedException since not supported by Elasticsearch. Use setQuery instead.
861 - `Elastica\Result->getDocument` and `Elastica\ResultSet->getDocuments` for return `\Elastica\Document`. https://github.com/ruflin/Elastica/issues/960
867 - Elastica\AbstractScript|Script|ScriptFile|ScriptFields deprecated in favor of Elastica\Script|AbstractScript|Script|ScriptFile|ScriptFields [#1028](https://github.com/ruflin/Elastica/pull/1028)
868 - Elastica\Filter\* are deprecated. You can use proper queries instead. Backward compatibility layer provided, but will be removed in next Elastica releases. See https://www.elastic.co/blog/better-query-execution-coming-elasticsearch-2-0 and https://github.com/ruflin/Elastica/issues/1001
870 ## [3.0.1](https://github.com/ruflin/Elastica/compare/3.0.0...3.0.1)
873 - Update build dependency to elasticsearch 2.1.1 [#1022](https://github.com/ruflin/Elastica/pull/1022)
874 - Readd \Elastica\Filter\Nested. See https://github.com/ruflin/Elastica/issues/1001 [#1020](https://github.com/ruflin/Elastica/pull/1020)
877 ## [3.0.0](https://github.com/ruflin/Elastica/compare/3.0.0-beta1...3.0.0)
880 - Revert getError changes in Response object and make it better BC compatible. See comment [here](https://github.com/ruflin/Elastica/commit/41a7a2075837320bc9bd3bca4150e05a1ec9a115#commitcomment-15136374).
883 - Function score query: corrected the `score_method` `average` to `avg` [#975](https://github.com/ruflin/Elastica/pull/975)
884 - Set `json_decode()` assoc parameter to true in `Elastica\Response` [#1005](https://github.com/ruflin/Elastica/pull/1005)
885 - Add `bigintConversion` to keys passed to connection config in `Elastica\Client` [#1005](https://github.com/ruflin/Elastica/pull/1005)
886 - Use POST instead of PUT to send bulk requests [#1010](https://github.com/ruflin/Elastica/issues/1010)
889 - Elastica\Query\MultiMatch::setFuzziness now supports being set to `AUTO` with the const `MultiMatch::FUZZINESS_AUTO`
890 - Elastica\Type\Mapping::send now accepts query string parameters to send along with the mapping request
891 - Elastica\Query\BoolQuery::addFilter
894 - More info on Elastica\Exception\PartialShardFailureException. Not just number of failed shards.
895 - Allow bool in TopHits::setSource function [#1012](https://github.com/ruflin/Elastica/issues/1012)
898 - Elastica\Query\Filtered triggers E_USER_DEPRECATED error because filtered query is deprecated since ES 2.0.0-beta1. Use BoolQuery instead.
899 - Elastica\QueryBuilder\DSL\Query::filtered() triggers E_USER_DEPRECATED error because filtered query is deprecated since ES 2.0.0-beta1. Use bool() instead.
903 ## [3.0.0-beta1](https://github.com/ruflin/Elastica/compare/2.3.1...3.0.0-beta1)
906 - Elastica\AbstractUpdateAction::setPercolate now throw DeprecatedException, user Percolator instead
907 - Elastica\AbstractUpdateAction::getPercolate now throw DeprecatedException, user Percolator instead
908 - Elastica\AbstractUpdateAction::hasPercolate now throw DeprecatedException, user Percolator instead
909 - Elastica\Type::delete now throw DeprecatedException, 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
911 - Elastica\Document, methods: setScript, getScript, hasScript now throw DeprecatedException.
913 - Elastica\Aggregation\DateHistogram, methods: setPreZone, setPostZone, setPreZoneAdjustLargeInterval, setPreOffset, setPostOffset now throw DeprecatedException.
914 - Elastica\Query\Builder trigger E_USER_DEPRECATED error when you try use it.
915 - Elastica\Filter\Bool and Elastica\Query\Bool trigger E_USER_DEPRECATED error when you try use them.
916 - Elastica\Query\Fuzzy:addField method trigger E_USER_DEPRECATED error
917 - Elastica\Query\FunctionScore:addBoostFactorFunction method trigger E_USER_DEPRECATED error
918 - Elastica\Query:setLimit method trigger E_USER_DEPRECATED error
919 - Elastica\Document:add method trigger E_USER_DEPRECATED error
928 - Elastica\Reponse::getError() now returns and array instead of a string
929 - Move function \Elastica\Index\Status::getAliases() and hasAlias(...) to \Elastica\Index::getAliases()
930 - Remove \Elastica\Index\Status object and related functions
931 - \Elastica\Query\FuzzyLikeThis remove as not supported anymore
932 - Remove \Elastica\Status::getServerStatus() as the information was removed
934 - Remove \Elastica\Filter\Nested as it is replaced by \Elastica\Query\Nested
941 - Elastica\Reponse::getErrorMessage was added as getError is now an object
942 - Elastica\Query\MoreLikeThis::setLike
943 - \Elastica\Exception\DeprecatedException
944 - Connection option to convert JSON bigint results to strings can now be set [#717](https://github.com/ruflin/Elastica/issues/717)
952 - Elastica\Type::delete is deprecated
953 - Elastica\Filter\Bool is deprecated
954 - Elastica\Query\Bool is deprecated
955 - Elastica\Query\MoreLikeThis::setLikeText is deprecated
956 - Elastica\Query\MoreLikeThis::setIds is deprecated
958 ## [2.3.1](https://github.com/ruflin/Elastica/releases/tag/2.3.1) - 2015-10-17
961 - Filters aggregation: empty name is named bucket [#935](https://github.com/ruflin/Elastica/pull/935)
962 - Prevent mix keys in filters ([#936](https://github.com/ruflin/Elastica/pull/936)) [#939](https://github.com/ruflin/Elastica/pull/939)
963 - Fix empty string is not anonymous filter [#935](https://github.com/ruflin/Elastica/pull/935)
964 - Filters aggregation: empty name is named bucket [#935](https://github.com/ruflin/Elastica/pull/935)
967 - Support for field_value_factor [#953](https://github.com/ruflin/Elastica/pull/953)
968 - Added setMinDocCount and setExtendedBounds options [#947](https://github.com/ruflin/Elastica/pull/947)
969 - Avoid environment dependecies in tests [#938](https://github.com/ruflin/Elastica/pull/938)
972 - Update elasticsearch dependency to elasticsearch 1.7.3 [#957](https://github.com/ruflin/Elastica/pull/957)
978 ## [2.3.0](https://github.com/ruflin/Elastica/releases/tag/2.3.0) - 2015-09-15
984 as argument. [#916](https://github.com/ruflin/Elastica/pull/916)
987 - Add Script File feature [#902](https://github.com/ruflin/Elastica/pull/902) [#914](https://github.com/ruflin/Elastica/pull/914)
990 - Support the http.compression in the Http transport adapter [#515](https://github.com/ruflin/Elastica/issues/515)
991 - Introduction of Lazy toArray [#916](https://github.com/ruflin/Elastica/pull/916)
992 - Update Elasticsearch dependency to 1.7.2 [#929](https://github.com/ruflin/Elastica/pull/929)
996 ## [2.2.1](https://github.com/ruflin/Elastica/releases/tag/2.2.1) - 2015-08-10
1000 - Support for index template added [#905](https://github.com/ruflin/Elastica/pull/905)
1003 - Update Elasticsearch dependency to 1.7.1 and update plugin dependencies [#909](https://github.com/ruflin/Elastica/pull/909)
1004 - Update php-cs-fixer to 1.10 [#898](https://github.com/ruflin/Elastica/pull/898)
1005 - Elastica\QueryBuilder now uses Elastica\QueryBuilder\Version\Latest as default version to avoid empty version classes. [#897](https://github.com/ruflin/Elastica/pull/897)
1006 - Update elasticsearch-image to work with ES 1.7.1 [#907](https://github.com/ruflin/Elastica/pull/907)
1007 - Local dev environment was refactored to fully work in docker environment. Running tests is now only one command: `make tests` [#901](https://github.com/ruflin/Elastica/pull/901)
1010 - Elastica\QueryBuilder\Version\Version150 deprecated in favor of Elastica\QueryBuilder\Version\Latest [#897](https://github.com/ruflin/Elastica/pull/897)
1013 ## [2.2.0](https://github.com/ruflin/Elastica/releases/tag/2.2.0) - 2015-07-08
1017 - Usage of constant DEBUG and method Elastica\Util::debugEnabled is removed. [#868](https://github.com/ruflin/Elastica/pull/868)
1018 - Elastica\Response::getTransferInfo will not return "request_header" by default. [#868](https://github.com/ruflin/Elastica/pull/868)
1022 - Fixed segmentation fault in PHP7 [#868](https://github.com/ruflin/Elastica/pull/868)
1023 - Removed deprecation for Elastica\Type::deleteByQuery [#875](https://github.com/ruflin/Elastica/pull/875)
1026 - `CallbackStrategy` now will accept any `callable` as callback, not only instance of `Closure`. [#871](https://github.com/ruflin/Elastica/pull/871)
1027 - `StrategyFactory` now will try to find predefined strategy before looking to global namespace. [#877](https://github.com/ruflin/Elastica/pull/877)
1030 - Methods of classes in `QueryBuilder\DSL` namespace now have exact same signatures as corresponding constructors. [#878](https://github.com/ruflin/Elastica/pull/878)
1031 - Constructor of `Aggregation\Filter` now accepts filter as second parameter [#878](https://github.com/ruflin/Elastica/pull/878)
1032 - Constructor of `Filter\AbstractMulti` (`BoolAnd`, `BooldOr`) now accepts array of filters as parameter [#878](https://github.com/ruflin/Elastica/pull/878)
1033 - Constructor of `Query\Match` now accepts arguments [#878](https://github.com/ruflin/Elastica/pull/878)
1034 - Coverage Reporting improved with Codecov [#888](https://github.com/ruflin/Elastica/pull/888)
1035 - Added 'query_cache' option for search [#886](https://github.com/ruflin/Elastica/pull/886)
1037 ## [2.1.0](https://github.com/ruflin/Elastica/releases/tag/2.1.0) - 2015-06-01
1040 - Multiple rescore query [#820](https://github.com/ruflin/Elastica/issues/820/)
1041 - Support for a custom connection timeout through a connectTimeout parameter. [#841](https://github.com/ruflin/Elastica/issues/841/)
1042 - SignificantTerms Aggregation [#847](https://github.com/ruflin/Elastica/issues/847/)
1044 - Support for retrieving id node [#852](https://github.com/ruflin/Elastica/pull/852)
1045 - Scroll Iterator [#842](https://github.com/ruflin/Elastica/issues/842/)
1046 - Gitter Elastica Chat Room add for Elastica discussions: https://gitter.im/ruflin/Elastica
1047 - Introduce PHP7 compatibility and tests. [#837](https://github.com/ruflin/Elastica/pull/837)
1048 - `Tool\CrossIndex` for reindexing and copying data and mapping between indices [#853](https://github.com/ruflin/Elastica/pull/853)
1049 - CONTIRUBTING.md file added for contributor guidelines. [#854](https://github.com/ruflin/Elastica/pull/854)
1052 - Introduction of Changelog standard based on http://keepachangelog.com/. changes.txt moved to CHANGELOG.md [#844](https://github.com/ruflin/Elastica/issues/844/)
1053 - Make host for all tests dynamic to prepare it for a more dynamic test environment [#846](https://github.com/ruflin/Elastica/pull/846)
1054 - Node information is retrieved based on id instead of name as multiple nodes can have the same name. [#852](https://github.com/ruflin/Elastica/pull/852)
1061 - `Elastica\ScanAndScroll::$_lastScrollId` removed: `key()` now always returns the next scroll id [#842](https://github.com/ruflin/Elastica/issues/842/)
1065 - Facets are deprecated. You are encouraged to migrate to aggregations instead. [#855](https://github.com/ruflin/Elastica/pull/855/)
1066 - Elastica\Query\Builder is deprecated. Use new Elastica\QueryBuilder instead. [#855](https://github.com/ruflin/Elastica/pull/855/)
1067 - For PHP 7 compatibility Elastica\Query\Bool was renamed to *\BoolQuery, Elastica\Filter\Bool was renamed to BoolFilter, Elastica\Transport\Null was renamed to NullTransport as Null and Bool are reserved phrases in PHP 7. Proxy objects for all three exist to keep backward compatibility. It is recommended to start using the new objects as the proxy classes will be deprecated as soon as PHP 7 is stable. [#837](https://github.com/ruflin/Elastica/pull/837)
1071 ## [2.0.0](https://github.com/ruflin/Elastica/releases/tag/2.0.0) - 2015-05-11
1075 - Elastica\Query\QueryString::setLowercaseExpandedTerms removed [#813](https://github.com/ruflin/Elastica/issues/813/)
1076 - Update elasticsearch dependency to elasticsearch 1.5.2 https://www.elastic.co/downloads/past-releases/elasticsearch-1-5-2 [#834](https://github.com/ruflin/Elastica/issues/834/)
1077 - Added deprecation notice to Elastica\Transport\Thrift, Elastica\Transport\Memcached and Elastica\Type::deleteByQuery [#817](https://github.com/ruflin/Elastica/issues/817/)
1078 - Escape new symbols in Util::escapeTerm [#795](https://github.com/ruflin/Elastica/issues/795/)
1081 - Fix empty bool query to act as match all query [#817](https://github.com/ruflin/Elastica/issues/817/)
1082 - Fixed short match construction in query DSL [#796](https://github.com/ruflin/Elastica/issues/796/)
1083 - Index optimize method to return Response object. [#797](https://github.com/ruflin/Elastica/issues/797/)
1084 - Fix fluent interface inconsistency [#788](https://github.com/ruflin/Elastica/issues/788/)
1088 - Add testing on PHP 7 on Travis [#826](https://github.com/ruflin/Elastica/issues/826/)
1089 - Allow bool in Query::setSource function [#818](https://github.com/ruflin/Elastica/issues/818/) https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-source-filtering.html
1090 - deleteByQuery() implemented in Elastica\Index [#816](https://github.com/ruflin/Elastica/issues/816/)
1091 - Add MLT query against documents [#814](https://github.com/ruflin/Elastica/issues/814/)
1092 - Added Elastica\Query\SimpleQueryString::setMinimumShouldMatch [#813](https://github.com/ruflin/Elastica/issues/813/)
1093 - Added Elastica\Query\FunctionScore::setMinScore [#813](https://github.com/ruflin/Elastica/issues/813/)
1094 - Added Elastica\Query\MoreLikeThis::setMinimumShouldMatch [#813](https://github.com/ruflin/Elastica/issues/813/)
1095 - Added new methods to Elastica\Aggregation\DateHistogram: setOffset, setTimezone [#813](https://github.com/ruflin/Elastica/issues/813/)
1096 - Following methods in Elastica\Aggregation\DateHistogram marked as deprecated: setPreOffset, setPostOffset, setPreZone, setPostZone, setPreZoneAdjustLargeInterval [#813](https://github.com/ruflin/Elastica/issues/813/)
1097 - Add Elastica\Facet\DateHistogram::setFactor() [#806](https://github.com/ruflin/Elastica/issues/806/)
1098 - Added Elastica\Query\QueryString::setTimezone [#813](https://github.com/ruflin/Elastica/issues/813/)
1099 - Add .editorconfig [#807](https://github.com/ruflin/Elastica/issues/807/)
1100 - Added Elastica\Suggest\Completion [#808](https://github.com/ruflin/Elastica/issues/808/)
1101 - Fix elasticsearch links to elastic domain [#809](https://github.com/ruflin/Elastica/issues/809/)
1102 - Added Elastica\Query\Image [#787](https://github.com/ruflin/Elastica/issues/787/)
1104 - Added support for percentiles aggregation [#786](https://github.com/ruflin/Elastica/issues/786/)
1113 - Added Elastica\Query\MatchPhrase [#599](https://github.com/ruflin/Elastica/issues/599/)
1114 - Added Elastica\Query\MatchPhrasePrefix [#599](https://github.com/ruflin/Elastica/issues/599/)
1120 - Update elasticsearch compatibility to 1.4.3 [#782](https://github.com/ruflin/Elastica/issues/782/)
1121 - Add support for scripted metric aggrations [#780](https://github.com/ruflin/Elastica/issues/780/)
1124 - Added availability to specify regexp options in \Elastica\Filters\Regexp [#583](https://github.com/ruflin/Elastica/issues/583/) [#777](https://github.com/ruflin/Elastica/issues/777/)
1125 - Add HHVM as build in travis [#649](https://github.com/ruflin/Elastica/issues/649/)
1128 - Fixed issue with OutOfMemory exception in travis builds [#775](https://github.com/ruflin/Elastica/issues/775/)
1129 - Add support for filters aggregation [#773](https://github.com/ruflin/Elastica/issues/773/)
1132 - Housekeeping, coding standard [#764](https://github.com/ruflin/Elastica/issues/764/)
1133 - Exception\ElasticsearchException now can be catched like all other exceptions as Exception\ExceptionInterface [#762](https://github.com/ruflin/Elastica/issues/762/)
1139 - Added Elastica\Query\Regexp [#757](https://github.com/ruflin/Elastica/issues/757/)
1142 - Update to elasticsearch 1.4.2 [#378](https://github.com/ruflin/Elastica/issues/378/)
1146 - added @return annotation to top_hits aggregation DSL method [#752](https://github.com/ruflin/Elastica/issues/752/)
1149 - Added Elastica\Aggregation\TopHits [#718](https://github.com/ruflin/Elastica/issues/718/)
1152 - Vagrantfile updated [#742](https://github.com/ruflin/Elastica/issues/742/)
1163 - Additional Request Body Options for Percolator [#737](https://github.com/ruflin/Elastica/issues/737/)
1166 - making sure id is urlencoded when using updateDocument [#734](https://github.com/ruflin/Elastica/issues/734/)
1167 - Implement the `weight` in the function score query [#735](https://github.com/ruflin/Elastica/issues/735/)
1170 - Changed setRealWorldErrorLikelihood to setRealWordErrorLikelihood [#729](https://github.com/ruflin/Elastica/issues/729/)
1173 - allow to customize the key on a range aggregation [#728](https://github.com/ruflin/Elastica/issues/728/)
1176 - Added fluent interface to Elastica\Query::setRescore [#733](https://github.com/ruflin/Elastica/issues/733/)
1179 - Added transport to support egeloen/http-adapter [#727](https://github.com/ruflin/Elastica/issues/727/)
1182 - add cache control parameters support to Elastica\Filter\Bool [#725](https://github.com/ruflin/Elastica/issues/725/)
1185 - Avoid remove previously added params when adding a suggest to the query [#726](https://github.com/ruflin/Elastica/issues/726/)
1188 - Added Elastica\QueryBuilder [#724](https://github.com/ruflin/Elastica/issues/724/)
1193 - fixed reserved words in queries which composed of upper case letters (Util::replaceBooleanWords) [#722](https://github.com/ruflin/Elastica/issues/722/)
1196 - Adding PSR-4 autoloading support [#714](https://github.com/ruflin/Elastica/issues/714/)
1199 - Updated Type::getDocument() exception handling. \Elastica\Exception\ResponseException will be thrown instead of \Elastica\Exception\NotFoundException if the ES response contains any error (i.e: Missing index) (BC break) [#687](https://github.com/ruflin/Elastica/issues/687/)
1202 - Added Util::convertDateTimeObject to Util class to easily convert \DateTime objects to required format [#709](https://github.com/ruflin/Elastica/issues/709/)
1205 - Remove ResponseException catch in Type::getDocument() [#704](https://github.com/ruflin/Elastica/issues/704/)
1208 - Fixed Response::isOk() to work better with bulk update api [#702](https://github.com/ruflin/Elastica/issues/702/)
1209 - Adding magic __call() [#700](https://github.com/ruflin/Elastica/issues/700/)
1212 - ResultSet creation moved to static ResultSet::create() method [#690](https://github.com/ruflin/Elastica/issues/690/)
1213 - Accept an options array at Type::updateDocument() [#686](https://github.com/ruflin/Elastica/issues/686/)
1214 - Improve exception handling in Type::getDocument() [#693](https://github.com/ruflin/Elastica/issues/693/)
1218 - Update to elasticsearch 1.3.4 [#691](https://github.com/ruflin/Elastica/issues/691/)
1221 - Update the branch alias in composer.json to match the library version [#683](https://github.com/ruflin/Elastica/issues/683/)
1224 - Update license in composer.json to match project [#681](https://github.com/ruflin/Elastica/issues/681/)
1227 - Delete execution permission from non-executable files [#677](https://github.com/ruflin/Elastica/issues/677/)
1230 - Top-level filter parameter in search has been renamed to post_filter [#669](https://github.com/ruflin/Elastica/issues/669/) [#670](https://github.com/ruflin/Elastica/issues/670/)
1231 - Deprecated: Elastica\Query::setFilter() is deprecated. Use Elastica\Query::setPostFilter() instead. [#669](https://github.com/ruflin/Elastica/issues/669/)
1232 - Deprecated: Elastica\Query::setPostFilter() passing filter as array is deprecated. Pass instance of AbstractFilter instead. [#669](https://github.com/ruflin/Elastica/issues/669/)
1235 - Fixed escaping of / character in Elastica\Util::escapeTerm(), removed usage of JSON_UNESCAPED_SLASHES in Elastica\JSON [#660](https://github.com/ruflin/Elastica/issues/660/)
1242 - Prepare Elastica Release v1.3.0.0
1248 - Add setQuery() method to Elastica\Query\ConstantScore [#653](https://github.com/ruflin/Elastica/issues/653/)
1251 - Be able to configure ES host/port via ENV var in test env [#652](https://github.com/ruflin/Elastica/issues/652/)
1254 - Fix FunstionScore Query random_score without seed bug. [#647](https://github.com/ruflin/Elastica/issues/647/)
1257 - Add setPostFilter method to Elastica\Query (https://www.elastic.co/guide/en/elasticsearch/guide/current/_post_filter.html) [#645](https://github.com/ruflin/Elastica/issues/645/)
1260 - Add Reverse Nested aggregation (https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-reverse-nested-aggregation.html). [#642](https://github.com/ruflin/Elastica/issues/642/)
1264 - Removed the requirement to set arguments filter and/or query in Filtered, according to the documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-filtered-query.html [#616](https://github.com/ruflin/Elastica/issues/616/)
1267 - Stop ClientTest->testDeleteIdsIdxStringTypeString from failing 1/3 of the time [#634](https://github.com/ruflin/Elastica/issues/634/)
1268 - Stop ScanAndScrollTest->testQuerySizeOverride from failing frequently for no reason [#635](https://github.com/ruflin/Elastica/issues/635/)
1269 - rework Document and Script so they can share some infrastructure allowing scripts to specify things like _retry_on_conflict and _routing [#629](https://github.com/ruflin/Elastica/issues/629/)
1272 - Allow bulk API deletes to be routed [#631](https://github.com/ruflin/Elastica/issues/631/)
1278 - Implement Boosting Query (https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-boosting-query.html) [#625](https://github.com/ruflin/Elastica/issues/625/)
1281 - add retry_on_conflict support to bulk [#623](https://github.com/ruflin/Elastica/issues/623/)
1284 - toString updated to consider doc_as_upsert if sent an array source [#622](https://github.com/ruflin/Elastica/issues/622/)
1287 - Fix Aggragations/Filter to work with es v1.2.0 [#619](https://github.com/ruflin/Elastica/issues/619/)
1290 - Added Guzzle transport as an alternative to the default Http transport [#618](https://github.com/ruflin/Elastica/issues/618/)
1291 - Added Elastica\ScanAndScroll Iterator (https://www.elastic.co/guide/en/elasticsearch/guide/current/scan-scroll.html) [#617](https://github.com/ruflin/Elastica/issues/617/)
1294 - Add JSON compat library; Elasticsearch JSON flags and nicer error handling [#614](https://github.com/ruflin/Elastica/issues/614/)
1303 - Fix get settings on alaised index [#608](https://github.com/ruflin/Elastica/issues/608/)
1304 - Added named function for source filtering [#605](https://github.com/ruflin/Elastica/issues/605/)
1305 - Scroll type constant to Elastica\Search added [#607](https://github.com/ruflin/Elastica/issues/607/)
1308 - Added setAnalyzer method to Query\FuzzyLikeThis Class and fixed issue with params not being merged [#611](https://github.com/ruflin/Elastica/issues/611/)
1309 - Typo fixes [#600](https://github.com/ruflin/Elastica/issues/600/), [#602](https://github.com/ruflin/Elastica/issues/602/)
1310 - Remove unreachable return statement [#598](https://github.com/ruflin/Elastica/issues/598/)
1314 - Fix missing use in TermsStats->setOrder() [#597](https://github.com/ruflin/Elastica/issues/597/)
1315 - Replace all instances of ElasticSearch with Elasticsearch [#597](https://github.com/ruflin/Elastica/issues/597/)
1318 - Fixing the Bool filter with Bool filter children bug [#594](https://github.com/ruflin/Elastica/issues/594/)
1321 - Remove useless echo in the Memcache Transport object [#595](https://github.com/ruflin/Elastica/issues/595/)
1324 - escape \ by \\ [#592](https://github.com/ruflin/Elastica/issues/592/)
1327 - Handling of HasChild type parsing bug [#585](https://github.com/ruflin/Elastica/issues/585/)
1328 - Consolidate Index getMapping tests [#591](https://github.com/ruflin/Elastica/issues/591/)
1329 - Fix Type::getMapping when using an aliased index [#588](https://github.com/ruflin/Elastica/issues/588/)
1336 - Fix mapping issue for aliases [#588](https://github.com/ruflin/Elastica/issues/588/)
1339 - Only trap real JSON parse errors in Response class [#586](https://github.com/ruflin/Elastica/issues/586/)
1342 - Added Cardinality aggregation [#581](https://github.com/ruflin/Elastica/issues/581/)
1345 - Support for Terms filter lookup options [#579](https://github.com/ruflin/Elastica/issues/579/)
1351 - Fixed Query\Match Fuzziness parameter type [#576](https://github.com/ruflin/Elastica/issues/576/)
1355 - Added Filter\Indices [#574](https://github.com/ruflin/Elastica/issues/574/)
1358 - Allow json string as data srouce for Bulk\Action on update [#575](https://github.com/ruflin/Elastica/issues/575/)
1361 - Allow for request params in delete by query calls [#573](https://github.com/ruflin/Elastica/issues/573/)
1364 - Added filters: AbstractGeoShape, GeoShapePreIndexed, GeoShapeProvided [#568](https://github.com/ruflin/Elastica/issues/568/)
1367 - Percolate existing documents and add percolate options ([#570](https://github.com/ruflin/Elastica/issues/570/))
1370 - Added Query\Rescore [#441](https://github.com/ruflin/Elastica/issues/441/)
1373 - Added missing query options for MultiMatch (operator, minimum_should_match, zero_terms_query, cutoff_frequency, type, fuzziness, prefix_length, max_expansions, analyzer) [#569](https://github.com/ruflin/Elastica/issues/569/)
1374 - Added missing query options for Match (zero_terms_query, cutoff_frequency) [#569](https://github.com/ruflin/Elastica/issues/569/)
1377 - Fixed request body reuse in http transport [#567](https://github.com/ruflin/Elastica/issues/567/)
1387 - Add snapshot / restore functionality (Elastica\Snapshot) [#566](https://github.com/ruflin/Elastica/issues/566/)
1391 - Improve performance of Elastica/Status->getIndicesWithAlias and aliasExists on clusters with many indices [#563](https://github.com/ruflin/Elastica/issues/563/)
1395 - Fixed Type->deleteByQuery() not working with Query objects [#554](https://github.com/ruflin/Elastica/issues/554/)
1401 - Add JSON_UNESCAPED_UNICODE and JSON_UNESCAPED_SLASHES options in Elastica/Transport/Http, Elastica/Bulk/Action [#559](https://github.com/ruflin/Elastica/issues/559/)
1404 - Fixed unregister percolator (still used _percolator instead of .percolator). removed duplicate slash from register percolator route. [#558](https://github.com/ruflin/Elastica/issues/558/)
1408 - Elastica/Aggregations/GlobalAggragation not allowed as sub aggragation [#555](https://github.com/ruflin/Elastica/issues/555/)
1411 - Add methods setSize, setShardSize to Elastica/Aggregation/Terms
1412 - Elastica/Aggregation/GlobalAggregationTest fixed bug where JSON returned [] instead of {}
1413 - Elastica/ResultSet added method hasAggregations
1426 - Setting shard timeout doesn't work [#547](https://github.com/ruflin/Elastica/issues/547/)
1429 - Remove Elastica\Query\Field and Elastica\Query\Text, which are not supported in ES 1.0.0.RC1
1439 - Added Elastica\Query\DisMax
1453 - Add getParam & getProperties methods to Elastica\Type\Mapping
1456 - Code coverage generation for coveralls.io added: https://coveralls.io/r/ruflin/Elastica
1460 - Fix typo in constant name: Elastica\Query\FunctionScore::DECAY_GUASS becomes DECAY_GAUSS
1466 - added \Elastica\Exception\ResponseException::getElasticsearchException()
1471 - Add Elastica\Facet\TermsStats::setOrder()
1489 - Fix the manner in which suggestion results are returned in \Elastica\ResultSet and adjust associated tests to account for the fix.
1490 - Add \Elastica\Resultset::hasSuggests()
1504 - Refactor suggest implementation (\Elastica\Suggest, \Elastica\Suggest\AbstractSuggest, and \Elastica\Suggest\Term) to more closely resemble query implementation. (BC break)
1505 - \Elastica\Search::addSuggest() has been renamed to \Elastica\Search::setSuggest()
1506 - \Elastica\Query::addSuggest() has been renamed to \Elastica\Query::setSuggest()
1507 - Add \Elastica\Suggest\Phrase, \Elastica\Suggest\CandidateGenerator\AbstractCandidateGenerator, and \Elastica\Suggest\CandidateGenerator\DirectGenerator
1514 - Issue [#491](https://github.com/ruflin/Elastica/issues/491/) resolved
1517 - Issue [#501](https://github.com/ruflin/Elastica/issues/501/) resolved
1532 - Added \Elastica\Filter\Regexp
1535 - Remove wrong documentation for "no limit" [#496](https://github.com/ruflin/Elastica/issues/496/)
1539 - Issue [#490](https://github.com/ruflin/Elastica/issues/490/): Set Elastica\Query\FunctionScore::DECAY_EXPONENTIAL to "exp" instead of "exponential"
1555 - Fix \Elastica\Filter\HasParent usage of \Elastica\Query as to not collide with \Elastica\Filter\Query, bring \Elasitca\Filter\HasChild into line
1558 - Also pass the current client object to the failure callback in \Elastica\Client.
1566 - Fix \Elastica\Filter\HasChild usage of \Elastica\Query as to not collide with \Elastica\Filter\Query namespace
1572 - Correct \Elastica\Test\ClientTest to catch the proper exception type on connection failure
1600 - Second param to \Elastica\Search.php:count($query = '', $fullResult = false) added. If second param is set to true, full ResultSet is returned including facets.
1648 - Elastica\Client::_configureParams() changed to _prepareConnectionParams(), which now takes the config array as an argument
1658 - Add _meta to mapping. [#330](https://github.com/ruflin/Elastica/issues/330/)
1665 - Elastica\Log implement LoggerInterface(extends Psr\Log\AbstractLogger)
1667 if use Elastica\Log inside Elastica\Client nothing more is needed
1668 if use Elastica\Log outside we need use as(https://github.com/php-fig/log) for example Elastica\Log::info($message) or Elastica\Log::log(LogLevel::INFO,$message)
1669 - Elastica\Client add setLogger for setting custom Logger for example Monolog(https://github.com/Seldaek/monolog)
1672 - Elastica\Index::exists fixed for 0.90.0. HEAD request method introduced
1673 - Elastica\Filter\AbstractMulti::getFilters() added
1674 - Implement Elastica\Type\Mapping::enableAllField
1675 - Refresh for Elastica\Index::flush implemented [#316](https://github.com/ruflin/Elastica/issues/316/)
1676 - Added optional parameter to filter result while percolate [#384](https://github.com/ruflin/Elastica/issues/384/)
1682 - Removed Elastica\Exception\AbstractException
1683 - All Exceptions now implement Elastica\Exception\ExceptionInterface
1697 - Added Elastica\Bulk class responsible for performing bulk requests. New bulk requests implemented: Client::deleteDocuments(), Bulk::sendUdp()
1704 - The transport instances now has support for parameters that can be injected by specifying an array as a transport when creating the Elastica client
1707 - Terms->setScript() Added, namespace Elastica\Facet
1724 - Added serialization support. Objects can be added to elastica directly when a serializer callable is configured on \Elastica\Type
1736 - All tests where moved in Elastica\Test namespace
1737 - All tests now inherit from Elastica\Test\Base
1824 - Allow to set curl params over client config [#106](https://github.com/ruflin/Elastica/issues/106/) [#107](https://github.com/ruflin/Elastica/issues/107/)
1825 - Add the possibility to add path or url in config for a request [#120](https://github.com/ruflin/Elastica/issues/120/)
1865 - Elastica blogging introduced: http://ruflin.com/en/elastica
1869 - Support for Travis CI added: http://travis-ci.org/ruflin/Elastica
1910 - Typo in Terms query fixed (issue [#74](https://github.com/ruflin/Elastica/issues/74/))
1941 - Release tag v0.17.2.0 added. Elastica is compatible with elasticsearch 0.17.2
1955 - Release tag v0.17.0.0 added. Elastica is compatible with elasticsearch 0.17.0
1963 - Documentation pages added unter http://ruflin.github.com/Elastica
1967 - Add support for multiple servers to Elastica_Client (issue [#39](https://github.com/ruflin/Elastica/issues/39/))