Releases: ruflin/Elastica
Release 3.0.0-beta1
Backward Compatibility Breaks
- Elastica\AbstractUpdateAction::setPercolate now throw DeprecatedException, user Percolator instead
- Elastica\AbstractUpdateAction::getPercolate now throw DeprecatedException, user Percolator instead
- Elastica\AbstractUpdateAction::hasPercolate now throw DeprecatedException, user Percolator instead
- Elastica\Type::delete now throw DeprecatedException, it is no longer possible to delete the mapping for a type. Instead you should delete the index and recreate it with the new mappings
- MoreLikeThis::setLikeText deprecated from ES 2.0, use setLike instead, but there is a difference - setLike haven't trim magic inside for strings
- Elastica\Document, methods: setScript, getScript, hasScript now throw DeprecatedException.
- MoreLikeThis, methods: setLikeText, setIds, setPercentTermsToMatch now throw DeprecatedException.
- Elastica\Aggregation\DateHistogram, methods: setPreZone, setPostZone, setPreZoneAdjustLargeInterval, setPreOffset, setPostOffset now throw DeprecatedException.
- Elastica\Query\Builder trigger E_USER_DEPRECATED error when you try use it.
- Elastica\Filter\Bool and Elastica\Query\Bool trigger E_USER_DEPRECATED error when you try use them.
- Elastica\Query\Fuzzy:addField method trigger E_USER_DEPRECATED error
- Elastica\Query\FunctionScore:addBoostFactorFunction method trigger E_USER_DEPRECATED error
- Elastica\Query:setLimit method trigger E_USER_DEPRECATED error
- Elastica\Document:add method trigger E_USER_DEPRECATED error
- Type::moreLikeThis API was removed from ES 2.0, use MoreLikeThis query instead
- Remove Thrift transport and everything related to it
- Remove Memcache transport and everything related to it
- Remove BulkUdp and everything related to it
- Remove Facets and everything related to it
- Remove ansible scripts for tests setup and Vagrantfile as not needed anymore.
All is based on docker contaienrs now - Support for PHP 5.3 removed
- Elastica\Reponse::getError() now returns and array instead of a string
- Move function \Elastica\Index\Status::getAliases() and hasAlias(...) to \Elastica\Index::getAliases()
- Remove \Elastica\Index\Status object and related functions
- \Elastica\Query\FuzzyLikeThis remove as not supported anymore
- Remove \Elastica\Status::getServerStatus() as the information was removed
- DeleteByQuery now requires the delete-by-query plugin isntalled
- Remove \Elastica\Filter\Nested as it is replaced by \Elastica\Query\Nested
- Require at least PHP 5.4
Bugfixes
- Fixed GeoShapeProvided relation parameter position
Added
- Elastica\Reponse::getErrorMessage was added as getError is now an object
- Elastica\Query\MoreLikeThis::setLike
- \Elastica\Exception\DeprecatedException
- Connection option to convert JSON bigint results to strings can now be set #717
Improvements
- Travis builds were moved to docker-compose setup. Ansible scripts and Vagrant files were removed
- trigger_error with E_USER_DEPRECATE added to deprecated places
- DeprecatedException will be thrown, if there is a call of method that not support BC
Deprecated
- Elastica\Type::delete is deprecated
- Elastica\Filter\Bool is deprecated
- Elastica\Query\Bool is deprecated
- Elastica\Query\MoreLikeThis::setLikeText is deprecated
- Elastica\Query\MoreLikeThis::setIds is deprecated
Release 2.3.1
This release is compatible with elasticsearch 1.7.3.
Bugfixes
- Filters aggregation: empty name is named bucket #935
- Prevent mix keys in filters (#936) #939
- Fix empty string is not anonymous filter #935
- Filters aggregation: empty name is named bucket #935
Added
- Support for field_value_factor #953
- Added setMinDocCount and setExtendedBounds options #947
- Avoid environment dependecies in tests #938
Improvements
- Update elasticsearch dependency to elasticsearch 1.7.3 #957
Deprecated
- Added exceptions of deprecated transports to deprecation list
Dependencies
Project | Version | Required |
---|---|---|
Elasticsearch | 1.7.3 | yes |
Elasticsearch mapper attachments plugin | 2.7.0 | no |
Elasticsearch thrift transport plugin | 2.7.0 | no |
Elasticsearch memcached transport plugin | 2.7.0 | no |
Elasticsearch geocluster facet plugin | 0.0.12 | no |
Elasticsearch image plugin | 1.7.1 | no |
Release 2.3.0
As this release breaks backward compatibility, a detailed explanation about the breaking changes can be found here
Backward Compatibility Breaks
- Objects do not casts to arrays in setters and saved in params as objects. There is many side effects if
you work with params on "low-level" or change your objects after you call setter with object
as argument. #916
Added
Improvements
Release 2.2.1
Added
- Support for index template added #905
Improvements
- Update Elasticsearch dependency to 1.7.1 and update plugin dependencies #909
- Update php-cs-fixer to 1.10 #898
- Elastica\QueryBuilder now uses Elastica\QueryBuilder\Version\Latest as default version to avoid empty version classes. #897
- Update elasticseach-image to work with ES 1.7.1 #907
- Local dev environment was refactored to fully work in docker environment. Running tests is now only one command:
make tests
#901
Deprecated
- Elastica\QueryBuilder\Version\Version150 deprecated in favor of Elastica\QueryBuilder\Version\Latest #897
Release 2.2.0
Backward Compatibility Breaks
- Usage of constant DEBUG and method Elastica\Util::debugEnabled is removed. #868
- Elastica\Response::getTransferInfo will not return "request_header" by default. #868
- The Image Plugin is currently not compatible with Elasticearch 1.6.0
Bugfixes
Improvements
CallbackStrategy
now will accept anycallable
as callback, not only instance ofClosure
. #871StrategyFactory
now will try to find predefined strategy before looking to global namespace. #877- Update elasticsearch dependency to elasticsearch 1.6.0 https://www.elastic.co/downloads/past-releases/elasticsearch-1-6-0
- All elasticsearch plugin dependencies were updated to the newest version.
- Methods of classes in
QueryBuilder\DSL
namespace now have exact same signatures as corresponding constructors. #878 - Constructor of
Aggregation\Filter
now accepts filter as second parameter #878 - Constructor of
Filter\AbstractMulti
(BoolAnd
,BooldOr
) now accepts array of filters as parameter #878 - Constructor of
Query\Match
now accepts arguments #878 - Coverage Reporting improved with Codecov #888
- Added 'query_cache' option for search #886
Release 2.1.0
Backward Compatibility Breaks
Elastica\ScanAndScroll::$_lastScrollId
removed:key()
now always returns the next scroll id #842
Deprecated
- Facets are deprecated. You are encouraged to migrate to aggregations instead. #855
- Elastica\Query\Builder is deprecated. Use new Elastica\QueryBuilder instead. #855
- For PHP 7 compatibility Elastica\Query\Bool was renamed to *\BoolQuery, Elastica\Filter\Bool was renamed to BoolFilter, Elastica\Transport\Null was renamed to NullTransport as Null and Bool are reserved phrases in PHP 7. Proxy objects for all three exist to keep backward compatibility. It is recommended to start using the new objects as the proxy classes will be deprecated as soon as PHP 7 is stable. #837
Added
- Multiple rescore query #820
- Support for a custom connection timeout through a connectTimeout parameter. #841
- SignificantTerms Aggregation #847
- Support for 'precision_threshold' and 'rehash' options for the Cardinality Aggregation [#851]
- Support for retrieving id node #852
- Scroll Iterator #842
- Gitter Elastica Chat Room add for Elastica discussions: https://gitter.im/ruflin/Elastica
- Introduce PHP7 compatibility and tests. #837
Tool\CrossIndex
for reindexing and copying data and mapping between indices #853- CONTIRUBTING.md file added for contributor guidelines. #854
Improvements
- Introduction of Changelog standard based on http://keepachangelog.com/. changes.txt moved to CHANGELOG.md #844
- Make host for all tests dynamic to prepare it for a more dynamic test environment #846
- Node information is retrieved based on id instead of name as multiple nodes can have the same name. #852
- Guzzle Http dependency updated to 5.3.*
- Remove NO_DEV builds from travis build matrix to speed up building. All builds include no dev packages.
- Introduction of benchmark test group to make it easy to run benchmark tests.
- Make the docker images directly available on the docker registry. This speeds up fetching of the images and automates the build of the images.
Release 2.0.0
Release Notes
With this release Elastica moves to its own independent semantic versioning. It starts with the jump from Elastica v1.4.3.0 to 2.0.0. The compatible elasticsearch version will be linked with every release. This changes makes it possible to better indicate major branches to previous Elastica versions without being dependent on elasticsearch release version numbering. The v in front of the version was dropped.
Release 2.0.0 has only minor backward compatibility breaks (see below), but lots of improvements and additions. All BC changes are related to changes in elasticsearch 1.5.*. Migration from v1.4.3.0 to 2.0.0 should not be an issue in most cases even though it is a big step concerning version number.
The goal is also to improve on the release notes to make it easier to see what changes and what are the backward compatible changes. More details can be found here
Dependencies
Project | Version | Required |
---|---|---|
Elasticsearch | 1.5.2 | yes |
Elasticsearch mapper attachments plugin | 2.5.0 | no |
Elasticsearch thrift transport plugin | 2.5.0 | no |
Elasticsearch geocluster facet plugin | 0.0.12 | no |
Changes
Backward Compatibility Breaks
- Elastica\Query\QueryString::setLowercaseExpandedTerms removed #813
- Update Elasticsearch version to 1.5 #813
- Added deprecation notice to Elastica\Transport\Thrift, Elastica\Transport\Memcached and Elastica\Type::deleteByQuery #817
- Escape new symbols in Util::escapeTerm #795
Bugfixes
- Fix empty bool query to act as match all query #817
- Fixed short match construction in query DSL #796
- Index optimize method to return Response object. #797
- Fix fluent interface inconsistency #788
Improvements
- Add testing on PHP 7 on Travis #826
- Allow bool in Query::setSource function #818 http://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-source-filtering.html
- deleteByQuery() implemented in Elastica\Index #816
- Add MLT query against documents #814
- Added Elastica\Query\SimpleQueryString::setMinimumShouldMatch #813
- Added Elastica\Query\FunctionScore::setMinScore #813
- Added Elastica\Query\MoreLikeThis::setMinimumShouldMatch #813
- Added new methods to Elastica\Aggregation\DateHistogram: setOffset, setTimezone #813
- Following methods in Elastica\Aggregation\DateHistogram marked as deprecated: setPreOffset, setPostOffset, setPreZone, setPostZone, setPreZoneAdjustLargeInterval #813
- Add Elastica\Facet\DateHistogram::setFactor() #806
- Added Elastica\Query\QueryString::setTimezone #813
- Add .editorconfig #807
- Added Elastica\Suggest\Completion #808
- Fix elasticsearch links to elastic domain #809
- Added Elastica\Query\Image #787
- Add Scrutinizer Code Quality status badge
- Added support for percentiles aggregation #786
Release v1.4.3.0
- Added Elastica\Query\MatchPhrase #599
- Added Elastica\Query\MatchPhrasePrefix #599
- Reset PHP 5.3 tests and enable compatibility for PHP 5.3 again
- Update elasticsearch compatibility to 1.4.3 #782
- Add support for scripted metric aggrations #780
- Added availability to specify regexp options in \Elastica\Filters\Regexp #583 #777
- Add HHVM as build in travis #649
- Fixed issue with OutOfMemory exception in travis builds #775
- Add support for filters aggregation #773
- Housekeeping, coding standard #764
- Exception\ElasticsearchException now can be catched like all other exceptions as Exception\ExceptionInterface #762
Release v1.4.2.0
- Added Elastica\Query\Regexp #757
- Update to elasticsearch 1.4.2 #738
- Remove support for PHP 5.3
- added @return annotation to top_hits aggregation DSL method #752
- Added Elastica\Aggregation\TopHits #718
- Vagrantfile updated #742
- Plugins updated to ES 1.3.4
- Since new version of thrift plugin is compatible with ES 1.3.4, plugin added back to test environment
- Added: Filter\Range::setExecution, Filter\Terms::setExecution, Filter\Missing::setExistence, Filter\Missing::setNullValue, Filter\HasChild::setMinumumChildrenCount, Filter\HasChild::Filter\HasChild::setMaximumChildrenCount, Filter\Indices::addIndex
- Filter\HasChild::setType, Filter\HasParent::setType now support Type instance as argument
- Filter\Indices::setIndices, Filter\Indices::addIndex now support Index instance as argument
- (BC break) Removed as added by mistake: Filter\HasChild::setScope, Filter\HasParent::setScope, Filter\Nested::setScoreMode, Filter\Bool::setBoost
- Additional Request Body Options for Percolator #737
- making sure id is urlencoded when using updateDocument #734
- Implement the
weight
in the function score query #735 - Changed setRealWorldErrorLikelihood to setRealWordErrorLikelihood #729
- allow to customize the key on a range aggregation #728
- Added fluent interface to Elastica\Query::setRescore #733
- Added transport to support egeloen/http-adapter #727
- add cache control parameters support to Elastica\Filter\Bool #725
- Avoid remove previously added params when adding a suggest to the query #726
- Added Elastica\QueryBuilder #724
- Update to elasticsearch 1.4.0
- Disable official support for PHP 5.3
- fixed reserved words in queries which composed of upper case letters (Util::replaceBooleanWords) #722
- Adding PSR-4 autoloading support #714
- Updated Type::getDocument() exception handling. \Elastica\Exception\ResponseException will be thrown instead of \Elastica\Exception\NotFoundException if the ES response contains any error (i.e: Missing index) (BC break) #687
- Added Util::convertDateTimeObject to Util class to easily convert \DateTime objects to required format #709
- Remove ResponseException catch in Type::getDocument() #704
- Fixed Response::isOk() to work better with bulk update api #702
- Adding magic __call() #700
- ResultSet creation moved to static ResultSet::create() method #690
- Accept an options array at Type::updateDocument() #686
- Improve exception handling in Type::getDocument() #693
Release v1.3.4.0
- Update to elasticsearch 1.3.4 #691
- Update the branch alias in composer.json to match the library version #683
- Update license in composer.json to match project #681
- Delete execution permission from non-executable files #677
- Top-level filter parameter in search has been renamed to post_filter #669 #670
- Deprecated: Elastica\Query::setFilter() is deprecated. Use Elastica\Query::setPostFilter() instead. #669
- Deprecated: Elastica\Query::setPostFilter() passing filter as array is deprecated. Pass instance of AbstractFilter instead. #669
- Fixed escaping of / character in Elastica\Util::escapeTerm(), removed usage of JSON_UNESCAPED_SLASHES in Elastica\JSON #660
- Add connection pool and connection strategy #661