Skip to content

Releases: elastic/elasticsearch-php

Release 6.8.0

01 Mar 19:19
v6.8.0
a524a7d
Compare
Choose a tag to compare

The 6.8.0 release includes all the Elasticsearch endpoints (including XPack).
We tested using the latest Elasticsearch 6.8.14 released in February 10, 2021.

NOTE: This release requires PHP 7.3+. It supports also PHP 8.

This release includes the following updates:

  • Added the XPack endpoints
  • Removed Travis CI in favor of Github Action

and backported the following features/PRs:

  • Added X-Opaque-Id header (#952)
  • Added X-Elastic-Client-Meta header (#1089)
  • Added the license header (0ff5fb9)
  • Support of PHP 8 (#1095 and #1063)
  • Replace array_walk with array_map in Connection::getURI (#1075)
  • Fix for #1064 reset custom headers (#1065)
  • Replace guzzlehttp/ringphp with ezimuel/ringphp (#1102)

Release 7.11.0

11 Feb 11:32
v7.11.0
277cd5e
Compare
Choose a tag to compare

This release is compatible with the latest Elasticsearch 7.11.0 released in 10th February 2021.
This is the first release to be compatible with PHP 8.

It includes the following fixes and improvements:

  • #1089 Added the X-Elastic-Client-Meta header which is used by Elastic Cloud
    and can be disabled with ClientBuilder::setElasticMetaHeader(false)
  • #1075 Replaced array_walk with array_map in Connection::getURI for PHP 8
    compatibility
  • #1069 Remove unnecessary InvalidArgumentExceptions
  • #1063 Introducing PHP 8 compatibility
  • #1062 Replace Sami by Doctum and fix .gitignore

Added the following new APIs 🎉 (6 stable, 1 experimental):

Stable

Experimental

API changes

  • Cat.tasks, the parameters node_id and parent_task has been changed in nodes and parent_task_id
  • Cluster.deleteComponentTemplate, this API has become STABLE, it was EXPERIMENTAL before
  • Cluster.existsComponentTemplate, this API has become STABLE, it was EXPERIMENTAL before
  • Cluster.getComponentTemplate, this API has become STABLE, it was EXPERIMENTAL before
  • Cluster.putComponentTemplate, this API has become STABLE, it was EXPERIMENTAL before
  • Indices.deleteIndexTemplate, this API has become STABLE, it was EXPERIMENTAL before
  • Indices.existsIndexTemplate, this API has become STABLE, it was EXPERIMENTAL before
  • Indices.getIndexTemplate, this API has become STABLE, it was EXPERIMENTAL before
  • Indices.putIndexTemplate, this API has become STABLE, it was EXPERIMENTAL before
  • Indices.simulateIndexTemplate, this API has become STABLE, it was EXPERIMENTAL before
  • Indices.simulateTemplate, this API has become STABLE, it was EXPERIMENTAL before
  • DataFrameTransformDeprecated.getTransform (BETA API), added the exclude_generated parameter: (boolean) Omits generated fields. Allows transform configurations to be easily copied between clusters and within the same cluster (Default = false)
  • Eql.delete, this API has become STABLE, it was BETA before
  • Eql.get, this API has become STABLE, it was BETA before
  • Eql.search, this API has become STABLE, it was BETA before
  • Indices.deleteDataStream, added expand_wildcards parameter: (enum) Whether wildcard expressions should get expanded
    to open or closed indices (default: open) (Options = open,closed,hidden,none,all) (Default = open)
  • Indices.getDataStream, added expand_wildcards parameter: (enum) Whether wildcard expressions should get expanded
    to open or closed indices (default: open) (Options = open,closed,hidden,none,all) (Default = open)
  • Ml.deleteDataFrameAnalytics, this API has become BETA, it was EXPERIMENTAL before
  • Ml.deleteTrainedModel, this API has become BETA, it was EXPERIMENTAL before
  • Ml.explainDataFrameAnalytics, this API has become BETA, it was EXPERIMENTAL before
  • Ml.getDataFrameAnalytics, this API has become BETA, it was EXPERIMENTAL before
  • Ml.getDatafeeds, added the exclude_generated parameter: (boolean) Omits fields that are illegal to set on data frame
    analytics PUT (Default = false)
  • Ml.getJobs, added the exclude_generated parameter: (boolean) Omits fields that are illegal to set on job PUT
    (Default = false)
  • Ml.getTrainedModels, this API has become BETA, it was EXPERIMENTAL before. Added the exclude_generated paremeter: (boolean) Omits fields that are illegal to set on model PUT (Default = false). Removed the for_export parameter
  • Ml.getTrainedModelsStats, this API has become BETA, it was EXPERIMENTAL before
  • Ml.putDataFrameAnalytics, this API has become BETA, it was EXPERIMENTAL before
  • Ml.putTrainedModel, this API has become BETA, it was EXPERIMENTAL before
  • Ml.startDataFrameAnalytics, this API has become BETA, it was EXPERIMENTAL before
  • Ml.stopDataFrameAnalytics, this API has become BETA, it was EXPERIMENTAL before
  • Ml.updateDataFrameAnalytics, this API has become BETA, it was EXPERIMENTAL before
  • Transform.getTransform, added the exclude_generated parameter: (boolean) Omits fields that are illegal to set on transform
    PUT (Default = false)

Release 7.10.0

11 Nov 17:04
v7.10.0
f4a5741
Compare
Choose a tag to compare

This release is compatible with the latest Elasticsearch 7.10.0 released in 11th November 2020.

It includes the following fixes and improvements:

  • Fixed ClientBuilder::fromConfig allowing multiple function parameters (e.g. setApiKey) #1076
  • Refactored the YAML tests using generated PHPUnit code 85fadc2

Added the following new APIs 🎉:

Stable

API changes

  • Bulk: added the require_alias parameter = (boolean) Sets require_alias for all incoming documents. Defaults to unset (false).

  • Index: added the require_alias parameter = (boolean) When true, requires destination to be an alias. Default is false.

  • Update: added the require_alias parameter = (boolean) When true, requires destination is an alias. Default is false.

  • Cat.mlDatafeeds: added the allow_no_match parameter = (boolean) Whether to ignore if a wildcard expression matches no datafeeds.
    This includes _all string or when no datafeeds have been specified.

  • Cat.mlJobs: added the allow_no_match parameter = (boolean) Whether to ignore if a wildcard expression matches no datafeeds.
    This includes _all string or when no datafeeds have been specified.

  • Ml.closeJob: added the allow_no_match parameter = (boolean) Whether to ignore if a wildcard expression matches no jobs.
    This includes _all string or when no jobs have been specified.

  • Ml.getDatafeeds: added the allow_no_match parameter = (boolean) Whether to ignore if a wildcard expression matches no datafeeds.
    This includes _all string or when no datafeeds have been specified.

  • Ml.getJobStats: added the allow_no_match parameter = (boolean) Whether to ignore if a wildcard expression matches no jobs.
    This includes _all string or when no jobs have been specified.

  • Ml.getJobs: added the allow_no_match parameter = (boolean) Whether to ignore if a wildcard expression matches no jobs.
    This includes _all string or when no jobs have been specified.

  • Ml.getOverallBuckets: added the allow_no_match parameter = (boolean) Whether to ignore if a wildcard expression matches no jobs.
    This includes _all string or when no jobs have been specified.

  • Ml.getTrainedModels (EXPERIMENTAL API): added the include parameter = (string) A comma-separate list of fields to optionally include.
    Valid options are definition and total_feature_importance. Default is none.

  • Ml.stopDatafeed: added the allow_no_match parameter = (boolean) Whether to ignore if a wildcard expression matches no datafeeds.
    This includes _all string or when no datafeeds have been specified.

Release 7.9.1

06 Oct 13:08
v7.9.1
38e821f
Compare
Choose a tag to compare
  • Fixed using object instead of array in onFailure transport event #1066
  • Fixed reset custom header after endpoint call #1065
  • Show generic error messages when server returns no response #1056

Release 7.9.0

18 Aug 15:25
v7.9.0
1380925
Compare
Choose a tag to compare

This release is compatible with the latest Elasticsearch 7.9.0 released in 18th August 2020.

It includes the following fixes:

  • Moved scroll_id into body for search operations in the documentation #1052
  • Fixed PHP 7.4 preloading feature for autoload.php #1051
  • Improved message of JSON errors using json_last_error_msg() #1045
  • Make ClientBuilder override possible, using static instead of self #1036

Added the following new APIs 🎉:

Stable

Beta

Beta APIs are on track to become stable and permanent features. Use them with caution because it is possible that breaking changes are made to these APIs in a minor version.

Experimental

Experimental APIs are just that - an experiment. An experimental API might have breaking changes in any future version, or it might even be removed entirely.

API changes

  • Indices.putMapping: added the write_index_only parameter = (boolean) When true, applies mappings only to the write index of an alias or data stream (Default = false)

  • Ml.deleteExpiredData: added the following parameters:

    • job_id (string) The ID of the job(s) to perform expired data hygiene for
    • requests_per_second (number) The desired requests per second for the deletion processes
    • timeout (time) How long can the underlying delete processes run until they are canceled
    • body (array) deleting expired data parameters
  • Ml.forecast: added the parameter max_model_memory (string) The max memory able to be used by the forecast. Default is 20mb.

  • Ml.getCategories: added the parameter partition_field_value (string) Specifies the partition to retrieve categories for. This is optional, and should never be used for jobs where per-partition categorization is disabled

  • Ml.getTrainedModels: added the parameter for_export (boolean) Omits fields that are illegal to set on model PUT (Default = false)

  • Xpack.info: added the parameter accept_enterprise (boolean) If an enterprise license is installed, return the type and mode as 'enterprise' (default: false)

  • Indices.deleteDataStream: changed the name parameter from string to list (a comma-separated list of data streams to delete; use * to delete all data streams)

  • Indices.getDataStream (name changed from getDataStreams): changed the name parameter from string to list (a comma-separated list of data streams to get; use * to get all data streams)

Release 7.4.2

11 Aug 15:53
v7.4.2
a80f54b
Compare
Choose a tag to compare

This release fixes #1048 and #1017 issues with indexing failure for item IDs that contain slashes.

Release 7.8.0

18 Jun 20:09
v7.8.0
5c2d039
Compare
Choose a tag to compare

This release is compatible with the latest Elasticsearch 7.8.0 released in 18th June 2020.

It includes the following new endpoints 🎉:

and the following changes:

  • Indices.getDataStreams, changed the name parameter type to string, instead of list
  • Tasks.cancel, added wait_for_completion boolean parameter. Can be use to block the request until the cancellation of the task and its descendant tasks is completed. Defaults to false
  • Ml.deleteExpiredData, added body containing deleting expired data parameters
  • Ml.deleteDataFrameAnalytics, added timeout controls the time to wait until a job is deleted. Defaults to 1 minute

Elasticsearch 7.8.0 includes also some experimental APIs. Pleas note, an experimental API might have breaking changes in any future version, or it might even be removed entirely.

and the new Searchable snapshot namespace with the following experimental APIs:

Release 7.7.0

13 May 16:11
v7.7.0
1d90a7f
Compare
Choose a tag to compare

This release is compatible with the latest Elasticsearch 7.7.0 released in 13th May 2020.

It contains the following new features 🎉:

  • Added JUnit log for PHPUnit 88b7e1c
  • Added the XPack endpoints 763d91a

and fixes :

  • Removed setId() into endpoints, fixed util/GenerateEndpoints.php #1026
  • Fixes JsonErrorException with code instead of message #1022
  • Better exception message for Could not parse URI #1016

XPack endpoints 🎉

In this release we included all the XPack endpoints, that was previously managed in a separate repository elastic/elasticsearch-x-pack-php (not updated since Elasticsearch 5.0 😓).

These APIs are related to:

New APIs added to Elasticsearch 7.7.0

Elasticsearch 7.7.0 includes the following new APIs:

Cluster

AsyncSearch

Autoscaling

Cat

Eql

Machine Learning (ML)

Experimental APIs:

Elasticsearch 7.7.0 includes also some experimental APIs. Pleas note, an experimental API might have breaking changes in any future version, or it might even be removed entirely.

Release 7.5.2

17 Feb 08:23
v7.5.2
ce31ac9
Compare
Choose a tag to compare

This release fixes an issue with guzzlehttp/ringphp and guzzle/streams dependencies. It uses a fork of these libraries in ezimuel/ringphp and ezimuel/guzzlestreams repositories.

See 92a6a4a commit.

Release 7.6.1

15 Feb 00:14
v7.6.1
d4f24bc
Compare
Choose a tag to compare

This release fixes an issue with guzzlehttp/ringphp and guzzle/streams dependencies. It uses a fork of these libraries in ezimuel/ringphp and ezimuel/guzzlestreams repositories.

See 92a6a4a commit.