Skip to content

Release 3.0.0

Choose a tag to compare
@github-actions github-actions released this 15 Nov 22:39

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

  1. Integration with PDO has been reworked. The php_pdo extension is no longer a hard dependency of the doctrine/dbal package. The PDO API is not longer the standard for DBAL APIs.
  2. The wrapper-level connection and statement classes no longer implement the corresponding driver-level interfaces.
  3. Instead of being available in certain states of the Statement class, the statement result is explicitly returned as a separate value.
  4. A new dedicated API has been introduced for unique constraints.
  5. The prepared statement portability layer has been reworked on top of the newly introduced Driver Middleware API.
  6. The logic of conversion of driver-specific error codes and exceptions has been extracted into the Exception Converter API.
  7. The SQL parser has been completely reworked to allow for better compatibility with the SQL syntax.
  8. 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.
  9. The following drivers are no longer supported:
    • pdo_ibm,
    • sasql.
  10. Passing a PDO instance initialized outside of the DBAL is no longer supported.
  11. The support for UUID generation on the database side has been dropped.
  12. The MasterSlaveConnection class has been renamed to PrimaryReplicaConnection.
  13. The executeUpdate() method has been renamed to executeStatement().
  14. All driver classes and driver-level connection and statement classes are now consistently named and declared as final.
  15. All PDO-based drivers have been moved under the PDO namespace.
  16. The Doctrine\DBAL\DBALException and Doctrine\DBAL\Driver\DriverException have been renamed to Doctrine\DBAL\Exception and Doctrine\DBAL\Driver\Exception respectively.
  • Total issues resolved: 26
  • Total pull requests resolved: 99
  • Total contributors: 13

PHP 8 support

API improvements

Legacy platform and driver removal

Deprecated API removal

Other breaking changes

Error handling


Test suite

Other changes