From 75e9ac0d0416bc63d591e207e4ec0d05d6496537 Mon Sep 17 00:00:00 2001 From: Amp Date: Wed, 16 Sep 2026 05:33:22 +0000 Subject: [PATCH] docs: add changelog page on the website Publish docs/changelog.md as /docs/changelog.html, list it under Project in the docs sidebar, and link it from the landing header. Amp-Thread-ID: https://ampcode.com/threads/T-01a0a631-f6de-735d-b395-b45d281f927e Co-authored-by: Max Carter --- docs-site/crepus.toml | 1 + docs-site/docs-gen/src/main.rs | 1 + docs-site/index.crepus | 2 ++ docs-site/test/dist.test.ts | 15 +++++++++++ docs/README.md | 1 + docs/changelog.md | 46 ++++++++++++++++++++++++++++++++++ 6 files changed, 66 insertions(+) create mode 100644 docs/changelog.md diff --git a/docs-site/crepus.toml b/docs-site/crepus.toml index db48c4a9..5cfebf7d 100644 --- a/docs-site/crepus.toml +++ b/docs-site/crepus.toml @@ -139,6 +139,7 @@ sources = [ { path = "../docs/parser-surface.md", href = "https://inauguration.tsc.hk/docs/parser-surface.html", title = "Parser surface" }, { path = "../docs/native-backend.md", href = "https://inauguration.tsc.hk/docs/native-backend.html", title = "Native backend" }, { path = "../docs/docs-site.md", href = "https://inauguration.tsc.hk/docs/docs-site.html", title = "Docs-site" }, + { path = "../docs/changelog.md", href = "https://inauguration.tsc.hk/docs/changelog.html", title = "Changelog" }, { path = "../docs/benchmarks/README.md", href = "https://inauguration.tsc.hk/docs/benchmarks/README.html", title = "Benchmarks" }, { path = "../docs/benchmarks/jit.md", href = "https://inauguration.tsc.hk/docs/benchmarks/jit.html", title = "JIT benchmarks" }, { path = "../docs/benchmarks/polyglot-compilers.md", href = "https://inauguration.tsc.hk/docs/benchmarks/polyglot-compilers.html", title = "Polyglot benchmarks" }, diff --git a/docs-site/docs-gen/src/main.rs b/docs-site/docs-gen/src/main.rs index 9be3aa48..bf5f15c6 100644 --- a/docs-site/docs-gen/src/main.rs +++ b/docs-site/docs-gen/src/main.rs @@ -75,6 +75,7 @@ const NAV_SECTIONS: &[(&str, &[(&str, &str)])] = &[ ("docs-site", "Docs-site"), ], ), + ("Project", &[("changelog", "Changelog")]), ( "Benchmarks", &[ diff --git a/docs-site/index.crepus b/docs-site/index.crepus index d4a332d4..97c5253a 100644 --- a/docs-site/index.crepus +++ b/docs-site/index.crepus @@ -13,6 +13,8 @@ div min-h-screen bg-zinc-950 text-zinc-300 p-6 sm:p-12 text-sm leading-relaxed i nav flex gap-4 text-xs a href="./docs/in-language.html" no-underline text-zinc-400 hover:text-white transition-colors "Docs" + a href="./docs/changelog.html" no-underline text-zinc-400 hover:text-white transition-colors + "Changelog" a href="https://github.com/tschk/inauguration" no-underline text-zinc-400 hover:text-white transition-colors rel="noopener noreferrer" target="_blank" "GitHub" a href="https://crates.io/crates/inauguration" no-underline text-zinc-400 hover:text-white transition-colors rel="noopener noreferrer" target="_blank" diff --git a/docs-site/test/dist.test.ts b/docs-site/test/dist.test.ts index d8eee661..3580ec01 100644 --- a/docs-site/test/dist.test.ts +++ b/docs-site/test/dist.test.ts @@ -60,6 +60,21 @@ test("docs HTML is generated documentation, not the homepage", () => { expect(languagesPage).not.toBe(homepage); }); +test("changelog is generated docs HTML and linked from the homepage", async () => { + const changelog = await readFile( + join(outDir, "docs", "changelog.html"), + "utf8", + ); + expect(changelog).toContain("doc-shell"); + expect(changelog).toContain("0.9.8"); + expect(changelog).toContain("Changelog"); + expect(changelog).toContain("doc-nav-section"); + expect(changelog).toContain("Project"); + expect(changelog).not.toBe(homepage); + expect(homepage).toContain("./docs/changelog.html"); + expect(homepage).toContain("Changelog"); +}); + test("static assets are real files, not homepage HTML", () => { expect(favicon).toContain(""); diff --git a/docs/README.md b/docs/README.md index 539a8e22..5c582155 100644 --- a/docs/README.md +++ b/docs/README.md @@ -12,6 +12,7 @@ Guides for **inlang** (`.in`), the inauguration compiler, and the docs site. | [Native backend](native-backend.md) | MIR, JIT, AArch64 / x86_64 emit | | [Emit profiles](emit-profiles.md) | `default` / `harden` / `lean` anti-decomp & inlining | | [Docs-site](docs-site.md) | `crepus web`, `backend.in`, Cloudflare deploy | +| [Changelog](changelog.md) | Released crate and GitHub binary versions | | [Benchmarks](benchmarks/README.md) | JIT, polyglot `in` vs native toolchains, self-host vs rustc | **Published HTML** diff --git a/docs/changelog.md b/docs/changelog.md new file mode 100644 index 00000000..5b65c7d6 --- /dev/null +++ b/docs/changelog.md @@ -0,0 +1,46 @@ +# Changelog + +Release notes for **inauguration** (`in` CLI, crates.io crate, GitHub binaries). + +Install: `cargo install inauguration` or `./install.sh`. GitHub tarballs: [releases](https://github.com/tschk/inauguration/releases). + +## 0.9.8 — 2026-09-16 + +Current crates.io and GitHub release. + +- **JIT:** keep `main` as an implicit dead-function-elimination root when no `--entry` is set. Without this, AArch64 hosts dropped `fn main` and failed macOS prerelease tests (`native-lower: module has no functions`). +- **Packages:** npm `shasum` verification now hashes with SHA-1 (was SHA-256, so integrity could never match). Package export invoke no longer allowlists `sh`; the `go:fiber` adapter uses `go run ./inauguration-invoke`. +- **CI:** `contents: read` on pull-request CI; checkout does not persist credentials. +- **Emit:** dual-emit (`--dual-emit` / `--harden-out`) plus `default` / `harden` / `lean` profiles (anti-decomp vs aggressive inlining). Runtime artifacts stay default or lean. +- **GitHub assets:** `in-linux-x86_64.tar.gz` and `in-macos-aarch64.tar.gz` with `.sha256` sidecars. + +## 0.9.7 — skipped + +Tag `v0.9.7` exists but **was not published**. The GitHub Release workflow failed the macOS prerelease gate (see 0.9.8 JIT DCE fix). crates.io never received 0.9.7. + +## 0.9.6 — 2026-07-30 + +Previous stable crate and GitHub release. + +- Patch bump of the 0.9 line with lockfile refresh. +- ELF symbol-index allocation cleanup. + +## 0.9.5 — 2026-07-29 + +- Patch release on the 0.9 line (GitHub + crates.io). + +## 0.9.4 — 2026-07-29 + +- Lockfile update for the 0.9.4 crate. + +## 0.9.3 — 2026-07-23 + +- `tree-sitter-holyc` 0.1.2 and lockfile refresh. + +## 0.9.2 / 0.9.1 / 0.9.0 — 2026-07-23 + +Initial 0.9 crates.io series for the hybrid Core IR → JIT pipeline (no LLVM, no bytecode VM). + +## Older tags + +`v0.8.0` and `v0.7.x` remain on GitHub for historical checkouts. Prefer 0.9.8 for current `in`.