Releases: elastic/elasticsearch-php
Release 6.8.0
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
witharray_map
inConnection::getURI
(#1075) - Fix for #1064 reset custom headers (#1065)
- Replace
guzzlehttp/ringphp
withezimuel/ringphp
(#1102)
Release 7.11.0
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 withClientBuilder::setElasticMetaHeader(false)
- #1075 Replaced
array_walk
witharray_map
inConnection::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
- AsyncSearch.status: api spec, documentation
- Indices.migrateToDataStream: api spec, documentation
- Indices.promoteDataStream: api spec, documentation
- Ml.upgradeJobSnapshot: api spec, documentation
- Rollup.rollup: api spec, documentation
- Watcher.queryWatches: api spec, documentation
Experimental
- Autoscaling.getAutoscalingCapacity: api spec, documentation
API changes
- Cat.tasks, the parameters
node_id
andparent_task
has been changed innodes
andparent_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 thefor_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
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
- openPointInTime: api spec, documentation
- closePointInTime: api spec, documentation
- Security.clearApiKeyCache: api spec, documentation
- Security.grantApiKey: api spec, documentation
API changes
-
Bulk: added the
require_alias
parameter = (boolean) Setsrequire_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 aredefinition
andtotal_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
Release 7.9.0
This release is compatible with the latest Elasticsearch 7.9.0 released in 18th August 2020.
It includes the following fixes:
- Moved
scroll_id
intobody
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 ofself
#1036
Added the following new APIs 🎉:
Stable
-
A new namespace DanglingIndices with following endpoints:
- DanglingIndices.listDanglingIndices: api spec, documentation
- DanglingIndices.importDanglingIndex: api spec, documentation
- DanglingIndices.deleteDanglingIndex: api spec, documentation
-
Indices.addBlock: api spec, documentation
-
Security.clearCachedPrivileges: api spec, documentation
-
Indices.dataStreamsStats: api spec, documentation
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.
-
Eql.get: api spec, documentation
-
Eql.delete: api spec, documentation
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.
-
Ml.updateDataFrameAnalytics: api spec, documentation
-
Indices.resolveIndex: api spec, documentation
-
Indices.simulateTemplate: api spec, documentation
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 forrequests_per_second
(number) The desired requests per second for the deletion processestimeout
(time) How long can the underlying delete processes run until they are canceledbody
(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
Release 7.8.0
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 tofalse
- 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.
- Autoscaling.deleteAutoscalingPolicy
- Autoscaling.getAutoscalingPolicy
- Autoscaling.putAutoscalingPolicy
- Cluster.existsComponentTemplate
- Indices.deleteIndexTemplate
- Indices.existsIndexTemplate
- Indices.getIndexTemplate
- Indices.putIndexTemplate
- Indices.simulateIndexTemplate
and the new Searchable snapshot namespace with the following experimental APIs:
Release 7.7.0
This release is compatible with the latest Elasticsearch 7.7.0 released in 13th May 2020.
It contains the following new features 🎉:
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:
- Cross-cluster replication
- Graph explorer
- Info
- Licensing
- Machine learning anomaly detection
- Machine learning data frame analytics
- Migration
- Reload search analyzers
- Rollup
- Security
- Snapshot lifecycle management
- Transform
- Usage
- Watcher
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
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
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.