3.10.0 (2025-01-06):
    * Drop PHP 7
    * Remove hard dependency to pimple, add it in suggest
    * Collection is now JsonSerializable
    * Add DateTimeImmutable serialization
    * Add DateTimeZone serialization
    * Add uuid support with symfony/uid
    * Refacto: use, when possible, Weakmap for UnitOfWork internal storage instead of uuid indexed array
    * Fix: Query Generator now handle null values
    * Feature: Support for public properties with hooks (8.4+)

3.9.1 (2024-07-19):
    * Fix: Mysqli/Driver::ping() try to reconnect when mysqli::ping() throws an exception

3.9.0 (2024-02-20):
    * Add support of order and limit in method `getBy()` of repositories

3.8.1 (2024-02-20):
    * Remove use of deprecated code to avoid deprecation logs from internal codebase

3.8.0 (2024-01-29):
    * Depreciate method DriverInterface::getInsertId() in favour of getInsertedId()
    * Depreciate method CCMBenchmark\Ting\Driver\Pgsql\Driver::getInsertIdForSequence() in favour of getInsertedIdForSequence()
    * new Feature: add support for MySQL type geometry
    * Add MYSQLI_OPT_INT_AND_FLOAT_NATIVE option in Mysqli driver

3.7.3 (2023-11-28):
    * Fix: HydratorRelational hydration order when many nested entities

3.7.2 (2023-10-23):
    * Make tests pass on PHP 8.1+
    * Allow access to list of managed entities

3.7.1 (2023-06-22):
    * Security: avoid leaks of credentials
    * Allow HydratorRelational even if no relation has been defined

3.7.0 (2022-04-18):
    * Feature: support searching metadata with the class string of an entity

3.6.2 (2022-04-12):
    * Fix: null values support in non-prepared query

3.6.1 (2022-01-18):
    * Fix: boolean values support in prepared query #58 (thanks @Deuchnord)

3.6.0 (2021-12-16):
    * New Feature: add support of limit and order on query Generator
    * Fix: Ignore abstract classes and interfaces in CCMBenchmark\Ting\MetadataRepository::batchLoadMetadata()
    * Fix: PHP 8.1 deprecations

3.5.8 (2020-09-21):
    * Fix: Hydrator hydrate unknown columns from a referenced table

3.5.7 (2020-08-28):
    * Fix: Revert Hydrator entity's reference calculation factorization [162f539]
    * Fix: HydratorAggregator yield one time even when there is 0 result
    * Fix: Query Generator use proper values

3.5.6 (2019-10-02):
    * Fix: return null instead of entity when no data fetch from join query

3.5.5 (2019-09-30):
    * Merge back 3.4.3 and 3.4.4

3.5.4 (2019-09-13):
    * Fix: Result return from hydrator are identical when changing order of primary key field

3.5.3 (2019-07-24):
    * Fix: The timezone is now setted only on chang

3.5.2 (2019-05-28):
    * Fix: correct value used as timezone

3.5.1 (2019-04-09):
    * Fix: set charset on ping when new connection created

3.5.0 (2019-04-09):
    * New feature: timezone support on the database connection

3.5.0-beta.2 (2018-03-12):
    * Fix: remove useless option to retrieve identifier for HydratorRelational

3.5.0-beta (2018-03-09):
    * New feature: HydratorRelational

3.4.4 (2019-09-30):
    * Fix: Better perf of MetadataRepository::batchLoadMetadataFromCache

3.4.3 (2018-03-22):
    * Added: Serialized expression in the unserialize message exception to have a clue about where the problem is coming

3.4.2 (2017-09-26):
    * Fix: service cache definition was wrong

3.4.1 (2017-09-19):
    * Fix: entities management now applies early to composed entities
    * Fix: Hydrate entities which does not implements NotifyPropertyInterface

3.4.0 (2017-07-05):
    * New Feature: Auto increment value can be retrieved from a custom sequence name (Postgresql only)

3.3.0 (2017-06-13):
    * Adds case condition to column matching in pgsql driver
    * New feature : HydratorAggregator to aggregate objects into an other
    * Update phpdoc

3.2.1 (2017-03-13):
    * Bug fix: Ping now reconnects to the database if connection has been lost. See https://bugs.php.net/bug.php?id=52561

3.2.0 (2017-01-31):
    * Better performance for Pgsql Result format process.
    * New feature : Declare your own accessor on field declaration
    * New feature : Metadata can now be separated of repository (but you need to call Metadata::setRepository)
    * New feature : You can now retrieve fields of Metadata with the getFields method.
    * New feature : an exception when an SQL error occured now give you the query in message
    * Fix PgSQL multiple named pattern with the same name (issue #32)
    * Fix missings phpdoc about exceptions
    * Adds getter for custom accessors in metadata
    * Adds metadata getter in repository

3.1.1 (2016-05-10) :
    * Fix hydration problem because of a bad connection name when you have many connections with exactly the same parameters

3.1.0 (2016-03-21) :
    * When you do a query on 2 databases Hydrator will now properly hydrate this case
    * When many Metadata with same table name are used on a query on 2 databases, you can now use on Hydrator ```objectDatabaseIs```
    * Handle postgresql schema, using ```objectSchemaIs``` while hydration if needed
    * Pgsql driver now use ```pg_query``` instead of ```pg_query_params``` when there is no parameter
    * Fix parameter parsing in SQL query
    * Fix parsing of postgresql queries to allow query without from statement
    * New feature ```Debug::dump``` and ```Debug::export``` to debug Ting object

3.0.0 (2016-01-26) :
    * Fix conflict when hydrating model which use the same table name but on different database
    * Fix error on Json Serializer for empty string
    * New concept for Hydrator based on Generator to simplify the code and allow more possibility
    * New concept for Metadatata, class must now implement MetadataInitializer
    * New feature ```mapAliasTo``` on Hydrator to inject virtual column (COUNT(*), IFNULL(...), ...) into object
    * New feature ```mapObjectTo``` on Hydrator to inject object into object
    * New feature ```unserializeAliasWith``` on Hydrator to unserialize virtual column
    * New feature : QueryBuilder available with Repository::getQueryBuilder and provided by aura/sqlquery
    * Cache interface is now provided by Doctrine/Cache
    * Fix case on virtual column : if you used case on virtual ```COUNT(*) as NbUser``` that update can break your
      application, because on the version 2.5.1 ```NbUser``` was changed to lowercase ```nbuser``` due to a bug. This fix
      restore the previous behavior, and the column is not longer in lowercase.
    * UnitOfWork has now signature "NotifyPropertyInterface $entity" instead of $entity for many methods (see UPDATE)

2.7.0 (2015-12-18) :
    * Allow user to ping connection if available on the driver

2.6.2 (2015-12-11) :
    * Datetime serializer : Allow psql timestamp to be unserialized

2.6.1 (2015-12-11) :
    * Hydrator setting entity property now properly use metadata to cast value
    * Better parsing for postgresql : we stop to parse the query after FROM

2.6.0 (2015-12-10) :
    * Generator can now create query with in criteria
    * Performance improvement : add a pseudo cache over MetadataRepository::findMetadataForTable

2.5.1 (2015-11-18) :
    * Fix parsing PostgreSQL query with subquery

2.5.0 (2015-10-02) :
    * Adding Ip serializer

2.4.0 (2015-07-03) :
    * Adding SphinxQL driver
    * user and password are now optional in connection configuration

2.3.0 (2015-07-02) :
    * Adding closeAll on ConnectionsPool and close method on drivers

2.2.0 (2015-03-24) :
    * Ajout de l'hydrator array

2.1.0 (2015-02-18) :
    * Adding methods getAll, getByCriteria and getOneByCriteria on Metadata
    * Adding methods getAll, getBy and getOneBy on Repository
    * Refactoring of Generator
    * Added some missing unit tests
    * Fix hydrator on query with LEFT/RIGHT JOIN

2.0.1 (2015-02-07) :
    * Fix saving new entity without auto increment

2.0.0 (2015-02-05) :
    * Reduce memory usage of UnitOfWork
    * UnitOfWork can now detach all entities
    * initMetada can now receive database name and connection name into options

1.1.5 (2015-01-26) :
    * Fixed UnitOfWork: bug risk when using spl_object_hash
