NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Packagist · #4568 most downloaded on Packagist
DBAL, schema introspection, migration and pagination
Last release 10 days ago
27 Sep 2026
Release timing varies
gaps range from 9 days to 5 months
Most releases are documented
notes for 43 of 49 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
49 releases · first in 2021
One column per quarter.
Postgres: escape apostrophes in JSON path segments
Driver: classify exceptions by SQLSTATE before the message ( #270 ) ( 8a83940 ), closes #268
update PHP version requirement to 8.1 in README
2.23.0 (2026-08-19) Features add Database::getSchemas()
Schema: batch table introspection queries
SQLite: support the RETURNING clause on INSERT/UPSERT
OnConflict: index-inference predicate for ON CONFLICT (Postgres/SQLite)
Add wrapOnWhere() method to group JOIN ON conditions
Add server-side cursors for streaming SELECT results
Add charset and collation support for MySQL columns
Replace deprecated MySQL constant with scalar
correct condition check for named parameters in Interpolator
add snowflake column type alias
MySQL: add first and after into column declaration
first and after into column declaration (#226) (7ad2df1)SubQueryInjection to SubQuery (b9cf08e)selectSubQuery to subQuery and update related query logic (727ca0e)add getComment() method annotation into ColumnInterface
Reconnect on MySQL disconnected by inactivity
improve compatibility with PHP 8.4
php-cs-fixer: fix coding standards
typecasting of an integer to a boolean in SQLite
add INTERSECT and EXCEPT operators
Add support JSON columns in orderBy statement by @msmakouz
orderBy statement by @msmakouz (#184)mediumText column type by @msmakouz (#178)NOT operator in SQL queries. Add new methods whereNot, andWhereNot, and orWhereNot by @msmakouz (#185)DatabaseInterface::transaction() method by @roxblnfk (#186)Added logInterpolatedQueries for detailed query logging and refined logQueryParameters to accurately log query parameters as arrays, enhancing ORM deb
logInterpolatedQueries for detailed query logging and refined logQueryParameters to accurately log query parameters as arrays, enhancing ORM debugging and monitoring. @lotyp (#165)orderBy method to accept a null direction parameter, providing more flexibility when constructing queries by @butschster (#167)Fix compiling of Fragment with parameters in the returning() definition by @msmakouz
The withDatetimeMicroseconds option now affects the interpolator by @msmakouz
withDatetimeMicroseconds option now affects the interpolator by @msmakouz (#155)Fix setting precision and scale through attributes by @msmakouz
precision and scale through attributes by @msmakouz (#148)Column::type() method by adding default size to column type mappings by @msmakouz (#150)Add varbinary support in MySQL; optimize size attribute by @msmakouz
varbinary support in MySQL; optimize size attribute by @msmakouz (#146)FragmentInterface objets by @msmakouz and @roxblnfk (#147)Nothing published for this version
Add the type smallInteger by @gam6itko
smallInteger by @gam6itko (#128)text to json by @romanpravda (#121)restartIdentity parameter to the eraseTable method by @msmakouz (#132)text to json by @msmakouz (#134)enableForeignKeyConstraints and disableForeignKeyConstraints methods in Driver Handlers by @msmakouz (#130)withoutCache() by @msmakouz and @roxblnfk (#137)Fix Postgres schema restoring after reconnect by @msmakouz in
Fix drastic increase of insert statements on pg driver with complex primary keys by @wolfy-j
Add ability to use non-primary serial column by @msmakouz
readonlySchema for columns by @msmakouz (#116)AbstractForeignKey::$index property to enable/disable index creation by @msmakouz (#119)TableInterface and ColumnInterface by @vjik (#108)Fix: add schema to Postgres dependency table names by @msmakouz
Since v2.4.0, interpolation in logs is disabled by default
logQueryParameters in the driver options to enable interpolation in SQL query logs by @msmakouz (#95)SET type support by @msmakouz (#92)Add support for array values in the IN and NOT IN operators by @roxblnfk (#69, #70, #71)
IN and NOT IN operators by @roxblnfk (#69, #70, #71)PdoInterface as a possible return type for the Driver::getPDO() method by @roxblnfk (#76)options array parameter to all driver configs to pass additional driver options.
The withDatetimeMicroseconds option can be set to true to store a DateTime with microseconds by @msmakouz (#86)__set_state() by @wakebit (#83)size of a datetime column by @msmakouz (#86)Fix transaction level changing on disconnect when transaction is starting by @roxblnfk
Hotfix: make the $config parameter of the DatabaseConfig constructor optional again by @roxblnfk
$config parameter of the DatabaseConfig constructor optional again by @roxblnfkAdd supporting for PHP 8.1 Enumerations by @roxblnfk
\Cycle\Database\Schema\State::forgerForeignKey method by @BeMySlaveDarlin (#53)$config property in the DatabaseConfig class by @roxblnfk (#64)composer.json dependenciesFix query interpolation by @roxblnfk
Fix wrong bind parameter order in a select query with join by @roxblnfk
ActiveQuery::__debugInfo() call by @roxblnfk (#46)Fix phpdoc for the SelectQuery::orderBy method by @butschster
SelectQuery::orderBy method by @butschster (#45)Added psr/log dependency by @thgs
psr/log dependency by @thgs (#35)psr/log dependency by @thgs (#35)Namespace Spiral\Database replaced with Cycle\Database @butschster
Spiral\Database replaced with Cycle\Database @butschster (#1)ColumnReturnableInterface for database drivers @butschster (#25)spiral/database to cycle/databasejoin methods @butschsterNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →