Skip to content

release: 1.4.2 - #30

Merged
marcobambini merged 1 commit into
mainfrom
release-1.4.2
Nov 13, 2026
Merged

marcobambini merged 1 commit into
mainfrom
release-1.4.2

Conversation

@marcobambini

Copy link
Copy Markdown
Member

SQLITE_JS_VERSION in src/sqlitejs.h goes from 1.4.1 to 1.4.2, and the changelog's [Unreleased] section becomes [1.4.2] - 2026-11-13 with a note on the one behavior change.

That is the whole of the release: the release job reads make version, sees it differs from the latest release's name (1.4.1), and does the rest.

What merging this sets off

The push to main runs the 14 build jobs and then release, which:

  • publishes the Android AAR to Maven Central as ai.sqlite:js:1.4.2;
  • publishes 8 npm packages (@sqliteai/sqlite-js and its 7 platform packages) at 1.4.2;
  • rewrites Package.swift with the 1.4.2 xcframework URL and checksum and pushes that as an [auto-update] commit to main;
  • creates the GitHub release 1.4.2, which is also the tag, with the platform archives attached and make_latest: true;
  • the tag then starts flutter-package.yml, which publishes sqlite_js 1.4.2 to pub.dev.

All of that is public and not easily undone, so it is worth being sure of the number before this merges.

Why 1.4.2 and not 1.5.0

Nothing was added and nothing was removed. One change can alter the behavior of JavaScript that works on 1.4.1 — a db.exec() result set no longer outlives the call into JavaScript that created it — and it is narrow, and in a corner that never worked as it looked: such a result set held a read transaction open, kept an interrupt in effect until the connection closed, and leaked the connection. The rest is five fixes, two of them for crashes.

The version inside the library

SQLITE_JS_VERSION is the single source of truth. The release tag comes from it (tag_name: ${{ steps.tag.outputs.version }}, from make version), the npm packages' version comes from it, the Maven coordinate comes from it, and flutter-package.yml takes the pubspec version from the tag. sqlitejs_version() and js_version() return it. The stale numbers in packages/node/package.json (1.1.14) and packages/flutter/pubspec.yaml (1.2.3) are placeholders that the release job overwrites at publish time, so they are not sources of truth.

Checked on the build of this branch:

$ make version
1.4.2
$ ./dist/main
SQLite-JS version: 1.4.2 (engine: 0.12.1)
...
16 of 16 tests OK

🤖 Generated with Claude Code

SQLITE_JS_VERSION is what the release is tagged with and what
sqlitejs_version() reports, so this is the whole of it: the release job
reads make version, finds it differs from the latest release, and tags,
publishes and releases under it. The changelog's Unreleased section becomes
1.4.2 and gains a note on the one change that can alter the behavior of
JavaScript that works on 1.4.1.

A patch release: one behavior change, narrow and in a corner that never
worked as it looked -- a db.exec result set read after the call that created
it returned -- and five fixes, two of them for crashes. Nothing added and
nothing removed, so not 1.5.0.

The built library reports 1.4.2 and the suite passes 16 of 16 on macOS
arm64.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@marcobambini
marcobambini merged commit 3bcfede into main Nov 13, 2026
15 checks passed
@marcobambini
marcobambini deleted the release-1.4.2 branch November 13, 2026 12:44
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.

1 participant