1[[release-notes]]
2== Release notes
3
4* <<rn-7-15-0>>
5* <<rn-7-14-0>>
6* <<rn-7-13-1>>
7* <<rn-7-13-0>>
8* <<rn-7-12-0>>
9* <<rn-7-11-0>>
10* <<rn-7-10-0>>
11* <<rn-7-9-1>>
12* <<rn-7-9-0>>
13* <<rn-7-8-0>>
14* <<rn-7-7-0>>
15* <<rn-7-6-1>>
16* <<rn-7-6-0>>
17* <<rn-7-5-1>>
18* <<rn-7-5-0>>
19* <<rn-7-4-1>>
20* <<rn-7-4-0>>
21* <<rn-7-3-0>>
22* <<rn-7-2-2>>
23* <<rn-7-2-1>>
24* <<rn-7-2-0>>
25* <<rn-7-1-1>>
26* <<rn-7-1-0>>
27* <<rn-7-0-2>>
28* <<rn-7-0-1>>
29* <<rn-7-0-0>>
30
31[discrete]
32[[rn-7-15-0]]
33=== 7.15.0
34
35* Updated endpoints for Elasticsearch 7.15.0
36  https://github.com/elastic/elasticsearch-php/commit/995f6d4bde7de76004e95d7a434b1d59da7a7e75[995f6d4]
37
38
39[discrete]
40[[rn-7-14-0]]
41=== 7.14.0
42
43* Usage of psr/log version 2
44  https://github.com/elastic/elasticsearch-php/pull/1154[#1154]
45* Update search iterators to send `scroll_id` inside the request body
46  https://github.com/elastic/elasticsearch-php/pull/1134[#1134]
47* Added the `ingest.geoip.downloader.enabled=false` setting for ES
48  https://github.com/elastic/elasticsearch-php/commit/586735109dc18f22bfdf3b73ab0621b37e857be1[5867351]
49* Removed phpcs for autogenerated files (endpoints)
50  https://github.com/elastic/elasticsearch-php/commit/651c57b2e6bf98a0fd48220949966e630e5a804a[651c57b]
51
52
53[discrete]
54[[rn-7-13-1]]
55=== 7.13.1
56
57* Added port in url for trace and logger messages
58  https://github.com/elastic/elasticsearch-php/pull/1126[#1126]
59
60
61[discrete]
62[[rn-7-13-0]]
63=== 7.13.0
64
65* (DOCS) Added the HTTP meta data section
66  https://github.com/elastic/elasticsearch-php/pull/1143[#1143]
67* Added support for API Compatibility Header
68  https://github.com/elastic/elasticsearch-php/pull/1142[#1142]
69* (DOCS) Added Helpers section to PHP book
70  https://github.com/elastic/elasticsearch-php/pull/1129[#1129]
71* Added the API description in phpdoc section for each endpoint
72  https://github.com/elastic/elasticsearch-php/commit/9e05c8108b638b60cc676b6a4f4be97c7df9eb64[9e05c81]
73* Usage of PHPUnit 9 only + migrated xml configurations
74  https://github.com/elastic/elasticsearch-php/commit/038b5dd043dc76b20b9f5f265ea914a38d33568d[038b5dd]
75
76
77[discrete]
78[[rn-7-12-0]]
79=== 7.12.0
80
81* Updated the endpoints for ES 7.12 + removed `cpliakas/git-wrapper` in favor of
82  `symplify/git-wrapper`
83  https://github.com/elastic/elasticsearch-php/commit/136d5b9717b3806c6b34ef8a5076bfe7cee8b46e[136d5b9]
84* Fixed warning header as array in YAML tests generator
85  https://github.com/elastic/elasticsearch-php/commit/0d81be131bfc7eff6ef82468e61c16077a892aab[0d81be1]
86* Refactored TEST_SUITE with free, platinum + removed old YamlRunnerTest
87  https://github.com/elastic/elasticsearch-php/commit/f69d96fc283580177002b4088c279c3d0c07befe[f69d96f]
88
89
90[discrete]
91[[rn-7-11-0]]
92=== 7.11.0
93
94* Added the `X-Elastic-Client-Meta` header which is used by Elastic Cloud and
95  can be disabled with `ClientBuilder::setElasticMetaHeader(false)`
96  https://github.com/elastic/elasticsearch-php/pull/1089[#1089]
97* Replaced `array_walk` with `array_map` in `Connection::getURI` for PHP 8
98  compatibility
99  https://github.com/elastic/elasticsearch-php/pull/1075[#1075]
100* Remove unnecessary `InvalidArgumentExceptions`
101  https://github.com/elastic/elasticsearch-php/pull/1069[#1069]
102* Introducing PHP 8 compatibility
103  https://github.com/elastic/elasticsearch-php/pull/1063[#1063]
104* Replace Sami by Doctum and fix `.gitignore`
105  https://github.com/elastic/elasticsearch-php/pull/1062[#1062]
106
107
108[discrete]
109[[rn-7-10-0]]
110=== 7.10.0
111
112* Updated endpoints and namespaces for {es} 7.10
113  https://github.com/elastic/elasticsearch-php/commit/3ceb7484a111aa20126168460c79f098c4fe0792[3ceb748]
114* Fixed ClientBuilder::fromConfig allowing multiple function parameters (for
115  example, `setApiKey`)
116  https://github.com/elastic/elasticsearch-php/pull/1076[#1076]
117* Refactored the YAML tests using generated PHPUnit code
118  [85fadc2](https://github.com/elastic/elasticsearch-php/commit/85fadc2bd4b2b309b19761a50ff13010d43a524d)
119
120
121[discrete]
122[[rn-7-9-1]]
123=== 7.9.1
124
125* Fixed using object instead of array in onFailure transport event
126  https://github.com/elastic/elasticsearch-php/pull/1066[#1066]
127* Fixed reset custom header after endpoint call
128  https://github.com/elastic/elasticsearch-php/pull/1065[#1065]
129* Show generic error messages when server returns no response
130  https://github.com/elastic/elasticsearch-php/pull/1056[#1056]
131
132
133[discrete]
134[[rn-7-9-0]]
135=== 7.9.0
136
137* Updated endpoints and namespaces for {es} 7.9
138  https://github.com/elastic/elasticsearch-php/commit/28bf0ed6df6bc95f83f369509431d97907bfdeb0[28bf0ed]
139* Moved `scroll_id` into `body` for search operations in the documentation
140  https://github.com/elastic/elasticsearch-php/pull/1052[#1052]
141* Fixed PHP 7.4 preloading feature for autoload.php
142  https://github.com/elastic/elasticsearch-php/pull/1051[#1051]
143* Improved message of JSON errors using `json_last_error_msg()`
144  https://github.com/elastic/elasticsearch-php/pull/1045[#1045]
145
146
147[discrete]
148[[rn-7-8-0]]
149=== 7.8.0
150
151* Updated endpoints and namespaces for {es} 7.8
152  https://github.com/elastic/elasticsearch-php/commit/f2a0828d5ee9d126ad63e2a1d43f70b4013845e2[f2a0828]
153* Improved documentation
154  https://github.com/elastic/elasticsearch-php/pull/1038[#1038],
155  https://github.com/elastic/elasticsearch-php/pull/1027[#1027],
156  https://github.com/elastic/elasticsearch-php/pull/1025[#1025]
157
158
159[discrete]
160[[rn-7-7-0]]
161=== 7.7.0
162
163* Removed setId() into endpoints, fixed `util/GenerateEndpoints.php`
164  https://github.com/elastic/elasticsearch-php/pull/1026[#1026]
165* Fixes JsonErrorException with code instead of message
166  https://github.com/elastic/elasticsearch-php/pull/1022[#1022]
167* Better exception message for Could not parse URI
168  https://github.com/elastic/elasticsearch-php/pull/1016[#1016]
169* Added JUnit log for PHPUnit
170  https://github.com/elastic/elasticsearch-php/commit/88b7e1ce80a5a52c1d64d00c55fef77097bbd8a9[88b7e1c]
171* Added the XPack endpoints
172  https://github.com/elastic/elasticsearch-php/commit/763d91a3d506075316b84a38b2bed7a098da5028[763d91a]
173
174
175
176[discrete]
177[[rn-7-6-1]]
178=== 7.6.1
179
180* Fixed issue with `guzzlehttp/ringphp` and `guzzle/streams` using forks
181  `ezimuel/ringphp` and `ezimuel/guzzlestreams`
182  https://github.com/elastic/elasticsearch-php/commit/92a6a4adda5eafd1823c7c9c386e2c7e5e75cd08[92a6a4a]
183
184
185[discrete]
186[[rn-7-6-0]]
187=== 7.6.0
188
189* Generated the new endpoints for {es} 7.6.0
190  https://github.com/elastic/elasticsearch-php/commit/be31f317af704f333b43bbcc7c01ddc7c91ec6f8[be31f31]
191
192
193[discrete]
194[[rn-7-5-1]]
195=== 7.5.1
196
197* Fixes port missing in log https://github.com/elastic/elasticsearch-php/issues/925[#925]
198  https://github.com/elastic/elasticsearch-php/commit/125594b40d167ef1509b3ee49a3f93426390c426[75e0888]
199* Added `ClientBuilder::includePortInHostHeader()` to add the `port` in the
200  `Host` header. This fixes https://github.com/elastic/elasticsearch-php/issues/993[#993].
201  By default the `port` is not included in the `Host` header.
202  https://github.com/elastic/elasticsearch-php/pull/997[#997]
203* Replace abandoned packages: ringphp, streams and phpstan-shim
204  https://github.com/elastic/elasticsearch-php/pull/996[#996]
205* Fixed gzip compression when setting Cloud Id
206  https://github.com/elastic/elasticsearch-php/pull/986[#986]
207
208
209[discrete]
210[[rn-7-5-0]]
211=== 7.5.0
212
213* Fixed `Client::extractArgument` iterable casting to array; this allows passing
214  a `Traversable` body for some endpoints (for example, Bulk, Msearch,
215  MsearchTemplate)
216  https://github.com/elastic/elasticsearch-php/pull/983[#983]
217* Fixed the Response Exception if the `reason` field is null
218  https://github.com/elastic/elasticsearch-php/pull/980[#980]
219* Added support for PHP 7.4
220  https://github.com/elastic/elasticsearch-php/pull/976[#976]
221
222
223[discrete]
224[[rn-7-4-1]]
225=== 7.4.1
226
227* We added the suppress operator `@` for the deprecation messages
228  `@trigger_error()`. With this approach, we don't break existing application
229  that convert PHP errors in Exception (for example, using Laravel with issue
230  https://github.com/babenkoivan/scout-elasticsearch-driver/issues/297[297])
231  Using the `@` operator is still possible to intercept the deprecation message
232  using a custom error handler.
233  https://github.com/elastic/elasticsearch-php/pull/973[#973]
234* Add missing leading slash in the URL of put mapping endpoint
235  https://github.com/elastic/elasticsearch-php/pull/970[#970]
236* Fix pre 7.2 endpoint class name with aliases + reapply fix #947. This PR
237  solved the unexpected BC break introduce in 7.4.0 with the code
238  generation tool
239  https://github.com/elastic/elasticsearch-php/pull/968[#968]
240
241
242[discrete]
243[[rn-7-4-0]]
244=== 7.4.0
245
246* Added the code generation for endpoints and namespaces based on the
247  https://github.com/elastic/elasticsearch/tree/v7.4.2/rest-api-spec/src/main/resources/rest-api-spec/api[REST API specification]
248  of {es}. This tool is available in `util/GenerateEndpoints.php`.
249  https://github.com/elastic/elasticsearch-php/pull/966[#966]
250* Fixed the asciidoc
251  https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/ElasticsearchPHP_Endpoints.html[endpoints documentation]
252  based on the code generation using https://github.com/FriendsOfPHP/Sami[Sami]
253  project https://github.com/elastic/elasticsearch-php/pull/966[#966]
254* All the `experimental` and `beta` APIs are now signed with a `@note` tag in
255  the phpdoc section (for example,
256  https://github.com/elastic/elasticsearch-php/blob/master/src/Elasticsearch/Client.php[$client->rankEval()]).
257  For more information read the
258  https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/experimental_and_beta_apis.html[experimental and beta APIs]
259  section in the documentation.
260  https://github.com/elastic/elasticsearch-php/pull/966[#966]
261* Removed `AlreadyExpiredException` since it has been removed
262  from {es} with https://github.com/elastic/elasticsearch/pull/24857[#24857]
263  https://github.com/elastic/elasticsearch-php/pull/954[#954]
264
265
266[discrete]
267[[rn-7-3-0]]
268=== 7.3.0
269
270* Added support for simplified access to the `X-Opaque-Id` header
271  https://github.com/elastic/elasticsearch-php/pull/952[#952]
272* Added the HTTP port in the log messages
273  https://github.com/elastic/elasticsearch-php/pull/950[#950]
274* Fixed hostname with underscore (ClientBuilder::prependMissingScheme)
275  https://github.com/elastic/elasticsearch-php/pull/949[#949]
276* Removed unused Monolog in ClientBuilder
277  https://github.com/elastic/elasticsearch-php/pull/948[#948]
278
279
280[discrete]
281[[rn-7-2-2]]
282=== 7.2.2
283
284* Reintroduced the optional parameter in
285  `Elasticsearch\Namespaces\IndicesNamespace::getAliases()`.
286  This fixes the BC break introduced in 7.2.0 and 7.2.1.
287  https://github.com/elastic/elasticsearch-php/pull/947[#947]
288
289
290[discrete]
291[[rn-7-2-1]]
292=== 7.2.1
293
294* Reintroduced `Elasticsearch\Namespaces\IndicesNamespace::getAliases()` as proxy
295  to `IndicesNamespace::getAlias()` to prevent BC breaks. The `getAliases()` is
296  marked as deprecated and it will be removed from `elasticsearch-php 8.0`
297  https://github.com/elastic/elasticsearch-php/pull/943[#943]
298
299[discrete]
300==== Docs
301
302* Fixed missing put mapping code snippet in code examples
303  https://github.com/elastic/elasticsearch-php/pull/938[#938]
304
305
306[discrete]
307[[rn-7-2-0]]
308=== 7.2.0
309
310* Updated the API endpoints for working with {es} 7.2.0:
311    * added `wait_for_active_shards` parameter to `indices.close` API;
312    * added `expand_wildcards` parameter to `cluster.health` API;
313    * added include_unloaded_segments`, `expand_wildcards`, `forbid_closed_indices`
314      parameters to `indices.stats` API.
315  https://github.com/elastic/elasticsearch-php/pull/933/commits/27d721ba44b8c199388650c5a1c8bd69757229aa[27d721b]
316* Updated the phpdoc parameters for all the API endpoints
317  https://github.com/elastic/elasticsearch-php/pull/933/commits/27d721ba44b8c199388650c5a1c8bd69757229aa[27d721b]
318* Improved the Travis CI speed using cache feature with composer
319  https://github.com/elastic/elasticsearch-php/pull/929[#929]
320* Fixed `php_uname()` usage checking if it is disabled
321  https://github.com/elastic/elasticsearch-php/pull/927[#927]
322* Added support of Elastic Cloud ID and API key authentication
323  https://github.com/elastic/elasticsearch-php/pull/923[#923]
324
325
326[discrete]
327[[rn-7-1-1]]
328=== 7.1.1
329
330* Fixed `ClientBuilder::setSSLVerification()` to accept string or boolean
331  https://github.com/elastic/elasticsearch-php/pull/917[#917]
332* Fix type hinting for `setBody` in
333  `Elasticsearch\Endpoints\Ingest\Pipeline\Put`
334  https://github.com/elastic/elasticsearch-php/pull/913[#913]
335
336
337[discrete]
338[[rn-7-1-0]]
339=== 7.1.0
340
341* Added warning log for {es} response containing the `Warning` header
342  https://github.com/elastic/elasticsearch-php/pull/911[#911]
343* Fixed #838 hosting company is blocking ports because of `YamlRunnerTest.php`
344  https://github.com/elastic/elasticsearch-php/pull/844[#844]
345* Specialized inheritance of `NoNodesAvailableException` to extend
346  `ServerErrorResponseException` instead of the generic `\Exception`
347  https://github.com/elastic/elasticsearch-php/pull/607[#607]
348* Fixed scroll TTL is extracted but not set as a body param
349  https://github.com/elastic/elasticsearch-php/pull/907[#907]
350
351[discrete]
352==== Testing
353
354* Improved the speed of integration tests removing snapshots delete from
355  `YamlRunnerTest::clean`
356  https://github.com/elastic/elasticsearch-php/pull/911[#911]
357* Reduced the number of skipping YAML integration tests from 20 to 6
358  https://github.com/elastic/elasticsearch-php/pull/911[#911]
359
360[discrete]
361==== Docs
362
363* Documentation updated for {es} 7
364  https://github.com/elastic/elasticsearch-php/pull/904[#904]
365
366
367[discrete]
368[[rn-7-0-2]]
369=== 7.0.2
370
371* Fixed incorrect return type hint when using async requests/futures
372  https://github.com/elastic/elasticsearch-php/pull/905[#905]
373
374
375[discrete]
376[[rn-7-0-1]]
377=== 7.0.1
378
379* Fixed SniffingConnectionPool removing the return type of Connection::sniff()
380  https://github.com/elastic/elasticsearch-php/pull/899[#899]
381
382
383[discrete]
384[[rn-7-0-0]]
385=== 7.0.0
386
387* Requirement of PHP 7.1 instead of 7.0 that is not supported since 1 Jan 2019.
388  https://github.com/elastic/elasticsearch-php/pull/897[#897]
389* Code refactoring using type hints and return type declarations where possible
390  https://github.com/elastic/elasticsearch-php/pull/897[#897]
391* Update vendor libraries (PHPUnit 7.5, Symfony YAML 4.3, and so on)
392  https://github.com/elastic/elasticsearch-php/pull/897[#897]
393* Updated all the API endpoints using the
394  https://github.com/elastic/elasticsearch/tree/v7.0.0/rest-api-spec/src/main/resources/rest-api-spec/api[latest 7.0.0 specs]
395  of {es} https://github.com/elastic/elasticsearch-php/pull/897[#897]
396* Added the `User-Agent` in each HTTP request
397  https://github.com/elastic/elasticsearch-php/pull/898[#898]
398* Simplified the logging methods
399  `logRequestFail($request, $response, $exception)` and
400  `logRequestSuccess($request, $response)` in
401  `Elasticsearch\Connections\Connection`
402  https://github.com/elastic/elasticsearch-php/pull/876[#876]
403* Fix `json_encode` for unicode(emoji) characters
404  https://github.com/elastic/elasticsearch-php/pull/856[#856]
405* Fix HTTP port specification using CURLOPT_PORT, not anymore in the host
406  https://github.com/elastic/elasticsearch-php/pull/782[#782]
407