AZMARA PLATFORM
Changelog

@azmr/db

Release history for @azmr/db.

View as Markdown for coding assistants, or see llms.txt.

1.2.0

Minor Changes

  • 66baf1e: Requires Node.js 22 or later, up from 18, because better-sqlite3 (its SQLite driver) is now on 13.

    better-sqlite3 13 runs on Node's stable N-API, so its prebuilt binaries ship inside the package and work across Node versions without a rebuild. It needs Node 22+. Node 18 and 20 are past end of life, so this is a minor release rather than a major one. If you are still on Node 20, stay on @azmr/db 1.1.x until you upgrade Node.

1.1.2

Patch Changes

  • ea59e9b: Package metadata: homepage now points at each package's page on platform.azmara.io (docs.azmara.io never resolved), bugs links to the GitHub issues, and README doc links follow. @azmr/ui gets a description that matches the design system it now is.
  • Updated dependencies [ea59e9b]
    • @azmr/db-core-interface@0.1.1
    • @azmr/security@0.3.2

1.1.1

Patch Changes

  • 9e4ee63: Move the DbAdapter contract (the interface, its filter and schema types, and DbAdapterError) into a new dependency-free package, @azmr/db-core-interface.

    @azmr/db-supabase now depends on it instead of on @azmr/db, so installing @azmr/db-supabase no longer installs better-sqlite3. @azmr/db re-exports everything from the package root and from @azmr/db/interface, so existing imports keep working and DbAdapterError is the same class from every entry point.

  • Updated dependencies [9e4ee63]

    • @azmr/db-core-interface@0.1.0

1.1.0

Minor Changes

  • 221ef3b: Add a ./interface subpath export (DbAdapter, DbAdapterError, Filter, FilterCondition, FilterOperator, ColumnSchema, ColumnType) that never imports SQLiteAdapter, so consumers who only need the storage-agnostic interface — like @azmr/db-supabase — no longer pull in better-sqlite3 (a native, node-gyp-built module) transitively. The root . export is unchanged and still includes SQLiteAdapter.

    Also declares "sideEffects": false and corrects the . export's condition order (types before import), so bundlers can tree-shake the SQLite adapter out of any build that only imports from . for its types/errors.

    Non-breaking: purely additive. Consumers on the root @azmr/db import are unaffected; new code (or @azmr/db-supabase) can switch to @azmr/db/interface to drop the native-module dependency entirely.

Patch Changes

  • Updated dependencies [a5a2134]
  • Updated dependencies [c8712c6]
  • Updated dependencies [7e2bf0e]
    • @azmr/security@0.3.1

1.0.0

Major Changes

  • c4f2c02: SQLiteAdapter's methods are now all async (previously synchronous) — a breaking change to every existing call site. This aligns @azmr/db with a new, extracted DbAdapter interface that a cloud-backed adapter (@azmr/db-supabase) also implements, so callers can swap SQLite for Supabase behind the same shape.

    • deleteWhere's signature changed from (name, condition: string, params) to (name, filter: Filter) — a structured, backend-portable filter shape ({column, operator, value}[]) replacing raw SQL fragments, since a cloud/PostgREST-backed adapter can't accept arbitrary SQL strings.
    • New findWhere(name, filter) method, using the same Filter shape.
    • rawSelect and the path getter remain SQLite-only escape hatches, not part of the shared DbAdapter interface.
    • New exports: DbAdapter, Filter, FilterCondition, FilterOperator, DbAdapterError.

    Existing callers need to add await at every SQLiteAdapter call site.

Patch Changes

  • Updated dependencies [c4f2c02]
    • @azmr/security@0.3.0

0.2.0

Minor Changes

  • d70fccb: Upgrade workspace dependencies across the monorepo (pnpm 10 -> 11 tooling migration): React 18.3 -> 19.2 (@azmr/ui), Zod 3.24 -> 4.4 (@azmr/security), better-sqlite3 11.7 -> 12.11 (@azmr/db), plus vitest, tsup, and @types/node bumped to latest across all packages. typescript stays pinned at ^5.7.3 (TypeScript 7 currently breaks tsup's .d.ts bundling via rollup-plugin-dts).

Patch Changes

  • 5bf56bb: Fix package metadata: mojibake in the description field (encoding mismatch, was showing garbled text on npm) and a missing LICENSE file in the published tarball despite being listed in files.

    @azmr/ai got the same fixes plus missing homepage/repository/ author/keywords, but isn't included in this changeset - it's on changesets' ignore list and doesn't take version bumps this way.

  • Updated dependencies [5bf56bb]

  • Updated dependencies [d70fccb]

  • Updated dependencies [8b4512b]

    • @azmr/security@0.2.0

0.1.0

Minor Changes

  • 0a51a60: Phase 3 security hardening

    • @azmr/security: add createRateLimiter — sliding-window in-memory rate limiter with per-key tracking
    • @azmr/security: add createJWT — HMAC-SHA256 JWT using Node built-in crypto, timing-safe verification, 15-min default expiry
    • @azmr/db: add createColumnEncryption — AES-256-GCM column-level encryption with scrypt key derivation and GCM auth tag tamper detection
    • @azmr/cli: add audit:verify command — recomputes SHA-256 hashes and validates prevHash chain integrity of audit log files

Patch Changes

  • Updated dependencies [0a51a60]
    • @azmr/security@0.1.0