Skip to content

Prepare 0.9.1 release - #103

Merged
assapir merged 6 commits into
mainfrom
chore/prepare-0.9.1
Aug 14, 2026
Merged

Prepare 0.9.1 release#103
assapir merged 6 commits into
mainfrom
chore/prepare-0.9.1

Conversation

@assapir

@assapir assapir commented Aug 14, 2026

Copy link
Copy Markdown
Owner

Prepares the 0.9.1 release. Docs, version, and metadata only — no compiler or runtime behavior changes.

Version

  • Cargo.toml and quilon-rt/Cargo.toml: 0.9.00.9.1 (Cargo.lock updated).
  • VS Code extension untouched (separate track).

CHANGELOG

  • Renames Unreleased → dated ## 0.9.1 — 2026-08-14.
  • Adds the M1–M3 language-surface entries that were merged since the v0.9.0 tag but never recorded: ad-hoc + operator overloading, user-defined sum types + concrete Result payloads, Unit ($), Text methods, Text/nested-arrays in composites, array methods, array + concat, ranges, spread, closures, guaranteed TCO, in-place record mutation + setters, ^ args/env, core.test, core.cli, human-readable diagnostics, JIT/AOT argv parity.
  • Keeps the existing (already-recorded) watermark, licensing-exception, layout-rule, mut-removal, for-removal, self-asserting-examples, embedded-runtime, and correctness-fix entries.

Doc drift fixed

  • README.md: dropped the false "llc is used by quilon build" prerequisite — AOT is in-process via LLVM TargetMachine.
  • CLAUDE.md: corrected the stale claim that Text in composites / as a payload "doesn't type-check yet" (it does now).
  • quilon-rt/Cargo.toml: stale llc -> gcc comment.
  • release.yml: refreshed the hardcoded release-notes body, which still described the 0.9.0 surface (claimed no closures / user-defined sum types / real argv).
  • Version headers in LANGUAGE.md and README.md bumped to 0.9.1.

Release how-to

  • New docs/RELEASING.md runbook: the Release workflow triggers on a v* tag, builds cargo build --release --bin quilon, and publishes a GitHub Release with the Linux x86-64 quilon binary attached + auto-generated notes; no secrets beyond the default GITHUB_TOKEN; GitHub Releases only.

Gate

cargo build, cargo fmt --check, and cargo clippy --all-targets --workspace -D warnings are clean. Full test suite passes single-threaded; the default parallel cargo test hits a pre-existing, environment-specific Boehm-GC "Collecting from unknown thread" abort when parallel in-process JIT tests collide — unrelated to this version-only change (no runtime files touched).

🤖 Generated with Claude Code

assapir and others added 6 commits August 14, 2026 14:14
Bump the crate (and quilon-rt) to 0.9.1, finalize the dated CHANGELOG
section covering everything merged since 0.9.0, fix doc drift, and add a
release how-to. Docs/version/metadata only — no compiler or runtime change.

- Cargo.toml / quilon-rt/Cargo.toml -> 0.9.1 (+ Cargo.lock)
- CHANGELOG: move Unreleased into a dated 0.9.1 section and add the
  M1-M3 language-surface entries that had not been recorded (overloading,
  sum types, closures, ranges, spread, array/Text methods, Unit, TCO,
  ^ args/env, core.test/core.cli, diagnostics, argv parity)
- LANGUAGE.md / README.md: bump version headers to 0.9.1
- README.md: drop the false "llc is used by quilon build" claim (AOT is
  in-process via TargetMachine)
- CLAUDE.md: Text/nested-arrays in composites and as payloads now works
- quilon-rt/Cargo.toml: fix stale "llc -> gcc" comment
- release.yml: refresh the release-notes body (it still described the
  0.9.0 surface: no closures/sum types/argv)
- docs/RELEASING.md: new maintainer release runbook

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Automate release cutting: preflight (clean main in sync with origin), version
read from Cargo.toml as single source of truth, CHANGELOG dated-top-section
check, full gate (fmt/clippy/release build/single-threaded tests), annotated tag
+ push, and gh run watch / release view. Supports --dry-run. README gains a short
Releasing section pointing at it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add release-codenames.tsv (0.9.* -> Towel; glob-matched so a whole series shares
a name) read by both scripts/release.sh and release.yml. The annotated tag
message and the GitHub Release title become Quilon v<version> "<codename>"
(omitting the quoted name when no row matches).

release.yml keeps generate_release_notes: true and drops the hand-written body so
notes auto-generate from merged PRs since the previous tag; a step resolves the
codename into the release name.

Since notes are auto-generated, the release script's CHANGELOG check is now a
non-blocking warning rather than a hard gate; version-consistency, clean-main,
and the full gate stay hard. Add "Towel" to the 0.9.1 CHANGELOG heading.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@assapir
assapir merged commit ccc8865 into main Aug 14, 2026
2 checks passed
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