Skip to content

Latest commit

 

History

History
515 lines (346 loc) · 14.8 KB

CHANGELOG.md

File metadata and controls

515 lines (346 loc) · 14.8 KB

Changelog

All notable changes to this project will be documented in this file based on the Keep a Changelog Standard. This project adheres to Semantic Versioning.

Backward Compatibility Breaks

Bugfixes

Added

Improvements

Deprecated

Backward Compatibility Breaks

  • Drop support for PHP 8.0 - PHP 8.1 is now the minimum version.

Bugfixes

Added

Improvements

  • Upgraded PHPUnit to version 10.5
  • Refactor some code to take advantage of PHP 8.1 features (read-only properties)
  • Fix tests that used deprecated/removed features on PHPUnit 10.5
  • Refactor tests to be more PHPUnit 10.5 compliant (e.g. using attributes for data providers, make all data providers static, etc.)
  • Updated versions of continuous integration components

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

Improvements

  • Send scroll_id in the body of the request in Repository::findByScrollId to get rid of deprecation notices

Deprecated

Backward Compatibility Breaks

  • AbstractBoolQuery class is now strongly typed to only accept CriteriaInterface instances on constructor and create method
  • Query class is now strongly typed to only accept CriteriaInterface|AggregationInterface instance on constructor and create and createNested methods
    • But those methods still will only properly accept FilterInterface, NestableQueryInterface, SearchInterface or AggregationInterface implementations

Bugfixes

Added

Improvements

  • Fixed code standards
  • Refactor some code to take advantage of PHP 8.0 features (promoted properties, match, arrow functions, etc.)
  • Split repository tests class into multiple classes (one per method) to simplify maintenance of tests

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

  • Include null as an acceptable value to the document attribute of UpsertException and UpdateException
  • Replace PersistableEntityInterface by object in Repository::findById() method

Added

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

Improvements

  • Typehinting on Repository methods

Deprecated

Backward Compatibility Breaks

  • Dropped support for PHP 7.x
  • Dropped support for Elasticsearch < 7.x
  • Changed class names of full-text queries (e.g. Match to MatchQuery). This is due to "match"becoming a reserved keyword in PHP 8

Bugfixes

Added

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

  • Fixed request format of Repositry::upsert()

Added

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

  • Fixed request format of Repositry::upsert()

Added

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

  • Repository::upsert() method to make use of Elasticsearch' update API with doc_as_upsert option.

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

  • Repository::upsert() method to make use of Elasticsearch' update API with doc_as_upsert option.

Improvements

Deprecated

Backward Compatibility Breaks

  • Upgraded elasticsearch/elasticsearch to a version compatible with Elasticsearch 7. This comes with breaking changes for Elasticsearch 6!

Bugfixes

Added

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

  • Compatibility to Elasticsearch 7.x versions on Repository::parseRawSearchResponse

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

  • Repository::deleteByQuery() was added to support bulk delete operations

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

  • Add optional extra parameters to IndexManagerInterface::putMapping and respective implementation in IndexManager::putMapping
    • This will be used to update schema mappings in kununu/elasticsearch-bundle with a forward compatibility layer for ES 7.x which requires include_type_name=true

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

  • Repository::saveBulk() was added to support bulk index operations

Improvements

  • Third party dependency upgrades (phpunit and mockery)

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

  • Introduce force_refresh_on_write configuration option for repositories. It can be used to force an index refresh after every write operation. This can be very handy for functional and integration tests. But caution! Using this in production environments can severely harm your ES cluster performance.

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

Improvements

  • Allow to pass source fields to return on Repository::findById instead of receiving the entire document

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

Improvements

  • Introduce term query specifically for search context
  • Third party dependency upgrades (phpunit and psr/log)

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

Improvements

  • Distinguish DocumentNotFoundException from generic DeleteException when trying to delete non-existent documents via Repository::delete()

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

  • Support put settings for refresh_interval and number_of_replicas to elastic search index

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

  • Support for inner_hits option for nested queries

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

  • Removed support for Filter Aggregation as is does not fit in the current scheme of things and therefore did not work

Added

Improvements

  • Introduce term query specifically for search context

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

  • Nested queries

Improvements

  • Repository::findById() now catches \Elasticsearch\Common\Exceptions\Missing404Exception and returns null

Deprecated

Backward Compatibility Breaks

Bugfixes

  • allow objects to be pushed into ResultIterator

Added

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

  • Fixed return type hint of UpsertException::getDocument()

Added

Improvements

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

  • Method Repository::findById() added

Improvements

  • Created more specific Exceptions extending RepositoryException. They can hold operation specific payload (f.e. document and documentId for upsert operations with Repository::save())

Deprecated

Backward Compatibility Breaks

  • Removed support for Elastica as Elasticsearch client
  • Removed adapters completely (Repository is now directly using \Elasticsearch\Client)
  • Removed ElasticaQuery
  • Removed ruflin/elastica from list of dependencies
  • Removed method ElasticsearchRepository::deleteIndex() in favor of IndexManager::deleteIndex()
  • Renamed ElasticsearchRepository to Repository
  • Renamed ElasticsearchRepositoryInterface to RepositoryInterface
  • Changed signature of RepositoryInterface::save() and therefore Repository::save()

Bugfixes

Added

  • postSave and postDelete() hooks for repositories
  • Index management features via IndexManager
  • Entity class for repositories: if configured with an entity class, a repository will emit entity objects of this type instead of plain documents and accepts such objects on the save() method
  • Entity factory for repositories: if configured with an entity factory, a repository will emit entity objects instead of plain document arrays
  • Entity serializer for repositories: if configured with an entity serializer, a repository accepts objects on the save() method and serializes them using the given serializer

Improvements

  • Really downgraded dependency elasticsearch/elasticsearch from 6.7.* to 6.5.* to be compatible with the official version matrix
  • fixed a few tests to be more precise

Deprecated

Backward Compatibility Breaks

Bugfixes

Added

Improvements

  • Added support for dedicated index aliases for read and write operations (connnection options index_read and index_write)

Deprecated

Backward Compatibility Breaks

none

Bugfixes

none

Added

none

Improvements

none

Deprecated

none

Backward Compatibility Breaks

none

Bugfixes

none

Added

none

Improvements

  • Downgraded dependency elasticsearch/elasticsearch from 6.7.* to 6.5.* to be compatible with the official version matrix

Deprecated

none

Backward Compatibility Breaks

none

Bugfixes

none

Added

none

Improvements

  • use SPL standard exceptions where appropriate (#1)
  • remove unused exception classes

Deprecated

none

Backward Compatibility Breaks

none

Bugfixes

none

Added

none

Improvements

  • set minimum stability of composer dependencies to "stable"

Deprecated

none

0.1-alpha

Initial checkin of sources originally developed in kununu/culture.