Programming Language

Nocter

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

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

v0.27.0 Release Preparation

Status: release candidate qualified, published, and externally audited (2026-09-02). This record owns the candidate identity, qualification contract, and final local artifact evidence. The immutable publication evidence is ../releases/v0.27.0.md.

Release Boundary

v0.27.0 adds allocation-free lexical inspection of owned UTF-8 paths and explicit directory lifecycle operations. Utf8Path publishes parent, file_name, file_stem, and extension borrowed views without filesystem access or normalization. std/fs publishes single-directory creation, recursive prefix creation, and non-recursive empty-directory removal.

std/path alone owns separator and extension selection. std/internal/path owns native path arguments, std/internal/os/darwin owns raw target facts, std/fs/darwin owns target attempts and observations, and std/fs owns portable mutation policy. Mutating syscalls are attempted once; recursive deletion remains outside this release.

The public release notes are ../../releases/v0.27.0.md. The root download link and public release index advance to v0.27.0 in the separate publication commit.

Candidate Identity

The release inputs agree on 0.27.0:

  • development/packaging/VERSION, the sole authored release-version input;
  • the #package version in development/std/index.nct;
  • the archive name and installed manifest derived from VERSION and RELEASE.json;
  • compiler and language-server reporting derived from the validated installed home.

The exact release-content commit is ce162bebc6e407e0b5d0a38b7ca175af3051afd1 (Prepare v0.27.0 release candidate). All source and artifact qualification below used this commit with a clean worktree.

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. formatter, no-default-features checking, documentation generation and reproducibility, repository whitespace, and packaging-input validation;
  4. the explicit public-HTTPS dependency-acquisition test;
  5. checks and representative native execution for every public example against an isolated candidate home;
  6. two independent optimized package builds with byte-identical archives and recursively identical installed homes;
  7. 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;
  8. rejection after either the installed compiler or standard-library content is changed, plus proof that ordinary qualification commands do not mutate the installed home.

Source Qualification

Two independent external Cargo targets each completed the locked workspace test suite with 1,511 passed, zero failed, and one explicitly ignored network test. Warnings-denied all-target Clippy passed independently in both targets. The ignored public-HTTPS dependency-acquisition test then passed when run explicitly.

The same candidate passed the no-default-features workspace check, cargo fmt --check, packaging shell and JavaScript syntax validation, repository whitespace validation, and deterministic generation and testing of all 374 documentation pages.

Artifact Qualification

Two clean optimized package builds produced byte-identical archives and recursively identical installed homes. The retained candidate is:

  • archive: dist/nocter-v0.27.0-arm64-darwin.tar.gz;
  • size: 8,268,486 bytes;
  • archive SHA-256: 977984f72474dcb06ad43170f281f24b3809c1d21050ba1a518aaac2076d6af2;
  • compiler SHA-256: 01d4a9dca781df11fc2b47e38258d38ddbab74f2d7ea0c4de73bcfedb1e5bee5;
  • standard-library tree SHA-256: d8b8e51748d42ac057b24dcb951364a8c37abc729832e3f62c8a0f0292ff05e3;
  • standard-library files: 124.

A fresh extraction reported release 0.27.0 for arm64-darwin and passed doctor, help, initialization, locked/offline package check and test, all public examples, deterministic package graphs, native run, explicit build and execution, and framed LSP analysis. These commands did not mutate the installed home. Independent compiler and standard-library tampering were both rejected.

Publication Boundary

Separately authorized publication reused the qualified archive without rebuilding it, advanced public latest-release links in a separate commit, created and pushed one annotated v0.27.0 tag, uploaded exactly one archive, and verified the public asset byte for byte. Existing tags and assets must not be replaced.