Bot releases are visible (Hide)
Published by morozov almost 5 years ago
This release fixes regressions introduced in release v2.10.0, implements some CI/testing improvements and introduces updates in the documentation.
Regressions:
CI improvements and maintenance:
Test suite improvements:
Documentation updates:
3793: Remove superfluous Configuration instance thanks to @mhitza
3739: Update deprecation messages to refer to DBAL thanks to @alcaeus
3723: Fix annotations thanks to @enumag and @Pnoexz
Published by morozov almost 5 years ago
This is a minor release of Doctrine DBAL that aggregates over 70 fixes and improvements developed by 25 contributors over the last year.
This release focuses on internal code quality improvement and deprecating the functionality identified for removal in the next major release.
Note that PHP 7.2 is now the minimum supported PHP version.
This release introduces a minor BC break. Default column values are no longer handled as SQL expressions. They are converted to SQL literals (e.g. escaped). The previous behavior was not portable and was never by design.
Clients must now specify default values in their initial form, not in the form of an SQL literal (e.g. escaped).
Before:
$column->setDefault('Foo\\\\Bar\\\\Baz');
After:
$column->setDefault('Foo\\Bar\\Baz');
getDriver()
, getDatabasePlatform()
and getSchemaManager()
methods of the ConnectionEventArgs
class has been deprecated.getDatabasePlatform()
method of the SchemaColumnDefinitionEventArgs
class has been deprecated.getHost()
, getPort()
, getUsername()
and getPassword()
methods of the Connection
class has been deprecated.SchemaAlterTableAddColumnEventArgs::addSql()
and the same method in other SchemaEventArgs
-based classes is deprecated.AbstractSchemaManager::tablesExist()
with a string argument is deprecated.OracleSchemaManager::createDatabase()
without an argument or by passing NULL
is deprecated.AbstractSchemaManager::_getPortableFunctionsList()
,AbstractSchemaManager::_getPortableFunctionDefinition()
,OracleSchemaManager::_getPortableFunctionDefinition()
,SqliteSchemaManager::_getPortableTableIndexDefinition()
.NULL
to indicate empty $username
or $password
when calling Doctrine\DBAL\Driver::connect()
is deprecated.Doctrine\DBAL\Platforms::_getAlterTableIndexForeignKeySQL()
has been deprecated as no longer used.Doctrine\DBAL\Driver\OCI8\OCI8Statement::$_PARAM
has been deprecated as not used.Doctrine\DBAL\Driver::getName()
is deprecated.PDO
instance is deprecated.Type::*
constants are deprecated.Doctrine\DBAL\Driver\SQLSrv\SQLSrvStatement::LAST_INSERT_ID_SQL
constant has been deprecated.Doctrine\DBAL\SQLParserUtils
have been deprecated.Doctrine\DBAL\Logging\LoggerChain::addLogger
method has been deprecated.Please see the details in the UPGRADE.md documentation.
MySQL-related changes:
MySqlPlatform::getListTableIndexesSQL()
fields thanks to @BenMorelALTER TABLE
statement for creation of an AUTO INCREMENT
column as new PRIMARY KEY
thanks to @arnegroskurthDriver level changes:
Schema management:
Types improvements:
Compatibility with Symfony 5:
Query Builder:
DISTINCT
clause thanks to @bingo-softLogging:
Code quality improvements:
Test suite improvements:
Documentation improvements:
CI improvements:
Deprecations:
Published by morozov almost 5 years ago
This release fixes regressions introduced in previous releases and other bugs.
Regressions
3686: Fixed query result caching when FetchMode::COLUMN
is used thanks to @morozov and @Junker
3456: Compare type class when comparing columns. thanks to @garret-gunter and @cs278
Other bugs
3679: fix begin trasaction after reconnect thanks to @kalinin-k-a
3547: Default column expressions do not work on SQL Server thanks to @morozov
3420: Index length can be a string
: ensure that it is an integer when read by the MySqlSchemaManager
thanks to @leofeyer
CI improvements and maintenance
3702: Updated SQL Server extensions to fix build failures on PHP 7.4 thanks to @morozov
3662: Marked connection exception test incomplete on MySQL 8 thanks to @morozov
3622: Switched from ibmcom/db2express-c to ibmcom/db2 thanks to @morozov
3465: Replaced MySQL 5.7 installed from a PPA with an official Docker image thanks to @morozov
3454: CI: Test against PHP 7.4snapshot instead of nightly (8.0) thanks to @Majkl578
3452: Fixed AppVeyor build configuration and the issue on SQL Server thanks to @morozov and @Majkl578
3447: Replaced custom docker image for PostgreSQL with the official one thanks to @morozov
3407: CI: Test against MySQL 8.0 on Travis thanks to @morozov
PHP 7.4 support
Published by morozov almost 6 years ago
This release fixes regressions introduced in v2.9.1.
MySQL, Schema Introspection:
MySQL, Schema Comparison:
Published by morozov almost 6 years ago
This release fixes regressions introduced in v2.9.0 and issues specific to the SQL Anywhere platform.
MySQL, Schema Introspection:
SQL Anywhere:
Schema Comparison:
Connections:
Cache:
Documentation:
Published by morozov almost 6 years ago
This release backports the bug fixes implemented in newer DBAL versions.
PostgreSQL:
Oracle:
SQL Anywhere:
Continuous Integration:
Published by morozov almost 6 years ago
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.
This doesn't contain any intentional Backwards Compatibility (BC) breaks.
NULL
to specify the absence of an offset in LIMIT
ed queries is deprecated. Use 0
instead.Type
. These values are not used by the library and will be removed.Type
objects.Statement::fetchColumn()
with an invalid column index is deprecated.dbal:import
CLI command is deprecated. Please use other database client applications for import.Please see details in the UPGRADE.md documentation.
mysqli
) driver.Total issues resolved: 45
Deprecations:
New Features:
Bug Fixes:
Improvements:
Documentation Improvements:
Code Quality Improvements:
Continuous Integration Improvements:
Published by morozov over 6 years ago
This release backports the bug fixes implemented in newer DBAL versions.
Total issues resolved: 7
Platforms:
Schema Comparison:
Performance:
Documentation:
Published by morozov over 6 years ago
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
Please see details in the UPGRADE.md documentation.
Deprecations
New features
AbstractPlatform::getDummySelectSQL()
.Improvements and Fixes
sqlsrv
and pdo_sqlsrv
.AUTOINCREMENT
ed primary keys in SQLite.Total issues resolved: 33
Deprecations:
New Features:
Bug Fixes:
Improvements:
Documentation Improvements:
Code Quality Improvements:
Continuous Integration Improvements:
Dependencies
Published by morozov over 6 years ago
This release fixes unintentional BC breaks:
Column
object prevented subsequent options from being applied.v2.7.0
were reported as invalid.Total issues resolved: 10
Backwards Compatibility Fixes:
Documentation Improvements:
Continuous Integration Improvements:
Published by morozov over 6 years ago
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
PDO::
constants in calls to DBAL API is deprecated.\PDOStatement
methods on a \Doctrine\DBAL\Driver\PDOStatement
instance are deprecated.Please see details in the UPGRADE.md documentation.
New features
This release introduces the following major additions:
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:
A detailed list of fixes can be found below.
Total issues resolved: 81
BC Breaks:
Deprecations:
New Features:
Bug Fixes:
Improvements:
Documentation Improvements:
SQLAzureShardManager
and PoolingShardManager
thanks to @tolbonQueryBuilder#set()
thanks to @DormilichQueryBuilder#set()
documentation, which was showing wrong password hashing and value binding practices (combo!) thanks to @DormilichDoctrine\DBAL\Schema\Column#setOptions()
thanks to @greg0ireContinuous Integration Improvements:
Code Style Improvements:
Chore:
Published by lcobucci almost 7 years ago
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
ssl_key
and ssl_cert
to use ssl_ca
thanks to @gauauuPublished by Ocramius about 7 years ago
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
Published by Ocramius about 7 years ago
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
Published by Ocramius about 7 years ago
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 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:
Deprecations
json_array
type is now to be considered deprecatedDoctrine\DBAL\Schema\Table#renameColumn()
API is deprecatedDoctrine\DBAL\Connection#getDatabasePlatform()
mayNew features
This release introduces a few major additions:
JsonType
that maps to JSON column types when supportedDateIntervalType
DateTimeImmutableType
DateTimeTzImmutableType
DateImmutableType
TimeImmutableType
PDO::FETCH_OBJ
emulation for mysqli
and oci8
pdo_pgsql
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:
fetch()
and fetchAll()
, ensuring compatibility with the PDOStatement
signature thanks to @phansysResultStatement#fetchAll()
must define 3 arguments in order to be compatible with PDOStatement#fetchAll()
thanks to @phansysDeprecations:
Table#renameColumn()
and mark it as deprecated thanks to @aivusTable#renameColumn()
and mark it as deprecatedjson_array
type internally thanks to @lcobucciNew Features:
application_name
to PostgreSQL driver connection thanks to @davividalserverVersion
to be explicitly unspecified (null
) thanks to @BreiteSeiteDateInterval
type thanks to @vbartuseviciusjson
type that doesn't have the flaws of json_array
thanks to @Taluusslrootcert
connection option to the pdo_pgsql
driver thanks to @peterjmitMysqliStatement
to emulate PDO::FETCH_OBJ
behaviorDateInterval
typesslrootcert
connection option to the pdo_pgsql
driverDateTimeImmutable
default_dbname
to pdo_pgsql driver, used to override the default database thanks to @kimhemsoeIS NULL
checking in Connection#delete()
and Connection#update()
generated criteria, allowing for null
column searches thanks to @jnvsorBug Fixes:
DISTINCT
queries with LIMIT
and no ORDER
on SQLServer 2012 thanks to @billschallerSqlConsoleCommand
should show results of queries containing RETURNING
thanks to @bountinDBALException
message thanks to @chadrienDocrine\DBAL\Exception\DriverException
with nested drivers thanks to @mathrocConnection#rollBack()
method - case sensitivity thanks to @rawkodeSchemaTool
does not generate DDL for MySQL unsigned float
SchemaTool
, which does not generate DDL for MySQL unsigned float
DISTINCT
queries with LIMIT
and no ORDER
on SQLServer 2012Connection#rollBack()
docblockConnection#rollBack()
method - case sensitivityModifyLimitQueryTest::testModifyLimitQuerySubSelect()
fails on OracleDB thanks to @DeepDiver1975SchemaManagerFunctionalTestCase::testDropsDatabaseWithActiveConnections()
on OracleDB thanks to @DeepDiver1975Connection#rollBack()
method thanks to @kadalaDateIntervalType
supports conversion of invalid values thanks to @MisatoTremorDateInterval
database value truncation (string overflow) thanks to @vbartuseviciusLIMIT
for MS SQL Server thanks to @morozovModifyLimitQueryTest
, which may otherwise fail depending on database settings and provisioning thanks to @Deltachaos-1
as (-1)
for postgres 9.4 thanks to @DeepDiver1975COMMENT
to custom types thanks to @fkrauthanassertValidIdentifier()
is too restrictive against OracleDB schema object naming rules thanks to @IMP3ter.
symbol in sequence names thanks to @deeky666CREATE
/DROP DATABASE
support on SQL Server thanks to @deeky666"application_name"
connection parameter tests for PostgreSQL < 9.2 thanks to @deeky666exec()
method to not execute queries via prepared statements thanks to @deeky666testListTableColumns
checked keys thanks to @mdwheeleDB2SchemaManager#listTableNames()
does not call filterAssetNames
thanks to @asgrimConnection#quote()
thanks to @lolli42Connection#quote()
parameter hinting, incompatible with PDO::PARAM_*
constants thanks to @helsnerConnection#quote()
parameter hinting, now compatible with PDO::PARAM_*
constants thanks to @helsnerImprovements:
detectDatabasePlatform
only once thanks to @rosierConnection#connect()
calls thanks to @rosiercharset
parameter thanks to @billschallerIBMDB2
driver functional tests thanks to @deeky666convertToDatabaseValue
thanks to @billschallerrequiresSQLCommentHint
in DateIntervalType
thanks to @vbartuseviciusdoModifyLimitQuery
for the SQLServer2012Platform
, which uses OFFSET... FETCH
instead of LIMIT
detectDatabasePlatform
only oncetsvector
type as text
in PostgreSQL Platformapplication_name
to PostgreSQL driver connectionConnection#connect()
callsserverVersion
to be explicitly unspecified (null
)charset
parameterIBMDB2
driver functional testsconvertToDatabaseValue
Doctrine\DBAL\Connection::transactional()
requiresSQLCommentHint
in DateIntervalType
convertToDatabaseValue
DecimalType
thanks to @JHGittyReservedWordsCommand
-l
or --list
parameter to the usage hints thanks to @rquadlingself
thanks to @mrclayLIMIT
/OFFSET
when selecting from a sub-SELECT
thanks to @DeltachaosCompositeExpression#count()
method rather than count($this)
thanks to @Progdomcall_user_*
usages thanks to @kimhemsoeConnection
thanks to @mnapoliConversionException::conversionFailedSerialization()
thanks to @greg0ireMasterSlaveConnection::connect()
thanks to @jnvsorQueryBuilder::setParameter()
thanks to @UFOMelkorDBALException
implement Throwable
thanks to @svyckaTable#getColumns()
performance by reducing its runtime complexity thanks to @evgpisarchikDriver
namespace thanks to @AlessandroMinoccheriMasterSlaveConnection
namespace thanks to @AlessandroMinoccheriQuery
namespace thanks to @AlessandroMinoccheriSharding
namespace thanks to @AlessandroMinoccheriTools
namespace thanks to @AlessandroMinoccheriConnectionException
in the AbstractMySQLDriver
thanks to @SpacePossumDocumentation Improvements:
Connection#rollBack()
docblock thanks to @slidertearDown
of some functional test cases thanks to @deeky666GUID
type in the types documentation thanks to @tolbonwrapperClass
parameter is invalid thanks to @ivanbogomoloffDriver\Connection
in the documentation thanks to @b0nd0Driver
implementation details in the documentation thanks to @b0nd0Chore:
Doctrine\Tests
namespace to composer autoload-dev
thanks to @guilhermeblancoREADME.md
nicer badges, cleanup, 2.3 dropped thanks to @TomasVotrubabin
script to composer.json
thanks to @stofdoctrine/common
2.6
thanks to @nicolas-grekasautoload-dev
for the test suite thanks to @Tobion2.6.0-DEV
2.5
build status to README.md
Doctrine\Tests
namespace to composer autoload-dev
README.md
nicer badges, cleanup, 2.3 droppedbin
script to composer.json
doctrine/common
2.6
tearDown
of some functional test casesautoload-dev
for the test suite2.4.x
build status from README.md
thanks to @Ocramiuspdo_pgsql
failures on Travis-CI again thanks to @deeky666getMock()
with createMock()
thanks to @deeky666docs/en/_theme
submodule references thanks to @eibtPublished by Ocramius about 7 years ago
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
fetchAll(PDO::FETCH_COLUMN)
on DB2 with Portability wrapper thanks to @morozovpdo_sqlsrv
thanks to @deeky666pdo_sqlsrv
if not executed yet thanks to @deeky666_
in postgresql LIKE
condition with any pg_
prefix to prevent confusion with the wildcard character thanks to @blackbjorngetListTableColumnsSQL
returns columns ordered by position instead of by name thanks to @mdwheeleindex_name != constraint_name
thanks to @SkydiveMariusSequence::isAutoIncrementsFor()
is not normalising PK column, and is unable to distinguish different casing thanks to @dhensbySequence::isAutoIncrementsFor()
is now case-insensitive thanks to @dhensbySQLParserUtils::getPlaceholderPositions()
fails if there are quoted strings containing only backslashes thanks to @mondrakeCOMMENT
part in DDL statement thanks to @mondrakePublished by Ocramius over 7 years ago
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:
bindValue()
Total issues resolved: 8
Published by Ocramius over 7 years ago
This release fixes a number of inconsistencies around prepared statements
when closeCursor()
is called, or when a prepared statement is re-used
multiple times.
Total issues resolved: 5
Published by Ocramius over 7 years ago
This release fixes:
date
and datetimetz
OracleDB type introspection: these two typesdatetime
Total issues resolved: 4
Published by Ocramius over 7 years ago
This release fixes an issue with type information passed to Connection#update()
,
which was incorrectly handled if the updated columns and the identifier columns
had equivalent keys.
Also, the generated current date and time SQL expressions for SQL Server were fixed.
Total issues resolved: 4