Skip to content

chore(release): sync upstream & update deps for next release#101

Closed
mceachen wants to merge 2 commits intomainfrom
claude/prepare-new-release-tmaLS
Closed

chore(release): sync upstream & update deps for next release#101
mceachen wants to merge 2 commits intomainfrom
claude/prepare-new-release-tmaLS

Conversation

@mceachen
Copy link
Copy Markdown
Member

Summary

Release-prep sync of upstream sources, dependency bumps, and docs refresh.

Upstream sync

  • SQLite amalgamation: 3.51.3 → 3.53.0 (latest stable from sqlite.org).
  • Node.js SQLite (node_sqlite.{h,cc}, sqlite.js): synced from v25.x-staging at ffa9b8f. Only substantive upstream change is a capture-by-value fix on the ApplyChangeset filter lambda; our port in src/sqlite_impl.cpp already uses the safe capture pattern, so no code port was required.
  • Node compat tests: regenerated via npm run sync:tests. Two new upstream tests added skip entries in scripts/sync-node-tests.ts:
    • test-sqlite-serialize.js — skipped in its entirety; DatabaseSync.serialize() / deserialize() are not yet ported. Filed implicitly as a follow-up.
    • session supports ERM (in test-sqlite-session.js) — skipped; uses a using declaration which Node.js 22 CJS cannot parse. The sync script now rewrites usingconst so the file still parses, and the matching test is transformed to test.skip(...).

Dependency updates

  • jest 30.2 → 30.3
  • ts-jest 29.4.6 → 29.4.9
  • node-addon-api 8.6 → 8.7
  • eslint-plugin-regexp 3.0 → 3.1
  • Pinned typescript to ^5.9.3 via .ncurc.js (typedoc 0.28 doesn't yet support TypeScript 6).

Docs

  • CHANGELOG.md: added an [Unreleased] section capturing the SQLite bump, upstream sync, and dep updates.
  • doc/features.md: SQLite version bumped to 3.53.0.
  • doc/working-with-data.md: prettier-only whitespace tweaks.

Verification

  • npm run build:native ✓ (SQLite 3.53.0 amalgamation compiles cleanly)
  • npm run build:dist
  • npm run lint ✓ (tsc + eslint clean)
  • Jest suite: 827 passed / 54 skipped / 0 failed
  • npm run test:node: 293 passed / 6 skipped / 0 failed
  • npm run test:api: 1 pre-existing failure on Node 22.22 (the "extra SQLITE_OPEN_* constants" test compares against the much smaller node:sqlite constants set exposed by Node 22; this failure is unrelated to the changes in this PR — confirmed by git stash + rerun on the baseline).

Test plan

  • CI passes on all supported platforms (Linux x64/ARM64, macOS, Windows, Alpine glibc/musl)
  • Prebuild workflow succeeds
  • npm run test:all (CJS + ESM) green on CI runners
  • npm run test:api passes on a Node 25+ runner (pre-existing Node 22 limitation aside)

https://claude.ai/code/session_01RuRZdvQxHnKfcqwiA12SNN

claude added 2 commits April 15, 2026 19:56
- SQLite: bump amalgamation to 3.53.0 (from 3.51.3)
- Node.js: sync node_sqlite.{h,cc} and sqlite.js from v25.x-staging
  (ffa9b8f); only upstream change is a minor filter-callback capture
  fix which is already correct in our port
- Node compat tests: re-sync from upstream; skip the new
  test-sqlite-serialize.js (serialize/deserialize APIs not yet ported)
  and the new "session supports ERM" test (uses `using` which Node.js
  22 CJS cannot parse); pin `typescript` to 5.x via .ncurc.js because
  typedoc 0.28 doesn't yet support typescript 6
- Dependencies: bump jest, ts-jest, node-addon-api,
  eslint-plugin-regexp; regenerate package-lock
- Docs: update CHANGELOG with an Unreleased section and refresh the
  SQLite version referenced in features.md
Our upstream sync is from v25.x-staging@ffa9b8f, which is post-v25.9.0
(staging is currently tagged 25.9.1-pre-release). v25.9.0 is the latest
released v25.x whose node:sqlite source we have fully incorporated.

The sync-from-node script only auto-bumps the README for release tags,
so staging syncs need a manual bump.
@mceachen mceachen closed this Apr 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants