Releases: elastic/elasticsearch-php
Release 8.0.1
Release 8.0.0
Finally 8.0.0
for Elasticsearch 8.0 is GA!!! 🥳
This new major version of elasticsearch-php
contains a brand new implementation compared with 7.x. It supports PSR-7 for HTTP messages and PSR-18 for HTTP client communications. We used the elastic-transport-php library for HTTP communications.
We tried to reduce the BC breaks as much as possible with 7.x
but there are some (big) differences:
- we changed the namespace, now everything is under
Elastic\Elasticsearch
; - we changed the
Exception
model, using the namespaceElastic\Elasticsearch\Exception
. All the exceptions extends the
ElasticsearchException
interface, as in 7.x; - we changed the response type of each endpoints using an Elasticsearch response class.
This class wraps a a PSR-7 response allowing the access of the body response
as array or object. This means you can access the API response as in 7.x, no BC break here! 👼
You can have a look at the BREAKING_CHANGES file for more information.
We are still working on the new documentation for 8.0
, in the meantime you can have a look at the README where we reported a quick start guide.
Release 8.0.0-RC2
- Added the common parameters in all the endpoints 6427f8c
Release 8.0.0-RC1
Release 8.0.0 alpha
This is an alpha release of 8.0.0. This new major version of elasticsearch-php
contains a brand new implementation compared with 7.x.
It supports PSR-7 for HTTP messages and PSR-18 for HTTP client communications. We used the elastic-transport-php library for HTTP communications.
We tried to reduce the BC breaks as much as possible with 7.x
but there are some (big) differences:
- we changed the namespace, now everything is under
Elastic\Elasticsearch
; - we changed the
Exception
model, using the namespaceElastic\Elasticsearch\Exception
. All the exceptions extends the
ElasticsearchException
interface, as in 7.x; - we changed the response type of each endpoints using an Elasticsearch response class.
This class wraps a a PSR-7 response allowing the access of the body response
as array or object. This means you can access the API response as in 7.x, no BC break here! 👼
You can have a look at the BREAKING_CHANGES file for more information.
We are still working on the new documentation for 8.0
, in the meantime you can have a look at the README where we reported a quick start guide.
Release 7.17.0
This release is compatible with the latest Elasticsearch 7.17.0 released the 1st February 2022.
It includes the following fixes and improvements:
- Allow psr/log v3 #1184
Added the following new APIs 🎉 (1 stable):
- Ml.getModelSnapshotUpgradeStats: api spec, documentation
API changes
- Ml.forecast, added
body
for HTTP request where query parameters can be specified in the body - Ml.openJob, added
body
for HTTP request where query parameters can be specified in the body - Transform.deleteTransform, added the
timeout
parameter, (time) controls the time to wait for the transform deletion - Transform.previewTransform, added the
timeout
parameter, (time) Controls the time to wait for the preview - Transform.putTransform, added the
timeout
parameter, (time) Controls the time to wait for the transform to start - Transform.updateTransform, added the
timeout
parameter, (time) Controls the time to wait for the update - Transform.upgradeTransforms, added the
timeout
parameter, (time) Controls the time to wait for the upgrade
Release 7.16.0
This release is compatible with PHP 8.1 (thanks to @karyna-tsymbal-atwix) and the latest Elasticsearch 7.16.0 released in 7th December 2021.
It includes the following fixes and improvements:
- Added support of includePortInHostHeader in ClientBuilder::fromConfig #1181
- Fixed UTF-16 issue in SmartSerializer with single unpaired surrogate in unicode escape #1179
- Replace trait with abstract class to avoid Deprecated Functionality issue in PHP 8.1 #1175
Added the following new APIs 🎉 (4 stable, and 2 experimental):
Stable
- Indices.modifyDataStream: api spec, documentation
- Migration.getFeatureUpgradeStatus: api spec, documentation
- Migration.postFeatureUpgrade: api spec, documentation
- Transform.upgradeTransforms: api spec, documentation
Experimental
- Fleet.msearch: api spec, documentation
- Fleet.search: api spec, documentation
API changes
- deleteByQuery, removed
_source
,_source_excludes
,_source_includes
parameters - openPointInTime, the parameter
keep_alive
is now required. Changed theindex
parameter to be required (was optional) - Nodes.stats, added the
shards
option to theindex_metric
parameter - searchMvt, added the
track_total_hits
(boolean|long) parameter. Indicate if the number of documents that match the query should be tracked. A number can also be specified, to accurately track the total hit count up to the number - termsEnum, this API is now stable
- updateByQuery, removed
_source
,_source_excludes
,_source_includes
parameters - Fleet.globalCheckpoints, this API is now stable
- Indices.getIndexTeamplate, changed the
name
parameter asstring
. A pattern that returned template names must match - Ingest.putPipeline, added the
if_version
parameter (int). Required version for optimistic concurrency control for pipeline updates - Ml.putTrainedModel, added the
defer_definition_decompression
parameter. (boolean) If set totrue
and acompressed_definition
is provided, the request defers definition decompression and skips relevant validations. (Default = false) - Monitoring.bulk, this API is now stable
- Nodes.hotThreads, added the
sort
parameter (enum). The sort order for 'cpu' type (default: total) (Options = cpu,total) - Nodes.info, changed the description of
metric
parameter (list). A comma-separated list of metrics you wish returned. Use_all
to retrieve all metrics and_none
to retrieve the node identity without any additional metrics - SearchableSnapshots.mount, this API is now stable
- SearchableSnapshots.stats, this API is now stable
- Security.clearCachedServiceTokens, this API is now stable
- Security.createServiceToken, this API is now stable
- Security.deleteServiceToken, this API is now stable
- Security.getServiceAccounts, this API is now stable
- Security.getServiceCredentials, this API is now stable
- Shutdown.deleteNode, this API is now stable
- Shutdown.getNode, this API is now stable
- Shutdown.putNode, this API is now stable
- Transform.deleteTransform, added the
timeout
parameter (time). Controls the time to wait for the transform deletion - Transform.previewTransform, added the
transform_id
parameter (string), The id of the transform to preview.
Added thetimeout
parameter (time). Controls the time to wait for the preview - Transform.putTransform, added the
timeout
parameter (time). Controls the time to wait for the transform to start - Transform.updateTransform, added the
timeout
parameter (time). Controls the time to wait for the update
Release 7.15.0
This release is compatible with the latest Elasticsearch 7.15.0 released in 22nd September 2021.
Added the following new APIs 🎉 (1 stable and 5 experimental):
Stable
- Security.queryApiKeys: api spec, documentation
Experimental
- Indices.diskUsage: api spec, documentation
- Indices.fieldUsageStats: api spec, documentation
- Nodes.clearRepositoriesMeteringArchive: api spec, documentation
- Nodes.getRepositoriesMeteringInfo: api spec, documentation
- SearchMvt: api spec, documentation
API changes
Ml.putJob
Added the ignore_unavailable
parameter, (boolean) to ignore unavailable indexes (default: false)
Added the allow_no_indices
parameter, (boolean) to ignore if the source indices expressions resolves to no concrete indices (default: true)
Added the ignore_throttled
parameter, (boolean) to ignore indices that are marked as throttled (default: true). Only set if datafeed_config is provided
Added the expand_wildcards
parameter, (enum) whether source index expressions should get expanded to open or closed indices
Nodes.stats
Added the shards
option to the index_metric
parameter
OpenPointInTime
Changed the index
parameter to be required (was optional)
Release 7.14.0
This release is compatible with the latest Elasticsearch 7.14.0 released in 3rd August 2021.
It includes the following fixes and improvements:
- Usage of psr/log version 2 #1154
- Update search iterators to send
scroll_id
inside the request body #1134 - Added the
ingest.geoip.downloader.enabled=false
setting for ES 5867351 - Removed phpcs for autogenerated files (endpoints) 651c57b
Added the following new APIs 🎉 (8 stable, and 1 beta):
Stable
- Ilm.migrateToDataTiers: api spec, documentation
- Ml.resetJob: api spec, documentation
- Security.samlAuthenticate: api spec, documentation
- Security.samlCompleteLogout: api spec, documentation
- Security.samlInvalidate: api spec, documentation
- Security.samlLogout: api spec, documentation
- Security.samlPrepareAuthentication: api spec, documentation
- Security.samlServiceProviderMetadata: api spec, documentation
Beta
- TermsEnum: api spec, documentation
API changes
- Msearch, removed the
query_and_fetch
anddfs_query_and_fetch
options insearch_type
parameter. - MsearchTemplate, removed the
query_and_fetch
anddfs_query_and_fetch
options insearch_type
parameter. - SearchTemplate, removed the
query_and_fetch
anddfs_query_and_fetch
options insearch_type
parameter. - Snapshot.get, added
include_repository
parameter, (boolean) whether to include the repository name in the snapshot info. Defaults to true. - Snapshot.repositoryAnalyze, added
rarely_abort_writes
parameter, (boolean) whether to rarely abort writes before they complete. Defaults to 'true'.