All Versions
44
Latest Version
Avg Release Cycle
103 days
Latest Release
-
Changelog History
Page 1
Changelog History
Page 1
-
v7.2.0 Changes
Backward Compatibility Breaks
- ⚡️ Changed
SetProcessor::setValue
signature to allow to pass any type, if you are overriding this method you must update the signature removing thestring
type-hint by @franmomu #2082 - ⚡️ Changed
Settings::setMergePolicy
signature to allow to passint
andstring
as argument 2, if you are overriding this method you must update the signature removing thestring
type-hint by @franmomu #2085 ### ➕ Added - ➕ Added
PHPStan
at level 3 by @franmomu #2064 - ➕ Added coverage check to CI by @franmomu #2071
- ➕ Added
string
as a valid type fordata
inRequest
by @franmomu #2078 - ➕ Added missing
throws
PHPDoc tags by @franmomu #2077 - ➕ Added
Search::addIndexByName()
,Search::hasIndexByName()
andSearch::addIndicesByName()
by @franmomu #2103 ### 🔄 Changed - ⚡️ Updated
symfony/phpunit-bridge
to6.0
by @franmomu #2067 - ⚡️ Updated
php-cs-fixer
to3.8.0
#2074 - ⚡️ Updated
composer-normalize
to2.2.28
by @deguif #2084 - Increased
PHPStan
level to4
#2080 ExceptionInterface
extendsThrowable
#2083- 🔄 Changed
value
inSetProcessor
to acceptmixed
instead ofstring
by @franmomu #2082 - ⚡️ Updated
Query::create
PHPDoc to include supported types and propagate it to callers by @franmomu #2088 - ⚡️ Update some iterable types in PHPDoc to be more specific by @franmomu #2092
- ⚡️ Updated
AwsAuthV4Test
adding assertions for exception type by @franmomu #2094 ### 🗄 Deprecated - Deprecated
Elastica\Reindex::WAIT_FOR_COMPLETION_FALSE
, use a boolean as parameter instead by @franmomu #2070 - Passing anything else than a boolean as 1st argument to
Reindex::setWaitForCompletion
, pass a boolean instead by @franmomu #2070 - 🗄 Deprecated passing a
string
as 1st argument toSearch::addIndex()
andSearch::hasIndex()
, pass an Index instance instead by @franmomu #2103 - 🗄 Deprecated passing an array of
string
as 1st argument toSearch::addIndices()
, use an array of Index instances by @franmomu #2103
✂ Removed
- ✂ Removed
egeloen/http-adapter
as suggested package since the project is abandoned by @franmomu #2069 - ✂ Removed
0
as valid request data using Analyze API by @franmomu #2068 - ✂ Removed dead code in
AwsAuthV4Test
by @franmomu #2073 ### 🛠 Fixed - 🛠 Fixed some PHPDoc types adding
null
as possible value by @franmomu #2070 and #2087 - 🛠 Fixed passing wrong types to
GapPolicyInterface::setGapPolicy()
,Document::setDocAsUpsert()
andConnection::setPort()
methods by @franmomu #2081 - 🛠 Fixed
Http
PHPDoc adding\CurlHandle
type for Curl connection by @franmomu #2086 - 🛠 Fixed case mismatch in method calls by @franmomu #2087
- 🛠 Fixed
MoreLikeThis::setLike()
PHPDoc allowingDocument
by @franmomu #2091 - 🛠 Fixed
Term::setTerm()
PHPDoc allowing scalar values for$value
parameter by @franmomu #2094 - Fixed
DateHistogram
deprecation: usefixed_internal
orcalendar_interval
instead ofinterval
by @VincentLanglet #2099
- ⚡️ Changed
-
v7.1.3 Changes
➕ Added
- ➕ Added support for scripted upsert on bulk requests by @dsgrillo #1974
- ➕ Added
Elastica\Aggregation\CumulativeSum
by @limenet #1987 - ➕ Added
ignore_failure
option to suitable ingest processors by @deguif #2003 - ➕ Added
ignore_missing
option tolowercase
,remove
,trim
anduppercase
processors by @deguif #2001 - ➕ Added
allow_duplicates
option toappend
processor by @deguif #2004 - ➕ Added
bytes
processor by @deguif #2008 - ➕ Added
indices_boost
option toElastica\Query
by @deguif #2018 - ➕ Added
Elastica\Query\Terms::setBoost()
method to configure boost by @deguif #2035 - ➕ Added
Elastica\Query\TermsSet
query by @mamchyts #2020 - ➕ Added
terms_set
in query builder by @deguif #2036 - ➕ Added
Elastica\Aggregation\Traits\BucketsPathTrait
to configurebuckets_path
on aggregations by @deguif #2037 #2039 - 👍 Allowed to configure a sub key when adding a param with
Elastica\Param::addParam()
by @deguif #2030 ### 🔄 Changed - 🗄 Triggered deprecation in
Elastica\Result::getType()
method by @deguif #2016 - ⚡️ Updated
php-cs-fixer
to3.3.2
by @deguif #2022 - ⚡️ Updated
composer-normalize
to2.15.0
by @deguif #2021 - ⚡️ Updated
elasticsearch
test version to7.15.2
by @deguif #2027 - Extracted setting gap policy to
\Elastica\Aggregation\Traits\GapPolicyTrait
and introduced\Elastica\Aggregation\GapPolicyInterface
with constants for options by @stchr #2023 - Extracted setting
field
toElastica\Processor\Traits\FieldTrait
by @deguif #2024 - Extracted setting
target_field
toElastica\Processor\Traits\TargetFieldTrait
by @deguif #2026 - Simplified github action matrix for continuous integration workflow by @deguif #2025 ### 🗄 Deprecated
- 🗄 Deprecated
Elastica\Query\Common
class, useElastica\Query\MatchQuery
instead by @deguif #2013 - 🗄 Deprecated
Elastica\QueryBuilder\DSL\Query::common_terms()
, usematch()
instead by @deguif #2013 - 🗄 Deprecated passing an
int
as 1st argument toElastica\Search::setOptionsAndQuery()
, pass an array with the keysize
instead by @deguif #2010 - 🗄 Deprecated
cutoff_frequency
option ofElastica\Query\MatchQuery
by @deguif #2014 - 🗄 Deprecated
cutoff_frequency
option ofElastica\Query\MultiMatch
by @deguif #2015 - 🗄 Deprecated
Elastica\Bulk::toString()
,Elastica\Bulk\Action::toString()
andElastica\Request::toString()
methods, use__toString()
method or cast to string instead by @deguif #2033 - 🗄 Deprecated not passing a
buckets_path
when constructingElastica\Aggregation\AvgBucket
,Elastica\Aggregation\Derivative
,Elastica\Aggregation\NormalizeAggregation
,Elastica\Aggregation\PercentilesBucket
,Elastica\Aggregation\SerialDiff
,Elastica\Aggregation\StatsBucket
andElastica\Aggregation\SumBucket
by @deguif #2038 - 🗄 Deprecated not passing a
method
when constructingElastica\Aggregation\NormalizeAggregation
by @deguif #2040 ### ✂ Removed - ✂ Removed remaining
_type
field usages by @deguif #2017 - ✂ Removed
Elastica\Bulk::$_type
dead property by @deguif #2034 - ✂ Removed Elasticsearch old version checks in tests by @deguif #2041 ### 🛠 Fixed
- 🛠 Fixed type-hint for
Elastica\Search::setOptionsAndQuery()
by @deguif #2009 - 🛠 Fixed terms query params resolution by @deguif #2032
-
v7.1.2 Changes
Backward Compatibility Breaks
- 🔄 Changed
Elastica\Exception\JSONParseException
inheritance, it now extends\JsonException
instead of\RuntimeException
#1949 ### ➕ Added - ➕ Added
Elastica\Aggregation\NormalizeAggregation
#1956 - ➕ Added
Elastica\Suggest\Phrase::addDirectGenerator
to align with ES specification #1964 - ➕ Added support for
psr/log
2.0 and 3.0 #1971 - ➕ Added new optional 'case_insensitive' option to
Elastica\Query\Wildcard
#1894 - ➕ Added
Elastica\Result::getSort()
fetching the "sort" property of results #1979 - ➕ Added exposure of Point-In-Time ID for search responses in
Elastica\ResultSet::getPointInTimeId()
#1991 - ➕ Added
Elastica\Index::openPointInTime()
for opening a PiT on the index #1994 - ➕ Added possibility to specify PointInTime on
Elastica\Query::setPointInTime()
#1992 - ➕ Added
Elastica\Client::closePointInTime()
for closing a PiT #1995 ### 🔄 Changed - ⚡️ Updated
php-cs-fixer
to3.2.1
#1996 #1959 #1955 - ✅ Using default Elasticsearch images for testing instead of OSS https://github.com/ruflin/Elastica/pull/1954 ### 🛠 Fixed
- 🛠 Fixed compatibility with
guzzlehttp/psr7
version2.x
#2002 - Fixed the assignment of
version
,seq_no
andprimary_term
ongetDocument
#1973
- 🔄 Changed
-
v7.1.1 Changes
Backward Compatibility Breaks
- 🔄 Changed
Elastica\Query\MatchQuery::setFieldParam()
signature to allow passing bool, float or int #1941 - 🔄 Changed
Elastica\Query\MatchPhraseQuery::setFieldParam()
signature to allow passing bool, float or int #1944 ### ➕ Added - 🐳 Excluded
docker
directory in.gitattributes
#1938 ### 🔄 Changed - Included
Content-Type
HTTP header every time, whatever the content of the body is #1780 - 🔄 Changed
Elastica\Status::indexExists()
,Elastica\Status::aliasExists()
andElastica\Status::getIndicesWithAlias()
signatures #1929 - 👉 Replaced
call_user_func()
andcall_user_func_array()
by direct calls #1923 - Replaced legacy constant
CURLINFO_HTTP_CODE
byCURLINFO_RESPONSE_CODE
#1931 - ⚡️ Updated
php-cs-fixer
to2.18.3
#1915 - ⚡️ Updated
composer-normalize
to2.13.3
#1927 ### 🗄 Deprecated - 🗄 Deprecated
Elastica\Transport\HttpAdapter
class #1940 - 👀 Deprecated
Elastica\Exception\JSONParseException
exception, catch\JsonException
instead #1949 ### 🛠 Fixed - 🛠 Fixed wrong
ltrim
usage in guzzle transport #1783 - Fixed
_seq_no
and_primary_term
wrong initialization #1920 - 🛠 Fixed
Elastica\Connection\StrategyInterface
instance checks #1921 - 🛠 Fixed various PHPDoc annotations #1922
- 🛠 Fixed numeric index names are returned as
int
inElastica\Status::getIndexNames()
#1928 - 🛠 Fixed using raw array in
post_filter
#1950
- 🔄 Changed
-
v7.1.0 Changes
Backward Compatibility Breaks
- ➕ Added a default value to
Elastica\Aggregation\Range::setKeyed()
andElastica\Aggregation\PercentilesBucket::setKeyed()
#1876 - ✂ Removed type-hint to
Elastica\Aggregation\Percentiles::setMissing()
argument #1875 - 👍 Allowed the Terms query to accept an array of bool, float, int and/or string #1872 ### ➕ Added
- ➕ Added
auth_type
parameter in the client class config to specify the type of authentication (allowed values arebasic, digest, gssnegotiate, ntlm
) #1790 - Added
if_seq_no
/if_primary_term
to replaceversion
for optimistic concurrency control #1803 - ➕ Added
Elastica\Aggregation\PercentilesBucket
aggregation #1806 - ➕ Added
weighted_avg
to aggregations DSL #1814 - ➕ Added support for defining a connection pool with DSN. Example:
pool(http://127.0.0.1 http://127.0.0.2/bar?timeout=4)
#1808 - ➕ Added
Elastica\Aggregation\Composite
aggregation #1804 - ➕ Added
symfony/deprecation-contracts
package to handle deprecations #1823 - ➕ Added
list_syntax
CS rule #1854 - Added
native_constant_invocation
CS rule #1833 - ➕ Added
static_lambda
CS rule #1870 - ➕ Added
Elastica\Aggregation\DateRange::setTimezone()
#1847 - ➕ Added endpoint options support to
Elastica\Index::create()
#1859 - ➕ Added
Elastica\Aggregation\DateHistogram::setKeyed()
#1876 - ➕ Added
Elastica\Aggregation\GeoDistance::setKeyed()
#1876 - ➕ Added
Elastica\Aggregation\Histogram::setKeyed()
#1876 - ➕ Added
Elastica\Aggregation\IpRange::setKeyed()
#1876 - ➕ Added
Elastica\Aggregation\GeotileGridAggregation
#1880 - ➕ Added
Elastica\Aggregation\Avg::setMissing()
,Elastica\Aggregation\Cardinality::setMissing()
,Elastica\Aggregation\DateRange::setMissing()
,Elastica\Aggregation\DateHistogram::setMissing()
,Elastica\Aggregation\ExtendedStats::setMissing()
,Elastica\Aggregation\Histogram::setMissing()
,Elastica\Aggregation\Max::setMissing()
,Elastica\Aggregation\Min::setMissing()
,Elastica\Aggregation\Stats::setMissing()
,Elastica\Aggregation\Sum::setMissing()
,Elastica\Aggregation\Terms::setMissing()
#1876 - 👌 Supported
guzzlehttp/guzzle
7.x #1816 - 👌 Supported PHP 8.0 #1794
- 👌 Supported BC break on
elasticsearch/elasticsearch
version7.4.0
#1864 ### 🔄 Changed - 👍 Allowed
string
such aswait_for
to be passed toAbstractUpdateAction::setRefresh
#1791 - 👍 Allowed float values for connection timeout and connection connect-timeout, providing ms precision for those. Previous precision was second. #1868
- ⚡️ Changed the return type of
AbstractUpdateAction::getRefresh
toboolean|string
#1791 - Reviewed options handling in
Elastica\Index::create()
#1822 - 🗄 Replaced deprecated
exceptions
request option byhttp_errors
request option in Guzzle transport #1817 - 💅 Run coding styles check on github action #1878
- ✅ Run unit tests on github action #1882
- ✅ Run functional tests on github action #1885
- ⚡️ Updated
php-cs-fixer
to2.16.4
#1830 - ⚡️ Updated
php-cs-fixer
to2.16.7
#1881 - ⚡️ Updated
php-cs-fixer
to2.17.3
#1895 - ⚡️ Updated
php-cs-fixer
to2.18.2
#1897 - 🔧 Used
GuzzleHttp\RequestOptions
constants for configuring request options #1820 - 👉 Used new alias endpoints classes #1839
- 👉 Used new cache endpoints classes #1840
- 👉 Used new ingest pipeline endpoints classes #1834
- 👉 Used new mapping endpoints classes #1845
- 👉 Used new nodes endpoints classes #1863
- 👉 Used new settings endpoints classes #1852 ### 🗄 Deprecated
- 🗄 Deprecated
Elastica\Aggregation\Range::setKeyedResponse()
, usesetKeyed()
instead #1848 - 👀 Deprecated
Elastica\Exception\ResponseException::getElasticsearchException()
, usegetResponse()::getFullError()
instead #1829 - 🗄 Deprecated
Elastica\QueryBuilder\DSL\Aggregation::global_agg()
, useglobal()
instead #1826 - 🗄 Deprecated
Elastica\Util::getParamName()
#1832 - 🗄 Deprecated all Processor class names in favor of suffixed class names #1893
- 🗄 Deprecated Match query class and introduced MatchQuery instead for PHP 8.0 compatibility reason #1799
- ⚡️ Deprecated
version
/version_type
options (deprecated in6.7.0
) and addedif_seq_no
/if_primary_term
that replaced it - 🗄 Deprecated passing
bool
ornull
as 2nd argument toElastica\Index::create()
#1828 ### ✂ Removed - ✂ Removed HHVM proxy detection #1818 ### 🛠 Fixed
- 🛠 Fixed issue 1789
- 🛠 Fixed type-hint for
Elastica\QueryBuilder\DSL\Aggregation::sampler()
not consistent with the underlying constructor call #1815 - 🛠 Fixed
Elastica\Util::toSnakeCase()
with first letter being lower cased #1831 - 🛠 Fixed handling precision as string in
Elastica\Aggregation\GeohashGrid::setPrecision()
#1884 - 🛠 Fixed calling
Elastica\Aggregation\Composite::addAfter()
with thenull
value 1877 - Replaced
_routing
and_retry_on_conflict
byrouting
andretry_on_conflict
inAbstractUpdateAction
#1807
- ➕ Added a default value to
-
v7.0.0 Changes
June 10, 2020 -
v7.0.0-beta.4 Changes
March 23, 2020Backward Compatibility Breaks
- If you're NOT using composer to manage your libraries: the root directory of the library's source code moved from
lib/Elastica/
tosrc/
. - The
Wildcard::setValue()
changed its signature: use it to set the value of the wildcard query only. - The
Wildcard
Query's constructor now requires thename
andvalue
properties. - The
Terms
Query's constructor now requires thefield
andterms
properties.
➕ Added
- ➕ Added
AbstractTermsAggregation::setIncludeAsExactMatch()
#1766 - ➕ Added
AbstractTermsAggregation::setExcludeAsExactMatch()
#1766 - ➕ Added
AbstractTermsAggregation::setIncludeWithPartitions()
#1766 - ➕ Added
Elastica\Reindex->setPipeline(Elastica\Pipeline $pipeline): void
. The link between the reindex and the pipeline is solved whenrun()
is called, and thus the pipeline given doesn't need to be created before callingsetPipeline()
#1752 - ➕ Added
Elastica\Reindex->setRefresh(string $value): void
. It acceptsREFRESH_*
constants from its class #1752 and #1758 - ➕ Added
Elastica\Reindex->setQuery(Elastica\Query\AbstractQuery $query): void
#1752 - Added constants
PIPELINE
,REFRESH_TRUE
,REFRESH_FALSE
,REFRESH_WAIT_FOR
,SLICES
andSLICES_AUTO
toElastica\Reindex
#1752 - ➕ Added
Elastica\Pipeline->getId(): ?string
#1752 - ➕ Added
Elastica\Aggregation\ExtendedStatsBucket
aggregation #1756
🔄 Changed
- 🔄 Changed
Terms::setTerms()
signature: it now accepts a list of strings only #1765 - 🔄 Changed
Terms::setTermsLookup()
signature:index
,path
andid
are now required arguments #1765 - 🔄 Changed
Wildcard::setValue()
and constructor's signature: added more specificWildcard::setBoost()
andWildcard::setRewrite
methods - ⚡️ Updated PHP coding standards to adhere to PSR-12 #1760
- ⚡️ Updated to PHPUnit v8.5 #1759
- 🔨 Refactored code structure: use
src/
andtests/
folders #1755 - 🛠 Require elastica-php library >= v7.1.1, fixes an issue on Ingestion/Put() type-hinting
- 🛠 Require guzzle >= v6.3 as development library: fixes issues on PHP >= 7.2
- 🗄 Require phpunit >= v7.5, fixes deprecations in with PHP 7.3
- 👻 Scroll is now throwing an exception when calling
current()
on an invalid iteration: always callvalid()
before
📚 accessing the current item, as documented in PHP's Iterator documentation #1749
✂ Removed
- If you're NOT using composer to manage your libraries: the root directory of the library's source code moved from
-
v7.0.0-beta.3 Changes
January 16, 2020- Marked Elastica 5.x as unmaintained
🛠 Bugfixes
- 🛠 Fix Search::count() not counting all results #1746
- Fixed handling of Search::OPTION_SEARCH_IGNORE_UNAVAILABLE inside Scroll object
➕ Added
- ➕ Added
DiversifiedSampler
aggregation #1735 - ➕ Added
\Elastica\Query\DistanceFeature
#1730 - ➕ Added support for injecting a callable AWS credential provider to use static, cached, or custom-sourced credentials #1667
👌 Improvements
- 🚀 Scroll releases previous ResultSet from memory before calling ES for next data batch #1740