Skip to main content

Versioning

txiki.js uses calendar versioning with the form YY.MM.MICRO:

  • YY — two-digit year of the release.
  • MM — month of the release (not zero-padded).
  • MICRO — patch number within that month, starting at 0.

For example, 24.6.1 is the second release made in June 2024.

Checking the version​

From the command line:

tjs --version # prints e.g. v24.6.1

At runtime, the version is available as a global, and the versions of the bundled components (QuickJS, libuv, libwebsockets, WAMR, SQLite, mimalloc) are exposed under tjs.engine.versions:

console.log(tjs.version); // "24.6.1"
console.log(tjs.engine.versions.quickjs); // bundled QuickJS-ng version
console.log(tjs.engine.versions.uv); // bundled libuv version

See tjs.version and tjs.engine.versions.

Stability​

txiki.js targets state-of-the-art ECMAScript and WinterTC compliance, and the core APIs documented here are intended to be stable across releases. Some surfaces are explicitly experimental and may change between versions — these are called out in their own docs, for example the TPK app package format and the tjs app commands.

Releases and changelog​

Releases are published on the GitHub Releases page, which serves as the de-facto changelog.