### Release Notes for [4.3.0](https://github.com/doctrine/dbal/milestone/165) ### 4.3.0 - Total issues resolved: **3** - Total pull requests resolved: **103** - Total contributors: **9** #### Dependencies,Test Suite - [7006: phpunit/phpunit (11.5.15 => 11.5.23)](https://github.com/doctrine/dbal/pull/7006) thanks to @derrabus - [6894: PHPUnit 11](https://github.com/doctrine/dbal/pull/6894) thanks to @morozov #### Deprecation,MariaDB - [7000: Deprecate support for MariaDB 10.5](https://github.com/doctrine/dbal/pull/7000) thanks to @derrabus CI -- - [6999: Remove "minimal" dependency setting](https://github.com/doctrine/dbal/pull/6999) thanks to @derrabus #### Schema Introspection,Test Suite - [6995: Rework schema introspection tests that use reflection](https://github.com/doctrine/dbal/pull/6995) thanks to @morozov #### Platforms,SQL Server - [6981: Clean up SQL Server LIKE wildcard characters](https://github.com/doctrine/dbal/pull/6981) thanks to @morozov #### CI,Test Suite - [6980: Remove redundant PHPUnit 11 configuration](https://github.com/doctrine/dbal/pull/6980) thanks to @morozov #### Schema Definition,Test Suite - [6972: Rework tests that create or modify tables](https://github.com/doctrine/dbal/pull/6972) thanks to @morozov #### Bug,Indexes,Schema Definition - [6971: Omit implicit indexes in Table::edit()](https://github.com/doctrine/dbal/pull/6971) thanks to @morozov #### Columns,Foreign Keys,Indexes,Schema Definition,Tables - [6966: Add more TableEditor methods](https://github.com/doctrine/dbal/pull/6966) thanks to @morozov #### Indexes,Schema Management - [6965: Populate indexed column lengths only with non-null values](https://github.com/doctrine/dbal/pull/6965) thanks to @morozov #### Foreign Keys,Schema Management - [6964: Populate foreign key constraint options only with non-default values](https://github.com/doctrine/dbal/pull/6964) thanks to @morozov #### CI,Dependencies,Deprecation - [6962: Require Doctrine Deprecations 1.1.5](https://github.com/doctrine/dbal/pull/6962) thanks to @morozov #### Primary Keys - [6958: Preserve the non-clustered property of the PK constraint](https://github.com/doctrine/dbal/pull/6958) thanks to @morozov #### Columns,Deprecation,Improvement,Schema Definition - [6945: Deprecate Column features and introduce ColumnEditor](https://github.com/doctrine/dbal/pull/6945) thanks to @morozov #### Columns,SQLite,Schema Introspection,Types - [6944: Clean up SQLite column definition parsing](https://github.com/doctrine/dbal/pull/6944) thanks to @morozov #### Error Handling,Improvement,Schema Definition - [6943: Include object name in editor exception messages](https://github.com/doctrine/dbal/pull/6943) thanks to @morozov #### Columns,Deprecation,Schema Definition,Types - [6940: Deprecate "version" column platform option](https://github.com/doctrine/dbal/pull/6940) thanks to @morozov #### Columns,Deprecation,Improvement,Schema Definition,Types - [6939: Introduce JSONB type, deprecate "jsonb" column platform option ](https://github.com/doctrine/dbal/pull/6939) thanks to @morozov #### Identifiers,Improvement,Schema Definition,Tables - [6934: Update TableEditor API](https://github.com/doctrine/dbal/pull/6934) thanks to @morozov #### Columns,PostgreSQL,Schema Introspection,Types - [6933: Simplify Postgres column introspection](https://github.com/doctrine/dbal/pull/6933) thanks to @morozov #### Columns,MySQL,Schema Introspection,Types - [6932: Clean up MySQL column type parsing](https://github.com/doctrine/dbal/pull/6932) thanks to @morozov #### Columns,SQL Server,Schema Introspection,Types - [6931: Clean up SQL Server column type parsing](https://github.com/doctrine/dbal/pull/6931) thanks to @morozov #### Foreign Keys,Identifiers,Improvement,Indexes,Primary Keys,Schema Definition - [6927: Add shorthand name-related methods to schema object editors](https://github.com/doctrine/dbal/pull/6927) thanks to @morozov - [6923: Mark classes as read-only, internal and final](https://github.com/doctrine/dbal/pull/6923) thanks to @morozov #### Schema,Schema Introspection,Static Analysis - [6914: Mark identifiers as non-empty strings](https://github.com/doctrine/dbal/pull/6914) thanks to @morozov #### Documentation,Foreign Keys,Schema Management - [6908: fix replacing method name in deprecation message](https://github.com/doctrine/dbal/pull/6908) thanks to @xabbuh #### Foreign Keys,SQLite,Schema Introspection - [6907: Rework foreign key constraint introspection on SQLite](https://github.com/doctrine/dbal/pull/6907) thanks to @morozov #### Indexes,SQLite,Schema Introspection - [6904: Rework index introspection on SQLite](https://github.com/doctrine/dbal/pull/6904) thanks to @morozov #### Improvement,PHP - [6901: Reintroduce PHP 8.2 support](https://github.com/doctrine/dbal/pull/6901) thanks to @derrabus #### Documentation,Indexes,Schema Comparison - [6899: Mark ComparatorConfig::getReportModifiedIndexes() as internal](https://github.com/doctrine/dbal/pull/6899) thanks to @morozov #### BC Fix,Deprecation,Indexes,Schema Comparison - [6890: Introduce ComparatorConfig::withReportModifiedIndexes()](https://github.com/doctrine/dbal/pull/6890) thanks to @morozov and @sbuerk #### PHP - [6889: Require PHP 8.3](https://github.com/doctrine/dbal/pull/6889) thanks to @morozov #### Indexes,PostgreSQL,Schema Introspection - [6887: Rework index column introspection on Postgres](https://github.com/doctrine/dbal/pull/6887) thanks to @morozov #### Deprecation,Improvement,Indexes,Schema Management - [6886: Deprecate Index features and introduce IndexEditor ](https://github.com/doctrine/dbal/pull/6886) thanks to @morozov #### Bug,Indexes,Schema Management,Tables - [6882: Clean up Table::renameIndex() code](https://github.com/doctrine/dbal/pull/6882) thanks to @morozov #### IBM Db2,Schema Management - [6873: Remove DB2Platform:getPreAlterTableIndexForeignKeySQL()](https://github.com/doctrine/dbal/pull/6873) thanks to @morozov #### Foreign Keys,IBM Db2,Indexes,MySQL,Schema Management,Test Suite - [6872: Fix testChangeIndexWithForeignKeys() configuration](https://github.com/doctrine/dbal/pull/6872) thanks to @morozov #### Deprecation,Improvement,Indexes,Primary Keys,Schema Definition,Schema Management - [6867: Introduce PrimaryKeyConstraint](https://github.com/doctrine/dbal/pull/6867) thanks to @morozov #### Code Style,Primary Keys - [6864: Use consistent formatting in PRIMARY KEY DDL](https://github.com/doctrine/dbal/pull/6864) thanks to @morozov #### Schema Introspection - [6854: Clean up schema introspection parsing code](https://github.com/doctrine/dbal/pull/6854) thanks to @morozov #### Auto-increment,Deprecation,Primary Keys,SQLite,Schema Definition - [6849: Deprecate invalid auto-increment column definitions on SQLite](https://github.com/doctrine/dbal/pull/6849) thanks to @morozov #### Auto-increment,Deprecation,MySQL,Primary Keys,Schema Management - [6841: Deprecate auto-increment being dropped with the PK on MySQL](https://github.com/doctrine/dbal/pull/6841) thanks to @morozov #### Error Handling,Improvement,Static Analysis - [6832: Enable PHPStan checks for exceptions](https://github.com/doctrine/dbal/pull/6832) thanks to @morozov #### Deprecation,Indexes,PostgreSQL,Schema Comparison - [6831: Deprecate modified indexes in TableDiff](https://github.com/doctrine/dbal/pull/6831) thanks to @morozov #### Deprecation,Foreign Keys,Schema Comparison - [6827: Deprecate modified foreign keys in TableDiff](https://github.com/doctrine/dbal/pull/6827) thanks to @morozov #### Deprecation,Identifiers,Platforms - [6823: Extract UnquotedIdentifierFolding from AbstractPlatform](https://github.com/doctrine/dbal/pull/6823) thanks to @morozov #### SQLite,Schema Management - [6822: Clean up SQLitePlatform column mapping code](https://github.com/doctrine/dbal/pull/6822) thanks to @morozov #### Identifiers - [6815: Remove AbstractName and mark GenericName as internal](https://github.com/doctrine/dbal/pull/6815) thanks to @morozov - [6783: Use InvalidState instead of NameIsNotInitialized](https://github.com/doctrine/dbal/pull/6783) thanks to @morozov #### Deprecation,Static Analysis - [6805: Annotate some internal array shapes](https://github.com/doctrine/dbal/pull/6805) thanks to @morozov #### Auto-increment,Oracle - [6803: Clean up OraclePlatform auto-increment code](https://github.com/doctrine/dbal/pull/6803) thanks to @morozov #### BC Fix,Indexes - [6801: Unmark Index as final](https://github.com/doctrine/dbal/pull/6801) thanks to @morozov #### Bug,Deprecation,Indexes - [6799: Fix false-positive primary key column length deprecation](https://github.com/doctrine/dbal/pull/6799) thanks to @morozov #### SQL Server,Schema Management - [6796: Refactor SQL Server code for calling stored procedures](https://github.com/doctrine/dbal/pull/6796) thanks to @morozov #### Identifiers,Schema,Schema Management,Test Suite - [6794: Accept schema name as object in FunctionalTest::dropAndCreateSchema()](https://github.com/doctrine/dbal/pull/6794) thanks to @morozov #### Deprecation,Platforms,Schema Management - [6788: Mark protected platform and schema manager methods as internal](https://github.com/doctrine/dbal/pull/6788) thanks to @morozov #### Deprecation,Identifiers,Improvement,Indexes - [6787: Introduce IndexedColumn](https://github.com/doctrine/dbal/pull/6787) thanks to @morozov #### Improvement,PostgreSQL,Schema Comparison,Schema Introspection - [6785: feat: support non-libc collations in postgres](https://github.com/doctrine/dbal/pull/6785) thanks to @simPod #### Identifiers,Tables - [6784: Accept OptionallyQualifiedName in TableEditor::setName()](https://github.com/doctrine/dbal/pull/6784) thanks to @morozov #### Deprecation,Identifiers,Quoting,Schema Definition,Schema Introspection - [6769: Introduce Identifier::toNormalizedValue(), deprecate AbstractSchemaManager::_normalizeName()](https://github.com/doctrine/dbal/pull/6769) thanks to @morozov #### Deprecation,IBM Db2,Identifiers,MySQL,Oracle,Quoting,SQLite,Schema Introspection - [6768: Deprecate introspection of unquoted table names with dot](https://github.com/doctrine/dbal/pull/6768) thanks to @morozov #### Deprecation,Schema Introspection - [6755: Deprecate `AbstractSchemaManager::_getPortableTableDefinition()`](https://github.com/doctrine/dbal/pull/6755) thanks to @morozov - [6746: Introduce AbstractSchemaManager::getCurrentSchemaName()](https://github.com/doctrine/dbal/pull/6746) thanks to @morozov #### Improvement,Schema Introspection - [6754: Refactor building schema introspection queries](https://github.com/doctrine/dbal/pull/6754) thanks to @morozov #### Code Style - [6752: Use function db2_field_name](https://github.com/doctrine/dbal/pull/6752) thanks to @morozov #### Improvement,SQLite,Schema Introspection - [6745: Remove SQLite "schema emulation" leftovers](https://github.com/doctrine/dbal/pull/6745) thanks to @morozov #### SQLite,Schema Introspection - [6744: Refactor AbstractSchemaManager::fetch*/select*() API](https://github.com/doctrine/dbal/pull/6744) thanks to @morozov #### Regression,Schema - [6739: Implement empty Schema::setName()](https://github.com/doctrine/dbal/pull/6739) thanks to @morozov - [6737: Unable to instantiate Schema objects without deprecations](https://github.com/doctrine/dbal/issues/6737) thanks to @xabbuh #### Bug - [6738: Add missing sentence and placeholder.](https://github.com/doctrine/dbal/pull/6738) thanks to @greg0ire #### Deprecation,Schema - [6734: Deprecate usage of Schema as AbstractAsset](https://github.com/doctrine/dbal/pull/6734) thanks to @morozov #### Foreign Keys,Improvement,Oracle,Schema Introspection - [6730: Introspect foreign key constraint deferrability on Oracle](https://github.com/doctrine/dbal/pull/6730) thanks to @morozov #### Deprecation,Foreign Keys,Improvement,Schema Management - [6728: Deprecate ForeignKeyConstraint features and introduce ForeignKeyConstraintEditor](https://github.com/doctrine/dbal/pull/6728) thanks to @morozov #### Bug,PostgreSQL,Schema Introspection,Schema Management - [6718: Fix deferrable/deferred constraint DDL on PostgreSQL](https://github.com/doctrine/dbal/pull/6718) thanks to @morozov #### Bug,Foreign Keys,PostgreSQL,Schema Definition - [6717: Invalid DDL for deferred constraints on PostgreSQL](https://github.com/doctrine/dbal/issues/6717) thanks to @morozov #### Schema Management - [6714: Rename Identifier::toSql() to Identifier::toSQL()](https://github.com/doctrine/dbal/pull/6714) thanks to @morozov #### Deprecation,Indexes,Schema Definition,Tables - [6710: Deprecate Table::columnsAreIndexed()](https://github.com/doctrine/dbal/pull/6710) thanks to @morozov #### Deprecation,Foreign Keys,Schema Management - [6707: Deprecate conversion of RESTRICT to NO ACTION](https://github.com/doctrine/dbal/pull/6707) thanks to @morozov #### Improvement - [6705: Remove final constructor for Type](https://github.com/doctrine/dbal/pull/6705) thanks to @ruudk #### Deprecation,Foreign Keys,SQLite,Schema Introspection - [6701: Deprecate introspection of incomplete SQLite schema](https://github.com/doctrine/dbal/pull/6701) thanks to @morozov #### Improvement,PHP,oci8 - [6698: OCI8: Remove PHP 7 compat code](https://github.com/doctrine/dbal/pull/6698) thanks to @derrabus #### New Feature,PHP,Type Conversion,Type Mapping,Types - [6686: Add a `NumberType` that maps to the `BcMath\Number` value object](https://github.com/doctrine/dbal/pull/6686) thanks to @derrabus #### Deprecation,Improvement,Schema Management - [6685: Deprecate UniqueConstraint features and introduce UniqueConstraintEditor](https://github.com/doctrine/dbal/pull/6685) thanks to @morozov - [6677: Deprecate mixing qualified and unqualified names](https://github.com/doctrine/dbal/pull/6677) thanks to @morozov - [6646: Introduce value objects representing database object names](https://github.com/doctrine/dbal/pull/6646) thanks to @morozov #### Deprecation,Schema Management - [6674: Deprecate AbstractAsset::getQuotedName()](https://github.com/doctrine/dbal/pull/6674) thanks to @morozov - [6657: Deprecate AbstractAsset::getShortestName()](https://github.com/doctrine/dbal/pull/6657) thanks to @morozov - [6610: Deprecate AbstractAsset::_setName()](https://github.com/doctrine/dbal/pull/6610) thanks to @morozov #### Deprecation,Indexes,Schema Definition - [6671: Deprecate empty index name](https://github.com/doctrine/dbal/pull/6671) thanks to @morozov #### Deprecation,Namespaces,Schema Definition - [6664: Deprecated AbstractAsset namespace-related methods](https://github.com/doctrine/dbal/pull/6664) thanks to @morozov #### New Feature,Schema Definition,Tables - [6660: Introduce table editor](https://github.com/doctrine/dbal/pull/6660) thanks to @morozov #### Auto-increment,Deprecation,Schema Management,Sequences - [6654: Deprecate Sequence::isAutoIncrementsFor()](https://github.com/doctrine/dbal/pull/6654) thanks to @morozov #### Deprecation,Identifiers,Tables - [6635: Deprecate altering table configuration](https://github.com/doctrine/dbal/pull/6635) thanks to @morozov #### New Feature,QueryBuilder - [6621: Add CTE support to select in QueryBuilder](https://github.com/doctrine/dbal/pull/6621) thanks to @nio-dtp #### Deprecation - [6608: Mark Identifier as internal](https://github.com/doctrine/dbal/pull/6608) thanks to @morozov #### Deprecation,Platforms,Quoting,Reserved Keywords - [6607: Deprecate reserved keyword lists](https://github.com/doctrine/dbal/pull/6607) thanks to @morozov #### Deprecation,Identifiers,Quoting,Reserved Keywords - [6592: Deprecate relying on the current implementation of the database object name parser](https://github.com/doctrine/dbal/pull/6592) thanks to @morozov #### Deprecation,Identifiers,Quoting - [6590: Deprecate AbstractPlatform::quoteIdentifier()](https://github.com/doctrine/dbal/pull/6590) thanks to @morozov #### Columns,Foreign Keys,Improvement,Indexes,Tables - [6578: Rename column in indexes and constraints](https://github.com/doctrine/dbal/pull/6578) thanks to @morozov #### Deprecation,Foreign Keys,Tables - [6560: Deprecate Table::removeForeignKey() and ::removeUniqueConstraint()](https://github.com/doctrine/dbal/pull/6560) thanks to @morozov #### Columns,Deprecation,Foreign Keys,Tables - [6559: Deprecate dropping columns referenced by constraints](https://github.com/doctrine/dbal/pull/6559) thanks to @morozov #### Indexes,Schema Definition - [6550: Simplify tracking implicitly created indexes](https://github.com/doctrine/dbal/pull/6550) thanks to @morozov #### Improvement,Schema - [6549: Remove handling unuique constraint column names as associative array](https://github.com/doctrine/dbal/pull/6549) thanks to @morozov #### New Feature,Schema Comparison - [6300: Make column and index renaming configurable](https://github.com/doctrine/dbal/pull/6300) thanks to @ausi