Skip to content

Releases: elastic/elasticsearch-php

Release 8.18.0

02 May 11:27
v8.18.0
df8ee73
Compare
Choose a tag to compare

This version includes the API changes in Elasticsearch 8.18.0.

General changes

This release introduces 23 new APIs.

Specific changes per endpoints

bulk

  • Added the include_source_on_error parameter (boolean), true or false if to include the document source in the error message in case of parsing errors. Defaults to true.

create

  • Added the include_source_on_error parameter (boolean), true or false if to include the document source in the error message in case of parsing errors. Defaults to true.

index

  • Added the include_source_on_error parameter (boolean), true or false if to include the document source in the error message in case of parsing errors. Defaults to true.

update

  • Added the include_source_on_error parameter (boolean), true or false if to include the document source in the error message in case of parsing errors. Defaults to true.

Cat.segments

  • Added the local parameter (boolean), return local information, do not retrieve the state from master node (default: false)
  • Added the master_timeout parameter (int|string), explicit operation timeout for connection to master node

Cat.tasks

  • Added the timeout parameter (int|string), period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error
  • Added the wait_for_completion parameter (boolean), if true, the request blocks until the task has completed

Eql.search

  • Added the allow_partial_search_results parameter (boolean), control whether the query should keep running in case of shard failures, and return partial results
  • Added the allow_partial_sequence_results parameter (boolean), control whether a sequence query should return partial results or no results at all in case of shard failures. This option has effect only if [allow_partial_search_results] is true

Esql.asyncQueryStop (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/esql.async_query_stop.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/master/esql-async-query-stop-api.html

Indices.putTemplate

  • Added the cause parameter (string), user defined reason for creating/updating the index template

Indices.resolveCluster

  • The name parameter is not mandatory anymore
  • Added the timeout parameter (int|string), the maximum time to wait for remote clusters to respond

Inference.chatCompletionUnified (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.chat_completion_unified.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/master/chat-completion-inference.html

Inference.completion (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.completion.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/master/post-inference-api.html

Inference.delete

This endpoint is not EXPERIMENTAL anymore

Inference.get

This endpoint is not EXPERIMENTAL anymore

Inference.inference

This endpoint is not EXPERIMENTAL anymore

Inference.put

This endpoint is not EXPERIMENTAL anymore

Inference.putAlibabacloud (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.put_alibabacloud.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-alibabacloud-ai-search.html

Inference.putAmazonbedrock (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.put_amazonbedrock.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-amazon-bedrock.html

Inference.putAnthropic (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.put_anthropic.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-anthropic.html

Inference.putAzureaistudio (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.put_azureaistudio.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-azure-ai-studio.html

Inference.putAzureopenai (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.put_azureopenai.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-azure-openai.html

Inference.putCohere (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.put_cohere.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-cohere.html

Inference.putElasticsearch (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.put_elasticsearch.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-elasticsearch.html

Inference.putElser (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.put_elser.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-elser.html

Inference.putGoogleaistudio (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.put_googleaistudio.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-google-ai-studio.html

Inference.putGooglevertexai (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.put_googlevertexai.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-google-vertex-ai.html

Inference.putHuggingFace (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.put_hugging_face.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-hugging-face.html

Inference.putJinaai (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.put_jinaai.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-jinaai.html

Inference.putMistral (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.put_mistral.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-mistral.html

Inference.putOpenai (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.put_openai.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-openai.html

Inference.putVoyageai (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.put_voyageai.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/inference-apis.html

Inference.putWatsonx (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.put_watsonx.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/current/infer-service-watsonx-ai.html

Inference.rerank (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.rerank.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/master/post-inference-api.html

Inference.sparseEmbedding (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.sparse_embedding.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/master/post-inference-api.html

Inference.streamCompletion (new API)

This endpoint replaces the Inference.streamInterface.
API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.stream_completion.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/master/post-stream-inference-api.html

Inference.streamInferface

This endpoint has been removed

Inference.textEmbedding (new API)

API: https://github.com/elastic/elasticsearch/blob/v8.18.0/rest-api-spec/src/main/resources/rest-api-spec/api/inference.text_embedding.json
Documentation: https://www.elastic.co/guide/en/elasticsearch/reference/master/post-inference-api.html

Release 9.0.0

18 Apr 08:15
v9.0.0
5aa8b17
Compare
Choose a tag to compare

This is the new major release of elasticsearch-php compatible with Elasticsearch 9.0.0 🎉

  • Compatibility with Elasticsearch 9.0: All changes and additions to Elasticsearch APIs for its 9.0 release are reflected in this release.
  • Serverless client merged in: the elastic/elasticsearch-serverless client is being deprecated, and its functionality has been merged back into this client. This should have zero impact on the way the client works by default. If an endpoint is available in serverless, the PHP function will contains a @group serverless phpdoc attribute.
    If you try to use an endpoint that is not available in serverless you will get a 410 HTTP error with a message as follows:
    "this endpoint exists but is not available when running in serverless mode".
    The 9.0.0 client can recognize that it is communicating with a serverless instance if you are using a URL managed by Elastic (e.g. *.elastic.cloud).
    If you are using a proxy, the client will be able to recognize that the host is serverless from the first response. Alternatively, you can explicitly indicate that the host is serverless using the Client::setServerless(true) function (false by default).
  • New transport library with PSR-18 cURL client as default: we've removed the Guzzle dependency from the client. By default, the built-in cURL-based HTTP client will be used if no other PSR-18 compatible clients are detected. See release 9.0.0 of elastic-transport-php.

Breaking changes

  • Use of PHP 8.1+: Starting from 9.0.0 the elasticsearch-php client requires PHP 8.1+.

Deprecations

  • Utility::urlencode(): this function has been deprecated in favor of rawurlencode() of PHP (see #1278).

Release 8.17.1

28 Mar 15:48
v8.17.1
10af1f4
Compare
Choose a tag to compare

This release contains the following fix:

  • Fix and improvements for PHPStan (rule level 5) #1442 (thanks @AJenbo)

Release 6.8.4

17 Mar 14:43
v6.8.4
3fd8172
Compare
Choose a tag to compare

This release fixes the following issues:

  • Upgrade ezimuel/ringphp to 1.3.0 to support React Promise v3 for Elasticsearch #1430
  • Fixed implicitly nullable parameters being deprecated in PHP 8.4 notice issue #1420

Thanks to @MaelitoP and @dakujem for these fixes.

Release 8.17.0

18 Dec 11:22
v8.17.0
6cd0fe6
Compare
Choose a tag to compare
  • Updated the APIs to Elasticsearch 8.17.0

Release 8.16.0

14 Nov 23:01
v8.16.0
ab0fdb4
Compare
Choose a tag to compare
  • Updated the APIs to Elasticsearch 8.16.0
  • Added the support of PHP 8.4 #1415 (thanks @ruudk)

Release 8.15.0

14 Aug 14:38
v8.15.0
34c2444
Compare
Choose a tag to compare
  • Updated the APIs to Elasticsearch 8.15.0
  • Added the support of OpenTelemetry

Read the elastic-transport-php README for more information about OpenTelemetry support.

Release 8.14.0

12 Jun 20:01
v8.14.0
bff3c3e
Compare
Choose a tag to compare

This release is compatible with the latest Elasticsearch 8.14.0.

This release introduces 3 new APIs and 10 EXPERIMENTAL APIs.

Release 6.8.3

12 Apr 13:14
v6.8.3
a48d84b
Compare
Choose a tag to compare

This release contains the following fixes:

  • Allow PSR/2 #1154
  • Removed PHP 8 deprecation notice 3d2d852

Release 8.13.0

27 Mar 15:13
v8.13.0
221723e
Compare
Choose a tag to compare

This release is compatible with the latest Elasticsearch 8.13.0.

  • Added the mapTo($class) function to Elasticsearch response for mapping the result of ES|QL
    query to an object of stdClass or of a specific class #1398

This release introduces 6 new APIs and 6 EXPERIMENTAL APIs.