vernac / architecture, expressed.
Browse documentation

Vernac 0.4.0 release preparation

Status: historical 0.4.0 preparation and acceptance record. The next development branch uses 0.5.0-SNAPSHOT. Commands and evidence below retain their 0.4.0 context; distribution evidence belongs in the GitHub Release. Source branch: feature/0.4.0. Root revision remains 0.4.0-SNAPSHOT; the workflow selects 0.4.0 without committing a POM-version change. The release notes define the scope. The operations guide describes recovery.

Acceptance

Use JDK 25 and Maven 3.9.16. From the repository root:

mvn clean install
python tools/check-doc-links.py
python -m unittest discover -s tools/tests -v -b

Configure the disposable PostgreSQL test service and the three VERNAC_PG_TEST_* variables as described in examples. Skipped database tests are not release acceptance. The release workflow provides its own disposable server.

Only record a check as passed when its actual evidence exists. The workflow requires module persistence, pagination, vocabulary and diagram suites as well as existing integration, documentation and packaged-plugin checks. Standalone examples are separate from the root reactor; they still need the applicable checks above.

Local preparation evidence (2026-10-14)

Merge and publish

  1. After the dry run and acceptance, merge feature/0.4.0 into main and record the SHA.
  2. Run Vernac Release on main, version 0.4.0, dry_run false.
  3. Once Central validation succeeds, Publish the existing deployment in the Central Portal. Do not start a second Maven deployment for the same coordinates.
  4. The Marketplace job waits for Central, builds a fresh consumer and uploads the archived candidate ZIP. If it times out, use Publish IntelliJ Plugin with the original run ID/attempt. Never rerun all release jobs after publication.
  5. Check Marketplace approval and installation separately. Preserve the original ZIP, release.json and workflow identity as release evidence.
  6. Create v0.4.0 on the exact real-release SHA and create the GitHub Release from the notes, attaching the original ZIP and manifest. The workflow does neither.
  7. Only afterward create feature/0.5.0 and update root/template/example Vernac-version defaults to 0.5.0-SNAPSHOT in a separate development commit.

Do not move a published tag or imply publication before both services confirm their actual state. CI’s migration tests do not replace migration review by application owners.