This release introduces new migration transaction modes, a `defineMigration` helper, and support for `mysql2/promise`. It also includes various type-level improvements and a new `stream` method for raw queries.
affected
Users relying on `disableTransactions` or MySQL introspection of system databases will be affected.
action
Update migration configurations to use the new `transactionMode` property and review MySQL introspection results.
release_signals
-Deprecated `disableTransactions`. Use `transactionMode: 'none'` or `transactionMode: 'per-migration'` with `config: { transaction: false }`.
-MySQL introspection now excludes system databases.
-Tighter type comparisons for `Kysely`, `Transaction`, `ControlledTransaction`, and their readonly variants.
-SQLite JSON helpers now emit compile-time errors for `BLOB` columns.
!Deprecated `disableTransactions` in favor of `transactionMode`.
v0.29.5mediumfeatureAug 10, 2026
0.29.5
This release focuses on bug fixes and documentation improvements, including optimizations for TypeScript 7 compatibility and enhancements to the docs site.
affected
Users experiencing TypeScript 7 performance issues or relying on the Kysely documentation site may benefit from this release.
This release introduces a new `transactionMode` property for the `Migrator` class, allowing more granular control over transaction behavior during migrations. It also adds support for `mysql2/promise` and introduces a `defineMigration` helper function for easier migration writing.
affected
Users relying on `disableTransactions` or using `BLOB` columns with SQLite JSON helpers are affected.
action
Update migration configurations to use `transactionMode` instead of `disableTransactions`.
release_signals
-`disableTransactions` is deprecated. Use `transactionMode: 'none'` or `transactionMode: 'per-migration'` with `config: { transaction: false }`.
This release introduces a new `transactionMode` property for the `Migrator` class, allowing more granular control over transaction behavior during migrations. It also deprecates `disableTransactions` in favor of the new `transactionMode` options.
affected
Users relying on `disableTransactions` or using SQLite JSON helpers with `BLOB` columns are affected.
action
Update migration configurations to use the new `transactionMode` property and avoid passing `BLOB` columns to SQLite JSON helpers.
release_signals
-`disableTransactions` is deprecated. Use `transactionMode: 'none'` or `transactionMode: 'per-migration'` with `config: { transaction: false }`.
v0.29.4lowJul 17, 2026
0.29.4
A small batch of bug fixes addressing PostgreSQL and SQLite issues.
affected
Users of PostgreSQL and SQLite in Kysely may be affected by the fixed bugs.
action
Update to version 0.29.4 if you encounter issues with PostgreSQL password passing or SQLite returning clauses in delete queries.
This release focuses on bug fixes and CI/CD improvements, including a fix for a regression in plugin result transformations and enhanced GitHub workflow security.
affected
Users experiencing issues with plugin result transformations are directly affected.
action
Upgrade to version 0.29.1 to benefit from the bug fixes and CI improvements.
release_signals
!CI workflows were hardened with `zizmor` scans to improve security.
This release introduces several significant features, including `$pickTables` and `$omitTables` for narrowing query scope, a new `ReadonlyKysely<DB>` helper type for compile-time readonly instances, and a new PGlite dialect. Additionally, it adds support for query cancellation and improves type narrowing with `$narrowType`.
affected
Developers using `withTables`, `expression` functions in `create/add index`, or migration exports from the root will need to update their code.
action
Update code to use `$pickTables`, `$omitTables`, `$extendTables`, `column` and `columns` functions, and migration exports from `kysely/migration`.
release_signals
-Deprecated `withTables` in favor of `$pickTables`, `$omitTables`, and `$extendTables`.
-Deprecated `expression` functions in `create/add index` in favor of `column` and `columns` functions.
v0.28.17mediumsecurityMay 3, 2026
0.28.17
This release focuses on bug fixes, particularly hardening JSON path methods `.key(...)` and `.at(...)` against SQL injections and exfiltrations.
affected
Users relying on JSON path methods `.key(...)` and `.at(...)` are affected by security improvements.
action
Update to this version to benefit from the security fixes.
release_signals
!Hardened JSON path `.key(...)` and `.at(...)` methods against SQL injections and exfiltrations.
This release introduces several new features including `$pickTables`, `$omitTables`, and `ReadonlyKysely<DB>` helpers, a new PGlite dialect, and query cancellation support. It also includes deprecations and breaking changes related to TypeScript version requirements and migration exports.
affected
Users relying on deprecated methods or older TypeScript versions will need to update their codebase.
action
Upgrade TypeScript to version 5.4 or higher and replace deprecated methods with new alternatives.
release_signals
-Deprecated `withTables` in favor of `$pickTables`, `$omitTables`, and `$extendTables`.
+
Added `transactionMode` property to `Migrator` for per-run, per-migration, or no transactions.
+Introduced `defineMigration` helper for easier migration writing.
+Support for `mysql2/promise` in `MysqlDialect`.
+Added `stream` method on `RawBuilder` for streaming query results.
+Partial introspection with `where` option in introspector.
migration_steps2 steps
01Replace `disableTransactions: true` with `transactionMode: 'none'`.
02Use `transactionMode: 'per-migration'` with `config: { transaction: false }` for per-migration transactions.