Skip to content
All changes

Release

Everything since ARDOR 0.4.3 in one place, with an upgrade checklist

@venizia/ardor-kernel, @venizia/ardor-react, @venizia/ardor-admin, @venizia/ardor · 0.4.3

Changelog - 2026-10-26 ​

Everything since ARDOR 0.4.3 in one place, with an upgrade checklist ​

New Feature Behavior Change

In one line. Nothing here breaks an application on ARDOR 0.4.3. A Vite plugin for the build stamp (@venizia/ardor/vite), one build flag in the preset, a features prop for ArdorApplication and a boot test helper. ARDOR 0.4.4 pairs with IGNIS 0.4.4, which runs on Bun >= 1.4 and ships ESM only.

bash
bun add @venizia/ardor

What changed ​

Each change has its own entry in the changelog list, newest first.

PackageARDOR 0.4.3ARDOR 0.4.4
@venizia/ardor0.4.30.4.4
@venizia/ardor-kernel0.4.30.4.4
@venizia/ardor-react, @venizia/ardor-admin0.4.30.4.4

The IGNIS peers stay ^0.4.1 on @venizia/ardor-kernel, @venizia/ardor-react and @venizia/ardor-admin. @venizia/ardor asks for @venizia/ignis-inversion ^0.4.4, because @venizia/ardor/testing calls the shared binding check that arrived there. IGNIS 0.4.4 ships ESM only and needs Bun 1.4 or newer; an app built with Vite takes ARDOR as ESM already, so this changes nothing for it.

Who is affected ​

  • An application on ARDOR 0.4.3. No action is needed to keep running. The checklist below takes the new behavior.
  • An application generated from the preset. Optional and recommended: step 3.
  • An application with its own reflectMetadataFirst or buildInfoFile plugin. Steps 2 to 4.
  • An app that wants a boot test. Step 5.

Upgrade checklist ​

  1. Move the four ARDOR packages together to 0.4.4, with the @venizia/ignis-* packages at 0.4.4 (for the kernel, react and admin, 0.4.1 or newer satisfies the peers; @venizia/ardor needs @venizia/ignis-inversion 0.4.4).
  2. If the app builds with Vite and orders reflect-metadata itself: bump vite to 8.3.5 or newer, add strictExecutionOrder: true to build.rolldownOptions.output, build, open the built app in a real browser (vite preview) and check the console, then delete the app's reflectMetadataFirst plugin and its import.
  3. An app made from the preset: add strictExecutionOrder: true to the same place in its vite.config.mts. A new app has it.
  4. If the app has its own buildInfoFile: replace it with import { buildInfoFile } from '@venizia/ardor/vite', delete its copy and its test, and type the About page with IBuildInfoFile from @venizia/ardor. The keys now have a fixed order, frameworks is sorted and commit is the 12-character short form; a build with no commit fails unless onUnresolved: 'unspecified' is set. The entry lists every difference.
  5. Optional: add a boot test. An app made from the preset has src/boot.test.ts; an older one copies it. It calls assertArdorApplicationBoots from @venizia/ardor/testing and needs IGNIS 0.4.4.

The wiki page Vite setup has the options of buildInfoFile and the measured cost of the flag.