Skip to content

Releases: doctrine/dbal

Release 2.11.0

20 Sep 23:47
2.11.0
0d4e1a8
Compare
Choose a tag to compare

Release 2.11.0

Build Status

This release focuses on deprecating the functionality identified for removal in the next major release and adds a few improvements.

Changes in fetching data from prepared statements

The previous API was inherited from PDO and allowed to specify the fetch mode by passing ones of the FetchMode constants to the fetch*() methods of the Statement interface. Now, there is a dedicated method for each of the modes.

Added ASCII parameter binding

For those database platforms that support columns of the ASCII character set (currently, SQL Server), it is now possible to bind the corresponding prepared statement parameters using the ASCII parameter type and avoid unnecessary value conversion.

Note that PHP 7.3 is now the minimum supported PHP version.

  • Total issues resolved: 7
  • Total pull requests resolved: 55
  • Total contributors: 8

Deprecations

Improvements in Prepared Statements

Driver Improvements

Improvements in CLI Tools

Improvements in QueryBuilder

Error Handling Improvements

Static Analysis Improvements

Other Changes

Release 2.10.4

12 Sep 21:44
2.10.4
4743319
Compare
Choose a tag to compare

Release 2.10.4

Build Status

  • Total issues resolved: 2
  • Total pull requests resolved: 3
  • Total contributors: 3

Regressions

Bug fixes

CI improvements

Release 2.10.3

02 Sep 02:05
2.10.3
03ca23a
Compare
Choose a tag to compare

Release 2.10.3

Build Status

  • Total issues resolved: 3
  • Total pull requests resolved: 42
  • Total contributors: 9

Bug Fixes

Other Code Improvements

Static Analysis Improvements

CI Improvements

Documentation Improvements

Test Suite Improvements

Code Style Improvements

Release 2.10.2

20 Apr 17:59
2.10.2
aab745e
Compare
Choose a tag to compare

Release 2.10.2

Build Status

  • Total issues resolved: 4
  • Total pull requests resolved: 19
  • Total contributors: 10

Bug Fixes

Static Analysis Improvements

CI Improvements

Documentation Improvements

Test Suite Improvements

Release v2.10.1

04 Jan 13:31
v2.10.1
c2b8e6e
Compare
Choose a tag to compare

Build Status

This release fixes regressions introduced in release v2.10.0, implements some CI/testing improvements and introduces updates in the documentation.

  • Total issues resolved: 2
  • Total pull requests resolved: 9
  • Total contributors: 9

Regressions:

CI improvements and maintenance:

Test suite improvements:

Documentation updates:

Release v2.10.0

03 Nov 17:59
v2.10.0
0c9a646
Compare
Choose a tag to compare

Release v2.10.0

Build Status

This is a minor release of Doctrine DBAL that aggregates over 70 fixes and improvements developed by 25 contributors over the last year.

This release focuses on internal code quality improvement and deprecating the functionality identified for removal in the next major release.

Note that PHP 7.2 is now the minimum supported PHP version.

Backwards Compatibility Breaks

This release introduces a minor BC break. Default column values are no longer handled as SQL expressions. They are converted to SQL literals (e.g. escaped). The previous behavior was not portable and was never by design.

Clients must now specify default values in their initial form, not in the form of an SQL literal (e.g. escaped).

Before:

$column->setDefault('Foo\\\\Bar\\\\Baz');

After:

$column->setDefault('Foo\\Bar\\Baz');

Deprecations

  • The usage of the getDriver(), getDatabasePlatform() and getSchemaManager() methods of the ConnectionEventArgs class has been deprecated.
  • The usage of the getDatabasePlatform() method of the SchemaColumnDefinitionEventArgs class has been deprecated.
  • The usage of the getHost(), getPort(), getUsername() and getPassword() methods of the Connection class has been deprecated.
  • Passing multiple SQL statements as an array to SchemaAlterTableAddColumnEventArgs::addSql() and the same method in other SchemaEventArgs-based classes is deprecated.
  • Calling AbstractSchemaManager::tablesExist() with a string argument is deprecated.
  • Calling OracleSchemaManager::createDatabase() without an argument or by passing NULL is deprecated.
  • Unused schema manager methods are deprecated.
    • AbstractSchemaManager::_getPortableFunctionsList(),
    • AbstractSchemaManager::_getPortableFunctionDefinition(),
    • OracleSchemaManager::_getPortableFunctionDefinition(),
    • SqliteSchemaManager::_getPortableTableIndexDefinition().
  • The usage of NULL to indicate empty $username or $password when calling Doctrine\DBAL\Driver::connect() is deprecated.
  • Method Doctrine\DBAL\Platforms::_getAlterTableIndexForeignKeySQL() has been deprecated as no longer used.
  • Property Doctrine\DBAL\Driver\OCI8\OCI8Statement::$_PARAM has been deprecated as not used.
  • Method Doctrine\DBAL\Driver::getName() is deprecated.
  • The usage of user-provided PDO instance is deprecated.
  • Type::* constants are deprecated.
  • The Doctrine\DBAL\Driver\SQLSrv\SQLSrvStatement::LAST_INSERT_ID_SQL constant has been deprecated.
  • The constants in Doctrine\DBAL\SQLParserUtils have been deprecated.
  • The Doctrine\DBAL\Logging\LoggerChain::addLogger method has been deprecated.

Please see the details in the UPGRADE.md documentation.

New Features and Improvements

MySQL-related changes:

Driver level changes:

Schema management:

Types improvements:

Compatibility with Symfony 5:

Query Builder:

Logging:

Code quality improvements:

Test suite improvements:

Documentation improvements:

CI improvements:

Read more

Release v2.9.3

02 Nov 23:04
v2.9.3
7345cd5
Compare
Choose a tag to compare

Release v2.9.2

31 Dec 03:58
v2.9.2
22800bd
Compare
Choose a tag to compare

Release v2.9.2

Build Status

This release fixes regressions introduced in v2.9.1.

  • Total issues resolved: 2

MySQL, Schema Introspection:

MySQL, Schema Comparison:

Release v2.9.1

14 Dec 05:20
v2.9.1
ec74d6e
Compare
Choose a tag to compare

Release v2.9.0

04 Dec 05:17
v2.9.0
21fdabe
Compare
Choose a tag to compare

Release v2.9.0

Build Status

This is a minor release of Doctrine DBAL that aggregates over 40 fixes and improvements developed by 18 contributors over the last 5 months.

This release includes all changes of the 2.8.x series, as well as feature additions and improvements that couldn't land in patch releases.

Backwards Compatibility Breaks

This doesn't contain any intentional Backwards Compatibility (BC) breaks.

Deprecations

  • The usage of NULL to specify the absence of an offset in LIMITed queries is deprecated. Use 0 instead.
  • It's not recommended to rely on the default length specified by implementations of Type. These values are not used by the library and will be removed.
  • It's not recommended to rely on the string representation of Type objects.
  • Regular-expression based asset filters are deprecated in favor of callback-based as more extensible.
  • Calling Statement::fetchColumn() with an invalid column index is deprecated.
  • The dbal:import CLI command is deprecated. Please use other database client applications for import.

Please see details in the UPGRADE.md documentation.

New Features

  • Added support for MariaDB 10.3.
  • Added support for Windows authentication for SQL Server.
  • Added support for column length in index definitions on MySQL.

Improvements and Fixes

  • Implemented handling BLOB objects represented as streams in the MySQL (mysqli) driver.
  • Implemented handling BLOB objects represented as streams in the IBM DB2 driver.
  • DBAL is now continuously tested with the PDO driver for Oracle.
  • Implemented handling of URLs in master-slave and pooling-shard connection configuration.
  • The codebase is now fully compatible with the Doctrine Coding Standard v5.0.

Total issues resolved: 45

Deprecations:

New Features:

Bug Fixes:

Improvements:

Documentation Improvements:

Code Quality Improvements:

Continuous Integration Improvements: