Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 1, 2025

This PR contains the following updates:

Package Change Age Confidence
ruflin/elastica (source) ^7.3.2 -> ^9.0.0 age confidence

Release Notes

ruflin/Elastica (ruflin/elastica)

v9.0.0

Compare Source

Backward Compatibility Breaks
  • Elastica\IndexTemplate now works only with new _index_template API. You should use Elastica\Template to use the deprecated API #​2274
  • Dropped support for PHP <8.1 #​2246
  • Removed 3rd $method argument from the Elastica\SearchableInterface::search and Elastica\SearchableInterface::count as they are not unused anymore. The following classes are affected: Elastica\Search and Elastica\Index #​2256
  • Removed Elastica\Request class as constants are not used anymore and no longer needed. #​2256
Added
  • Added support for Component Template #​2274
  • Added support for Index Template #​2274
  • Added Template class to target only legacy Template #​2274
  • Added support for PHP 8.5 #​2253
Changed
Fixed
  • Elastica\Query\BoolQuery::toArray no longer changes $this->_params to \stdClass when empty #​2241
  • Fixed Client retries configuration to allow zero retries by changing condition from > 0 to >= 0 #​2278

v8.2.0

Compare Source

Added

  • Added support for PHP 8.5 #​2254
  • Added support for Component Template #​2257
  • Added support for Index Template, using useLegacy = false #​2257
  • Added Template class to target only legacy Template #​2257

Deprecated

  • Deprecated Elastica\Template because it's deprecated since version 7.8 on ElasticSearch #​2257

Fixed

  • Elastica\Query\BoolQuery::toArray no longer changes $this->_params to \stdClass when empty #​2241
  • Fixed Client retries configuration to allow zero retries by changing condition from > 0 to >= 0 #​2278

New Contributors

Full Changelog: ruflin/Elastica@8.1.0...8.2.0

v8.1.0

Compare Source

Added
  • Added support for the multi-match query type bool_prefix #​2220
  • Added support for PHP 8.4 #​2221
  • Added support for custom key to IpRange and GeoDistance addRange using a common trait #​2227
  • Added bucket sort aggregation #​2229
Fixed
  • Fixed Pipeline Processor handling to allow for multiple processors of the same type #​2218

v8.0.0

Compare Source

This a major release with breaking changes.
Have a look at the Upgrade guide.

Backward Compatibility Breaks
  • Dropped support for PHP <8.0 #​2131
  • Removed deprecated classes in 7.x #​2132
    • Elastica\Exception\ElasticsearchException -> use Elastica\Exception\ResponseException::getResponse()::getFullError() instead
    • Elastica\Exception\ResponseException::getElasticsearchException() -> use Elastica\Exception\ResponseException::getResponse()::getFullError() instead
    • Elastica\Processor\Append -> use Elastica\Processor\AppendProcessor instead
    • Elastica\Processor\Attachment -> use Elastica\Processor\AttachmentProcessor instead
    • Elastica\Processor\Convert -> use Elastica\Processor\ConvertProcessor instead
    • Elastica\Processor\Date -> use Elastica\Processor\DateProcessor instead
    • Elastica\Processor\DateIndexName -> use Elastica\Processor\DateIndexNameProcessor instead
    • Elastica\Processor\DotExpander -> use Elastica\Processor\DotExpanderProcessor instead
    • Elastica\Processor\Fail -> use Elastica\Processor\FailProcessor instead
    • Elastica\Processor\Join -> use Elastica\Processor\JoinProcessor instead
    • Elastica\Processor\Json -> use Elastica\Processor\JsonProcessor instead
    • Elastica\Processor\Kv -> use Elastica\Processor\KvProcessor instead
    • Elastica\Processor\Lowercase -> use Elastica\Processor\LowercaseProcessor instead
    • Elastica\Processor\Remove -> use Elastica\Processor\RemoveProcessor instead
    • Elastica\Processor\Rename -> use Elastica\Processor\RenameProcessor instead
    • Elastica\Processor\Set -> use Elastica\Processor\SetProcessor instead
    • Elastica\Processor\Sort -> use Elastica\Processor\SortProcessor instead
    • Elastica\Processor\Split -> use Elastica\Processor\SplitProcessor instead
    • Elastica\Processor\Trim -> use Elastica\Processor\AppendProcessor instead
    • Elastica\Processor\Uppercase -> use Elastica\Processor\UppercaseProcessor instead
    • Elastica\Query\Common -> use Elastica\Query\MatchQuery instead
    • Elastica\QueryBuilder\DSL\Query::common_terms() -> use Elastica\QueryBuilder\DSL\Query::match() instead
    • Elastica\Transport\HttpAdapter -> use Elastica\Transport\Http instead
  • Removed deprecated methods #​2135
    • Elastica\Aggregation\Range::setKeyedResponse() -> use Elastica\Aggregation\Range::setKeyed() instead
    • Elastica\Bulk::toString() -> use Elastica\Bulk::__toString() or cast to string instead
    • Elastica\Query\MatchQuery::setFieldCutoffFrequency()
    • Elastica\Query\MultiMatch::setCutoffFrequency()
    • Elastica\QueryBuilder\DSL\Aggregation::global_agg() -> use Elastica\QueryBuilder\DSL\Aggregation::global() instead
    • Elastica\Request::toString() -> use Elastica\Request::__toString() or cast to string instead
    • Elastica\Result::getType()
    • Elastica\Suggest\Phrase::addCandidateGenerator() -> use Elastica\Suggest\Phrase::addDirectGenerator() instead
    • Elastica\Util::getParamName()
  • Changed following aggregation constructors #​2138
    • Elastica\Aggregation\AvgBucket: The second argument $bucketsPath is now mandatory
    • Elastica\Aggregation\BucketScript: The second (array $bucketsPath) and the third (string $script) argument are now mandatory
    • Elastica\Aggregation\BucketSelector: The second (array $bucketsPath) and the third (string $script) argument are now mandatory
    • Elastica\Aggregation\Derivative: The second argument (string $bucketsPath) is now mandatory
    • Elastica\Aggregation\NormalizeAggregation: The second (string $bucketsPath) and the third (string $method) argument are now mandatory
    • Elastica\Aggregation\PercentilesBucket: The second argument (string $bucketsPath) is now mandatory
    • Elastica\Aggregation\SerialDiff: The second argument (string $bucketsPath) is now mandatory
    • Elastica\Aggregation\StatsBucket: The second argument (string $bucketsPath) is now mandatory
    • Elastica\Aggregation\SumBucket: The second argument (string $bucketsPath) is now mandatory
  • Changed return type of Elastica\Cluster\Health::getActiveShardsPercentAsNumber() method to float #​2144
  • Changed $origin and $scale parameter types of Elastica\Query\FunctionScore::addDecayFunction() to allow float|int|string #​2144
  • Changed $key parameter type of Elastica\Multi\Search::addSearch() to allow int|string|null #​2144
  • Changed $options parameter type of Elastica\Index::create() to only allow array<string, mixed> #​2147
  • Changed Elastica\Reindex::setWaitForCompletion() to only allow bool #​2151
  • Changed Elastica\Search::addIndex(), Elasica\Search::addIndices() and Elastica\Search::hasIndex() parameter type to only allow Elastica\Index #​2150
  • Changed $options argument to not accept int in the following methods #​2148
    • Elastica\SearchableInterface::search()
    • Elastica\SearchableInterface::createSearch()
    • Elastica\Search::search()
    • Elastica\Search::createSearch()
    • Elastica\Search::setOptionsAndQuery()
    • Elastica\Index::search()
    • Elastica\Index::createSearch()
  • Removed classes #​2188
    • Elastica\Connection
    • Elastica\Connection\ConnectionPool
    • Elastica\Connection\Strategy\CallbackStrategy
    • Elastica\Connection\Strategy\RoundRobin
    • Elastica\Connection\Strategy\Simple
    • Elastica\Connection\Strategy\StrategyFactory
    • Elastica\Connection\Strategy\StrategyInterface
  • Removed Elastica\Client::setLogger() method #​2148
  • Enabled strict_types on all classes #​2190
  • Changed Elastica\Scroll:clear to use scroll_id body parameter instead of url parameter #​2211
  • Remove branch alias for dev-master from composer file #​2215
Added
  • Added support for PHP 8.2 #​2136
  • Added missing @throws annotations to Client::request and related methods #​2152
  • Added ElasticSearch 8.x to CI #​2123
  • Added more versions of ElasticSearch to CI #​2155
  • If not expicitly set, use retry_on_conflict from Client configuration in Bulk updates (ported from 7.x #​2184)
  • Added support for the Combined Fields query type #​2195
Changed
  • Updated php-cs-fixer to 3.13.2 #​2143
  • Modernize code using match expression #​2141
  • Updated docker/php/Dockerfile added AllowSymfonyFlexPlugin (false) on docker phpuser context #​2194
Removed
  • Removed the JSONParseException class, which is replaced by \JsonException
  • Removed the JSONParseException test class
  • Removed nyholm/dsn as no longer needed.
  • Removed symfony/deprecation-contracts as no longer needed.
Fixed
  • Fix types order in Elastica\Query to work with psalm & expand the aggs type to include raw arrays

Configuration

📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, on day 1 of the month ( * 0-3 1 * * ) (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@codecov
Copy link

codecov bot commented Nov 1, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.47%. Comparing base (59ccaa0) to head (c8d7211).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #396   +/-   ##
=======================================
  Coverage   94.47%   94.47%           
=======================================
  Files          40       40           
  Lines        1086     1086           
=======================================
  Hits         1026     1026           
  Misses         60       60           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant