# What changed in @effect/sql-sqlite-bun

> 17 changes in @effect/sql-sqlite-bun 0.49 to 4 from its official release notes, upgrade guides and advisories: 4 breaking, 2 new APIs and options. Each one cited. Sources checked 2026-11-15. HTML: https://unstale.sh/npm/@effect/sql-sqlite-bun/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## @effect/sql-sqlite-bun 4

### Breaking changes

- Bun SQLite export rejects ended transactions, so exporting from a transaction that has already ended is no longer accepted. (4.1.3) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/sql-sqlite-bun%404.1.3)
- 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.3) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/sql-sqlite-bun%404.1.3)
- SQL’s unstable module import path drops the unstable segment; the old path has no compatibility export. (4.0.0) — [upgrade guide](https://github.com/Effect-TS/effect/blob/HEAD/MIGRATION.md)
- SQL driver packages now share Effect’s version number and must be bumped to matching v4 versions alongside effect. (4.0.0) — [upgrade guide](https://github.com/Effect-TS/effect/blob/HEAD/MIGRATION.md)

### New APIs and options

- SqlError exposes structured reasons such as UniqueViolation, allowing developers to identify specific SQL error conditions. (4.0.0) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/sql-sqlite-bun%404.0.0)

### Performance

- Reduces statement overhead by borrowing the shared connection while preserving semaphore exclusion and failed-COMMIT recovery. (4.0.5) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/sql-sqlite-bun%404.0.5)

### Fixes and other changes

- 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.3) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/sql-sqlite-bun%404.0.3)
- 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.2) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/sql-sqlite-bun%404.0.2)
- Database setup failures are reported as typed SqlError values. (4.0.1) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/sql-sqlite-bun%404.0.1)
- WAL initialization is skipped for read-only Node connections. (4.0.1) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/sql-sqlite-bun%404.0.1)
- WAL initialization contention is retried within busyTimeout. (4.0.1) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/sql-sqlite-bun%404.0.1)

## @effect/sql-sqlite-bun 0.53

### Behavior and default changes

- The Bun client now waits up to 5 seconds for locks. (0.53.1) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/sql-sqlite-bun%400.53.1)

### Fixes and other changes

- SQLite transactions now start with BEGIN IMMEDIATE to avoid database is locked errors when concurrent connections write to the same database. (0.53.1) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/sql-sqlite-bun%400.53.1)
- Transactions that fail to begin now fail with the original SqlError instead of dying on rollback. (0.53.1) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/sql-sqlite-bun%400.53.1)

## @effect/sql-sqlite-bun 0.50

### New APIs and options

- Adds SafeIntegers support to the Bun SQLite integration. (0.50.1) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/sql-sqlite-bun%400.50.1)

### Fixes and other changes

- Prepare errors are wrapped in SqlError, so they surface as catchable failures instead of defects. (0.50.2) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/sql-sqlite-bun%400.50.2)

## @effect/sql-sqlite-bun 0.49

### Behavior and default changes

- Any type can now be used as SQL parameters. (0.49.0) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/sql-sqlite-bun%400.49.0)
