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

This tag has no release notes.