Hey 👋
A small batch of bug fixes. Please report any issues. 🤞😰🤞
This maintenance release backports bug fixes and documentation improvements from the 0.29 line.
Controlled transactions get fixes for connection leaks, shared completion state, and commands racing with ongoing queries:
- Commit, rollback, and savepoint commands now wait for ongoing queries and streams to finish.
- Close or exhaust active streams before awaiting these commands.
- A failed rollback now releases the connection and marks the transaction as rolled back.
PostgreSQL and MSSQL now use session-level migration locks, including with disableTransactions: true. PostgreSQL migrations through PgBouncer transaction pooling need a direct connection, session pooling, or custom migration locking.
🚀 Features
🐞 Bugfixes
- fix: allow explicit
undefinedinUpdateablewithexactOptionalPropertyTypes. by @y-hsgw in #1496 - fix infinite type check recursion by @koskimas in #1960
- fix: release controlled transaction connection when begin fails by @igalklebanov in #2080
- fix: share completion state between controlled transaction handles by @igalklebanov in #2090
- fix: release controlled transaction connection when rollback fails by @B4nan in #2136
- fix: serialize controlled transaction commands with queries by @igalklebanov in #2081
PostgreSQL 🐘 / MSSQL 🥅
- fix: PostgreSQL and MSSQL migrations are not running exclusively when
disableTransactions: true. by @morgan-coded & @igalklebanov in #1919
PostgreSQL 🐘 / SQLite 📘
- fix: allow immutable columns in
doUpdateSet'swhere. by @igalklebanov in #2043
On-conflict WHERE predicates now use column select types, including for columns that cannot be updated.
PostgreSQL 🐘
- refactor(postgres): optimize table metadata parsing in
PostgresIntrospectorby @igalklebanov & @rubenferreira97 in ba89cc3 - fix(postgres): release the client when destroyed while acquiring a connection by @abebelagua & @igalklebanov in #2088
SQLite 📘
- fix(sqlite): output
RETURNINGbeforeORDER BYandLIMITin delete queries. by @igalklebanov in #1946
MSSQL 🥅
- fix(mssql): escape
jsonBuildObjectkeys. by @igalklebanov in #2078 - fix(mssql): escape JSON in
jsonBuildObjectby @igalklebanov in #2079
📖 Documentation
- docs: fix PostgreSQL pool in plugin example by @igalklebanov in #2117
- docs: describe the
LogEventunion by @igalklebanov in #2121 - docs: clarify shared pool and database instance lifecycles by @igalklebanov in #2143
- Fix typo in
CreateTypeBuilder.asEnumdocstring by @anonpay-sh in ff15048
📦 CICD & Tooling
- ci: prepare
0.28.xmaintenance releases by @igalklebanov in 5e97e1d - ci: publish maintenance releases under the
release-0.28npm tag by @igalklebanov in 44e7c9a - test: adapt earlier
0.29regression tests to0.28APIs by @igalklebanov in 7d037af
⚠️ Breaking Changes
🐤 New Contributors
What's Changed
Full Changelog: v0.28.17...v0.28.18