Tags give the ability to mark specific points in history as being important
  • v2.5.14
  • 2.5.x-dev
  • 2.10.2   Release [2.10.2](https://github.com/doctrine/dbal/milestone/75) 2.10.2 ====== - Total issues resolved: **4** - Total pull requests resolved: **19** - Total contributors: **10** Improvement,Static Analysis --------------------------- - [3964: Mark every exception as immutable](https://github.com/doctrine/dbal/pull/3964) thanks to @greg0ire CI,Improvement,Static Analysis ------------------------------ - [3961: Stop relying on the master version of Psalm](https://github.com/doctrine/dbal/pull/3961) thanks to @greg0ire - [3951: Setup static analysis with Psalm](https://github.com/doctrine/dbal/pull/3951) thanks to @greg0ire - [3799: Upgrade to PHPStan v0.12](https://github.com/doctrine/dbal/pull/3799) thanks to @lcobucci Improvement,Logging,Test Suite ------------------------------ - [3957: Reworked LoggingTest to be able to test Statement::executeUpdate()](https://github.com/doctrine/dbal/pull/3957) thanks to @morozov CI,Code Style,Improvement,Strict Typing --------------------------------------- - [3955: Remove baseline](https://github.com/doctrine/dbal/pull/3955) thanks to @greg0ire Bug,SQLite,Schema Introspection,Schema Managers ----------------------------------------------- - [3937: Column comment incorrectly introspected on SQLite](https://github.com/doctrine/dbal/issues/3937) thanks to @morozov Bug,Documentation,Prepared Statements,Query ------------------------------------------- - [3896: Updated documentation for QueryBuilder::execute() return value type](https://github.com/doctrine/dbal/pull/3896) thanks to @morozov Bug,Prepared Statements ----------------------- - [3894: Make sure that the $types array has the same keys $params](https://github.com/doctrine/dbal/pull/3894) thanks to @morozov - [3893: Ensure the constructor arguments are passed to custom classes](https://github.com/doctrine/dbal/pull/3893) thanks to @duncan3dc - [3843: Fix unquoted stmt fragments backslash escaping](https://github.com/doctrine/dbal/pull/3843) thanks to @morozov Documentation,Improvement ------------------------- - [3886: Update readme](https://github.com/doctrine/dbal/pull/3886) thanks to @greg0ire - [3834: Fix docblock typos in DriverManager docs](https://github.com/doctrine/dbal/pull/3834) thanks to @CHItA CI,Improvement,MariaDB,MySQL ---------------------------- - [3884: Use Docker consistently](https://github.com/doctrine/dbal/pull/3884) thanks to @greg0ire - [3478: Improve readiness probe stability for containerized databases on CI](https://github.com/doctrine/dbal/issues/3478) thanks to @morozov - [3883: Fix broken build](https://github.com/doctrine/dbal/pull/3883) thanks to @greg0ire Bug,Documentation,Query,Query Limit/Offset Modification ------------------------------------------------------- - [3842: Fixed the QueryBuilder::setMaxResults() signature to accept NULL](https://github.com/doctrine/dbal/pull/3842) thanks to @morozov Bug,Query --------- - [3832: Fix JOIN with no condition bug](https://github.com/doctrine/dbal/pull/3832) thanks to @BenMorel Bug,PostgreSQL,Schema Introspection ----------------------------------- - [3821: [pg] fix getting table information if search_path contains escaped schema name](https://github.com/doctrine/dbal/pull/3821) thanks to @linniksa Documentation,Improvement,Logging --------------------------------- - [3812: Fix DebugStack#queries docblock type](https://github.com/doctrine/dbal/pull/3812) thanks to @ostrolucky Bug,Regression,Schema --------------------- - [3790: fixed unqualified table name of fk constraints when using schemas](https://github.com/doctrine/dbal/pull/3790) thanks to @stlrnz and @Alarich
    aab745e7 · Release v2.10.2 ·
  • v2.10.1   # Release v2.10.1 [![Build Status](https://travis-ci.org/doctrine/dbal.svg?branch=v2.10.1)](https://travis-ci.org/doctrine/dbal) This release fixes regressions introduced in [release v2.10.0](https://github.com/doctrine/dbal/releases/tag/v2.10.0), implements some CI/testing improvements and introduces updates in the documentation. - Total issues resolved: **3** - Total pull requests resolved: **10** - Total contributors: **11** **Regressions:** - [3790: Fix unqualified table name of fk constraints when using schemas](https://github.com/doctrine/dbal/pull/3790) thanks to @stlrnz and @Alarich - [3738: Fix breaks named parameters in Oracle](https://github.com/doctrine/dbal/pull/3738) thanks to @eisberg and @matesko **CI improvements and maintenance:** - [3784: Use PHP 7.4 instead of a snapshot on Travis](https://github.com/doctrine/dbal/pull/3784) thanks to @andreybolonin - [3778: [GH-3777] Don't remove composer lock travis on stable 2.10 branch](https://github.com/doctrine/dbal/pull/3778) thanks to @beberlei - [3753: Allow build failures for unstable dependencies](https://github.com/doctrine/dbal/pull/3753) thanks to @morozov - [3720: Switched from PHPBrew-based configuration to the Docker-based](https://github.com/doctrine/dbal/pull/3720) thanks to @morozov **Test suite improvements:** - [3745: Remove temporary SQLite file on teardown](https://github.com/doctrine/dbal/pull/3745) thanks to @morozov **Documentation updates:** - [3793: Remove superfluous Configuration instance](https://github.com/doctrine/dbal/pull/3793) thanks to @mhitza - [3739: Update deprecation messages to refer to DBAL](https://github.com/doctrine/dbal/pull/3739) thanks to @alcaeus - [3723: Fix annotations](https://github.com/doctrine/dbal/pull/3723) thanks to @enumag and @Pnoexz
    c2b8e6e8 · Release v2.10.1 ·
  • v2.10.0   # Release v2.10.0 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. ## 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:** ```php $column->setDefault('Foo\\\\Bar\\\\Baz'); ``` **After:** ```php $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](UPGRADE.md) documentation. ## New Features and Improvements - [3674: Add missing MySQL 8.0 reserved keywords](https://github.com/doctrine/dbal/pull/3674) thanks to @loilo - [3512: Support for comments on table in all databases](https://github.com/doctrine/dbal/pull/3512) thanks to @moufmouf - [3418: Add column charset for MySql](https://github.com/doctrine/dbal/pull/3418) thanks to @AlterTable **MySQL-related changes:** - [3668: Quote collation on MySQL](https://github.com/doctrine/dbal/pull/3668) thanks to @staudenmeir - [3374: Clean up `MySqlPlatform::getListTableIndexesSQL()` fields](https://github.com/doctrine/dbal/pull/3374) thanks to @BenMorel - [3311: Ensuring correct `ALTER TABLE` statement for creation of an `AUTO INCREMENT` column as new `PRIMARY KEY`](https://github.com/doctrine/dbal/pull/3311) thanks to @arnegroskurth **Driver level changes:** - [3677: Relax statement type declaration](https://github.com/doctrine/dbal/pull/3677) thanks to @greg0ire - [3521: Maintain platform parameter in connection params](https://github.com/doctrine/dbal/pull/3521) thanks to @jwage and @Perf - [3588: Add commit result bool](https://github.com/doctrine/dbal/pull/3588) thanks to @otazniksk **Schema management:** - [2960: Handle default values as values, not SQL expressions](https://github.com/doctrine/dbal/pull/2960) thanks to @morozov **Types improvements:** - [3356: Extract constants for built-in types from Type to Types](https://github.com/doctrine/dbal/pull/3356) thanks to @Majkl578 - [3354: Extract type factory and registry from Type into TypeRegistry](https://github.com/doctrine/dbal/pull/3354) thanks to @Majkl578 **Compatibility with Symfony 5:** - [3706: add missing exit codes to ensure Symfony 5 compatibility](https://github.com/doctrine/dbal/pull/3706) thanks to @dmaicher - [3563: Allow Symfony 5](https://github.com/doctrine/dbal/pull/3563) thanks to @nicolas-grekas **Query Builder:** - [3696: Add support for `DISTINCT` clause](https://github.com/doctrine/dbal/pull/3696) thanks to @bingo-soft **Logging:** - [3572: Make LoggerChain use constructor to add loggers instead of adder method](https://github.com/doctrine/dbal/pull/3572) thanks to @ostrolucky **Code quality improvements:** - [3667: Phpstan fix backport](https://github.com/doctrine/dbal/pull/3667) thanks to @morozov - [3663: Updated PHPStan to v0.11.15](https://github.com/doctrine/dbal/pull/3663) thanks to @morozov - [3604: Updated Jetbrains PhpStorm stubs to 2019.1](https://github.com/doctrine/dbal/pull/3604) thanks to @morozov - [3549: Removed the assertion which doesn't work with a user-provided PDO connection](https://github.com/doctrine/dbal/pull/3549) thanks to @morozov - [3489: Update doctrine coding standard from 5.0 to 6.0](https://github.com/doctrine/dbal/pull/3489) thanks to @amaabdou - [3481: Updated PHPStan to v0.11.3](https://github.com/doctrine/dbal/pull/3481) thanks to @morozov - [3443: PHPStan Level 7](https://github.com/doctrine/dbal/pull/3443) thanks to @morozov - [3442: PHPStan Level 6](https://github.com/doctrine/dbal/pull/3442) thanks to @morozov - [3436: PHPStan Level 5](https://github.com/doctrine/dbal/pull/3436) thanks to @morozov - [3435: PHPStan Level 4](https://github.com/doctrine/dbal/pull/3435) thanks to @morozov - [3432: Updated PHPStan to v0.11](https://github.com/doctrine/dbal/pull/3432) thanks to @morozov **Test suite improvements:** - [3705: Don't skip a test for sqlite](https://github.com/doctrine/dbal/pull/3705) thanks to @Federkun - [3689: Updated PHPUnit to 8.4.1](https://github.com/doctrine/dbal/pull/3689) thanks to @morozov - [3664: Refactor usage of MockBuilder's deprecated setMethods()](https://github.com/doctrine/dbal/pull/3664) thanks to @baspeeters - [3643: Bumped PHPUnit requrement to ^8.3.3, removed dependency on symfony/phpunit-bridge](https://github.com/doctrine/dbal/pull/3643) thanks to @morozov - [3609: Reworked the mocks generated by Prophecy using PHPUnit](https://github.com/doctrine/dbal/pull/3609) thanks to @morozov - [3608: Added a unit test for Doctrine\DBAL\Logging\LoggerChain](https://github.com/doctrine/dbal/pull/3608) thanks to @morozov - [3600: Updated PHPUnit to 8.2.1](https://github.com/doctrine/dbal/pull/3600) thanks to @morozov - [3575: Enforced parameter and return value types in test classes](https://github.com/doctrine/dbal/pull/3575) thanks to @morozov - [3566: Upgraded to PHPUnit 8.1.6 and reworked the remaining driver exception mock](https://github.com/doctrine/dbal/pull/3566) thanks to @morozov - [3555: Removed the rest of mock classes](https://github.com/doctrine/dbal/pull/3555) thanks to @morozov - [3546: Reworked driver exception tests](https://github.com/doctrine/dbal/pull/3546) thanks to @morozov - [3530: Improve ExceptionTest::testConnectionExceptionSqLite](https://github.com/doctrine/dbal/pull/3530) thanks to @jwage - [3474: Remove more hard-coded mock classes](https://github.com/doctrine/dbal/pull/3474) thanks to @morozov - [3470: Replaced MockPlatform with the ones generated by PHPUnit](https://github.com/doctrine/dbal/pull/3470) thanks to @morozov - [3468: Marked some test classes abstract](https://github.com/doctrine/dbal/pull/3468) thanks to @morozov - [3446: Upgraded PHPUnit to 8.0](https://github.com/doctrine/dbal/pull/3446) thanks to @morozov **Documentation improvements:** - [3616: Fix typo in docblock](https://github.com/doctrine/dbal/pull/3616) thanks to @rdarcy1 - [3559: add .github/FUNDING.yml](https://github.com/doctrine/dbal/pull/3559) thanks to @jwage - [3556: Removed 2.8 from README](https://github.com/doctrine/dbal/pull/3556) thanks to @morozov - [3514: Expand list of keywords in composer.json](https://github.com/doctrine/dbal/pull/3514) thanks to @Majkl578 - [3504: fix #3479 (typos in example-code in QueryBuilder)](https://github.com/doctrine/dbal/pull/3504) thanks to @DavidBruchmann - [3503: Fix the branch alias for master](https://github.com/doctrine/dbal/pull/3503) thanks to @stof - [3463: fixed a typo in PoolingShardConnection phpdoc](https://github.com/doctrine/dbal/pull/3463) thanks to @Adapik - [3408: Removed unused build files](https://github.com/doctrine/dbal/pull/3408) thanks to @morozov - [3404: Link to Slack instead of Gitter](https://github.com/doctrine/dbal/pull/3404) thanks to @greg0ire - [3376: Bump version to 2.10.0-DEV](https://github.com/doctrine/dbal/pull/3376) thanks to @morozov **CI improvements:** - [3688: Temporarily disable the usage of PHPUnit 8.4 due to a regression](https://github.com/doctrine/dbal/pull/3688) thanks to @morozov - [3654: fix Appveyor builds](https://github.com/doctrine/dbal/pull/3654) thanks to @mmucklo - [3644: Using command line options to configure MySQL 8 instead of mounting a config file](https://github.com/doctrine/dbal/pull/3644) thanks to @morozov - [3509: Enabled the build against IBM DB2 on PHP 7.3 on Travis CI](https://github.com/doctrine/dbal/pull/3509) thanks to @morozov - [3528: Reworked SQL Server installer on Travis CI](https://github.com/doctrine/dbal/pull/3528) thanks to @morozov - [3484: Use latest stable versions of sqlsrv and pdo_sqlsrv on CI](https://github.com/doctrine/dbal/pull/3484) thanks to @morozov - [3475: Make PHP 7.3 the primary PHP version on Travis CI](https://github.com/doctrine/dbal/pull/3475) thanks to @morozov - [3473: Avoid database connection from PHPUnit data providers](https://github.com/doctrine/dbal/pull/3473) thanks to @morozov - [3469: Replaced Xdebug with PCOV for code coverage](https://github.com/doctrine/dbal/pull/3469) thanks to @morozov - [3405: Travis CI: PHP 7.3 tests on MySQL 8.0](https://github.com/doctrine/dbal/pull/3405) thanks to @BenMorel - [3394: Grouped PHPStan and PHP_CodeSniffer for parallel execution](https://github.com/doctrine/dbal/pull/3394) thanks to @morozov - [3388: Require PHP 7.2, drop <7.2 in Composer & on CI](https://github.com/doctrine/dbal/pull/3388) thanks to @morozov - [3122: Introduced a smoke testing phase on Travis to run SQLite tests and CS checks first](https://github.com/doctrine/dbal/pull/3122) thanks to @morozov **Deprecations:** - [3708: New deprecations for 2.10](https://github.com/doctrine/dbal/pull/3708) thanks to @morozov and @jwage - [3598: Deprecated some unused code bits](https://github.com/doctrine/dbal/pull/3598) thanks to @morozov - [3558: Deprecated Driver::getName()](https://github.com/doctrine/dbal/pull/3558) thanks to @morozov - [3554: The usage of user-provided PDO instance is deprecated](https://github.com/doctrine/dbal/pull/3554) thanks to @morozov - [3542: Deprecate SQLSrvStatement::LAST_INSERT_ID_SQL constant.](https://github.com/doctrine/dbal/pull/3542) thanks to @jwage - [3541: Deprecate the public constants in SQLParserUtils](https://github.com/doctrine/dbal/pull/3541) thanks to @jwage
    0c9a6467 · Release v2.10.0 ·
  • v2.9.3   Release v2.9.3 [![Build Status](https://travis-ci.org/doctrine/dbal.svg?branch=v2.9.3)](https://travis-ci.org/doctrine/dbal) This release fixes regressions introduced in previous releases and other bugs. - Total issues resolved: **5** - Total pull requests resolved: **14** - Total contributors: **9** **Regressions** - [3686: Fixed query result caching when `FetchMode::COLUMN` is used](https://github.com/doctrine/dbal/pull/3686) thanks to @morozov and @Junker - [3456: Compare type class when comparing columns.](https://github.com/doctrine/dbal/pull/3456) thanks to @garret-gunter and @cs278 **Other bugs** - [3679: fix begin trasaction after reconnect](https://github.com/doctrine/dbal/pull/3679) thanks to @kalinin-k-a - [3547: Default column expressions do not work on SQL Server](https://github.com/doctrine/dbal/pull/3547) thanks to @morozov - [3420: Index length can be a `string`: ensure that it is an integer when read by the `MySqlSchemaManager`](https://github.com/doctrine/dbal/pull/3420) thanks to @leofeyer **CI improvements and maintenance** - [3702: Updated SQL Server extensions to fix build failures on PHP 7.4](https://github.com/doctrine/dbal/pull/3702) thanks to @morozov - [3662: Marked connection exception test incomplete on MySQL 8](https://github.com/doctrine/dbal/pull/3662) thanks to @morozov - [3622: Switched from ibmcom/db2express-c to ibmcom/db2](https://github.com/doctrine/dbal/pull/3622) thanks to @morozov - [3465: Replaced MySQL 5.7 installed from a PPA with an official Docker image](https://github.com/doctrine/dbal/pull/3465) thanks to @morozov - [3454: CI: Test against PHP 7.4snapshot instead of nightly (8.0)](https://github.com/doctrine/dbal/pull/3454) thanks to @Majkl578 - [3452: Fixed AppVeyor build configuration and the issue on SQL Server](https://github.com/doctrine/dbal/pull/3452) thanks to @morozov and @Majkl578 - [3447: Replaced custom docker image for PostgreSQL with the official one](https://github.com/doctrine/dbal/pull/3447) thanks to @morozov - [3407: CI: Test against MySQL 8.0 on Travis](https://github.com/doctrine/dbal/pull/3407) thanks to @morozov **PHP 7.4 support** - [3642: Fixed test failures on PHP 7.4](https://github.com/doctrine/dbal/pull/3642) thanks to @morozov
    7345cd59 · Release v2.9.3 ·
  • v2.9.2   Release v2.9.2 [![Build Status](https://travis-ci.org/doctrine/dbal.svg?branch=v2.9.2)](https://travis-ci.org/doctrine/dbal) This release fixes regressions introduced in v2.9.1. - Total issues resolved: **2** **MySQL, Schema Introspection:** - [3410: MySqlSchemaManager::parseCreateOptions() must be of the type string, null given](https://github.com/doctrine/dbal/issues/3410) thanks to @jarnovanleeuwen and @morozov **MySQL, Schema Comparison:** - [3414: Schema migration doesn't detect index length change](https://github.com/doctrine/dbal/issues/3414) thanks to @leofeyer and @morozov
    22800bd6 · Release v2.9.2 ·
  • v2.9.1   Release v2.9.1 [![Build Status](https://travis-ci.org/doctrine/dbal.svg?branch=v2.9.1)](https://travis-ci.org/doctrine/dbal) This release fixes regressions introduced in v2.9.0 and issues specific for the SQL Anywhere platform. - Total issues resolved: **11** **MySQL, Schema Introspection:** - [3389: Column option "autoincrement" => "auto" causes schema diffs](https://github.com/doctrine/dbal/issues/3389) thanks to @sandermarechal - [3393: Fixed parsing MySQL create table flags (options without a value)](https://github.com/doctrine/dbal/pull/3393) thanks to @morozov and @AdrianSherwood - [3398: BC Break in 2.9.0 for MySQL Tables containing partitions](https://github.com/doctrine/dbal/issues/3398) thanks to @bcremer **SQL Anywhere:** - [3375: [SQL Anywhere] Fix bound parameter references in PHP 7](https://github.com/doctrine/dbal/pull/3375) thanks to @deeky666 - [3378: [SQL Anywhere] Fix query limit values "0" and "null"](https://github.com/doctrine/dbal/pull/3378) thanks to @deeky666 - [3385: [SQL Anywhere] Fix fetching empty values via fetchAll()](https://github.com/doctrine/dbal/pull/3385) thanks to @deeky666 - [3386: [SQL Anywhere] Fix view schema introspection test](https://github.com/doctrine/dbal/pull/3386) thanks to @deeky666 **Schema Comparison:** - [3382: Reverted strict comparison back to loose because of a new regression](https://github.com/doctrine/dbal/pull/3382) thanks to @morozov and @Majkl578 **Connections:** - [3305: Fix Fetch mode query in MasterSlaveConnection](https://github.com/doctrine/dbal/pull/3305) thanks to @BradCrumb **Cache:** - [3381: ResultCacheStatement lost its cache capability on fetchAll method](https://github.com/doctrine/dbal/pull/3381) thanks to @roger-codina **Documentation:** - [3392: fixed annotations of parameter $columns in Table](https://github.com/doctrine/dbal/pull/3392) thanks to @LukasVitek and @ricardofiorani
    ec74d6e3 · Release v2.9.1 ·
  • v2.8.1   Release v2.8.1 This release backports the bug fixes implemented in newer DBAL versions. - Total issues resolved: **8** **PostgreSQL:** - [3158: postgres: correctly produce alter table sql comment to update column definition](https://github.com/doctrine/dbal/pull/3158) thanks to @bendavies - [3226: Ignore case when matching ARRAY](https://github.com/doctrine/dbal/pull/3226) thanks to @ohvitorino - [3268: Force Sequence::$initialValue type](https://github.com/doctrine/dbal/pull/3268) thanks to @vpArth **Oracle:** - [3297: Do not generate SID or SERVICE_NAME when dbname or service name is not specified](https://github.com/doctrine/dbal/pull/3297) thanks to @morozov and @lcp0578 - [3330: Fixed quoting of string literals containing backslash](https://github.com/doctrine/dbal/pull/3330) thanks to @morozov **SQL Anywhere:** - [3362: [SQL Anywhere] Disable exact row count retrieval on SQL Anywhere](https://github.com/doctrine/dbal/pull/3362) thanks to @deeky666 **Continuous Integration:** - [3327: Use locked version of PHPStan to avoid accidental build failures](https://github.com/doctrine/dbal/pull/3327) thanks to @morozov
    a9019c1e · Release v2.8.1 ·
  • v2.9.0   Release v2.9.0 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 `LIMIT`ed 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](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 IDM 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:** - [3244: Deprecated dbal:import CLI command](https://github.com/doctrine/dbal/pull/3244) thanks to @morozov - [3253: Deprecated usage of the NULL offset in LIMITed queries](https://github.com/doctrine/dbal/pull/3253) thanks to @morozov - [3256: Deprecate Doctrine\DBAL\Types\Type::getDefaultLength()](https://github.com/doctrine/dbal/pull/3256) thanks to @Majkl578 - [3258: Deprecate Doctrine\DBAL\Types\Type::__toString()](https://github.com/doctrine/dbal/pull/3258) thanks to @Majkl578 - [3316: Deprecated regex-based asset filters](https://github.com/doctrine/dbal/pull/3316) thanks to @morozov - [3359: Removed DataAccessTest::testFetchColumnNonExistingIndex() since it covers a bug in PDO](https://github.com/doctrine/dbal/pull/3359) thanks to @morozov **New Features:** - [2412: Add mysql specific indexes with lengths](https://github.com/doctrine/dbal/pull/2412) thanks to @bburnichon - [3278: Add support for MariaDB 10.3](https://github.com/doctrine/dbal/issues/3278) thanks to @javiereguiluz - [3283: MariaDB improvements, support 10.3](https://github.com/doctrine/dbal/pull/3283) thanks to @sidz - [3333: Allow windows (userless/passwordless) authentication for SQL Server](https://github.com/doctrine/dbal/pull/3333) thanks to @odinsey **Bug Fixes:** - [3355: Implemented comparison of default values as strings regardless of their PHP types](https://github.com/doctrine/dbal/pull/3355) thanks to @morozov and @Majkl578 **Improvements:** - [3201: Fix support for URL to account for master-slave and pooling-shard connections](https://github.com/doctrine/dbal/pull/3201) thanks to @stof - [3217: Fix that MysqliStatement cannot handle streams](https://github.com/doctrine/dbal/pull/3217) thanks to @mpdude - [3235: Use PSR-4 autoloader](https://github.com/doctrine/dbal/pull/3235) thanks to @Majkl578 - [3254: Throw ConversionException when unserialization fail for array and object types](https://github.com/doctrine/dbal/pull/3254) thanks to @seferov - [3259: Update export ignores](https://github.com/doctrine/dbal/pull/3259) thanks to @Majkl578 - [3309: Implemented handling BLOBs represented as stream resources for IBM DB2](https://github.com/doctrine/dbal/pull/3309) thanks to @morozov and @mpdude - [3331: Fetch all should use the driver statement's fetchAll method](https://github.com/doctrine/dbal/pull/3331) thanks to @michaelcullum **Documentation Improvements:** - [3223: GitHub template grammar/spelling fixes](https://github.com/doctrine/dbal/pull/3223) thanks to @GawainLynch - [3232: Removed NOW() from QueryBuilder usage examples](https://github.com/doctrine/dbal/pull/3232) thanks to @morozov - [3239: 2.8 in README & branch alias to 2.9](https://github.com/doctrine/dbal/pull/3239) thanks to @Majkl578 - [3269: Fixed type hints in DockBlocks](https://github.com/doctrine/dbal/pull/3269) thanks to @marforon - [3275: Add .doctrine-project.json to root of the project.](https://github.com/doctrine/dbal/pull/3275) thanks to @jwage - [3276: Update homepage](https://github.com/doctrine/dbal/pull/3276) thanks to @Majkl578 - [3280: Use behaviuor instead of behavior](https://github.com/doctrine/dbal/pull/3280) thanks to @BackEndTea - [3285: Remove old comment from MysqliStatement](https://github.com/doctrine/dbal/pull/3285) thanks to @mpdude - [3318: Removed link to www.doctrine-project.org from doc blocks](https://github.com/doctrine/dbal/pull/3318) thanks to @morozov - [3319: remove ClassLoader](https://github.com/doctrine/dbal/pull/3319) thanks to @garak - [3337: Fix of links in documentation](https://github.com/doctrine/dbal/pull/3337) thanks to @SenseException - [3350: Remove pdo_sqlsrv from known vendor issues list](https://github.com/doctrine/dbal/pull/3350) thanks to @ostrolucky - [3357: Fix typo](https://github.com/doctrine/dbal/pull/3357) thanks to @BenMorel - [3370: Removed 2.7 from README](https://github.com/doctrine/dbal/pull/3370) thanks to @morozov **Code Quality Improvements:** - [3252: Replaced call_user_func_array() of a fixed method with the usage of variadic arguments](https://github.com/doctrine/dbal/pull/3252) thanks to @morozov - [3306: Fixed coding standard violations in the codebase](https://github.com/doctrine/dbal/pull/3306) thanks to @morozov - [3303: Updated doctrine/coding-standard to 5.0, ](https://github.com/doctrine/dbal/pull/3303) thanks to @morozov - [3317: Implemented proper escaping of string literals in platforms and schema managers](https://github.com/doctrine/dbal/pull/3317) thanks to @morozov - [3363: Remove redundant implements](https://github.com/doctrine/dbal/pull/3363) thanks to @BenMorel **Continuous Integration Improvements:** - [3307: Test against the latest stable sqlsrv extension](https://github.com/doctrine/dbal/pull/3307) thanks to @morozov - [3320: Trying to fix failing DB builds](https://github.com/doctrine/dbal/pull/3320) thanks to @morozov - [3325: Updated PHPUnit to 7.4](https://github.com/doctrine/dbal/pull/3325) thanks to @morozov - [3339: ContinuousPHP configuration for PDO Oracle driver](https://github.com/doctrine/dbal/pull/3339) thanks to @morozov - [3365: Reorganize Travis build matrix](https://github.com/doctrine/dbal/pull/3365) thanks to @BenMorel
    21fdabe2 · Release v2.9.0 ·
  • v2.7.2   Release v2.7.2 [![Build Status](https://travis-ci.org/doctrine/dbal.svg?branch=v2.7.2)](https://travis-ci.org/doctrine/dbal) This release backports the bug fixes implemented in newer DBAL versions. Total issues resolved: **7** **Platforms:** - [3103: Added keywords OVER and RETURNING for MariaDb102](https://github.com/doctrine/dbal/pull/3103) thanks to @mdriessen **Schema Comparison:** - [3086: Postgres, Oracle and SQL Server Sequence increment_by & min_value as int](https://github.com/doctrine/dbal/pull/3086) thanks to @simPod - [3210: Unnecessary alter sequence queries generated on Oracle db during schema update](https://github.com/doctrine/dbal/issues/3210) thanks to @bobvandevijver **Performance:** - [3114: Portability Statement still fetches all data in iterator mode](https://github.com/doctrine/dbal/issues/3114) thanks to @morozov - [3115: Replaced ArrayIterator with StatementIterator in Portability\Connection](https://github.com/doctrine/dbal/pull/3115) thanks to @morozov **Documentation**: - [3121: Document how to opt-in for deprecations](https://github.com/doctrine/dbal/issues/3121) thanks to @Majkl578 - [3123: Opt in deprecations docs](https://github.com/doctrine/dbal/pull/3123) thanks to @greg0ire
    c0e57360 · Release v2.7.2 ·
  • v2.8.0   Release v2.8.0 [![Build Status](https://travis-ci.org/doctrine/dbal.svg?branch=v2.8.0)](https://travis-ci.org/doctrine/dbal) This is a minor release of Doctrine DBAL that aggregates over 30 fixes and improvements developed over the last 3 months. This release includes all changes of the 2.7.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. **Dependency Changes** * The dependency on [doctrine/common](https://github.com/doctrine/common) is removed. DBAL now depends on [doctrine/cache](https://github.com/doctrine/cache) and [doctrine/event-manager](https://github.com/doctrine/event-manager) instead. Please see details in the [UPGRADE.md](UPGRADE.md) documentation. **Deprecations** * The usage of binary fields whose length exceeds the maximum field size on a given platform is deprecated. Please use binary fields of a size which fits all target platforms, or use blob explicitly instead. * The usage of DB-generated UUIDs is deprecated. Their format is inconsistent across supported platforms and therefore the feature is not portable. Use a PHP library (e.g. [ramsey/uuid](https://packagist.org/packages/ramsey/uuid)) to generate UUIDs on the application side. **New features** * Initial support of MySQL 8. * Initial support of PostgreSQL 11. * Ability to evaluate arbitrary SQL expressions via `AbstractPlatform::getDummySelectSQL()`. **Improvements and Fixes** * Improved support of binary fields on Oracle and IBM DB2. * Improved SQL Server configuration capabilities via both `sqlsrv` and `pdo_sqlsrv`. * Improved handling of `AUTOINCREMENT`ed primary keys in SQLite. * Integration tests are run against IBM DB2 on Travis CI. * Code coverage is collected for the Oracle platform on continuousphp. Total issues resolved: **33** **Deprecations:** - [3187: Deprecate usage of binary fields whose length exceeds maximum](https://github.com/doctrine/dbal/issues/3187) thanks to @morozov - [3188: Deprecated usage of binary fields whose length exceeds the platform maximum](https://github.com/doctrine/dbal/pull/3188) thanks to @morozov - [3192: Added more information to the deprecation notice](https://github.com/doctrine/dbal/pull/3192) thanks to @morozov - [3212: Deprecated usage of DB-generated UUIDs](https://github.com/doctrine/dbal/pull/3212) thanks to @morozov **New Features:** **Bug Fixes:** - [3149: Introduced binary binding type to support binary parameters on Oracle](https://github.com/doctrine/dbal/pull/3149) thanks to @morozov - [3178: Fix incorrect exception thrown from SQLAnywhere16Platform](https://github.com/doctrine/dbal/pull/3178) thanks to @Majkl578 - [3044: Functional test for allowing dynamic intervals in date sub/add](https://github.com/doctrine/dbal/pull/3044) thanks to @AshleyDawson - [3049: Test failures caused by invalid database connection result in fatal error](https://github.com/doctrine/dbal/issues/3049) thanks to @Majkl578 **Improvements:** - [3033: Added support for available DSN parameters for the PDOSqlsrv driver](https://github.com/doctrine/dbal/pull/3033) thanks to @aashmelev - [3128: Add MySQL 8 reserved keywords](https://github.com/doctrine/dbal/pull/3128) thanks to @mlocati - [3143: initialize sql array into platform files](https://github.com/doctrine/dbal/pull/3143) thanks to @AlessandroMinoccheri - [3173: Fix composer branch aliases](https://github.com/doctrine/dbal/pull/3173) thanks to @Majkl578 - [3157: When building a limit query, zero offset without a limit should be ignored](https://github.com/doctrine/dbal/pull/3157) thanks to @morozov - [3109: Allow to specify arbitrary SQL expression in AbstractPlatform::getDummySelectSQL()](https://github.com/doctrine/dbal/pull/3109) thanks to @morozov - [3141: allow creating PRIMARY KEY AUTOINCREMENT fields for sqlite (unit tests)](https://github.com/doctrine/dbal/pull/3141) thanks to @TimoBakx - [3180: Import simplified version of Common\Util\Debug for var dumping purposes](https://github.com/doctrine/dbal/pull/3180) thanks to @Majkl578 **Documentation Improvements:** - [3117: Added badges for the develop branch in README](https://github.com/doctrine/dbal/pull/3117) thanks to @morozov - [3125: Upgrading docs](https://github.com/doctrine/dbal/pull/3125) thanks to @jwage - [3144: added improvement type into pull request template](https://github.com/doctrine/dbal/pull/3144) thanks to @AlessandroMinoccheri **Code Quality Improvements:** - [3025: Added PHPStan, apply changes for level 3](https://github.com/doctrine/dbal/pull/3025) thanks to @Majkl578 - [3200: Php Inspections (EA Ultimate): minor code tweaks](https://github.com/doctrine/dbal/pull/3200) thanks to @kalessil - [3204: Fix typo in AbstractPlatform](https://github.com/doctrine/dbal/pull/3204) thanks to @Majkl578 - [3205: Ignore OCI-* classes in static analysis (no stubs)](https://github.com/doctrine/dbal/pull/3205) thanks to @Majkl578 **Continuous Integration Improvements:** - [3102: Use newer PHPUnit to prevent crashes on failures](https://github.com/doctrine/dbal/pull/3102) thanks to @Majkl578 - [3112: Removed hard-coded configuration filenames from the test runner](https://github.com/doctrine/dbal/pull/3112) thanks to @morozov - [3133: Travis DB2](https://github.com/doctrine/dbal/pull/3133) thanks to @Majkl578, @morozov - [3135: AppVeyor tweaks, retry coverage upload on failure](https://github.com/doctrine/dbal/pull/3135) thanks to @Majkl578 - [3137: Workaround for the inability to use a post-PHPUnit script on ContinuousPHP](https://github.com/doctrine/dbal/pull/3137) thanks to @morozov - [3151: MSSQL DLL 5.2.0 has been released.](https://github.com/doctrine/dbal/pull/3151) thanks to @photodude - [3160: Test against Postgres 11](https://github.com/doctrine/dbal/pull/3160) thanks to @Majkl578 **Dependencies** - [3193: DBAL 2.8 needs Common 2.9](https://github.com/doctrine/dbal/issues/3193) thanks to @Majkl578 - [3176: Eliminate dependency on doctrine/common](https://github.com/doctrine/dbal/issues/3176) thanks to @Majkl578 - [3181: Remove dependency on doctrine/common](https://github.com/doctrine/dbal/pull/3181) thanks to @Majkl578
    5140a64c · Release v2.8.0 ·
  • v2.7.1   This release fixes unintentional BC breaks: 1. It was impossible to use deprecated fetch modes with PDO-based drivers. 2. An unsupported option passed to the `Column` object prevented subsequent options from being applied. 3. Date interval values stored prior to upgrade to `v2.7.0` were reported as invalid. Total issues resolved: **10** **Backwards Compatibility Fixes:** - [3082: Custom PDO fetch modes and 2.7.0](https://github.com/doctrine/dbal/issues/3082) thanks to @corphi - [3088: Fix #3082: Add BC for PDO-only fetch modes](https://github.com/doctrine/dbal/pull/3088) thanks to @corphi - [3089: Don't skip column options.](https://github.com/doctrine/dbal/pull/3089) thanks to @andytruong - [3093: When updating to version v2.7 type DateInterval throws errors](https://github.com/doctrine/dbal/issues/3093) thanks to @fnagel - [3097: Fix compatibility for pre-2.7 DateIntervalType format](https://github.com/doctrine/dbal/pull/3097) thanks to @Majkl578 **Documentation Improvements:** - [3083: Document the correct way of configuring a MariaDB database with serverVersion](https://github.com/doctrine/dbal/pull/3083) thanks to @tristanbes - [3084: README: Add 2.7, drop 2.5](https://github.com/doctrine/dbal/pull/3084) thanks to @Majkl578 **Continuous Integration Improvements:** - [3085: Tests: remove implicit verbose flag](https://github.com/doctrine/dbal/pull/3085) thanks to @Majkl578 - [3090: Add symfony tests listener](https://github.com/doctrine/dbal/pull/3090) thanks to @greg0ire - [3095: CI: Add missing listener for MariaDB @ mysqli](https://github.com/doctrine/dbal/pull/3095) thanks to @Majkl578
  • v2.7.0   This is a minor release of Doctrine DBAL that aggregates over 80 fixes and improvements developed over the last 8 months. This release includes all changes of the `2.6.x` series, as well as feature additions and improvements that couldn't land in patch releases. **Backwards Compatibility Breaks** This release comes with one potential Backwards Compatibility (BC) break that is to be considered during upgrade. Please see the details below. **Dependency requirement changes** There are no changes in requirements to runtime dependencies. **Deprecations** * Direct usage of `PDO::` constants in calls to DBAL API is deprecated. * Calls to `\PDOStatement` methods on a `\Doctrine\DBAL\Driver\PDOStatement` instance are deprecated. * A series of enum-like constants are deprecated. * Setting unsupported options on a schema column object is deprecated. Please see details in the [UPGRADE.md](UPGRADE.md) documentation. **New features** This release introduces the following major additions: * MariaDB 10.2 platform support * PostgreSQL 10 platform support **Improvements and Fixes** This release comes with a few bug fixes and a significant set of improvements in continuous integration processes, code style and documentation: * The code is continuously tested on all supported versions of SQL Server on Windows and Linux. * The code is tested with lowest compatible versions of dependencies. * New improved code style requirements have been introduced. * The codebase has been cleaned up from the fragments required to support the older PHP versions and uses the full power of the PHP 7.1. * All pull request are validated for compliance with the coding standards before getting accepted. * Handling of platform-specific features has been improved. A detailed list of fixes can be found below. Total issues resolved: **81** **BC Breaks:** - [2579: DateIntervalType (negative support) resolves doctrine/dbal#2578](https://github.com/doctrine/dbal/pull/2579) thanks to @galeaspablo **Deprecations:** - [2846: Ensure column options map to an existing method](https://github.com/doctrine/dbal/pull/2846) thanks to @greg0ire - [2996: Forward compatibility with 3.x](https://github.com/doctrine/dbal/pull/2996) thanks to @morozov - [2998: Extract some constants into TransactionIsolationLevel, TrimMode and DateIntervalUnit](https://github.com/doctrine/dbal/pull/2998) thanks to @Majkl578 **New Features:** - [2825: MariaDB 10.2 initial support](https://github.com/doctrine/dbal/pull/2825) thanks to @belgattitude - [2893: PostgreSQL 10 support](https://github.com/doctrine/dbal/pull/2893) thanks to @simPod **Bug Fixes:** - [2819: PHP Fatal error: Uncaught Doctrine\\DBAL\\DBALException: Failed to connect to the database: Invalid platform version "5.5.5-10.1.25-MariaDB](https://github.com/doctrine/dbal/issues/2819) thanks to @stfast - [2868: Doctrine\DBAL\Exception\InvalidFieldNameException when working with DB schema on PostgreSQL 10](https://github.com/doctrine/dbal/issues/2868) thanks to @skobkin - [2988: renameColumn will changed default from NULL to 'NULL'](https://github.com/doctrine/dbal/issues/2988) thanks to @kingshark8848 **Improvements:** - [2551: Implement the column collation for Mysql](https://github.com/doctrine/dbal/pull/2551) thanks to @mikeSimonson - [2578: DateIntervalType (negative support)](https://github.com/doctrine/dbal/issues/2578) thanks to @galeaspablo - [2588: Inherit charset from master connection if not set explicitly](https://github.com/doctrine/dbal/pull/2588) thanks to @Deltachaos - [2718: Add iterators for non pdo drivers.](https://github.com/doctrine/dbal/pull/2718) thanks to @jenkoian - [2616: CI testing of MSSQL on windows with AppVeyor](https://github.com/doctrine/dbal/issues/2616) thanks to @photodude - [2617: Testing of MSSQL on Windows with AppVeyor](https://github.com/doctrine/dbal/pull/2617) thanks to @photodude - [2835: Stop relying on Type::__toString](https://github.com/doctrine/dbal/pull/2835) thanks to @greg0ire - [2851: Test default value declaration for the date type](https://github.com/doctrine/dbal/pull/2851) thanks to @greg0ire - [2919: Add tests for column collation to prove it works](https://github.com/doctrine/dbal/pull/2919) thanks to @Tobion - [2952: Enabled testFetchLongBlob() for PDO SQL Server driver](https://github.com/doctrine/dbal/pull/2952) thanks to @morozov - [2954: The IBM DB2 Statement driver suppresses errors triggered by db2_execute](https://github.com/doctrine/dbal/issues/2954) thanks to @morozov - [2955: Removed error suppression in IBM DB2 Statement](https://github.com/doctrine/dbal/pull/2955) thanks to @morozov - [3009: PHPUnit 7](https://github.com/doctrine/dbal/pull/3009) thanks to @carusogabriel - [3013: Escape LIKE metacharacters](https://github.com/doctrine/dbal/pull/3013) thanks to @greg0ire - [3019: Allow dynamic intervals in DATE_ADD & DATE_SUB for SQLite](https://github.com/doctrine/dbal/pull/3019) thanks to @fogs - [3020: Improve handling of schemas in SQL Server >= 2008](https://github.com/doctrine/dbal/pull/3020) thanks to @stlrnz - [3031: Connection parameters are cached hashed](https://github.com/doctrine/dbal/pull/3031) thanks to @fullbl **Documentation Improvements:** - [2793: Fix articles of words sounding with a consonant (SQL => ESS-kew-ELL)](https://github.com/doctrine/dbal/pull/2793) thanks to @afoeder - [2799: Fix Shard Manager docs with more accurate docblocks in `SQLAzureShardManager` and `PoolingShardManager`](https://github.com/doctrine/dbal/pull/2799) thanks to @tolbon - [2813: fixed return type into OCI8Statement](https://github.com/doctrine/dbal/pull/2813) thanks to @AlessandroMinoccheri - [2814: Incorrect documentation example for `QueryBuilder#set()`](https://github.com/doctrine/dbal/issues/2814) thanks to @Dormilich - [2818: #2814 removing incorrect `QueryBuilder#set()` documentation, which was showing wrong password hashing and value binding practices (combo!)](https://github.com/doctrine/dbal/pull/2818) thanks to @Dormilich - [2827: use intended semantics](https://github.com/doctrine/dbal/pull/2827) thanks to @greg0ire - [2840: Proofread types doc](https://github.com/doctrine/dbal/pull/2840) thanks to @greg0ire - [2874: Tenant documentation typos](https://github.com/doctrine/dbal/pull/2874) thanks to @phil-davis - [2875: Doc typos and grammar](https://github.com/doctrine/dbal/pull/2875) thanks to @phil-davis - [2864: Removed the "OCI8: SQL Queries with Question Marks" section](https://github.com/doctrine/dbal/pull/2864) thanks to @morozov - [2935: Improve deprecation wording in `Doctrine\DBAL\Schema\Column#setOptions()`](https://github.com/doctrine/dbal/pull/2935) thanks to @greg0ire - [2940: Clean up note on query builder setParameter documentation](https://github.com/doctrine/dbal/pull/2940) thanks to @jnvsor - [3027: Documentation: Warn against using object fields in MySQL and MariaDB](https://github.com/doctrine/dbal/pull/3027) thanks to @Jasu - [3068: typo in known vendor issues documentation](https://github.com/doctrine/dbal/issues/3068) thanks to @gdc676463 - [3069: fix typo in known vendor issues documentation](https://github.com/doctrine/dbal/pull/3069) thanks to @gdc676463 **Continuous Integration Improvements:** - [2801: added badges for continuousphp and other badges for 2.6](https://github.com/doctrine/dbal/pull/2801) thanks to @ppaulis - [2849: Update build to use stages (adding PHPCS to check for CS violations)](https://github.com/doctrine/dbal/pull/2849) thanks to @lcobucci - [2920: Improve build configuration](https://github.com/doctrine/dbal/pull/2920) thanks to @lcobucci - [2936: Incremental check for coding standards in pull requests](https://github.com/doctrine/dbal/pull/2936) thanks to @morozov - [2946: Attempt to run PostgeSQL 10 on Travis](https://github.com/doctrine/dbal/pull/2946) thanks to @Majkl578 - [2956: Travis: Test against lowest and dev dependencies](https://github.com/doctrine/dbal/pull/2956) thanks to @Majkl578 - [2961: Code style check fails on develop](https://github.com/doctrine/dbal/issues/2961) thanks to @morozov - [2962: Fixed code style check failures for pull request against non-master branches](https://github.com/doctrine/dbal/pull/2962) thanks to @morozov - [3050: Test SQL Server 17 on Travis](https://github.com/doctrine/dbal/pull/3050) thanks to @Majkl578 - [3056: Set Appveyor to use PHP 7.2](https://github.com/doctrine/dbal/pull/3056) thanks to @photodude - [3062: Added badges for AppVeyor](https://github.com/doctrine/dbal/pull/3062) thanks to @morozov **Code Style Improvements:** - [2789: Use short array declarations](https://github.com/doctrine/dbal/pull/2789) thanks to @AlessandroMinoccheri - [2797: Typing final class DriverManager](https://github.com/doctrine/dbal/pull/2797) thanks to @tolbon - [2798: Fix PSR2 rules : "the static declaration should come after visibility"](https://github.com/doctrine/dbal/pull/2798) thanks to @tolbon - [2800: Fix inconsistent/missing return statements](https://github.com/doctrine/dbal/pull/2800) thanks to @tolbon - [2809: Missing @throws declarations in Connection](https://github.com/doctrine/dbal/issues/2809) thanks to @bestform - [2810: add @throws declarations to docs in Connection](https://github.com/doctrine/dbal/pull/2810) thanks to @bestform - [2856: use newer PHP syntax](https://github.com/doctrine/dbal/pull/2856) thanks to @AlessandroMinoccheri - [2857: use newer PHP syntax](https://github.com/doctrine/dbal/pull/2857) thanks to @AlessandroMinoccheri - [2858: Style improvements](https://github.com/doctrine/dbal/pull/2858) thanks to @greg0ire - [2869: fixed typo into security documentation](https://github.com/doctrine/dbal/pull/2869) thanks to @AlessandroMinoccheri - [2927: Refactoring tests](https://github.com/doctrine/dbal/pull/2927) thanks to @carusogabriel - [2932: Refactoring tests](https://github.com/doctrine/dbal/pull/2932) thanks to @carusogabriel - [2934: Use Null Coalesce Operator](https://github.com/doctrine/dbal/pull/2934) thanks to @carusogabriel - [2937: Clean elses](https://github.com/doctrine/dbal/pull/2937) thanks to @carusogabriel - [2942: Combine consecutives unsets](https://github.com/doctrine/dbal/pull/2942) thanks to @carusogabriel - [2957: Whitespaces clean-up in docs](https://github.com/doctrine/dbal/pull/2957) thanks to @carusogabriel - [2965: Update Doctrine CS requirement](https://github.com/doctrine/dbal/pull/2965) thanks to @Majkl578 - [2980: Simplify returns](https://github.com/doctrine/dbal/pull/2980) thanks to @carusogabriel - [2999: CS: correct annotation types to use symbols specified in the CS rules](https://github.com/doctrine/dbal/pull/2999) thanks to @carusogabriel - [3002: Use @var instead of @param](https://github.com/doctrine/dbal/pull/3002) thanks to @carusogabriel - [3008: removed an else condition, fixed a parameter annotation and make little improvements](https://github.com/doctrine/dbal/pull/3008) thanks to @AlessandroMinoccheri - [3015: A cast statement must be followed by a single space](https://github.com/doctrine/dbal/pull/3015) thanks to @carusogabriel - [3026: Bump CS version to 3.0](https://github.com/doctrine/dbal/pull/3026) thanks to @Majkl578 - [3077: CS bump to 4.0, imports for global functions & constants](https://github.com/doctrine/dbal/pull/3077) thanks to @Majkl578 **Chore:** - [2950: Removed pre-7.1 quirks](https://github.com/doctrine/dbal/pull/2950) thanks to @Majkl578 - [2989: Update license's copyright](https://github.com/doctrine/dbal/pull/2989) thanks to @SenseException - [3024: Fixed unqualified PDO class name](https://github.com/doctrine/dbal/pull/3024) thanks to @morozov - [3060: Development branch build fails on SQL Server](https://github.com/doctrine/dbal/issues/3060) thanks to @morozov - [3061: Fixed build failure on SQL Server](https://github.com/doctrine/dbal/pull/3061) thanks to @morozov - [3071: Start SQL Server using a synchronous command to avoid intermittent login failures](https://github.com/doctrine/dbal/pull/3071) thanks to @morozov
  • v2.6.3   This release fixes the generation of default values of immutable date/datetime times, default values of PostgreSQL's SERIAL types, and the required arguments for SSL connections using MySQLi. Also includes a fix for a BC-break related to json types comparison. Total issues resolved: **11** - [2815: mysqli ssl_key and ssl_cert should not be mandatory](https://github.com/doctrine/dbal/issues/2815) thanks to @gauauu - [2816: #2815 don't require `ssl_key` and `ssl_cert` to use `ssl_ca`](https://github.com/doctrine/dbal/pull/2816) thanks to @gauauu - [2596: Schema diff keeps thinking custom mapping types have changed](https://github.com/doctrine/dbal/issues/2596) thanks to @vicdelfant - [2905: Fixes custom type comment regex](https://github.com/doctrine/dbal/pull/2905) thanks to @jeremy-smith-maco - [2679: Fix: Doctrine custom types now accepts anything but ')'](https://github.com/doctrine/dbal/pull/2679) thanks to @PedroTroller - [2907: Don't Set a Default Value on PostgreSQL SERIAL Fields](https://github.com/doctrine/dbal/pull/2907) thanks to @chrisguitarguy - [2906: Cannot Generate [BIG]SERIAL Columns Without a Default or NOT NULL](https://github.com/doctrine/dbal/issues/2906) thanks to @chrisguitarguy - [2859: DateTimeImmutable error with default value CURRENT_TIMESTAMP](https://github.com/doctrine/dbal/issues/2859) thanks to @tok-amsiq - [2861: Default value declaration for immutable types](https://github.com/doctrine/dbal/pull/2861) thanks to @tok-amsiq - [2880: Symfony 3 - Postgresql JSON type always appear in diff](https://github.com/doctrine/dbal/issues/2880) thanks to @PapsOu - [2855: Fix BC-break regarding JsonArrayType](https://github.com/doctrine/dbal/pull/2855) thanks to @lcobucci
    e3eed9b1 · Preparing v2.6.3 release ·
  • v2.6.2   This release fixes an incorrect optimisation in `Doctrine\DBAL\Query\Expression\CompositeExpression` which could have led to dropping query expression components. Also, DBAL was ignoring some important platform settings when determining which cache keys to use when looking for result caches: that could have led to sharing caches for results produced by different DB connections. Total issues resolved: **2** - [2785: Fix `CompositeExpression#add()` optimization, which was leading to broken `CompositeExpression` instances](https://github.com/doctrine/dbal/pull/2785) thanks to @Grzesie2k - [2821: Platform from params are not correctly passed to a `QueryCacheProfile`](https://github.com/doctrine/dbal/pull/2821) thanks to @kimhemsoe
    1a4ee83a · Preparing v2.6.2 release ·
  • v2.6.1   This release fixes an unintentional BC break that prevented using `DateTimeImmutable` interfaces in the pre-existing date-related types. Users are still encouraged to migrate to the newly introduced immutable date types. Total issues resolved: **2** - [2794: BC Break in Date/Time related types: can no longer convert `DateTimeImmutable` to database value](https://github.com/doctrine/dbal/issues/2794) thanks to @langj - [2795: #2794 revert bc break preventing `DateTimeImmutable` conversion](https://github.com/doctrine/dbal/pull/2795) thanks to @Ocramius
    1a086f85 · Preparing 2.6.1 release ·
  • v2.6.0   This is a minor release of Doctrine DBAL that aggregates over 200 fixes and improvements that we have tested, checked, reviewed and stabilised over the last year. This release includes all changes of the `2.5.x` series, as well as feature additions and improvements that couldn't land in patch releases. **Backwards Compatibility Breaks** This release comes with few potential Backwards Compatibility (BC) breaks that, while unlikely affecting consumers of the library, are to be considered. Please take some time to read the [UPGRADE.md](UPGRADE.md) documentation. The issues related to these BC breaks are listed below. **Dependency requirement changes** The dependency requirements for DBAL 2.6.0 onwards have also changed: * HHVM is no longer officially supported * PHP 7.1.0 is the minimum supported PHP version * The PDO extension is now a required dependency **Deprecations** * The `json_array` type is now to be considered deprecated * The `Doctrine\DBAL\Schema\Table#renameColumn()` API is deprecated and disabled * The `Doctrine\DBAL\Connection#getDatabasePlatform()` may now trigger database connections, if a platform version isn't provided upfront **New features** This release introduces a few major additions: * PostgreSQL 9.4+ platform support * MySQL 5.7.9 (GA) platform support * A `JsonType` that maps to JSON column types when supported by the underlying RDBMS * `DateIntervalType` * `DateTimeImmutableType` * `DateTimeTzImmutableType` * `DateImmutableType` * `TimeImmutableType` * `PDO::FETCH_OBJ` emulation for `mysqli` and `oci8` statements * SSL root certificate configuration support for `pdo_pgsql` * SSL support for `mysqli` **Improvements and Fixes** This release comes with a myriad of improvements and bug-fixes that should improve both compatibility with exotic database engines and overall performance. We focused on stability and reliability of existing features, and improved the overall consistency of cross-platform behavior of the library. A detailed list of fixes can be found below. Total issues resolved: **224** **BC Breaks:** - [2527: Normalize method signatures for `fetch()` and `fetchAll()`, ensuring compatibility with the `PDOStatement` signature](https://github.com/doctrine/dbal/pull/2527) thanks to @phansys - [2519: `ResultStatement#fetchAll()` must define 3 arguments in order to be compatible with `PDOStatement#fetchAll()`](https://github.com/doctrine/dbal/issues/2519) thanks to @phansys - [2504: URL-decode URL-style DSN](https://github.com/doctrine/dbal/pull/2504) thanks to @c960657 - [990: DBAL-1057 Connection is not lazy anymore when platform detection is necessary](https://github.com/doctrine/dbal/issues/990) - [1072: DBAL-1130 #784 Connection is not lazy anymore, since platform detection was introduced - exposing the issue via broken test](https://github.com/doctrine/dbal/issues/1072) **Deprecations:** - [916: Fix return type of `Table#renameColumn()` and mark it as deprecated](https://github.com/doctrine/dbal/pull/916) thanks to @aivus - [1276: DBAL-1318 #916 Fix return type of `Table#renameColumn()` and mark it as deprecated](https://github.com/doctrine/dbal/issues/1276) - [2782: Stop using the deprecated `json_array` type internally](https://github.com/doctrine/dbal/pull/2782) thanks to @lcobucci **New Features:** - [718: Identify retryable transaction errors and cause them to raise specific exception types](https://github.com/doctrine/dbal/pull/718) thanks to @Tobion - [798: Add `application_name` to PostgreSQL driver connection ](https://github.com/doctrine/dbal/pull/798) thanks to @davividal - [814: Allow `serverVersion` to be explicitly unspecified (`null`)](https://github.com/doctrine/dbal/pull/814) thanks to @BreiteSeite - [819: Added support for column inline comments in SQLite](https://github.com/doctrine/dbal/pull/819) thanks to @hason - [824: DBAL-1143 Added Postgres 9.4 platform](https://github.com/doctrine/dbal/pull/824) thanks to @mbeccati - [854: add `DateInterval` type](https://github.com/doctrine/dbal/pull/854) thanks to @vbartusevicius - [892: DDC-3863 add a `json` type that doesn't have the flaws of `json_array`](https://github.com/doctrine/dbal/pull/892) thanks to @Taluu - [919: add `sslrootcert` connection option to the `pdo_pgsql` driver](https://github.com/doctrine/dbal/pull/919) thanks to @peterjmit - [1028: DBAL-1091 #755 Update `MysqliStatement` to emulate `PDO::FETCH_OBJ` behavior](https://github.com/doctrine/dbal/issues/1028) - [1043: DBAL-1104 DBAL-1104 #766 Add support for object hydration in oci8 driver](https://github.com/doctrine/dbal/issues/1043) - [1086: DBAL-1143 add JSONB type to PostgreSQL](https://github.com/doctrine/dbal/issues/1086) - [1127: DBAL-1184 DBAL-1143 #824 Added Postgres 9.4 platform](https://github.com/doctrine/dbal/issues/1127) - [1176: DBAL-1228 #854 add `DateInterval` type](https://github.com/doctrine/dbal/issues/1176) - [1280: DBAL-1321 #919 add `sslrootcert` connection option to the `pdo_pgsql` driver](https://github.com/doctrine/dbal/issues/1280) - [1882: DBAL-662 Support `DateTimeImmutable`](https://github.com/doctrine/dbal/issues/1882) - [2266: Add native JSON type support for MySQL >=5.7.8](https://github.com/doctrine/dbal/pull/2266) thanks to @ismailbaskin - [2284: Added parameter `default_dbname` to pdo_pgsql driver, used to override the default database](https://github.com/doctrine/dbal/pull/2284) thanks to @kimhemsoe - [2306: Add "easy connect string" support for the Oci8Driver](https://github.com/doctrine/dbal/issues/2306) thanks to @bobvandevijver - [2307: Add support for Easy Connect string as connection parameter in OracleDB](https://github.com/doctrine/dbal/pull/2307) thanks to @bobvandevijver - [2450: Add immutable date types support](https://github.com/doctrine/dbal/pull/2450) thanks to @deeky666 - [2455: Use native JSON type on MySQL >=5.7](https://github.com/doctrine/dbal/pull/2455) thanks to @rh389 - [2570: Allow secure connections using SSL on mysqli](https://github.com/doctrine/dbal/pull/2570) thanks to @pgrau - [2688: Support `IS NULL` checking in `Connection#delete()` and `Connection#update()` generated criteria, allowing for `null` column searches](https://github.com/doctrine/dbal/pull/2688) thanks to @jnvsor **Bug Fixes:** - [713: Prevent result cache key collisions when sharing caches across different connections](https://github.com/doctrine/dbal/pull/713) thanks to @vilartoni - [784: Connection is not lazy anymore, since platform detection was introduced - exposing the issue via broken test](https://github.com/doctrine/dbal/pull/784) thanks to @weaverryan - [827: Fix `DISTINCT` queries with `LIMIT` and no `ORDER` on SQLServer 2012](https://github.com/doctrine/dbal/pull/827) thanks to @billschaller - [871: `SqlConsoleCommand` should show results of queries containing `RETURNING`](https://github.com/doctrine/dbal/pull/871) thanks to @bountin - [918: Fix typo in `DBALException` message](https://github.com/doctrine/dbal/pull/918) thanks to @chadrien - [923: DBAL-1302 Avoid rewrapping `Docrine\DBAL\Exception\DriverException` with nested drivers](https://github.com/doctrine/dbal/pull/923) thanks to @mathroc - [924: Correcting reference to the `Connection#rollBack()` method - case sensitivity](https://github.com/doctrine/dbal/pull/924) thanks to @rawkode - [1018: DBAL-1082: `SchemaTool` does not generate DDL for MySQL `unsigned float`](https://github.com/doctrine/dbal/issues/1018) - [1019: DBAL-1083 DBAL-1082 #749 Fix `SchemaTool`, which does not generate DDL for MySQL `unsigned float`](https://github.com/doctrine/dbal/issues/1019) - [1130: DBAL-1187 #827 Fix `DISTINCT` queries with `LIMIT` and no `ORDER` on SQLServer 2012](https://github.com/doctrine/dbal/issues/1130) - [1138: DBAL-1194 #832 Fix test failures on Windows due to differing newlines](https://github.com/doctrine/dbal/issues/1138) - [1139: DBAL-1196 #834 Remove documentation for non-existing events from `Connection#rollBack()` docblock](https://github.com/doctrine/dbal/issues/1139) - [1281: DBAL-1322 Correct typo in driver exception message](https://github.com/doctrine/dbal/issues/1281) - [1344: DBAL-1783 #924 Correcting reference to the `Connection#rollBack()` method - case sensitivity](https://github.com/doctrine/dbal/issues/1344) - [2250: Unit tests are failing on OracleDB](https://github.com/doctrine/dbal/issues/2250) thanks to @DeepDiver1975 - [2252: `ModifyLimitQueryTest::testModifyLimitQuerySubSelect()` fails on OracleDB](https://github.com/doctrine/dbal/issues/2252) thanks to @DeepDiver1975 - [2253: SchemaManagerFunctionalTestCase::testDropsDatabaseWithActiveConnections() fails on OracleDB](https://github.com/doctrine/dbal/issues/2253) thanks to @DeepDiver1975 - [2254: Correct `SchemaManagerFunctionalTestCase::testDropsDatabaseWithActiveConnections()` on OracleDB](https://github.com/doctrine/dbal/pull/2254) thanks to @DeepDiver1975 - [2255: Use shorter table names, as OracleDB allows max 30 characters](https://github.com/doctrine/dbal/pull/2255) thanks to @DeepDiver1975 - [2263: Fix failing unit tests on OracleDB](https://github.com/doctrine/dbal/pull/2263) thanks to @DeepDiver1975 - [2276: Fix test case on OracleDB](https://github.com/doctrine/dbal/pull/2276) thanks to @deeky666 - [2335: Correct case sensitivity of usages of the `Connection#rollBack()` method](https://github.com/doctrine/dbal/pull/2335) thanks to @kadala - [2314: `DateIntervalType` supports conversion of invalid values](https://github.com/doctrine/dbal/issues/2314) thanks to @MisatoTremor - [2316: Fix `DateInterval` database value truncation (string overflow)](https://github.com/doctrine/dbal/pull/2316) thanks to @vbartusevicius - [2372: Handle arbitrary whitespaces when parsing SQL in order to apply `LIMIT` for MS SQL Server](https://github.com/doctrine/dbal/pull/2372) thanks to @morozov - [2413: Ensure deterministic results in the `ModifyLimitQueryTest`, which may otherwise fail depending on database settings and provisioning](https://github.com/doctrine/dbal/pull/2413) thanks to @Deltachaos - [2427: Postgres SchemaManager is reading a default of `-1` as `(-1)` for postgres 9.4](https://github.com/doctrine/dbal/issues/2427) thanks to @DeepDiver1975 - [2565: Both PostgreSQL 9.5 and PostgreSQL 9.6 are currently failing on Travis](https://github.com/doctrine/dbal/issues/2565) thanks to @photodude - [2592: Ensure the database name is always provided when trying to use pgsql in the test suite](https://github.com/doctrine/dbal/pull/2592) thanks to @mikaelkael - [2594: Schema generator is not adding `COMMENT` to custom types](https://github.com/doctrine/dbal/issues/2594) thanks to @fkrauthan - [2595: `assertValidIdentifier()` is too restrictive against OracleDB schema object naming rules ](https://github.com/doctrine/dbal/issues/2595) thanks to @IMP3ter - [2604: DBAL-2595 Fix retrieving last insert ID for FQN sequence name with OCI8 - allows `.` symbol in sequence names](https://github.com/doctrine/dbal/pull/2604) thanks to @deeky666 - [2614: DBAL-2427 Fix negative default value introspection on PostgreSQL 9.4](https://github.com/doctrine/dbal/pull/2614) thanks to @deeky666 - [2631: Fix `CREATE`/`DROP DATABASE` support on SQL Server](https://github.com/doctrine/dbal/pull/2631) thanks to @deeky666 - [2632: Fix `"application_name"` connection parameter tests for PostgreSQL < 9.2](https://github.com/doctrine/dbal/pull/2632) thanks to @deeky666 - [2640: Fix drivers' `exec()` method to not execute queries via prepared statements](https://github.com/doctrine/dbal/pull/2640) thanks to @deeky666 - [2669: Add missing SSL parameters to the pdo_pgsql driver](https://github.com/doctrine/dbal/pull/2669) thanks to @fsok - [2671: DBAL-990 Attempt platform detection even when the database name is not set](https://github.com/doctrine/dbal/pull/2671) thanks to @deeky666 - [2674: Correct `testListTableColumns` checked keys](https://github.com/doctrine/dbal/pull/2674) thanks to @mdwheele - [2692: Fix default isolation level for the MySqlPlatform](https://github.com/doctrine/dbal/pull/2692) thanks to @jnvsor - [2701: `DB2SchemaManager#listTableNames()` does not call `filterAssetNames`](https://github.com/doctrine/dbal/issues/2701) thanks to @asgrim - [2702: Added missing filtering of table name assets in DB2SchemaManager](https://github.com/doctrine/dbal/pull/2702) thanks to @asgrim - [2709: Adding PDO as hard dependency as per discussion in #808](https://github.com/doctrine/dbal/pull/2709) thanks to @Ocramius - [2733: Correct documented parameter and return types for `Connection#quote()`](https://github.com/doctrine/dbal/pull/2733) thanks to @lolli42 - [2745: Wrong `Connection#quote()` parameter hinting, incompatible with `PDO::PARAM_*` constants](https://github.com/doctrine/dbal/issues/2745) thanks to @helsner - [2747: Correct `Connection#quote()` parameter hinting, now compatible with `PDO::PARAM_*` constants](https://github.com/doctrine/dbal/pull/2747) thanks to @helsner **Improvements:** - [768: DBAL-1106 Improve schema introspection performance on Oracle](https://github.com/doctrine/dbal/pull/768) thanks to @deeky666 - [779: DBAL-1123 Initialize database schema only once per PHPUnit run](https://github.com/doctrine/dbal/pull/779) thanks to @deeky666 - [781: Call `detectDatabasePlatform` only once](https://github.com/doctrine/dbal/pull/781) thanks to @rosier - [810: Remove redundant `Connection#connect()` calls](https://github.com/doctrine/dbal/pull/810) thanks to @rosier - [829: Add PostgreSQL connection test with the new `charset` parameter](https://github.com/doctrine/dbal/pull/829) thanks to @billschaller - [841: Documentation and code styling fixes](https://github.com/doctrine/dbal/pull/841) thanks to @BenMorel - [848: DBAL-1219 Add missing `IBMDB2` driver functional tests](https://github.com/doctrine/dbal/pull/848) thanks to @deeky666 - [867: Add test for schema diffing on a table with a renamed foreign key column referencing a renamed table](https://github.com/doctrine/dbal/pull/867) thanks to @billschaller - [869: Make date and time types throw exception when invalid values are passed to `convertToDatabaseValue`](https://github.com/doctrine/dbal/pull/869) thanks to @billschaller - [897: Various typo and wording fixes in the codebase](https://github.com/doctrine/dbal/pull/897) thanks to @SpacePossum - [899: add `requiresSQLCommentHint` in `DateIntervalType`](https://github.com/doctrine/dbal/pull/899) thanks to @vbartusevicius - [902: #869 cleanups and hardening of tests around date-related types](https://github.com/doctrine/dbal/pull/902) thanks to @Ocramius - [966: DBAL-1035 #718 Identify retryable transaction errors and cause them to raise specific exception type](https://github.com/doctrine/dbal/issues/966) - [1011: DBAL-1076: #745 Added `doModifyLimitQuery` for the `SQLServer2012Platform`, which uses `OFFSET... FETCH` instead of `LIMIT`](https://github.com/doctrine/dbal/issues/1011) - [1045: DBAL-1106 DBAL-1106 #768 Improve schema introspection performance on Oracle](https://github.com/doctrine/dbal/issues/1045) - [1068: DBAL-1127 #781 Call `detectDatabasePlatform` only once](https://github.com/doctrine/dbal/issues/1068) - [1085: DBAL-1142 #796 Map `tsvector` type as `text` in PostgreSQL Platform](https://github.com/doctrine/dbal/issues/1085) - [1089: DBAL-1146 #798 Add `application_name` to PostgreSQL driver connection](https://github.com/doctrine/dbal/issues/1089) - [1103: DBAL-1161 #810 Remove redundant `Connection#connect()` calls](https://github.com/doctrine/dbal/issues/1103) - [1109: DBAL-1167 #814 allow `serverVersion` to be explicitly unspecified (`null`)](https://github.com/doctrine/dbal/issues/1109) - [1118: DBAL-1176 #819 Added support for column inline comments in SQLite](https://github.com/doctrine/dbal/issues/1118) - [1134: DBAL-1190 #829 Add PostgreSQL connection test with the new `charset` parameter](https://github.com/doctrine/dbal/issues/1134) - [1155: DBAL-1209 #841 Documentation and code styling fixes](https://github.com/doctrine/dbal/issues/1155) - [1166: DBAL-1219 DBAL-1219 #848 Add missing `IBMDB2` driver functional tests](https://github.com/doctrine/dbal/issues/1166) - [1199: DBAL-1249 #869 Make date and time types throw exception when invalid values are passed to `convertToDatabaseValue`](https://github.com/doctrine/dbal/issues/1199) - [1213: DBAL-1261 return callable result from `Doctrine\DBAL\Connection::transactional()`](https://github.com/doctrine/dbal/issues/1213) - [1238: DBAL-1284 #897 Various typo and wording fixes in the codebase](https://github.com/doctrine/dbal/issues/1238) - [1242: DBAL-1288 #899 add `requiresSQLCommentHint` in `DateIntervalType`](https://github.com/doctrine/dbal/issues/1242) - [1247: DBAL-1292 Drop PHP 5.3 support](https://github.com/doctrine/dbal/issues/1247) - [1248: DBAL-1293 Make date and time types throw exception when invalid values are passed to `convertToDatabaseValue`](https://github.com/doctrine/dbal/issues/1248) - [1249: DBAL-1294 #869 #902 cleanups and hardening of tests around date-related types](https://github.com/doctrine/dbal/issues/1249) - [2309: Remove useless ternary in the `DecimalType`](https://github.com/doctrine/dbal/pull/2309) thanks to @JHGitty - [2317: Add the `ReservedWordsCommand` `-l` or `--list` parameter to the usage hints](https://github.com/doctrine/dbal/pull/2317) thanks to @rquadling - [2349: Fluent methods in QueryBuilder are now documented as returning `self`](https://github.com/doctrine/dbal/pull/2349) thanks to @mrclay - [2363: Add test case scenario for `LIMIT`/`OFFSET` when selecting from a sub-`SELECT`](https://github.com/doctrine/dbal/pull/2363) thanks to @Deltachaos - [2419: Remove PHP 5.5 support](https://github.com/doctrine/dbal/pull/2419) thanks to @Ocramius - [2422: Map custom exceptions for the "no default value" (1364) error in the MySQL drivers](https://github.com/doctrine/dbal/pull/2422) thanks to @MorrisJobke - [2425: Explicitly use `CompositeExpression#count()` method rather than `count($this)`](https://github.com/doctrine/dbal/pull/2425) thanks to @Progdom - [2432: Removed nearly all `call_user_*` usages](https://github.com/doctrine/dbal/pull/2432) thanks to @kimhemsoe - [2437: Improve the phpdoc on `Connection`](https://github.com/doctrine/dbal/pull/2437) thanks to @mnapoli - [2485: Remove unused parameter from `ConversionException::conversionFailedSerialization()`](https://github.com/doctrine/dbal/pull/2485) thanks to @greg0ire - [2493: Reuse prepared statements in the SQL Server driver](https://github.com/doctrine/dbal/issues/2493) thanks to @morozov - [2494: Use the same statement resource for repeated execution of the same statement on SQL Server](https://github.com/doctrine/dbal/pull/2494) thanks to @morozov - [2495: Optimize and improve parameter conversion in OCI8Statement](https://github.com/doctrine/dbal/pull/2495) thanks to @morozov - [2547: Replacing spaces in the pgsql DSN string with semicolons for consistency with pdo_pgsql](https://github.com/doctrine/dbal/pull/2547) thanks to @Chrisissorry - [2603: DBAL-2594 Implicitly mark types as commented in all platforms](https://github.com/doctrine/dbal/pull/2603) thanks to @deeky666 - [2622: Remove dead code from `MasterSlaveConnection::connect()`](https://github.com/doctrine/dbal/pull/2622) thanks to @jnvsor - [2630: DBAL-2626 Add PHPUnit config for ContinuousPHP OracleDB testing](https://github.com/doctrine/dbal/pull/2630) thanks to @deeky666 - [2653: Merge MySQL 5.7.9 (GA) semantics into MySQL57Platform](https://github.com/doctrine/dbal/pull/2653) thanks to @deeky666 - [2657: Enhance phpdoc of `QueryBuilder::setParameter()`](https://github.com/doctrine/dbal/pull/2657) thanks to @UFOMelkor - [2658: Making the `DBALException` implement `Throwable`](https://github.com/doctrine/dbal/pull/2658) thanks to @svycka - [2704: Add error as well as exception handling to Mysqli drivers](https://github.com/doctrine/dbal/pull/2704) thanks to @develancer - [2724: Improve `Table#getColumns()` performance by reducing its runtime complexity](https://github.com/doctrine/dbal/pull/2724) thanks to @evgpisarchik - [2735: Mysqli is missing some driver connection options](https://github.com/doctrine/dbal/issues/2735) thanks to @leadboots5 - [2742: Use short array declarations in the `Driver` namespace](https://github.com/doctrine/dbal/pull/2742) thanks to @AlessandroMinoccheri - [2746: Using short array declarations in the `MasterSlaveConnection` namespace](https://github.com/doctrine/dbal/pull/2746) thanks to @AlessandroMinoccheri - [2768: Add all missing MariaDB keywords to the MySQL platform](https://github.com/doctrine/dbal/pull/2768) thanks to @roelvanduijnhoven - [2774: Use short array declarations in the `Query` namespace](https://github.com/doctrine/dbal/pull/2774) thanks to @AlessandroMinoccheri - [2776: Use short array declarations in the `Sharding` namespace](https://github.com/doctrine/dbal/pull/2776) thanks to @AlessandroMinoccheri - [2778: Use short array declaration inside the `Tools` namespace](https://github.com/doctrine/dbal/pull/2778) thanks to @AlessandroMinoccheri - [2786: Map error code 1429 to `ConnectionException` in the `AbstractMySQLDriver`](https://github.com/doctrine/dbal/pull/2786) thanks to @SpacePossum **Documentation Improvements:** - [761: Fixed typo in types documentation](https://github.com/doctrine/dbal/pull/761) thanks to @BenMorel - [834: Remove documentation for non-existing events from `Connection#rollBack()` docblock](https://github.com/doctrine/dbal/pull/834) thanks to @slider - [901: Update docs dependencies script and readme to target Ubuntu 14.04](https://github.com/doctrine/dbal/pull/901) thanks to @billschaller - [904: Fix `tearDown` of some functional test cases](https://github.com/doctrine/dbal/pull/904) thanks to @deeky666 - [907: Corrected MySQL collation support documentation](https://github.com/doctrine/dbal/pull/907) thanks to @mRoca - [909: Fix typo in transactions documentation](https://github.com/doctrine/dbal/pull/909) thanks to @xelan - [915: Correcting 2 anchors in the docs that don't exist anymore](https://github.com/doctrine/dbal/pull/915) thanks to @mikeSimonson - [1034: DBAL-1098 #761 Fixed typo in types documentation](https://github.com/doctrine/dbal/issues/1034) - [1245: DBAL-1290 #901 Update docs dependencies script and readme to target Ubuntu 14.04](https://github.com/doctrine/dbal/issues/1245) - [1257: DBAL-1300 #907 Corrected MySQL collation support documentation](https://github.com/doctrine/dbal/issues/1257) - [1260: DBAL-1303 #909 Fix typo in transactions documentation](https://github.com/doctrine/dbal/issues/1260) - [1275: DBAL-1317 #915 Correcting 2 anchors in the docs that don't exist anymore](https://github.com/doctrine/dbal/issues/1275) - [2271: Correct minor formatting glitches in the transactions documentation](https://github.com/doctrine/dbal/pull/2271) thanks to @jonpasquier - [2290: Document exceptions for retryable transactions](https://github.com/doctrine/dbal/issues/2290) thanks to @deeky666 - [2293: Fixed some broken links in the types documentation](https://github.com/doctrine/dbal/pull/2293) thanks to @jeanCarloMachado - [2322: Improve overall DBAL raised Events documentation](https://github.com/doctrine/dbal/pull/2322) thanks to @SenseException - [2382: Remove arbitrary line number from github link in the caching documentation](https://github.com/doctrine/dbal/pull/2382) thanks to @jacobhenke - [2453: Documentation for test suite runner references non-existing files](https://github.com/doctrine/dbal/issues/2453) thanks to @miholeus - [2454: #2453 Update test runner parameters in the documentation](https://github.com/doctrine/dbal/pull/2454) thanks to @miholeus - [2521: Reference global namespace classes via FQCN in the transactions documentation](https://github.com/doctrine/dbal/pull/2521) thanks to @frost-nzcr4 - [2599: Corrected styling around the `GUID` type in the types documentation](https://github.com/doctrine/dbal/pull/2599) thanks to @tolbon - [2623: Generic SQL Sharding Support - Documentation of the `wrapperClass` parameter is invalid](https://github.com/doctrine/dbal/issues/2623) thanks to @ivanbogomoloff - [2641: DBAL-2623 Fix Generic SQL Sharding Support documentation examples](https://github.com/doctrine/dbal/pull/2641) thanks to @deeky666 - [2664: Add oci8 persistent connection support to the configuration documentation](https://github.com/doctrine/dbal/pull/2664) thanks to @mathieubouchard - [2703: Correct documentation examples for the Doctrine\DBAL\Id\TableGenerator](https://github.com/doctrine/dbal/pull/2703) thanks to @JustBlackBird - [2736: Correcting references to `Driver\Connection` in the documentation](https://github.com/doctrine/dbal/pull/2736) thanks to @b0nd0 - [2740: Correct classes referenced in the `Driver` implementation details in the documentation](https://github.com/doctrine/dbal/pull/2740) thanks to @b0nd0 - [2760: Add documentation regarding transactional exceptions](https://github.com/doctrine/dbal/pull/2760) thanks to @dsantang - [2761: Fix documentation format regarding retryable exceptions](https://github.com/doctrine/dbal/pull/2761) thanks to @dsantang - [2770: Fix namespace separator in the exceptions in the transactional handling documentation](https://github.com/doctrine/dbal/pull/2770) thanks to @Tobion **Chore:** - [770: Moved `Doctrine\Tests` namespace to composer `autoload-dev`](https://github.com/doctrine/dbal/pull/770) thanks to @guilhermeblanco - [778: DBAL-1122 Cleanup PHPUnit test suite bootstrap](https://github.com/doctrine/dbal/pull/778) thanks to @deeky666 - [787: Add left-over console file to the mapped composer binaries](https://github.com/doctrine/dbal/pull/787) thanks to @t0xicCode - [825: Add postgresql 9.4 to travis builds](https://github.com/doctrine/dbal/pull/825) thanks to @billschaller - [830: `README.md` nicer badges, cleanup, 2.3 dropped](https://github.com/doctrine/dbal/pull/830) thanks to @TomasVotruba - [832: Fix test failures on Windows due to differing newlines](https://github.com/doctrine/dbal/pull/832) thanks to @billschaller - [837: Revert the addition of the wrong `bin` script to `composer.json`](https://github.com/doctrine/dbal/pull/837) thanks to @stof - [853: Remove HHVM-nightly builds](https://github.com/doctrine/dbal/pull/853) thanks to @stof - [876: Remove unused git submodules](https://github.com/doctrine/dbal/pull/876) thanks to @Koc - [880: Drop PHP 5.3 from Travis-CI build matrix](https://github.com/doctrine/dbal/pull/880) thanks to @billschaller - [884: Travis-CI - Switch to container-based infrastructure](https://github.com/doctrine/dbal/pull/884) thanks to @TomasVotruba - [888: Allow testing against `doctrine/common` `2.6`](https://github.com/doctrine/dbal/pull/888) thanks to @nicolas-grekas - [911: Fix test suite on windows: skip on missing extensions, correct path flags](https://github.com/doctrine/dbal/pull/911) thanks to @Tobion - [917: Remove GIT submodule entries and use `autoload-dev` for the test suite](https://github.com/doctrine/dbal/pull/917) thanks to @Tobion - [992: DBAL-1059: #735 Bump branch alias to version `2.6.0-DEV`](https://github.com/doctrine/dbal/issues/992) - [1006: DBAL-1071: #740 Add `2.5` build status to `README.md`](https://github.com/doctrine/dbal/issues/1006) - [1031: DBAL-1094: #758 Cleanup travis database creation](https://github.com/doctrine/dbal/issues/1031) - [1050: DBAL-1110 #770 Moved `Doctrine\Tests` namespace to composer `autoload-dev`](https://github.com/doctrine/dbal/issues/1050) - [1063: DBAL-1122 #778 Cleanup PHPUnit test suite bootstrapper](https://github.com/doctrine/dbal/issues/1063) - [1064: DBAL-1123 #779 Initialize database schema only once per PHPUnit run](https://github.com/doctrine/dbal/issues/1064) - [1075: DBAL-1133 #787 Add left-over console file to the mapped composer binaries](https://github.com/doctrine/dbal/issues/1075) - [1128: DBAL-1185 #825 Add postgresql 9.4 to travis builds](https://github.com/doctrine/dbal/issues/1128) - [1135: DBAL-1191 #830 `README.md` nicer badges, cleanup, 2.3 dropped](https://github.com/doctrine/dbal/issues/1135) - [1143: DBAL-1199 #837 Revert the addition of the wrong `bin` script to `composer.json`](https://github.com/doctrine/dbal/issues/1143) - [1174: DBAL-1226 #853 Remove HHVM-nightly builds](https://github.com/doctrine/dbal/issues/1174) - [1209: DBAL-1258 #876 Remove unused git submodules](https://github.com/doctrine/dbal/issues/1209) - [1215: DBAL-1263 #880 Drop PHP 5.3 from Travis-CI build matrix](https://github.com/doctrine/dbal/issues/1215) - [1219: DBAL-1267 #884 Travis-CI - Switch to container-based infrastructure](https://github.com/doctrine/dbal/issues/1219) - [1226: DBAL-1273 #888 Allow testing against `doctrine/common` `2.6`](https://github.com/doctrine/dbal/issues/1226) - [1252: DBAL-1297 #904 Fix `tearDown` of some functional test cases](https://github.com/doctrine/dbal/issues/1252) - [1277: DBAL-1319 #917 Remove GIT submodule entries and use `autoload-dev` for the test suite](https://github.com/doctrine/dbal/issues/1277) - [1282: DBAL-1323 Remove submodule entries and improve test setup](https://github.com/doctrine/dbal/issues/1282) - [2274: Removed `2.4.x` build status from `README.md`](https://github.com/doctrine/dbal/pull/2274) thanks to @Ocramius - [2278: Allow PHP 7 failure on Travis-CI](https://github.com/doctrine/dbal/pull/2278) thanks to @deeky666 - [2282: Allow PHP 7 + `pdo_pgsql` failures on Travis-CI again](https://github.com/doctrine/dbal/pull/2282) thanks to @deeky666 - [2340: Fix SQL queries numbering in test failure output](https://github.com/doctrine/dbal/pull/2340) thanks to @guilliamxavier - [2364: Display further contextual information on failed functional tests](https://github.com/doctrine/dbal/pull/2364) thanks to @Deltachaos - [2435: Replace `getMock()` with `createMock()`](https://github.com/doctrine/dbal/pull/2435) thanks to @deeky666 - [2488: Blacklist buggy phpunit-mock-objects v3.2.5 from the dev dependencies](https://github.com/doctrine/dbal/pull/2488) thanks to @greg0ire - [2480: Exclude buggy phpunit-mock-objects v3.2.4 from the allowed dev dependencies](https://github.com/doctrine/dbal/pull/2480) thanks to @greg0ire - [2550: Bump HHVM version to 3.15.2+](https://github.com/doctrine/dbal/pull/2550) thanks to @photodude - [2564: Add PostgreSQL 9.6 to the build pipeline](https://github.com/doctrine/dbal/pull/2564) thanks to @photodude - [2590: Remove support for PHP 5.x](https://github.com/doctrine/dbal/pull/2590) thanks to @railto - [2607: DBAL-2565 Remove fragile test that cannot be abstracted across all PostgreSQL versions](https://github.com/doctrine/dbal/pull/2607) thanks to @deeky666 - [2626: Test OracleDB abstractions in a continuous integration environment](https://github.com/doctrine/dbal/issues/2626) thanks to @photodude - [2629: HHVM testing needs to be in PHP 7 mode](https://github.com/doctrine/dbal/pull/2629) thanks to @photodude - [2633: Run SQL Azure tests conditionally](https://github.com/doctrine/dbal/pull/2633) thanks to @deeky666 - [2655: Simplify Travis-CI build matrix](https://github.com/doctrine/dbal/pull/2655) thanks to @photodude - [2660: Revert PgSQL and MariaDB Travis-CI build matrix simplification](https://github.com/doctrine/dbal/pull/2660) thanks to @photodude - [2732: Update `docs/en/_theme` submodule references](https://github.com/doctrine/dbal/pull/2732) thanks to @eibt - [2750: Require PHP 7.1](https://github.com/doctrine/dbal/pull/2750) thanks to @lcobucci - [2755: Ensure compatibility with different MySQL versions](https://github.com/doctrine/dbal/issues/2755) thanks to @lcobucci - [2756: Add Scrutinizer-CI to the build pipeline](https://github.com/doctrine/dbal/pull/2756) thanks to @malukenho - [2757: Add mysql version 5.6 and 5.7 to Travis-CI](https://github.com/doctrine/dbal/pull/2757) thanks to @epinxteren - [2758: Generate code coverage via PHPUnit, pass it to Scrutinizer-CI](https://github.com/doctrine/dbal/pull/2758) thanks to @malukenho - [2764: Add mysql versions 5.6 and 5.7 to Travis-CI](https://github.com/doctrine/dbal/pull/2764) thanks to @zghosts
    498760e5 · Preparing 2.6.0 release ·
  • v2.5.13   This release fixes a number of issues around the PostgreSQL, OracleDB and MySQL platforms database introspection. Connection DSN generation fixes were applied for the SQLAnywhere driver. Corrections on how record fetching mode have been applied to the DB2 driver. Fixes were applied to the handling of cursors and result caching with pdo_sqlsrv. Total issues resolved: **16** - [889: #1234 On OracleDB, a "Table has no primary key" error is raised when the index and the constraint name don't match](https://github.com/doctrine/dbal/pull/889) thanks to @nitso - [1131: DBAL-1188: OracleDB: List table columns are returned in the wrong order](https://github.com/doctrine/dbal/issues/1131) thanks to @doctrinebot - [1234: DBAL-1280: "Table has no primary key" when generating entities for Oracle tables](https://github.com/doctrine/dbal/issues/1234) thanks to @doctrinebot - [2405: SQLAnywhere corrections for DSN generation and persistent connections](https://github.com/doctrine/dbal/pull/2405) thanks to @andipohl - [2647: DBAL-2644: Fix `fetchAll(PDO::FETCH_COLUMN)` on DB2 with Portability wrapper](https://github.com/doctrine/dbal/pull/2647) thanks to @morozov - [2650: Fix result cache and PDO connection test on `pdo_sqlsrv`](https://github.com/doctrine/dbal/pull/2650) thanks to @deeky666 - [2651: Fix closing statement cursor on `pdo_sqlsrv` if not executed yet](https://github.com/doctrine/dbal/pull/2651) thanks to @deeky666 - [2654: Make functional sqlanywhere driver tests conditional](https://github.com/doctrine/dbal/pull/2654) thanks to @deeky666 - [2670: Slash before `_` in postgresql `LIKE` condition with any `pg_` prefix to prevent confusion with the wildcard character](https://github.com/doctrine/dbal/pull/2670) thanks to @blackbjorn - [2673: #1131 On OracleDB, `getListTableColumnsSQL` returns columns ordered by position instead of by name](https://github.com/doctrine/dbal/pull/2673) thanks to @mdwheele - [2686: #889 On OracleDB, primary key is considered missing if `index_name != constraint_name`](https://github.com/doctrine/dbal/pull/2686) thanks to @SkydiveMarius - [2696: MySQL: Fix primary key alteration when adding new columns](https://github.com/doctrine/dbal/pull/2696) thanks to @drieschel - [2714: `Sequence::isAutoIncrementsFor()` is not normalising PK column, and is unable to distinguish different casing](https://github.com/doctrine/dbal/issues/2714) thanks to @dhensby - [2715: #2714 `Sequence::isAutoIncrementsFor()` is now case-insensitive](https://github.com/doctrine/dbal/pull/2715) thanks to @dhensby - [2720: `SQLParserUtils::getPlaceholderPositions()` fails if there are quoted strings containing only backslashes](https://github.com/doctrine/dbal/pull/2720) thanks to @mondrake - [2730: Corrected duplicate `COMMENT` part in DDL statement](https://github.com/doctrine/dbal/pull/2730) thanks to @mondrake
    729340d8 · Preparing 2.5.13 release ·
  • v2.5.12   This release fixes some regressions introduced in OracleDB support in 2.5.11. Specifically, closing a cursor caused an `ORA-01002` exception to be raised in some scenarios. Further fixes include: * support for dropping "in use" databases in OracleDB and SQL Server (must disconnect first) * corrections in how the last insert ID is fetched on SQL Server * re-use of parameters bound to an sqlsrv statement via `bindValue()` Total issues resolved: **8** - [2634: Fix fetching last insert ID for sequences on SQL Server](https://github.com/doctrine/dbal/pull/2634) - [2635: Fix date diff test](https://github.com/doctrine/dbal/pull/2635) - [2636: Fix dropping in use databases on SQL Server and Oracle](https://github.com/doctrine/dbal/pull/2636) - [2637: ORA-01002: fetch out of sequence](https://github.com/doctrine/dbal/issues/2637) - [2638: Tear down active transactions in functional test cases](https://github.com/doctrine/dbal/pull/2638) - [2639: Update Version.php](https://github.com/doctrine/dbal/pull/2639) - [2645: [DBAL-2637\ Fix closing prepared statement cursor with LOB column on Oracle](https://github.com/doctrine/dbal/pull/2645) - [2646: Fix the reuse of a statement on sqlsrv with explicit bindValue()](https://github.com/doctrine/dbal/pull/2646)