Programming Language

Nocter

A self-contained systems language built around simplicity, encapsulation, and foolproof design.

/development/milestones/v0.19.0-release-preparation.md

v0.19.0 Release Preparation

Status: release candidate qualified, published, and externally audited (2026-08-28). This record owns candidate identity, qualification requirements, and final local artifact evidence. It does not authorize publication.

Release Boundary

v0.19.0 contains practical directory traversal, streaming UTF-8 line input, allocation-free slice sorting, the recursive text-search reference application, and the Phase 4 standard-library stabilization recorded in ../reviews/v0.19.0-phase-4.md. It adds no source-language syntax, runtime interface representation, native target, or compatibility path.

The public release notes are ../../releases/v0.19.0.md. The immutable publication evidence is ../releases/v0.19.0.md.

Candidate Identity

The release inputs agree on 0.19.0:

  • development/packaging/VERSION;
  • development/packaging/MANIFEST.json and its archive name;
  • the #package version in development/std/index.nct;
  • installed compiler and language-server reporting derived from the validated home.

Qualification Contract

The clean release-content commit must pass:

  1. 1. two independent complete locked workspace test runs in distinct external Cargo targets;
  2. warnings-denied all-target Clippy in both external targets;
  3. formatting, manifest validation, generated documentation, and repository integrity checks;
  4. the explicit public-HTTPS dependency acquisition test;
  5. two independent optimized package builds with byte-identical archives and recursively identical installed homes;
  6. fresh extraction checks for version, doctor, help, initialization, locked/offline check and test, deterministic graph, native run, explicit build and execution, and framed LSP analysis;
  7. proof that the installed home remains unchanged and qualification leaves no repository-local Cargo target.

This completed record names the exact release-content commit, test totals, artifact byte size, SHA-256 digest, and standard-library file count. Tagging, pushing, uploading, and publication remain outside this preparation record's authority.

Source Qualification

The exact release-content commit is 3b510875b086513c5fdcde970628267630d7f5d0 (Prepare v0.19.0 release candidate). Two complete locked workspace test runs in independent external Cargo targets each reported 1,358 passed, zero failed, and one ignored public-HTTPS test. Warnings-denied all-target Clippy passed in both targets.

The explicit HTTPS acquisition test git::tests::clones_resolves_and_materializes_without_external_git first failed with server I/O in the network-restricted environment, then passed unchanged when network access was granted. Formatting, manifest validation, the 251-page documentation build, and git diff --check passed. No repository-local Cargo target was created; both external qualification targets were removed.

Artifact Qualification

development/packaging/qualify-local-release.sh generated two optimized packages in independent temporary targets. Their compressed archives were byte-identical and their extracted .nocter/ homes matched recursively. The retained candidate is:

  • archive: dist/nocter-v0.19.0-arm64-darwin.tar.gz;
  • bytes: 7,501,861;
  • SHA-256: 91ca191bad08223fa394cce9962466089d5ad003bda0cf6c07664eb4f81aa169;
  • executable: ARM64 Mach-O;
  • installed identity: release 0.19.0, host arm64-darwin, default target arm64-darwin;
  • standard-library payload: exactly 71 tracked regular files.

Fresh extraction passed version, doctor, help, package initialization, locked/offline check and test, two byte-identical JSON package graphs, native run, explicit build and direct execution, and framed LSP checks over installed standard-library contract and implementation sources. The installed home was recursively unchanged after the smoke matrix.

Publication Boundary

The candidate was frozen for explicit publication authorization. Publication reused the retained archive without rebuilding it, updated public latest-release links in a separate commit, created and pushed an annotated v0.19.0 tag, uploaded exactly this archive, and verified the public download byte for byte. Qualification itself performed no publication action.