2.15.0 (2025-07-22)
2.14.0 (2025-07-14)
- add parameters to SubQuery (74dbd7c)
- add SubQuery injection (8079759)
- add ULID column type (#233) (f8b3a87)
- MySQL: add
firstandafterinto column declaration (#226) (7ad2df1)
- cover SubQuery with comments (8579419)
- fix code style; rename
SubQueryInjectiontoSubQuery(b9cf08e) - improve code formatting and consistency in Compiler, Jsoner, and SubQuery (02484a6)
- rename
selectSubQuerytosubQueryand update related query logic (727ca0e)
- enhance subquery tests with additional conditions and parameters (09013c6)
- MySQL: Added a test case proving bug with boolean columns (c2c05d1)
- MySQL: enhance boolean column configuration tests with zerofill and nullable checks (0129e7f)
2.13.0 (2025-03-27)
- add
getComment()method annotation intoColumnInterface(02c4962) - Add getComment() method to
AbstractColumn(9e780d8) - add public
Driver::clearCache()method (3cc2757)
- update workflow actions (d55b36f)
2.12.0 (2025-02-17)
- Reconnect on MySQL disconnected by inactivity (3f776ab)
- update MSSQL config (14ec20e)
- add ODBC driver to tests with codecov (7dfd98e)
2.11.3 (2024-12-10)
2.11.2 (2024-10-23)
- add Spiral CS fixer (a72e1ae)
- normalize DB passwords in tests; fix style in cs-fix workflow (b514009)
- use common MSSQL workflow (5c434ec)
- use common MySQL workflow (c5aa164)
- use common Postgres workflow (8c17e52)
2.11.1 (2024-10-22)
- typecasting of an integer to a boolean in SQLite (32c29c7)
2.11.0 (2024-06-11)
- add INTERSECT and EXCEPT operators (#204) (b3cc5a3)
- add the ability to specify the full name of the join type (0fa0adf)
- add parameter consideration when hashing the query part with orderBy (c874f7d)
- triggering changelog build (4002820)
- add issue templates (75086af)
- added security.md file (17aefde)
- move COC to .github directory (08cadcb)
- removing failing ci issue template (7200063)
- update CONTRIBUTING.md (f6a9722)
- updating contribution guide (ad3fbf0)
- apply yamllint (0506fb1)
- composer: added ergebnis/composer-normalize (1dddad4)
- add cycle/gh-actions (2507324)
- add default CODEOWNERS file (c080e0c)
- added coding-standards initial CI job (9725b49)
- auto apply labels based on files and branches (86971f0)
- do not include v prefix in tag (d9587c3)
- fixes in commit linting (ca925bd)
- push composer.lock to enable cache locks (726a0fe)
- switch to github changelog type (8275f0c)
- use actions/labeler directly (a9fa3b8)
- use fixed versions for actions instead of master (bd4d708)
2.10.0 (2024-04-04)
- Add support JSON columns in
orderBystatement by @msmakouz (#184) - Add
mediumTextcolumn type by @msmakouz (#178) - Add support for the
NOToperator in SQL queries. Add new methodswhereNot,andWhereNot, andorWhereNotby @msmakouz (#185)
- Fixed caching of SQL insert query with Fragment values by @msmakouz (#177)
- Fixed detection of enum values in PostgreSQL when a enum field has only one value by @msmakouz (#181)
- Fix psalm type for
DatabaseInterface::transaction()method by @roxblnfk (#186)
- Automate changelog and release management @lotyp (#189)
2.9.0 (2024-03-27)
- Added
logInterpolatedQueriesfor detailed query logging and refinedlogQueryParametersto accurately log query parameters as arrays, enhancing ORM debugging and monitoring. @lotyp (#165) - Improved logging with enriched context in Driver.php, including driver details and query parameters. @lotyp (#165)
- Improved
orderBymethod to accept a null direction parameter, providing more flexibility when constructing queries by @butschster (#167) - Added support for PostgreSQL-specific directions NULLS FIRST and NULLS LAST for more control over null value ordering in result sets by @butschster (#167)
2.8.1 (2024-02-08)
- Fix compiling of Fragment with parameters in the returning() definition by @msmakouz (#161)
- Fix comparison of Fragment in Column default value by @msmakouz (#162)
2.8.0 (2024-02-08)
- The
withDatetimeMicrosecondsoption now affects the interpolator by @msmakouz (#155) - Postgres: support for multiple returning columns by @roxblnfk and @msmakouz (#157)
- MSSQL: support for multiple returning columns by @msmakouz (#160)
2.7.1 (2023-12-22)
- Fix setting
precisionandscalethrough attributes by @msmakouz (#148) - Fix quoting with an underscore at the beginning by @msmakouz (#151)
- Fix behavior of the
Column::type()method by adding default size to column type mappings by @msmakouz (#150)
2.7.0 (2023-12-04)
- Add
varbinarysupport in MySQL; optimizesizeattribute by @msmakouz (#146) - Add the ability to use WHERE IN and WHERE NOT IN with array values. The value sequence may contain
FragmentInterfaceobjets by @msmakouz and @roxblnfk (#147)
2.6.0 (2023-11-02)
- MySQL driver:
- Add the type
smallIntegerby @gam6itko (#128) - Change mapping of the JSON type from
texttojsonby @romanpravda (#121)
- Add the type
- Postgres driver:
- Add the
restartIdentityparameter to theeraseTablemethod by @msmakouz (#132) - Change mapping of the JSON type from
texttojsonby @msmakouz (#134)
- Add the
- All the drivers:
- Add
enableForeignKeyConstraintsanddisableForeignKeyConstraintsmethods in Driver Handlers by @msmakouz (#130) - Add an ability to disable the query cache before query using
withoutCache()by @msmakouz and @roxblnfk (#137)
- Add
- JSON support:
- Add methods to work with JSON columns by @msmakouz and @roxblnfk (#135)
- Add an ability to set JSON default value as an array by @msmakouz and @roxblnfk (#138)
- Fix incorrect parameters processing for JOIN subqueries by @smelesh (#133)
2.5.2 (2023-07-03)
- Fix Postgres schema restoring after reconnect by @msmakouz in (#126)
2.5.1 (2023-06-09)
- Fix drastic increase of insert statements on pg driver with complex primary keys by @wolfy-j (#122)
2.5.0 (2023-05-12)
- Add ability to use non-primary serial column by @msmakouz (#106)
- Add ability to configure DB port passing a string by @msmakouz (#109)
- Add ability to define a custom type column by @msmakouz (#104)
- Add the ability to define
readonlySchemafor columns by @msmakouz (#116) - Add
AbstractForeignKey::$indexproperty to enable/disable index creation by @msmakouz (#119)
- Fix inserting an array of rowsets without calling the columns method by @msmakouz (#120)
- Improve types for
TableInterfaceandColumnInterfaceby @vjik (#108) - Fix typos by @arogachev (#110, #111)
2.4.1 (2023-03-08)
- Fix: add schema to Postgres dependency table names by @msmakouz (#102)
- Fix: don't add a table prefix when a column is quoting by @msmakouz (#103)
2.4.0 (2023-02-01)
- Since v2.4.0, interpolation in logs is disabled by default
- Add option
logQueryParametersin the driveroptionsto enable interpolation in SQL query logs by @msmakouz (#95) - Add PostgreSQL specific data types by @msmakouz (#93)
- Add MySQL
SETtype support by @msmakouz (#92)
- Fix Interpolator performance by @msmakouz (#94) thx @hustlahusky
2.3.0 (2022-12-27)
- Add support for array values in the
INandNOT INoperators by @roxblnfk (#69, #70, #71) - Add
PdoInterfaceas a possible return type for theDriver::getPDO()method by @roxblnfk (#76) - Add the
optionsarray parameter to all driver configs to pass additional driver options. ThewithDatetimeMicrosecondsoption can be set totrueto store aDateTimewith microseconds by @msmakouz (#86) - Add a config recovery mechanism via
__set_state()by @wakebit (#83) - Add the ability to define the
sizeof adatetimecolumn by @msmakouz (#86) - Add support for the unsigned and zerofill properties in MySQL Integer types by @roxblnfk (#88)
2.2.2 (2022-09-27)
- Fix transaction level changing on disconnect when transaction is starting by @roxblnfk (#76)
2.2.1 (2022-07-02)
- Hotfix: make the
$configparameter of theDatabaseConfigconstructor optional again by @roxblnfk
2.2.0 (2022-06-23)
- Add supporting for PHP 8.1 Enumerations by @roxblnfk (#67)
- Add supporting for smallint column type by @gam6itko (#58)
- Fix typo in the
\Cycle\Database\Schema\State::forgerForeignKeymethod by @BeMySlaveDarlin (#53) - Fix compatibility with Spiral Framework 3 packages:
- Remove overriding of the
$configproperty in theDatabaseConfigclass by @roxblnfk (#64) - Update
composer.jsondependencies
- Remove overriding of the
2.1.3 (2022-05-20)
- Fix query interpolation by @roxblnfk (#60)
2.1.2 (2022-01-20)
- Fix wrong bind parameter order in a select query with join by @roxblnfk (#48)
- Fix access to unitialized driver property on
ActiveQuery::__debugInfo()call by @roxblnfk (#46)
2.1.1 (2022-01-12)
- Fix phpdoc for the
SelectQuery::orderBymethod by @butschster (#45) - Fix problem with driver cloning by @butschster (#44)
2.1.0 (2021-12-31)
- Added
psr/logdependency by @thgs (#35) - Add ability to get/set driver name by @butschster (#38)
- Optimize fetching indexes and primary keys in Postgres driver by @hustlahusky (#37)
- Fix type casting for column size value in the PG Column class by @rauanmayemir (#34)
- Add
psr/logdependency by @thgs (#35) - Downgrade spiral dependencies to stable by @roxblnfk (#40)
2.0.0 (2021-12-22)
- Namespace
Spiral\Databasereplaced withCycle\Database@butschster (#1) - Minimal PHP version is 8.0
- Added supporting for postgres schemas @butschster (#2)
- Added DTO configs @SerafimArts, @msmakouz (#10, #14)
- Added method to get transaction level @msmakouz (#23)
- Added
ColumnReturnableInterfacefor database drivers @butschster (#25)
- The package moved from
spiral/databasetocycle/database - Improvements to
joinmethods @butschster - Tests have been restructured @butschster (#21)