Release 2.11.0
Release 2.11.0
This release focuses on deprecating the functionality identified for removal in the next major release and adds a few improvements.
Changes in fetching data from prepared statements
The previous API was inherited from PDO and allowed to specify the fetch mode by passing ones of the FetchMode
constants to the fetch*()
methods of the Statement
interface. Now, there is a dedicated method for each of the modes.
Added ASCII parameter binding
For those database platforms that support columns of the ASCII character set (currently, SQL Server), it is now possible to bind the corresponding prepared statement parameters using the ASCII
parameter type and avoid unnecessary value conversion.
Note that PHP 7.3 is now the minimum supported PHP version.
- Total issues resolved: 7
- Total pull requests resolved: 55
- Total contributors: 8
Deprecations
- 4253: Deprecate DBAL\DBALException in favor of DBAL\Exception thanks to @morozov
- 4230: Deprecate the functionality of dropping client connections when dropping a database thanks to @morozov
- 4229: Deprecate more AbstractPlatform methods thanks to @morozov
- 4213: Deprecate the Synchronizer package thanks to @morozov
- 4175: Additional deprecation note for PrimaryReplicaConnection::query() thanks to @morozov
- 4165: Deprecated usage of wrapper components as implementations of driver-level interfaces thanks to @morozov
- 4163: Deprecate duplicate and ambiguous wrapper connection methods thanks to @morozov
- 4144: Deprecate classes in Driver\PDO* namespaces thanks to @morozov
- 4139: Mark connection constructors internal thanks to @morozov
- 4137: Deprecate driver exception conversion APIs thanks to @morozov
- 4134: Deprecate some DBALException factory methods thanks to @morozov
- 4133: Fix more issues introduced by the deprecation of driver classes thanks to @morozov
- 4132: Deprecate AbstractPlatform::fixSchemaElementName() thanks to @morozov
- 4131: Restore the PortWithoutHost exception parent class thanks to @morozov
- 4118: Deprecate ExceptionConverterDriver thanks to @morozov
- 4117: Fixes for the recently introduced driver-level deprecations thanks to @morozov
- 4114: Deprecate ServerInfoAwareConnection#requiresQueryForServerVersion() as an implementation detail thanks to @morozov
- 4112: Deprecate DriverException::getErrorCode() thanks to @morozov
- 4110: Mark non-interface OCI8 driver methods internal thanks to @morozov
- 4100: Deprecate inconsistently and ambiguously named driver-level classes thanks to @morozov
- 4086: Mark Connection::getParams() internal thanks to @morozov
- 4068: Deprecate Driver::getDatabase() thanks to @morozov
- 4061: Deprecated platform-specific portability mode constants thanks to @morozov
- 4054: [GH-4052] Deprecate MasterSlaveConnection and rename to PrimaryReplicaConnection thanks to @beberlei and @albe
- 4049: Replace forward-compatible ResultStatement interfaces with Result thanks to @morozov
- 4020: Deprecated Connection::project(), Statement::errorCode() and errorInfo() thanks to @morozov
- 4017: Improve help of dbal:run-sql command thanks to @ostrolucky
- 3935: Deprecate EchoSQLLogger thanks to @morozov
- 3905: Deprecate the usage of the legacy platforms and drivers thanks to @morozov
- 3864: CompositeExpression and()/or() factory methods thanks to @BenMorel
- 3861: Deprecated the usage of the Version class thanks to @morozov
- 3853: Deprecate calling QueryBuilder methods with an array argument thanks to @BenMorel and @morozov
- 3851: Rename andX() / orX() methods thanks to @BenMorel
- 3850: Prepare CompositeExpression for immutability thanks to @BenMorel
Improvements in Prepared Statements
- 4274: Support ASCII parameter binding thanks to @gjdanis
- 4048: Make caching layer not rely on closeCursor() thanks to @morozov
- 4037: Introduce Statement::fetchFirstColumn() thanks to @morozov
- 4034: Additional changes based on the discussion in #4007 thanks to @morozov
- 4019: Deprecated the concept of the fetch mode thanks to @morozov
Driver Improvements
- 4085: The IBM DB2 driver Exception class must implement the DriverException interface thanks to @morozov
Improvements in CLI Tools
Improvements in QueryBuilder
Error Handling Improvements
- 4145: Add TypeRegistry constructor thanks to @morozov
Static Analysis Improvements
- 4123: Remove the no longer needed error suppressions thanks to @morozov
- 4092: Remove Connection::$isConnected thanks to @morozov
Other Changes
- 4271: Add explanation about implicit indexes thanks to @greg0ire
- 4251: Setup automatic release workflow thanks to @greg0ire
- 4215: Remove test group configuration leftovers thanks to @morozov
- 4201: Update PHPUnit to 9.3 thanks to @morozov
- 4196: The test suite uses the deprecated at() matcher thanks to @morozov
- 4080: Update PHPUnit to 9.2 thanks to @morozov
- 4079: Forward compatibility with PHPUnit 9.3 thanks to @morozov
- 4078: Bump PHP requirement to 7.3 as of DBAL 2.11.0 thanks to @morozov
- 4050: Update doctrine/coding-standard to 8.0 thanks to @morozov
- 3924: Actualize the content of the .gitattributes file thanks to @morozov
- 3923: Removed performance tests thanks to @morozov