github CharlesWiltgen/Axiom v27.0.0-beta.54
Axiom v27b54

one hour ago

Released September 8, 2026

New

  • swift-sharing – A new skill covers Point-Free’s library for shared, persisted state, which @FetchAll and @FetchOne are built on: @Shared and @SharedReader, the user defaults, file and in-memory strategies, loading and error state, custom keys, and keeping each test’s storage separate. It also explains why chaining a SwiftUI binding into shared state fails to compile on Swift 6.3 with swift-sharing releases before 2.8, and what to write instead.

Updated

  • SQLiteData – Updated coverage for SQLiteData 1.12 and StructuredQueries 0.39.2:
    • sqlitedata – Sectioned results with sectionBy:, package traits, lazily initialized draft columns, previewable CloudKit sharing, and text matching with like, which replaces the deprecated contains, hasPrefix and hasSuffix
    • sqlitedata-ref – Date and time helpers, Values, nullif, user-defined collations, and the SyncEngine.$isSynchronizing guard that keeps a trigger from firing on every incoming CloudKit write
    • sql-json-ref – Typed JSON and JSONB columns, key-path extraction and jsonEach()
  • @FetchOne for a single record – Pass a statement such as Item.find(id), not a record: a @FetchOne seeded with a record keeps observing its original row when SwiftUI reuses the view, and on a table that isn’t PrimaryKeyedTable it shows whichever row SQLite returns first.
  • SQLiteData sync tests – Start the sync engine in any test that exercises sync: since SQLiteData 1.5.1 it no longer starts under test, so a suite written earlier still builds and passes without testing sync.
  • WITHOUT ROWID upserts – Explains that GRDB 7.11.1 still generates failing upsert SQL for a WITHOUT ROWID table with an INTEGER primary key (no such column: "rowid"), and gives the workarounds: a TEXT primary key, a rowid table, or a hand-written ON CONFLICT DO UPDATE. The change covers grdb, grdb-performance and grdb-performance-auditor, which now flags those upserts on GRDB 7.11.0 and later.
  • SQLite JSONB availability – Gates SQLite’s JSONB functions on iOS 26 and macOS 26, the first releases whose SQLite includes them, with TEXT JSON as the fallback on earlier versions. StructuredQueries won’t compile a JSONB call for an earlier target, while raw SQL through GRDB compiles and fails at runtime with no such function: jsonb_extract.

Full Changelog: v27.0.0-beta.53...v27.0.0-beta.54

Don't miss a new Axiom release

NewReleases is sending notifications on new releases.