Skip to content

Final locks before 1.0

This page is the control point before promoting 1.0.0-rc.1, then 1.0.0. It does not replace the scripts: it states what to run, where evidence is kept, and which decisions remain manual.

GitHub Actions matrix to stabilize

The dedicated workflow is .github/workflows/rc-stability.yml. Run it from GitHub Actions on the real repository, against the same commit that will be used to publish the release candidate.

The matrix runs three passes with bun install --frozen-lockfile:

powershell
bun install --frozen-lockfile
bun run release:doctor
bun run e2e:ci:functional
bun run release:browser:check
bun run package:ci:artifact
bun run npm:publish:dry-run -- --skip-gates

After three green passes, fill release/rc-ci-stability.json with run links, the Git SHA and the date. Do not mix runs from different commits.

Accessibility review to complete

Automated coverage remains required, but it is not enough for the 1.0 promotion. Complete release/manual-accessibility-review.json with these checks:

CheckExpected result
keyboard-onlyComplete navigation without a mouse, visible focus, reversible dialog actions.
zoom-200Interface remains usable at 200 percent without losing critical information.
reflow-320-css-pxMain reading and actions remain possible at 320 CSS px.
nvda-chromiumNVDA pass under Chromium, with coherent announcements for panels, dialogs and fields.
custom-theme-contrastContrast checked after theme customization.
artifact-reviewTarball, manifests and public exports reviewed before publication.

Any exception goes into release/accessibility-derogations.json. An exception must be bounded, justified, mitigated and tied to a correction target.

Bundle and components to watch

The CI bundle report is .artifacts/bundle-budget.json. After bun run bundle:budget:inspect, run:

powershell
bun run bundle:watchlist:check

The two areas to watch before 1.0 are Theme Builder and IconPicker. If a chunk approaches the budget, first split editor-only branches that are not required by the public runtime: heavy presets, popup paths, icon lists or advanced options.

Distinct business application

Before 1.0.0, integrate 1.0.0-rc.1 into a Nuxt 4 application outside the QForm Builder repository. Fill release/rc-real-app-integration.json with:

  • installed package source, npm or verified tarball;
  • page rendering FormBuilder and FormViewer;
  • import/export of one versioned document;
  • reload of a persisted document through the public migration registry;
  • no direct import from app/.

After publishing the release candidate, only compatible regression fixes should land before 1.0.0.

Schema and theme migrations

The migration contract is no longer a functional blocker: it already exists. Any future persisted document, schema or theme evolution must go through the public migration registry. The detailed rule is in the Schema migration policy reference.

QForm Builder — Nuxt 4, Quasar and FormKit layer for dynamic forms.