Skip to content

chore(release): prep v4.1.1 (publishability patch on the 4.1.0 line)#7

Merged
abitofhelp merged 1 commit into
mainfrom
release/v4-1-1-prep
Jun 7, 2026
Merged

chore(release): prep v4.1.1 (publishability patch on the 4.1.0 line)#7
abitofhelp merged 1 commit into
mainfrom
release/v4-1-1-prep

Conversation

@abitofhelp
Copy link
Copy Markdown
Owner

Summary

Slice F2 of the functional publishability repair sequence.
Bumps the version surfaces from 4.1.0 to 4.1.1, adds a
[4.1.1] CHANGELOG section documenting the F1 publishability
fix (the .gitmodules SSH → HTTPS repair merged in #6), and
refreshes README + config/README metadata.

Scope is deliberately 6 files, ~15 line changes — reversible,
no release execution.

Tag date uses a <YYYY-MM-DD pending tag> placeholder per the
no-drift policy established on clara T0; the real date is patched
in immediately before the v4.1.1 tag gate.

Per the F1 finding: the Ada library API and runtime behaviour at
HEAD are byte-identical to v4.1.0 (zero src/ changes since the
v4.1.0 tag). v4.1.1 is honestly a publishability patch on the
4.1.0 line
, hence the semver patch bump.

Commit map

# SHA Subject Files
1 5f94583 chore(release): prep v4.1.1 (publishability patch on the 4.1.0 line) 6 files (see §"What the change does" below)

Diff total: 6 files, +32 / -14.

What the change does (mechanical)

File Change
alire.toml version = "4.1.0""4.1.1"
test/alire.toml version = "4.1.0""4.1.1"
src/version/functional-version.ads Patch : constant Natural := 0;1;
Version : constant String := "4.1.0";"4.1.1";
CHANGELOG.md top metadata Version: 4.1.04.1.1
top metadata Date: 2025-12-18<YYYY-MM-DD pending tag>
top metadata Copyright © 2025© 2025-2026
add ## [4.1.1] - <YYYY-MM-DD pending tag> section above [4.1.0] with the F1 publishability-fix entry
[Unreleased] body → No unreleased changes yet.
README.md top metadata Version, Date, Copyright bumps (same shape as CHANGELOG)
status footer Production Ready (v4.1.0)(v4.1.1)
config/README.md top metadata Version, Date, Copyright bumps

Position in the publishability sequence

This PR is F2 in the Codex-reviewed sequence:

  1. F1 — .gitmodules HTTPS repair (merged in fix(gitmodules): switch submodule URLs from SSH to HTTPS for publishability #6)
  2. F2 — release-prep PR for v4.1.1 (this PR)
  3. F2-tag — annotated v4.1.1 tag push (separate gate)
  4. F3 — alr publish --skip-submit dry-run; review generated manifest
  5. F4 — alr publish submit to Alire community index
  6. F5 — confirm index visibility (alr search --crates functional)
  7. Resume clara T1 sanity at branch 3144709 after the new
    functional version is consumable

Each subsequent gate is owner-authorized and Codex-reviewed
independently.

What this PR does NOT do

  • No tag, no GitHub Release, no alr publish.
  • No .gitmodules edit (F1 already did that).
  • No src/ (Ada source) changes — zero API delta vs v4.1.0.
  • No test/ (Ada tests) changes.
  • No formal-doc edits — per owner direction, docs/formal/{srs,sds,stg}.typ
    stay at version: "4.1.0", status_date: "2026-04-27", applies_to: "^4.1"
    because the doc content is unchanged and applies_to already covers 4.1.1.
  • No docs/index.md / docs/quick_start.md / docs/guides/*.md edits —
    **Doc Version:** is doc-version, not product-version; leave per owner direction.
  • No README.md line 110 change — dependency example functional = "^4.1.0"
    stays (semver caret covers 4.1.1).
  • No Makefile / *.gpr / .github/workflows/ changes.
  • No LICENSE / NOTICE / THIRD_PARTY changes.
  • No real date — only the placeholder <YYYY-MM-DD pending tag>.
  • No dependency unpinning anywhere.
  • No clara T1 changes — branch preserved local-only at 3144709.

Validation (performed before PR open)

Dev container (dev-container-ada-system-1):

  1. alr build on the F2 branch:
    • Functional.Version.Version constant confirmed as "4.1.1"
      in the built tree.
    • Success: Build finished successfully in 0.37 seconds.
    • functional library archived (libfunctional.a).
  2. Clean consumer crate with [[depends-on]] functional = "^4.0.0"
    and a local [[pins]] functional = { path = "/workspace/functional" }
    (pointing at the F2 branch):
    • alr update resolved +. functional 4.1.1 (new,path=...).
    • alr build completed successfully in 0.46s; consumer binary
      linked cleanly.

Confirms the version bump propagates correctly through Alire's
dependency resolution and that consumers see 4.1.1 as expected.

Follow-ups deliberately deferred

  • F2-tag — annotated v4.1.1 tag push to origin. Separately
    gated. If the real tag date differs from any value owner picks at
    tag time, patch CHANGELOG/README/config/README placeholders first
    (no-drift policy).
  • F3 alr publish --skip-submit — Codex-reviewed before submit.
    Manifest must point at the exact v4.1.1 tag SHA (NOT a moving
    branch), have no [[pins]], no path = ..., no SSH URLs.
  • F4 alire-index submission — separately gated; irreversible
    once the alire-index PR opens.
  • F5 visibility check — informational.
  • clara T1 resumption — gated on F4 + F5 visibility.
  • Formal-doc cover-page version — deferred owner-decision item.
  • release.py script restorationsrc/version/functional-version.ads
    still claims auto-generation from a script that doesn't exist in
    the repo. NOT a v4.1.1 blocker; file post-publish cleanup ticket.

Refs: adafmt#42

Bump version 4.1.0 → 4.1.1 across all version surfaces, add the
[4.1.1] CHANGELOG section documenting the F1 publishability fix
(.gitmodules SSH → HTTPS), and refresh README + config/README
metadata. Tag date uses a <YYYY-MM-DD pending tag> placeholder;
the real date is patched in immediately before the v4.1.1 tag
gate if needed (no-drift policy from clara T0).

This release carries the F1 .gitmodules HTTPS repair (merged in #6)
that makes functional's published Alire community-index source
deployable from any consumer environment with internet access.
The Ada library API and runtime behaviour are byte-identical to
v4.1.0; this is a publishability patch only.

Scope: alire.toml, test/alire.toml, src/version/functional-version.ads,
CHANGELOG.md, README.md, config/README.md. No source/test/Makefile/CI
changes; no formal-doc changes; no tag, GitHub Release, or alr publish
in this commit.

Refs: adafmt#42
@abitofhelp abitofhelp merged commit 8603ff3 into main Jun 7, 2026
@abitofhelp abitofhelp deleted the release/v4-1-1-prep branch June 7, 2026 01:14
abitofhelp added a commit that referenced this pull request Jun 7, 2026
Replace <YYYY-MM-DD pending tag> placeholders introduced by the
F2 release-prep PR (#7) with the actual intended tag date
2026-06-09 UTC. The placeholder occurs in four locations across
three files:

- CHANGELOG.md top metadata Date and [4.1.1] section heading
- README.md top metadata Date
- config/README.md top metadata Date

This is the immediate pre-tag PR. The annotated v4.1.1 tag will
be created on the squash-merge commit produced by THIS PR, after
explicit owner + Codex authorization. NOT on the F2-tag-prep
branch tip.

Scope: CHANGELOG.md, README.md, config/README.md (date-only). No
version-surface changes; no source/test/formal-doc/CI changes;
no tag, GitHub Release, alr publish, or dependency unpinning in
this commit.

Audit trail (owner-authorized --admin bypass):
- Ruleset: "Lock all branches" (id 13699121, target=branch,
  enforcement=active).
- PR head: 6340b24.
- Validation:
  * diff scope exactly three expected date files
    (CHANGELOG.md, README.md, config/README.md);
  * no <YYYY-MM-DD pending tag> placeholders remain anywhere
    in the repo;
  * exactly four 2026-06-09 occurrences across the expected
    date surfaces (CHANGELOG ×2, README ×1, config/README ×1);
  * version surfaces remain 4.1.1 (alire.toml, test/alire.toml,
    src/version/functional-version.ads);
  * .gitmodules remains HTTPS-only (F1 invariant);
  * root alire.toml has no [[pins]] (F2 invariant);
  * v4.1.1 tag/GitHub Release/Alire community-index entry
    absent before merge;
  * alr build in dev-container-ada-system-1 succeeded
    (Success: Build finished successfully in 0.32 seconds).
- Rationale: owner-authorized bypass for date-only v4.1.1
  tag-prep PR; no tag/release/publish work in this commit.

Refs: adafmt#42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant