Release 4.0.0-beta1
4.0.0-beta1
- Total issues resolved: 31
- Total pull requests resolved: 198
- Total contributors: 18
BC Break,QueryBuilder
BC Break,Connecting,Events,Schema Introspection,Schema Management,Transactions
Error Handling
BC Break,Schema Comparison
- 5775: Remove Comparator::diffTable() thanks to @morozov
- 5683: Remove TableDiff::$name and getName() thanks to @morozov
- 5677: Remove support for renaming tables via TableDiff thanks to @morozov
- 5676: Remove SchemaDiff::$fromSchema thanks to @morozov
- 5649: Remove property-based schema comparison APIs thanks to @morozov
- 5647: Remove ColumnDiff::$oldColumnName and ::getOldColumnName() thanks to @morozov
- 4786: Require the original column to be set on the column diff thanks to @morozov
BC Break,Schema Comparison,Schema Management
- 5774: Remove SchemaDiff::toSql() and SchemaDiff::toSaveSql() thanks to @morozov
- 5763: Remove handling orphaned foreign keys thanks to @morozov
BC Break,Schema Management
- 5769: Remove the APIs deprecated in DBAL 3.x thanks to @morozov
- 5464: Make AbstractSchemaManager::_getPortableTableForeignKeyDefinition() abstract thanks to @morozov
- 5456: Non-public API cleanup in AbstractSchemaManager thanks to @morozov
- 5441: Remove AbstractSchemaManager::getDatabasePlatform() thanks to @morozov
Improvement,Schema Comparison
Schema Comparison
- 5767: Declare internal properties of SchemaDiff as private thanks to @morozov
- 5753: Declare internal properties of TableDiff as private thanks to @morozov
- 5684: Mark ColumnDiff properties as private and read-only thanks to @morozov
- 5652: Make internal Comparator methods protected thanks to @morozov
BC Break,SQLite
BC Break,Drivers,SQLite,pdo_sqlite
BC Break,Error Handling,Improvement
- 5735: Convert Doctrine\DBAL\Schema\SchemaException to an interface thanks to @morozov
- 5726: Convert Doctrine\DBAL\Exception to an interface thanks to @morozov
- 3124: Split DBALException into smaller specific exceptions, consider dropping "Exception" suffixes thanks to @Majkl578
BC Break,Foreign Keys,Primary Keys,Schema Management
- 5733: Remove Table methods thanks to @morozov
BC Break,Error Handling,Schema Management
Error Handling,Improvement
- 5727: Clarify semantics of logic exceptions thanks to @morozov
- 3536: Improve consistency of exception message formatting. thanks to @jwage
Error Handling,Schema Definition
BC Break
- 5724: Removing deprecated
isFullfilledBy()
method thanks to @nexxai - 5337: Remove the
doctrine-dbal
binary thanks to @derrabus - 5255: Drop support for collate option thanks to @greg0ire
- 5067: Remove Platform API about commented types thanks to @greg0ire
BC Break,Configuration,Connections,PostgreSQL
SQLite,Schema Comparison,Schema Management
- 5710: Remove property-based false-positive diff workaround from SQLite schema manager thanks to @morozov
BC Break,Configuration,Connections,Platform Detection
BC Break,Configuration,Connections
- 5704: Remove driver name aliases thanks to @morozov
- 5703: Remove platform parameter of wrapper Connection thanks to @morozov
Error Handling,PHP,PostgreSQL
BC Break,Platforms,SQL Server
Foreign Keys,MySQL,Schema Introspection
BC Break,Foreign Keys,MySQL,Schema Management
BC Break,Default Values,Improvement,SQL Server,Schema Management
BC Break,Columns
BC Break,Schema Introspection
- 5648: Remove AbstractSchemaManager::createSchema() thanks to @morozov
- 5605: Remove AbstractSchemaManager::listTableDetails() thanks to @morozov
- 5289: Remove $database from AbstractSchemaManager::list*() methods thanks to @morozov
- 5280: Declare abstract AbstractSchemaManager methods as such thanks to @morozov
PostgreSQL,Schema Management
- 5641: Do not use ColumnDiff::$changedProperties in PostgreSQLPlatform::getAlterTableSQL() thanks to @morozov
SQL Server,Schema Management
- 5640: Do not use ColumnDiff::$changedProperties in SQLServerPlatform::getAlterTableSQL() thanks to @morozov
BC Break,Columns,Schema Definition
Schema Management
Schema Management,Test Suite
Oracle,Schema Management
- 5623: Do not use ColumnDiff::$changedProperties in OraclePlatform::getAlterTableSQL() thanks to @morozov
- 5620: Remove code compensating for a schema comparison flaw thanks to @morozov
- 4598: [GH-4503] Make OracleSchemaManager::dropAutoincrement() protected thanks to @morozov
BC Break,Connections,Improvement
- 5567: Do not require a WHERE in update() and delete() Connection operations thanks to @morozov and @Majkl578
BC Break,Prepared Statements
- 5565: Remove Statement::bindParam() thanks to @morozov
- 5560: Remove the APIs deprecated in DBAL 3.x thanks to @morozov
- 4843: Mark Statement::execute() private, remove QueryBuilder::execute() thanks to @morozov
BC Break,PHP,Platforms,Portability,Transactions
BC Break,PHP,QueryBuilder
BC Break,PHP,Prepared Statements
- 5548: Convert ParameterType to enum thanks to @morozov
Improvement,PHP
- 5547: Set properties to readonly if possible thanks to @derrabus
- 5080: Modernize
strpos()
calls thanks to @derrabus
PHP
- 5546: Switch to PHP 8.1 syntax via Rector thanks to @morozov
- 5545: Remove calls to setAccessible() thanks to @derrabus
- 5543: Drop PHP 8.0 support thanks to @morozov
- 5541: Switch to PHP 8.0 syntax via Rector thanks to @morozov
- 4973: Remove
ReturnTypeWillChange
attribute thanks to @derrabus
Code Style
BC Break,Platforms
- 5532: Remove the APIs deprecated in DBAL 3.x thanks to @morozov
- 4762: Remove AbstractPlatform::getNowExpression() thanks to @morozov
- 4728: Remove redundant platform methods thanks to @morozov
Prepared Statements
Bug,MySQL,Schema Comparison
Platforms,SQLite
BC Break,Platforms,SQLite,Schema,Sequences,Types
BC Break,Platforms,Types
- 5512: Remove AbstractPlatform::hasNative*Type() methods and Type::requiresSQLCommentHint() thanks to @morozov
Oracle,Platforms
BC Break,Configuration,Schema Introspection
BC Break,Columns,Types
BC Break,Drivers,Schema Management
BC Break,Schema Introspection,Tools
BC Break,SQLite,Schema Management
BC Break,Reserved Keywords,Schema Management
BC Break,Foreign Keys,Platforms
BC Break,Deprecation,Foreign Keys,Quoting,Schema Management
Deprecation
BC Break,Improvement,PostgreSQL
Platforms,Schema Management
Default Values,MySQL
BC Break,Platforms,Schema Introspection
BC Break,Improvement,Prepared Statements
Reserved Keywords,Static Analysis
Types
BC Break,Types
- 5208: Drop Type::getName() thanks to @greg0ire
- 5143: Remove Type::canRequireSQLConversion() thanks to @morozov
IBM DB2,Improvement,Query Limit/Offset Modification
Improvement,Oracle,Query Limit/Offset Modification
- 5150: Use native Oracle 12c syntax for Top-N queries thanks to @morozov
- 3326: OCI8Statement is including DOCTRINE_ROWNUM as a column to be inserted. thanks to @LucasHaddad
Documentation,Static Analysis
BC Break,Platforms,Sequences
BC Break,Oracle,Platforms
BC Break,Schema Introspection,Type Mapping
- 5107: Drop type comments entirely thanks to @greg0ire
BC Break,Tools
- 5099: Remove Graphviz visitor thanks to @morozov
BC Break,MySQL,Platforms
BC Break,Platforms,PostgreSQL
- 5069: Drop support for Postgres 9 thanks to @derrabus
BC Break,Connections
- 5044: Remove getWrappedConnection() and add getNativeConnection() to the interface thanks to @derrabus
- 5041: Remove Connection::getWrappedConnection(), make Connection::connect() protected thanks to @morozov
- 4540: Remove Connection::getExpressionBuilder() thanks to @morozov
Type Mapping
- 5036: Drop Flyweight pattern thanks to @greg0ire
BC Break,Logging
BC Break,Platforms,SQLite,Schema Management
Test Suite
- 4964: Remove redundant PHPUnit mocks thanks to @morozov
BC Break,Error Handling,Improvement,Schema Management
Improvement
BC Break,SQL Server
BC Break,Foreign Keys,Indexes,Platforms,Schema,Schema Management
BC Break,Oracle,PostgreSQL,SQL Server,SQLite,Schema,Schema Management
- 4831: Remove deprecated APIs thanks to @morozov
BC Break,Indexes,Platforms
BC Break,Platforms,SQLite
Platforms,Sequences
Code Style,Strict Typing
BC Break,Events,Platforms,Schema Management
BC Break,Improvement,Schema
BC Break,Improvement,Schema Comparison
- 4771: Remove platform-unaware schema comparison API thanks to @morozov
- 4722: Remove deprecated Comparator::compare() thanks to @trompette
BC Break,Connections,Drivers,Platform Detection
BC Break,Platforms,PostgreSQL,SQL Server
BC Break,Bug,Foreign Keys,Schema Comparison,Schema Definition
BC Break,Improvement,Platforms
- 4723: Declare abstract methods in AbstractPlatform as abstract thanks to @morozov
- 3315: Got rid of func_num_args() in AbstractPlatform::getDummySelectSQL() thanks to @morozov
Connections,Error Handling,Improvement,Transactions
BC Break,Sequences
BC Break,Connections,PDO,Sequences
BC Break,Improvement,MySQL,Platforms
BC Break,Cache
BC Break,Reserved Keywords
BC Break,Platforms,Reserved Keywords
BC Break,PostgreSQL,Schema Management
Static Analysis
BC Break,Bug,Connections,Schema Management
BC Break,Bug,Connections
- 4516: Remove Connection::$_expr thanks to @morozov
Code Style,Improvement,mysqli,oci8
Error Handling,Transactions
BC Break,Improvement,Schema,Schema Introspection,Schema Management
Improvement,QueryBuilder
- 3868: Disallow empty CompositeExpression thanks to @BenMorel and @morozov
- 3844: CompositeExpression is mutable thanks to @morozov
- 3045: When rendering SQL, only render the alias if it's different from the table name thanks to @morozov
BC Break,Improvement,QueryBuilder
- 3865: Remove ExpressionBuilder::andX()/orX() thanks to @BenMorel
- 3858: Make CompositeExpression immutable thanks to @BenMorel
Code Style,Improvement
- 3849: Clean up unused variables thanks to @BenMorel
- 3848: expectException() is not static thanks to @BenMorel
BC Break,Improvement,QueryBuilder,Strict Typing
- 3841: Enforced argument and return types in QueryBuilder and ExpressionBuilder thanks to @morozov
- 3836: Introduce properties for SQL parts in QueryBuilder thanks to @BenMorel
- 3833: Introduce From class in QueryBuilder thanks to @BenMorel
- 3831: Replaced func_get_args() with variadic arguments thanks to @morozov
- 3830: Introduce Join class in QueryBuilder thanks to @BenMorel
- 3574: Add proper types to Doctrine\DBAL\Query namespace. thanks to @jwage
BC Break,Connecting,Improvement,Prepared Statements,Strict Typing
Improvement,QueryBuilder,Strict Typing
- 3835: Fix phpstan error thanks to @BenMorel
BC Break,Improvement,Schema Introspection,Schema Management
Improvement,Strict Typing
- 3824: Fix phpstan errors thanks to @BenMorel
- 3801: Fix phpstan errors thanks to @BenMorel
BC Break,Improvement,Schema Definition,Strict Typing,Test Suite,Types
Bug,Documentation
- 3816: Fix documented return type thanks to @BenMorel
Improvement,Test Suite
- 3800: Refactor FK exception tests thanks to @BenMorel
- 3797: Fix typos in SQLite thanks to @BenMorel
Code Style,Improvement,MySQL
- 3795: Document MySQL error codes thanks to @BenMorel
Bug,QueryBuilder
Columns,Improvement,Test Suite
- 3599: Make sure that (VAR)CHAR column length is specified in characters, not bytes thanks to @morozov
BC Break,Columns,Improvement,Platforms
BC Break,Columns,Events,Improvement,Tables
Improvement,Strict Typing,Test Suite
- 3582: Enable phpstan in DBAL tests thanks to @jwage
BC Break,Events,Improvement,Strict Typing
BC Break,Improvement,Strict Typing
- 3576: Add proper types to root Doctrine\DBAL namespace. thanks to @jwage
- 3573: Add proper types to Doctrine\DBAL\Id namespace. thanks to @jwage
Improvement,Sharding,Strict Typing
BC Break,Improvement,Strict Typing,Tools
BC Break,Improvement,Strict Typing,Types
BC Break,Connections,Improvement,Strict Typing
BC Break,Improvement,Schema,Strict Typing
- 3565: Add types to Schema namespace thanks to @jwage
BC Break,Improvement,Platforms,Strict Typing
- 3562: Enforced parameter and return value types in Platform classes thanks to @morozov
- 3494: Modified AbstractPlatform::getLocateExpression() and ::getSubstringExpression() signatures thanks to @morozov
- 3491: Changed the type of $char in AbstractPlatform::getTrimExpression()from string|false to ?string thanks to @morozov
BC Break,Drivers,Improvement,Strict Typing
BC Break,Improvement,Prepared Statements,Strict Typing
BC Break,Improvement
- 3525: Extract exception factory methods into specific exceptions thanks to @jwage
- 2854: Enable strict types thanks to @Majkl578
BC Break,Deprecation,Platforms,PostgreSQL
- 3520: Drop support for feferred misspelling in PostgreSqlPlatform::getAdvancedForeignKeyOptionsSQL() thanks to @jwage and @Majkl578
Bug
- 3519: Fix UniqueConstraint with empty name. thanks to @jwage and @morozov
BC Break,Columns,Improvement,Schema Management,Strict Typing
BC Break,IBM DB2,Improvement
BC Break,Improvement,Platforms,Prepared Statements,SQLite,Strict Typing
BC Break,Connections,Improvement,Quoting,Strict Typing
BC Break,Connections,Improvement,Prepared Statements,Strict Typing
- 3486: Converted Connection and Statement methods which returned false in case of a failure into void thanks to @morozov
BC Break,Connections,Strict Typing,Transactions
BC Break,Error Handling,Improvement,Prepared Statements,mysqli,oci8
- 3369: Handle binding errors in OCI8Statement::execute() and MySQLiStatement::execute() thanks to @morozov