Releases: diablomedia/doctrine1
Allowing PHP 8.3
This release allows php 8.3 and is tested against PHP 7.4 -> 8.3.
The only code changes were to get the __unserialize
methods on a couple of classes signature in-line with PHP's base signature for these methods so that the parameters' names match.
Deprecated notice Fix for apcu_store
In PHP 8.1, apcu_store
was throwing a deprecated notice when using the APCu cache adapter. This has been fixed with this release.
PHP 8.2 Support
This release has been tested against PHP 8.2.
It also allows newer versions of the Symfony YAML component for any projects that might be used this library in a Symfony application and want to be able to upgrade to Symfony 6 or 7.
Full Changelog: 4.0.1...4.0.2
Mysql 8 Support
This release includes a very small change so that the Transaction handling in Doctrine works with Mysql 8.0+
Doctrine will sometimes make a query to get the transaction isolation global variable from the server, previous to this change, the variable it was trying to access doesn't exist in Mysql 8.0 (deprecated in 5.7.20, and removed in 8.0).
Doctrine will now detect the mysql version and issue the correct query for this variable depending on the version of the server.
PHP 8.1, Basic JSON type, Auto-transaction start
This release is tested against PHP 8.1 with no deprecation notices or test failures.
There were a couple of additions here as well, one of which being the reason for the major version bump:
- Basic JSON column support. It's now possible to specify "json" for the type of a column in the schema, and Doctrine will JSON encode/decode the data for the column automatically.
- When using transaction savepoints in Doctrine (using the
beginTransaction
,commit
orrollback
methods onDoctrine_Connection
with an argument representing the savepoint identifier) if there is not open transaction whenbeginTransaction
is called, one will be started. If that's the only open transaction whencommit
is called, the transaction will be committed. Generally this behavior is harmless, but if developers are wrapping Doctrine transactions with their own directSTART TRANSACTION
outside of Doctrine's transaction handling, then Doctrine won't know there is a pending transaction. Because of this behavior change, we decided to make this a major version bump.
PHP 8.0 Tested
This release includes some fixes to address errors encountered in tests and static analysis for PHP 8.0.
Improved annotations, PHP 7.0 minimum
This release bumps the minimum PHP version in composer.json to 7.0. I you're still on PHP 5.x, please use version 3.0.1
or lower (composer should determine this properly).
Further improved docblock annotations throughout the library with the help of the most recent versions of PHPStan and Psalm.
Better SET type (in mysql) support
SET type when importing and exporting models from mysql wasn't working properly, this release improves on that.
PHP 7.3 Support - Symfony YAML parser - APCU Cache adapter
This release fixes some notices/warnings that were thrown by PHP 7.3.
There's now an APCU cache adapter that can be used, which may eliminate the need for the apcu_bc
extension (thanks @rossmotley!).
YAML parsing has also been changed from the bundled sfYaml
to Symfony's YAML parser. Due to the differences in Symfony\Yaml
and sfYaml
we're releasing this as a new major version as the Symfony\Yaml
component will throw exceptions in cases of improper YAML syntax, where the sfYaml
parser would not (more details in #43). Otherwise there have been no BC breaks vs. the 2.x version.
CS Fix, Mysql 5.7 Fix, Static Analysis Fixes
v2.0.2 Updating CHANGELOG to reflect the bug fix added