Skip to content

Releases: ruflin/Elastica

Release 7.1.2

21 Oct 13:15
fa4ddb1
Compare
Choose a tag to compare

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 to 3.2.1 #1996, #1959,#1955
  • Using default Elasticsearch images for testing instead of OSS #1954

Fixed

  • Fixed compatibility with guzzlehttp/psr7 version 2.x #2002
  • Fixed the assignment of version, seq_no and primary_term on getDocument #1973

Release 6.2.0

08 Oct 13:22
Compare
Choose a tag to compare

Added

Improvements

  • Fixed display issue in dependancy table #1980
  • Explicitly equire ext-json in composer.json #1673 #1983

Release 7.1.1

24 Mar 14:39
8ecc5cd
Compare
Choose a tag to compare

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() and Elastica\Status::getIndicesWithAlias() signatures #1929
  • Replaced call_user_func() and call_user_func_array() by direct calls #1923
  • Replaced legacy constant CURLINFO_HTTP_CODE by CURLINFO_RESPONSE_CODE #1931
  • Updated php-cs-fixer to 2.18.3 #1915
  • Updated composer-normalize to 2.13.3 #1927

Deprecated

  • Deprecated Elastica\Transport\HttpAdapter class #1940

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 in Elastica\Status::getIndexNames() #1928
  • Fixed using raw array in post_filter #1950

Release 6.1.5

24 Mar 12:01
47486ae
Compare
Choose a tag to compare

Bugfixes

  • Added conflict with elasticsearch/elasticsearch version 6.8.1 #1948

Added

  • Excluded docker directory in .gitattributes #1939

Release 6.1.4

17 Mar 10:27
2621f5f
Compare
Choose a tag to compare

Bugfixes

  • Added conflict with elasticsearch/elasticsearch version 6.8.0 #1918

Improvements

  • Marked Elastica 5.x as unmaintained #1909

Release 6.1.3

17 Feb 07:30
3734c1a
Compare
Choose a tag to compare

Bugfixes

  • Make MatchQuery.php file valid PHP. #1902

Release 6.1.2

16 Feb 08:03
461fedb
Compare
Choose a tag to compare

Bugfixes

  • Always set the Guzzle base_uri to support connecting to multiple ES hosts. #1618 #1644

Added

  • Added Elastica\Aggregation\WeightedAvg aggregation #1770
  • Added Elastica\Query\MatchQuery extending Elastica\Query\Match. This is the same as 7.x, which renamed the class for PHP 8.0 support, and makes supporting the use of ruflin/elastica 6.1 and 7.0 in the same project. #1898

Improvements

  • Added missing Response information to Bulk/ResponseSet #1775

Deprecated

  • Elastica\Query\Match has been deprecated in favour of Elastica\Query\MatchQuery. #1898

Release 7.1.0

15 Feb 10:36
ec22ea0
Compare
Choose a tag to compare

Backward Compatibility Breaks

  • Added a default value to Elastica\Aggregation\Range::setKeyed() and Elastica\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 are basic, digest, gssnegotiate, ntlm) #1790
  • Added if_seq_no / if_primary_term to replace version 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 version 7.4.0 #1864

Changed

  • Allowed string such as wait_for to be passed to AbstractUpdateAction::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 to boolean|string #1791
  • Reviewed options handling in Elastica\Index::create() #1822
  • Replaced deprecated exceptions request option by http_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 to 2.16.4 #1830
  • Updated php-cs-fixer to 2.16.7 #1881
  • Updated php-cs-fixer to 2.17.3 #1895
  • Updated php-cs-fixer to 2.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(), use setKeyed() instead #1848
  • Deprecated Elastica\Exception\ResponseException::getElasticsearchException(), use getResponse()::getFullError() instead #1829
  • Deprecated Elastica\QueryBuilder\DSL\Aggregation::global_agg(), use global() 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 in 6.7.0) and added if_seq_no / if_primary_term that replaced it
  • Deprecated passing bool or null as 2nd argument to Elastica\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 the null value 1877
  • Replaced _routing and _retry_on_conflict by routing and retry_on_conflict in AbstractUpdateAction #1807

Release 7.0.0

10 Jun 12:09
d9a079c
Compare
Choose a tag to compare

This is the first non beta release in the 7.0 cycle. Please check all the previous beta release changelogs for breaking changes.

Added

  • Added Elastica\Aggregation\WeightedAvg aggregation #1770

Changed

  • Added missing Response information to Bulk/ResponseSet #1776

Release 7.0.0-beta.4

23 Mar 15:45
0d45eda
Compare
Choose a tag to compare
Release 7.0.0-beta.4 Pre-release
Pre-release

Backward 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/ to src/.
  • The Wildcard::setValue() changed its signature: use it to set the value of the wildcard query only.
  • The Wildcard Query's constructor now requires the name and value properties.
  • The Terms Query's constructor now requires the field and terms 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 when run() is called, and thus the pipeline given doesn't need to be created before calling setPipeline() #1752
  • Added Elastica\Reindex->setRefresh(string $value): void. It accepts REFRESH_* 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 and SLICES_AUTO to Elastica\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 and id are now required arguments #1765
  • Changed Wildcard::setValue() and constructor's signature: added more specific Wildcard::setBoost() and Wildcard::setRewrite methods
  • Updated PHP coding standards to adhere to PSR-12 #1760
  • Updated to PHPUnit v8.5 #1759
  • Refactored code structure: use src/ and tests/ 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 call valid() before
    accessing the current item, as documented in PHP's Iterator documentation #1749

Removed

  • Removed unsupported flags from AbstractTermsAggregation::setInclude() #1766
  • Removed unsupported flags from AbstractTermsAggregation::setExclude() #1766
  • Terms::setMinimumMatch() has been removed as not supported by ES 7.x