npm / kysely
kysely
What changed in kysely 0.28 to 0.29, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-20.
2 breaking6 security1 performance1 behavior and defaults9 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initkysely 0.298 changes
Security 2
MSSQL now escapes keys passed to jsonBuildObject.
MSSQL now escapes JSON in jsonBuildObject.
Fixes and other changes 6
Commit, rollback, and savepoint commands wait for ongoing queries and streams to finish, preventing commands from racing with them.
Transaction handles now share completion state.
A failed begin now releases the transaction connection.
A failed rollback releases the connection and marks the transaction as rolled back.
The client is released if it is destroyed while acquiring a connection.
The where clause in doUpdateSet now allows immutable columns.
kysely 0.2811 changes
Breaking changes 2
Commit, rollback, and savepoint commands wait for ongoing queries and streams to finish; active streams must be closed or exhausted before awaiting these commands.
PostgreSQL and MSSQL migrations use session-level locks, including when disableTransactions is true. PostgreSQL migrations through PgBouncer transaction pooling need a direct connection, session pooling, or custom migration locking.
Security 4
Kysely: JSON-path traversal injection via unsanitized path-leg metacharacters in
JSONPathBuilder.key()/.at()Kysely has a MySQL SQL Injection via Backslash Escape Bypass in non-type-safe usage of JSON path keys.
Kysely has a MySQL SQL Injection via Insufficient Backslash Escaping in
sql.lit(string)usage or similar methods that append string literal values into the compiled SQL stringsSQL Injection via unsanitized JSON path keys when ignoring/silencing compilation errors or using
Kysely<any>.
Performance 1
Table metadata parsing is optimized.
Behavior and default changes 1
The where predicate now allows immutable columns and uses column select types, including for columns that cannot be updated.
Fixes and other changes 3
SQLite DELETE queries now output RETURNING before ORDER BY and LIMIT.
Fixes infinite type-check recursion.
Explicit undefined is now allowed in Updateable when exactOptionalPropertyTypes is enabled.