unstale

npm / @effect/sql-sqlite-bun

@effect/sql-sqlite-bun

What changed in @effect/sql-sqlite-bun 0.49 to 4, from its official release notes, upgrade guides and advisories. Sources checked 2026-11-15.

4 breaking2 new APIs and options1 performance2 behavior and defaults8 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.3.1 on npm

@effect/sql-sqlite-bun 411 changes

Breaking changes 4

  • Bun SQLite export rejects ended transactions, so exporting from a transaction that has already ended is no longer accepted.

    4.1.3release notes

  • Driver clients are no longer subtypes of SqlClient.SqlClient. When choosing between driver layers, an explicit Layer.Layer<SqlClient.SqlClient, E> annotation may be needed.

    4.1.3release notes

  • SQL’s unstable module import path drops the unstable segment; the old path has no compatibility export.

    4.0.0upgrade guide

  • SQL driver packages now share Effect’s version number and must be bumped to matching v4 versions alongside effect.

    4.0.0upgrade guide

New APIs and options 1

  • SqlError exposes structured reasons such as UniqueViolation, allowing developers to identify specific SQL error conditions.

    4.0.0release notes

Performance 1

  • Reduces statement overhead by borrowing the shared connection while preserving semaphore exclusion and failed-COMMIT recovery.

    4.0.5release notes

Fixes and other changes 5

  • Single-connection SQL clients hold the shared connection for the whole statement or stream, preventing another fiber's transaction from rolling back acknowledged writes or exposing uncommitted rows to plain reads.

    4.0.3release notes

  • Every module and directly importable export now has an explicit stability tag: stable follows strict semver, while unstable may receive breaking changes in minor releases.

    4.0.2release notes

  • Database setup failures are reported as typed SqlError values.

    4.0.1release notes

  • WAL initialization is skipped for read-only Node connections.

    4.0.1release notes

  • WAL initialization contention is retried within busyTimeout.

    4.0.1release notes

@effect/sql-sqlite-bun 0.533 changes

Behavior and default changes 1

  • The Bun client now waits up to 5 seconds for locks.

    0.53.1release notes

Fixes and other changes 2

  • SQLite transactions now start with BEGIN IMMEDIATE to avoid database is locked errors when concurrent connections write to the same database.

    0.53.1release notes

  • Transactions that fail to begin now fail with the original SqlError instead of dying on rollback.

    0.53.1release notes

@effect/sql-sqlite-bun 0.502 changes

New APIs and options 1

  • Adds SafeIntegers support to the Bun SQLite integration.

    0.50.1release notes

Fixes and other changes 1

  • Prepare errors are wrapped in SqlError, so they surface as catchable failures instead of defects.

    0.50.2release notes

@effect/sql-sqlite-bun 0.491 changes

Behavior and default changes 1