Releases: doctrine/dbal
2.13.4
Release 2.13.4
2.13.4
- Total issues resolved: 1
- Total pull requests resolved: 7
- Total contributors: 3
PHP
Bug
Documentation
- 4833: Add explanation why we need to cast float to string in decimal type thanks to @andrew-demb
- 4827: Backport doc block fix thanks to @derrabus
CI
- 4834: Build ibm_db2 with a public driver thanks to @morozov
- 4819: PHPUnit 9.5.10 thanks to @derrabus
- 4796: Bump PHPStan and PHPUnit thanks to @derrabus
3.1.2
Release 3.1.2
3.1.2
- Total issues resolved: 6
- Total pull requests resolved: 11
- Total contributors: 4
PHP 8.1
Bug Fixes
- 4776: Retain SQLite column position when renaming or altering thanks to @morozov
- 4766: Fix introspection of BINARY columns thanks to @morozov
- 4765: Fix introspection of BLOB columns on SQL Server thanks to @morozov
- 4733: Fix auto_increment implementation for Oracle thanks to @mondrake
- 4719: Reset transaction nesting level when closing connection thanks to @morozov
- 4677: Create tables with unique constraints on PostgreSQL thanks to @hschletz
Static Analysis
- 4739: Code cleanup thanks to @morozov
- 4717: PHPStan check fails on PHP 8 thanks to @morozov
Documentation
Release 2.13.3
Release 2.13.3
2.13.3
- Total issues resolved: 2
- Total pull requests resolved: 16
- Total contributors: 6
Bug Fixes
- 4621: Move fix for user provided pdo connection thanks to @bizurkur
- 4662: Add ReturnTypeWillChange to PDO implementations thanks to @derrabus
Deprecations
- 4767: Deprecate SQLAnywhere driver thanks to @derrabus
PHP 8.1
- 4736: Don't use null as exception message thanks to @derrabus
- 4735: PHP 8.1 compatibility for 2.13 thanks to @derrabus
- 4734: Add ReturnTypeWillChange to core interface implementations thanks to @derrabus
Documentation
Static Analysis
- 4695: Ignore errors about missing ReturnTypeWillChange class thanks to @derrabus
- 4784: Update Psalm to 4.10.0 thanks to @morozov
- 4780: Update PHPStan to 0.12.96 thanks to @morozov
- 4694: Update JetBrains PhpStorm stubs to 2021.1 thanks to @morozov
Packaging
- 4710: Update .gitattributes thanks to @bytestream
Code Style
Continuous Integration
3.1.1
Release 3.1.1
3.1.1
- Total issues resolved: 1
- Total pull requests resolved: 8
- Total contributors: 5
Bug,Indexes,Platforms
Bug
Improvement,Test Suite,Tools
- 4656: Allow Symfony 6 thanks to @jderusse
Documentation
- 4642: Update versions for default branch thanks to @SenseException
- 4635: Address class rename in the docs thanks to @greg0ire
- 4615: Remove docs about user-provided PDO instance thanks to @greg0ire
CI,Cache,Deprecation,Static Analysis
Character Encoding,Connections,MySQL,Test Suite
2.13.2
Release 2.13.2
2.13.2
- Total issues resolved: 3
- Total pull requests resolved: 8
- Total contributors: 6
Test Suite
- 4679: Update PHPUnit to 9.5.5 thanks to @morozov
Documentation
Code Style
- 4663: Bump doctrine/coding-standard thanks to @derrabus
Bug,Quoting,SQL Server
Bug,Connections,Error Handling,mysqli
- 4647: [GH-4645] Use error suppression instead of an error handler in MySQLi Connection thanks to @morozov and @mbrodala
Bug,Static Analysis,Strict Typing
- 4638: Fix #4637 by duplicating the type definition for
DriverManager::getConnection($args)
params thanks to @Ocramius and @DavideBicego
Character Encoding,Connections,MySQL,Test Suite
Cache,Improvement
- 4623: Support Doctrine Cache 2 thanks to @derrabus
3.1.0
Release 3.1.0
3.1.0
- Total issues resolved: 3
- Total pull requests resolved: 16
- Total contributors: 5
Deprecation,New Feature
Deprecation,Documentation
Deprecation,Documentation,Reserved Keywords
Deprecation,Oracle,Schema Managers
Error Handling,Improvement,Prepared Statements,oci8
Deprecation,Improvement,QueryBuilder
- 4578: Predictable
QueryBuilder::executeQuery()
andQueryBuilder::executeStatement()
thanks to @PowerKiKi
Deprecation
Connections,Sequences,pdo_sqlsrv
- 4560: Remove redundant implementation of PDO\SQLSrv\Connection::lastInsertId($name) thanks to @morozov
Deprecation,Improvement,Schema,Schema Managers
Deprecation,Platforms,Reserved Keywords
Deprecation,PDO,pdo_sqlsrv
Connections,Deprecation
- 4527: Deprecate Connection::getExpressionBuilder() thanks to @morozov
- 4517: Deprecate Connection::$_expr thanks to @morozov
Connections,Deprecation,Schema Managers
Prepared Statements,Static Analysis,sqlsrv
- 4514: Remove SQLSrv\LastInsertId thanks to @morozov
Improvement,QueryBuilder,Static Analysis
Connections,Documentation,Error Handling
2.13.1
Release 2.13.1
2.13.1
- Total issues resolved: 4
- Total pull requests resolved: 8
- Total contributors: 8
Documentation,Static Analysis
-
4608: Attribute type coverage metric to 3.1.x instead of 2.13.x thanks to @morozov
-
4604: Collect type coverage metrics, add badge to README thanks to @morozov
-
4603: ensureForwardCompatibilityStatement expects ResultStatement, given PDOStatement thanks to @mwoods-familiaris
BC Fix,Prepared Statements,QueryBuilder
- 4596: Fix BC break on QueryBuilder::execute() thanks to @mdumoulin and @m50
Code Style
BC Fix,Connections,PDO
- 4590: Fix user provided pdo connection thanks to @mdumoulin and @htto
Compatibility,Deprecation,Prepared Statements
- 4580: Deprecate Statement::execute in favor of Statement::executeStatement/executeQuery thanks to @beberlei
Deprecation,Prepared Statements
Deprecation,Documentation,Prepared Statements
Bug,Prepared Statements
2.13.0
Release 2.13.0
2.13.0
-
Total issues resolved: 1
-
Total pull requests resolved: 4
-
Total contributors: 2
-
4555: [GH-4554] Deprecate all Statement::fetch* in favor of Result::fetch* thanks to @beberlei
-
4535: Deprecations thanks to @beberlei
-
4386: Reintroduce support for PHP 7.1 and 7.2 thanks to @beberlei
-
4529: Improve forward compatibility between 2.x and 3.0 thanks to @mdumoulin
Release 3.0.0
Release 3.0.0
This is a major release of Doctrine DBAL that focuses on API improvements and removal of deprecated APIs.
Major release highlights
- Integration with PDO has been reworked. The
php_pdo
extension is no longer a hard dependency of thedoctrine/dbal
package. The PDO API is not longer the standard for DBAL APIs. - The wrapper-level connection and statement classes no longer implement the corresponding driver-level interfaces.
- Instead of being available in certain states of the
Statement
class, the statement result is explicitly returned as a separate value. - A new dedicated API has been introduced for unique constraints.
- The prepared statement portability layer has been reworked on top of the newly introduced Driver Middleware API.
- The logic of conversion of driver-specific error codes and exceptions has been extracted into the Exception Converter API.
- The SQL parser has been completely reworked to allow for better compatibility with the SQL syntax.
- The following database platforms are no longer supported:
- Drizzle,
- MariaDB 10.0 and older,
- Microsoft Azure,
- PostgreSQL 9.3 and older,
- SQL Anywhere,
- SQL Server 2008 and older.
- The following drivers are no longer supported:
pdo_ibm
,sasql
.
- Passing a PDO instance initialized outside of the DBAL is no longer supported.
- The support for UUID generation on the database side has been dropped.
- The
MasterSlaveConnection
class has been renamed toPrimaryReplicaConnection
. - The
executeUpdate()
method has been renamed toexecuteStatement()
. - All driver classes and driver-level connection and statement classes are now consistently named and declared as
final
. - All PDO-based drivers have been moved under the
PDO
namespace. - The
Doctrine\DBAL\DBALException
andDoctrine\DBAL\Driver\DriverException
have been renamed toDoctrine\DBAL\Exception
andDoctrine\DBAL\Driver\Exception
respectively.
- Total issues resolved: 26
- Total pull requests resolved: 99
- Total contributors: 13
PHP 8 support
- 4207: Update locked composer/package-versions-deprecated for compatibility with PHP 8.0 thanks to @morozov
- 4203: Remove --ignore-platform-reqs from PHP 8.0 builds thanks to @morozov
- 4197: The test suite fails on PHP 8 due to introduction of the match keyword thanks to @morozov
- 4171: Inconsistent naming of method arguments thanks to @morozov
- 4028: Allow php 8 thanks to @greg0ire
- 3814: Added builds against PHP nightly on Travis thanks to @morozov
- 3802: OCI8StatementTest fails on PHP 8 thanks to @morozov
API improvements
- 4429: Throw exception on invalid LockMode thanks to @morozov and @BenMorel
- 4397: Port the SQL parser from PDO thanks to @morozov and @shurik005
- 4317: Reintroduce parts of Legacy API for some more time thanks to @beberlei
- 4293: Add Result::fetchAllKeyValue() and ::iterateKeyValue() thanks to @morozov
- 4159: Do not implement driver-level interfaces by wrapper-level classes thanks to @morozov
- 4157: Rework the portability layer to act as a middleware thanks to @morozov
- 4149: Replace DefaultExceptionConverter with driver-specific implementations thanks to @morozov
- 4136: Move the logic of driver exception conversion into a separate interface thanks to @morozov
- 4129: Remove ExceptionConverterDriver thanks to @morozov
- 4081: Simplify Driver::connect() signature thanks to @morozov
- 4045: Extract Result from the Statement interface thanks to @morozov
- 4035: Moved rowCount() from Statement to ResultStatement thanks to @morozov
- 4007: Replace the concept of statement fetch modes with the explicit API thanks to @morozov
- 4039: Refactor portability statement into a functional composition thanks to @morozov
- 3980: Segregated support of unique index and unique constraint thanks to @guilhermeblanco
- 3943: Do not require hostname for non-persistent MySQL connection and require for persistent thanks to @morozov
- 3548: Remove user provided PDO functionality thanks to @morozov
- 3080: [DBAL-3079] Reworked the usage of PDO in PDOConnection from inheritance to composition thanks to @morozov
- 2958: Remove hard dependency on PDO thanks to @morozov
Legacy platform and driver removal
- 4077: Remove SQL Anywhere platform and driver thanks to @morozov
- 3756: Dropped SQL Server 2008 support thanks to @morozov
- 3602: Remove support for sharding and the Azure platform thanks to @morozov
- 3584: Remove LoggerChain::addLogger thanks to @ostrolucky
- 3477: Drop db support for PostgreSQL 9.3 and MariaDB 10.0 thanks to @SenseException
- 3055: Drop support for legacy platforms thanks to @Majkl578 and @morozov
- 3040: Drop Drizzle support thanks to @BenMorel
Deprecated API removal
- 4294: Remove Abstraction\Result thanks to @morozov
- 4278: Remove deprecated APIs thanks to @morozov
- 4234: Remove deprecated APIs thanks to @morozov
- 4217: Remove the Synchronizer package thanks to @morozov
- 4167: Remove deprecated methods from the wrapper Connection thanks to @morozov
- 4153: Remove deprecated components thanks to @morozov
- 4128: Remove PingableConnection thanks to @morozov
- 4125: Remove deprecated driver classes thanks to @morozov
- 4115: Remove ServerInfoAwareConnection#requiresQueryForServerVersion() as an implementation detail thanks to @morozov
- 4113: Remove DriverException::getErrorCode() thanks to @morozov
- 4083: Remove MasterSlaveConnection thanks to @greg0ire
- 4082: Backport removal of deprecated APIs from develop thanks to @morozov
- 4064: Remove platform-specific portability mode constants thanks to @morozov
- 4059: Remove deprecations for ConnectionHelper thanks to @dmaicher
- 4030: Backport removal of some deprecated APIs thanks to @morozov
- 3934: Removed EchoSQLLogger thanks to @morozov
- 3808: Removed the OCI8Connection::getExecuteMode() method thanks to @morozov
- 3606: Removed Driver::getDatabase() in favor of Connection::getDatabase() thanks to @morozov
- 3579: Remove deprecated stuff for 3.0 thanks to @jwage
- 3553: Removed Driver::getName() thanks to @morozov
- 3518: Remove @deprecated stuff thanks to @Majkl578
- 3257: Remove Doctrine\DBAL\Types\Type::__toString() thanks to @Majkl578
- 3211: Removed support for DB-generated UUIDs thanks to @morozov
- 3070: Dropped support of fetching objects and non-zero column thanks to @morozov
- 2967: Drop Doctrine\DBAL\Version in favor of Ocramius\PackageVersions thanks to @Majkl578
Other breaking changes
Release 2.12.1
Release 2.12.1
- Total issues resolved: 2
- Total pull requests resolved: 11
- Total contributors: 7
Bug fixes
- 4414: ResultCacheStatement::fetchAllAssociative does not store results in cache thanks to @morozov and @dFayet
- 4400: LockMode::NONE should not set WITH (NOLOCK) thanks to @BenMorel
Deprecations
- 4411: Deprecate inappropriate usage of prepared statement parameters thanks to @morozov
- 4407: Deprecate colon prefix for prepared statement parameters thanks to @morozov
PHP 8
- 4396: Fix php8 mysql mariadb thanks to @greg0ire
- 4398: Update PHP_CodeSniffer to 3.5.8 thanks to @morozov
Packaging
- 4416: Update .gitattributes thanks to @bytestream
Static Analysis
Documentation
- 4424: Mark SQLParserUtils internal thanks to @morozov
- 4390: Fix headline in the upgrade docs thanks to @jdreesen
- 4356: Testing Guidelines thanks to @morozov