Skip to content

v0.11.0

Latest

Choose a tag to compare

@github-actions github-actions released this 20 Aug 00:23
· 7 commits to main since this release
7374ff0

Highlights

  • Busy retry budgets now behave on long-lived connections. :max_elapsed_ms is a per-contention budget, reset at the start of each busy event — previously a connection older than the ceiling gave up with zero retries.
  • Shared-handle stalls moved off the normal schedulers. The trivial connection-lock readers (changes/1, db_path/1, transaction_status/1, and ~17 more) now run on dirty schedulers, so a reader blocked behind a slow query on the same handle can no longer stall a BEAM scheduler. Cost: ~0.85µs median per call — still sub-microsecond.
  • TEXT encoding can no longer panic on allocation failure. Returning a huge TEXT value under allocation failure now yields a structured internal_encoding_error — matching the blob path — instead of panicking through the string encoder.
  • Elixir floor raised to ~> 1.17, matching what CI actually exercises (Elixir 1.17–1.20 × OTP 26–29).
  • Dependencies refreshed: rusqlite 0.40.2, libsqlite3-sys 0.38.2. Bundled SQLite unchanged at 3.53.2.
  • Docs: changeset_apply/2 now states explicitly that :replace aborts and rolls back the whole apply on a conflict SQLite forbids replacing — it never silently skips a change.

Full details in the CHANGELOG.