From 37989a1f885d2a324330f736424b013b4f64a64a Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Thu, 19 Mar 2026 15:08:36 -0400 Subject: [PATCH 01/11] Move release notes --- packages/astro-utils/src/sidebar/index.ts | 3 +- website/astro.config.mjs | 19 ++++-- .../src/components/release-notes-list.astro | 61 ++++++++++++++++++ .../src/components/release-notification.astro | 2 +- .../starlight-overrides/Sidebar.astro | 34 ++++++++++ website/src/content/current-sidebar.ts | 7 -- .../release-notes/cadl-typespec-migration.md | 0 .../images/tspconfig-completion.png | Bin .../src/content/docs/release-notes/index.mdx | 9 +++ .../release-notes/release-2022-07-08.md | 0 .../release-notes/release-2022-08-10.md | 0 .../release-notes/release-2022-09-07.md | 0 .../release-notes/release-2022-10-12.md | 0 .../release-notes/release-2022-12-07.md | 0 .../release-notes/release-2023-01-12.md | 0 .../release-notes/release-2023-02-07.md | 0 .../release-notes/release-2023-03-13.md | 0 .../release-notes/release-2023-04-11.md | 0 .../release-notes/release-2023-05-10.md | 0 .../release-notes/release-2023-06-06.md | 0 .../release-notes/release-2023-07-11.md | 0 .../release-notes/release-2023-08-08.md | 0 .../release-notes/release-2023-09-12.md | 0 .../release-notes/release-2023-10-11.md | 0 .../release-notes/release-2023-11-07.md | 0 .../release-notes/release-2023-12-06.md | 0 .../release-notes/release-2024-01-23.md | 0 .../release-notes/release-2024-02-06.md | 0 .../release-notes/release-2024-03-05.md | 0 .../release-notes/release-2024-04-02.md | 0 .../release-notes/release-2024-05-07.md | 0 .../release-notes/release-2024-06-10.md | 0 .../release-notes/release-2024-07-16.md | 0 .../release-notes/release-2024-08-06.md | 0 .../release-notes/release-2024-09-10.md | 0 .../release-notes/release-2024-10-09.md | 0 .../release-notes/release-2024-11-05.md | 0 .../release-notes/release-2024-12-10.md | 0 .../release-notes/release-2025-01-15.md | 0 .../release-notes/release-2025-02-11.md | 0 .../release-notes/release-2025-03-04.md | 0 .../release-notes/release-2025-03-18.md | 0 .../release-notes/release-2025-04-02.md | 0 .../release-notes/release-2025-04-22.md | 0 .../release-notes/release-2025-05-06.md | 0 .../release-notes/release-2025-06-10.md | 0 .../release-notes/release-2025-07-15.md | 0 .../release-notes/release-2025-08-06.md | 0 .../release-notes/release-2025-09-09.md | 0 .../release-notes/release-2025-10-08.md | 0 .../release-notes/release-2025-11-11.md | 0 .../release-notes/release-2025-12-09.md | 0 .../release-notes/release-2026-01-13.md | 0 .../release-notes/release-2026-02-10.md | 0 .../release-notes/release-2026-03-10.md | 0 .../release-notes/signature-help.png | Bin website/src/content/release-notes-sidebar.ts | 12 ++++ website/src/pages/docs/[...slug].md.ts | 2 +- 58 files changed, 134 insertions(+), 15 deletions(-) create mode 100644 website/src/components/release-notes-list.astro create mode 100644 website/src/components/starlight-overrides/Sidebar.astro rename website/src/content/docs/{docs => }/release-notes/cadl-typespec-migration.md (100%) rename website/src/content/docs/{docs => }/release-notes/images/tspconfig-completion.png (100%) create mode 100644 website/src/content/docs/release-notes/index.mdx rename website/src/content/docs/{docs => }/release-notes/release-2022-07-08.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2022-08-10.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2022-09-07.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2022-10-12.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2022-12-07.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2023-01-12.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2023-02-07.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2023-03-13.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2023-04-11.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2023-05-10.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2023-06-06.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2023-07-11.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2023-08-08.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2023-09-12.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2023-10-11.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2023-11-07.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2023-12-06.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2024-01-23.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2024-02-06.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2024-03-05.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2024-04-02.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2024-05-07.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2024-06-10.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2024-07-16.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2024-08-06.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2024-09-10.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2024-10-09.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2024-11-05.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2024-12-10.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2025-01-15.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2025-02-11.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2025-03-04.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2025-03-18.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2025-04-02.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2025-04-22.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2025-05-06.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2025-06-10.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2025-07-15.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2025-08-06.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2025-09-09.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2025-10-08.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2025-11-11.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2025-12-09.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2026-01-13.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2026-02-10.md (100%) rename website/src/content/docs/{docs => }/release-notes/release-2026-03-10.md (100%) rename website/src/content/docs/{docs => }/release-notes/signature-help.png (100%) create mode 100644 website/src/content/release-notes-sidebar.ts diff --git a/packages/astro-utils/src/sidebar/index.ts b/packages/astro-utils/src/sidebar/index.ts index 904f76f70ab..4569954ccf3 100644 --- a/packages/astro-utils/src/sidebar/index.ts +++ b/packages/astro-utils/src/sidebar/index.ts @@ -53,7 +53,8 @@ export async function processSidebar( function getSlugFromPath(directory: string, path: string) { const name = parse(path).name.toLocaleLowerCase(); const normalizedName = name === "index" ? "" : name; - return prefix(join(directory, normalizedName)) + const joined = join(directory, normalizedName); + return prefix(joined === "." ? "" : joined) .replaceAll("$", "") .replaceAll(" ", "-") .toLowerCase(); diff --git a/website/astro.config.mjs b/website/astro.config.mjs index ea4a1ad8e76..cc92c70ac6b 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -10,6 +10,7 @@ import { resolve } from "pathe"; import rehypeMermaid from "rehype-mermaid"; import remarkHeadingID from "remark-heading-id"; import current from "./src/content/current-sidebar"; +import releaseNotes from "./src/content/release-notes-sidebar"; const base = process.env.TYPESPEC_WEBSITE_BASE_PATH ?? "/"; @@ -22,16 +23,24 @@ export default defineConfig({ astroExpressiveCode(), starlight({ title: "TypeSpec", - sidebar: await processSidebar( - resolve(import.meta.dirname, "src/content/docs"), - "docs", - current, - ), + sidebar: [ + ...(await processSidebar( + resolve(import.meta.dirname, "src/content/docs"), + "docs", + current, + )), + ...(await processSidebar( + resolve(import.meta.dirname, "src/content/docs"), + "release-notes", + releaseNotes, + )), + ], favicon: "/img/favicon.svg", customCss: ["./src/css/custom.css"], components: { Header: "./src/components/header/header.astro", PageFrame: "./src/components/starlight-overrides/PageFrame.astro", + Sidebar: "./src/components/starlight-overrides/Sidebar.astro", }, expressiveCode: false, // defined directly above head: [ diff --git a/website/src/components/release-notes-list.astro b/website/src/components/release-notes-list.astro new file mode 100644 index 00000000000..a9e0f0a5589 --- /dev/null +++ b/website/src/components/release-notes-list.astro @@ -0,0 +1,61 @@ +--- +import { getCollection } from "astro:content"; +import Link from "@typespec/astro-utils/components/link.astro"; + +const releaseNotes = await getCollection("docs", (x) => + x.id.startsWith("release-notes/") && x.id !== "release-notes", +); +releaseNotes.sort((a, b) => b.id.localeCompare(a.id)); +--- + + + + diff --git a/website/src/components/release-notification.astro b/website/src/components/release-notification.astro index 54e312cd976..26858181756 100644 --- a/website/src/components/release-notification.astro +++ b/website/src/components/release-notification.astro @@ -1,6 +1,6 @@ --- import { getCollection } from "astro:content"; -const releaseNotes = await getCollection("docs", (x) => x.id.startsWith("docs/release-notes")); +const releaseNotes = await getCollection("docs", (x) => x.id.startsWith("release-notes/")); releaseNotes.sort((a, b) => a.id.localeCompare(b.id)); const last = releaseNotes[releaseNotes.length - 1]; const releaseDate = last.data.releaseDate; diff --git a/website/src/components/starlight-overrides/Sidebar.astro b/website/src/components/starlight-overrides/Sidebar.astro new file mode 100644 index 00000000000..2de3e9a6965 --- /dev/null +++ b/website/src/components/starlight-overrides/Sidebar.astro @@ -0,0 +1,34 @@ +--- +import MobileMenuFooter from "@astrojs/starlight/components/MobileMenuFooter.astro"; +import SidebarPersister from "@astrojs/starlight/components/SidebarPersister.astro"; +import SidebarSublist from "@astrojs/starlight/components/SidebarSublist.astro"; + +const { sidebar } = Astro.locals.starlightRoute; +const pathname = Astro.url.pathname; + +type SidebarEntry = (typeof sidebar)[number]; + +function isReleaseNotesRoute(path: string): boolean { + return path.startsWith("/release-notes"); +} + +function hasReleaseNotesLink(entry: SidebarEntry): boolean { + if (entry.type === "link") { + return entry.href.startsWith("/release-notes"); + } + return entry.entries.some(hasReleaseNotesLink); +} + +const isReleaseNotes = isReleaseNotesRoute(pathname); +const filtered = sidebar.filter((entry) => + isReleaseNotes ? hasReleaseNotesLink(entry) : !hasReleaseNotesLink(entry), +); +--- + + + + + +
+ +
diff --git a/website/src/content/current-sidebar.ts b/website/src/content/current-sidebar.ts index 44893d8f8bc..b6e8393692f 100644 --- a/website/src/content/current-sidebar.ts +++ b/website/src/content/current-sidebar.ts @@ -249,13 +249,6 @@ const sidebar: SidebarItem[] = [ "extending-typespec/writing-scaffolding-template", ], }, - { - label: "🚀 Release Notes", - autogenerate: { - order: "desc", - directory: "release-notes", - }, - }, ]; export default sidebar; diff --git a/website/src/content/docs/docs/release-notes/cadl-typespec-migration.md b/website/src/content/docs/release-notes/cadl-typespec-migration.md similarity index 100% rename from website/src/content/docs/docs/release-notes/cadl-typespec-migration.md rename to website/src/content/docs/release-notes/cadl-typespec-migration.md diff --git a/website/src/content/docs/docs/release-notes/images/tspconfig-completion.png b/website/src/content/docs/release-notes/images/tspconfig-completion.png similarity index 100% rename from website/src/content/docs/docs/release-notes/images/tspconfig-completion.png rename to website/src/content/docs/release-notes/images/tspconfig-completion.png diff --git a/website/src/content/docs/release-notes/index.mdx b/website/src/content/docs/release-notes/index.mdx new file mode 100644 index 00000000000..52b704b1166 --- /dev/null +++ b/website/src/content/docs/release-notes/index.mdx @@ -0,0 +1,9 @@ +--- +title: Release Notes +sidebar: + hidden: true +--- + +import ReleaseNotesList from "@site/src/components/release-notes-list.astro"; + + diff --git a/website/src/content/docs/docs/release-notes/release-2022-07-08.md b/website/src/content/docs/release-notes/release-2022-07-08.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2022-07-08.md rename to website/src/content/docs/release-notes/release-2022-07-08.md diff --git a/website/src/content/docs/docs/release-notes/release-2022-08-10.md b/website/src/content/docs/release-notes/release-2022-08-10.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2022-08-10.md rename to website/src/content/docs/release-notes/release-2022-08-10.md diff --git a/website/src/content/docs/docs/release-notes/release-2022-09-07.md b/website/src/content/docs/release-notes/release-2022-09-07.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2022-09-07.md rename to website/src/content/docs/release-notes/release-2022-09-07.md diff --git a/website/src/content/docs/docs/release-notes/release-2022-10-12.md b/website/src/content/docs/release-notes/release-2022-10-12.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2022-10-12.md rename to website/src/content/docs/release-notes/release-2022-10-12.md diff --git a/website/src/content/docs/docs/release-notes/release-2022-12-07.md b/website/src/content/docs/release-notes/release-2022-12-07.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2022-12-07.md rename to website/src/content/docs/release-notes/release-2022-12-07.md diff --git a/website/src/content/docs/docs/release-notes/release-2023-01-12.md b/website/src/content/docs/release-notes/release-2023-01-12.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2023-01-12.md rename to website/src/content/docs/release-notes/release-2023-01-12.md diff --git a/website/src/content/docs/docs/release-notes/release-2023-02-07.md b/website/src/content/docs/release-notes/release-2023-02-07.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2023-02-07.md rename to website/src/content/docs/release-notes/release-2023-02-07.md diff --git a/website/src/content/docs/docs/release-notes/release-2023-03-13.md b/website/src/content/docs/release-notes/release-2023-03-13.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2023-03-13.md rename to website/src/content/docs/release-notes/release-2023-03-13.md diff --git a/website/src/content/docs/docs/release-notes/release-2023-04-11.md b/website/src/content/docs/release-notes/release-2023-04-11.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2023-04-11.md rename to website/src/content/docs/release-notes/release-2023-04-11.md diff --git a/website/src/content/docs/docs/release-notes/release-2023-05-10.md b/website/src/content/docs/release-notes/release-2023-05-10.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2023-05-10.md rename to website/src/content/docs/release-notes/release-2023-05-10.md diff --git a/website/src/content/docs/docs/release-notes/release-2023-06-06.md b/website/src/content/docs/release-notes/release-2023-06-06.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2023-06-06.md rename to website/src/content/docs/release-notes/release-2023-06-06.md diff --git a/website/src/content/docs/docs/release-notes/release-2023-07-11.md b/website/src/content/docs/release-notes/release-2023-07-11.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2023-07-11.md rename to website/src/content/docs/release-notes/release-2023-07-11.md diff --git a/website/src/content/docs/docs/release-notes/release-2023-08-08.md b/website/src/content/docs/release-notes/release-2023-08-08.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2023-08-08.md rename to website/src/content/docs/release-notes/release-2023-08-08.md diff --git a/website/src/content/docs/docs/release-notes/release-2023-09-12.md b/website/src/content/docs/release-notes/release-2023-09-12.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2023-09-12.md rename to website/src/content/docs/release-notes/release-2023-09-12.md diff --git a/website/src/content/docs/docs/release-notes/release-2023-10-11.md b/website/src/content/docs/release-notes/release-2023-10-11.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2023-10-11.md rename to website/src/content/docs/release-notes/release-2023-10-11.md diff --git a/website/src/content/docs/docs/release-notes/release-2023-11-07.md b/website/src/content/docs/release-notes/release-2023-11-07.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2023-11-07.md rename to website/src/content/docs/release-notes/release-2023-11-07.md diff --git a/website/src/content/docs/docs/release-notes/release-2023-12-06.md b/website/src/content/docs/release-notes/release-2023-12-06.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2023-12-06.md rename to website/src/content/docs/release-notes/release-2023-12-06.md diff --git a/website/src/content/docs/docs/release-notes/release-2024-01-23.md b/website/src/content/docs/release-notes/release-2024-01-23.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2024-01-23.md rename to website/src/content/docs/release-notes/release-2024-01-23.md diff --git a/website/src/content/docs/docs/release-notes/release-2024-02-06.md b/website/src/content/docs/release-notes/release-2024-02-06.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2024-02-06.md rename to website/src/content/docs/release-notes/release-2024-02-06.md diff --git a/website/src/content/docs/docs/release-notes/release-2024-03-05.md b/website/src/content/docs/release-notes/release-2024-03-05.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2024-03-05.md rename to website/src/content/docs/release-notes/release-2024-03-05.md diff --git a/website/src/content/docs/docs/release-notes/release-2024-04-02.md b/website/src/content/docs/release-notes/release-2024-04-02.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2024-04-02.md rename to website/src/content/docs/release-notes/release-2024-04-02.md diff --git a/website/src/content/docs/docs/release-notes/release-2024-05-07.md b/website/src/content/docs/release-notes/release-2024-05-07.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2024-05-07.md rename to website/src/content/docs/release-notes/release-2024-05-07.md diff --git a/website/src/content/docs/docs/release-notes/release-2024-06-10.md b/website/src/content/docs/release-notes/release-2024-06-10.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2024-06-10.md rename to website/src/content/docs/release-notes/release-2024-06-10.md diff --git a/website/src/content/docs/docs/release-notes/release-2024-07-16.md b/website/src/content/docs/release-notes/release-2024-07-16.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2024-07-16.md rename to website/src/content/docs/release-notes/release-2024-07-16.md diff --git a/website/src/content/docs/docs/release-notes/release-2024-08-06.md b/website/src/content/docs/release-notes/release-2024-08-06.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2024-08-06.md rename to website/src/content/docs/release-notes/release-2024-08-06.md diff --git a/website/src/content/docs/docs/release-notes/release-2024-09-10.md b/website/src/content/docs/release-notes/release-2024-09-10.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2024-09-10.md rename to website/src/content/docs/release-notes/release-2024-09-10.md diff --git a/website/src/content/docs/docs/release-notes/release-2024-10-09.md b/website/src/content/docs/release-notes/release-2024-10-09.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2024-10-09.md rename to website/src/content/docs/release-notes/release-2024-10-09.md diff --git a/website/src/content/docs/docs/release-notes/release-2024-11-05.md b/website/src/content/docs/release-notes/release-2024-11-05.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2024-11-05.md rename to website/src/content/docs/release-notes/release-2024-11-05.md diff --git a/website/src/content/docs/docs/release-notes/release-2024-12-10.md b/website/src/content/docs/release-notes/release-2024-12-10.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2024-12-10.md rename to website/src/content/docs/release-notes/release-2024-12-10.md diff --git a/website/src/content/docs/docs/release-notes/release-2025-01-15.md b/website/src/content/docs/release-notes/release-2025-01-15.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2025-01-15.md rename to website/src/content/docs/release-notes/release-2025-01-15.md diff --git a/website/src/content/docs/docs/release-notes/release-2025-02-11.md b/website/src/content/docs/release-notes/release-2025-02-11.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2025-02-11.md rename to website/src/content/docs/release-notes/release-2025-02-11.md diff --git a/website/src/content/docs/docs/release-notes/release-2025-03-04.md b/website/src/content/docs/release-notes/release-2025-03-04.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2025-03-04.md rename to website/src/content/docs/release-notes/release-2025-03-04.md diff --git a/website/src/content/docs/docs/release-notes/release-2025-03-18.md b/website/src/content/docs/release-notes/release-2025-03-18.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2025-03-18.md rename to website/src/content/docs/release-notes/release-2025-03-18.md diff --git a/website/src/content/docs/docs/release-notes/release-2025-04-02.md b/website/src/content/docs/release-notes/release-2025-04-02.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2025-04-02.md rename to website/src/content/docs/release-notes/release-2025-04-02.md diff --git a/website/src/content/docs/docs/release-notes/release-2025-04-22.md b/website/src/content/docs/release-notes/release-2025-04-22.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2025-04-22.md rename to website/src/content/docs/release-notes/release-2025-04-22.md diff --git a/website/src/content/docs/docs/release-notes/release-2025-05-06.md b/website/src/content/docs/release-notes/release-2025-05-06.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2025-05-06.md rename to website/src/content/docs/release-notes/release-2025-05-06.md diff --git a/website/src/content/docs/docs/release-notes/release-2025-06-10.md b/website/src/content/docs/release-notes/release-2025-06-10.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2025-06-10.md rename to website/src/content/docs/release-notes/release-2025-06-10.md diff --git a/website/src/content/docs/docs/release-notes/release-2025-07-15.md b/website/src/content/docs/release-notes/release-2025-07-15.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2025-07-15.md rename to website/src/content/docs/release-notes/release-2025-07-15.md diff --git a/website/src/content/docs/docs/release-notes/release-2025-08-06.md b/website/src/content/docs/release-notes/release-2025-08-06.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2025-08-06.md rename to website/src/content/docs/release-notes/release-2025-08-06.md diff --git a/website/src/content/docs/docs/release-notes/release-2025-09-09.md b/website/src/content/docs/release-notes/release-2025-09-09.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2025-09-09.md rename to website/src/content/docs/release-notes/release-2025-09-09.md diff --git a/website/src/content/docs/docs/release-notes/release-2025-10-08.md b/website/src/content/docs/release-notes/release-2025-10-08.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2025-10-08.md rename to website/src/content/docs/release-notes/release-2025-10-08.md diff --git a/website/src/content/docs/docs/release-notes/release-2025-11-11.md b/website/src/content/docs/release-notes/release-2025-11-11.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2025-11-11.md rename to website/src/content/docs/release-notes/release-2025-11-11.md diff --git a/website/src/content/docs/docs/release-notes/release-2025-12-09.md b/website/src/content/docs/release-notes/release-2025-12-09.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2025-12-09.md rename to website/src/content/docs/release-notes/release-2025-12-09.md diff --git a/website/src/content/docs/docs/release-notes/release-2026-01-13.md b/website/src/content/docs/release-notes/release-2026-01-13.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2026-01-13.md rename to website/src/content/docs/release-notes/release-2026-01-13.md diff --git a/website/src/content/docs/docs/release-notes/release-2026-02-10.md b/website/src/content/docs/release-notes/release-2026-02-10.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2026-02-10.md rename to website/src/content/docs/release-notes/release-2026-02-10.md diff --git a/website/src/content/docs/docs/release-notes/release-2026-03-10.md b/website/src/content/docs/release-notes/release-2026-03-10.md similarity index 100% rename from website/src/content/docs/docs/release-notes/release-2026-03-10.md rename to website/src/content/docs/release-notes/release-2026-03-10.md diff --git a/website/src/content/docs/docs/release-notes/signature-help.png b/website/src/content/docs/release-notes/signature-help.png similarity index 100% rename from website/src/content/docs/docs/release-notes/signature-help.png rename to website/src/content/docs/release-notes/signature-help.png diff --git a/website/src/content/release-notes-sidebar.ts b/website/src/content/release-notes-sidebar.ts new file mode 100644 index 00000000000..4cb263abe18 --- /dev/null +++ b/website/src/content/release-notes-sidebar.ts @@ -0,0 +1,12 @@ +import type { SidebarItem } from "@typespec/astro-utils/sidebar"; + +const sidebar: SidebarItem[] = [ + { + autogenerate: { + order: "desc", + directory: ".", + }, + }, +]; + +export default sidebar; diff --git a/website/src/pages/docs/[...slug].md.ts b/website/src/pages/docs/[...slug].md.ts index 13884a9b872..06a61b18c3b 100644 --- a/website/src/pages/docs/[...slug].md.ts +++ b/website/src/pages/docs/[...slug].md.ts @@ -8,7 +8,7 @@ export async function getStaticPaths() { return docs .filter((doc) => { // Exclude release notes - if (doc.id.includes("/release-notes/")) return false; + if (doc.id.startsWith("release-notes/")) return false; return true; }) .map((doc) => ({ From 8d4a5e4c33815bd4fcedd75b4ac61bdc58ee0ab5 Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Thu, 19 Mar 2026 15:13:12 -0400 Subject: [PATCH 02/11] tweaks --- website/astro.config.mjs | 4 ++++ .../starlight-overrides/Sidebar.astro | 18 ++++++++---------- website/src/content/release-notes-sidebar.ts | 2 ++ 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/website/astro.config.mjs b/website/astro.config.mjs index cc92c70ac6b..817a84c2b9e 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -29,6 +29,10 @@ export default defineConfig({ "docs", current, )), + { + label: "🚀 Release Notes", + link: "/release-notes/", + }, ...(await processSidebar( resolve(import.meta.dirname, "src/content/docs"), "release-notes", diff --git a/website/src/components/starlight-overrides/Sidebar.astro b/website/src/components/starlight-overrides/Sidebar.astro index 2de3e9a6965..c314b35cb8d 100644 --- a/website/src/components/starlight-overrides/Sidebar.astro +++ b/website/src/components/starlight-overrides/Sidebar.astro @@ -8,20 +8,18 @@ const pathname = Astro.url.pathname; type SidebarEntry = (typeof sidebar)[number]; -function isReleaseNotesRoute(path: string): boolean { - return path.startsWith("/release-notes"); -} +const isReleaseNotes = pathname.startsWith("/release-notes"); -function hasReleaseNotesLink(entry: SidebarEntry): boolean { - if (entry.type === "link") { - return entry.href.startsWith("/release-notes"); - } - return entry.entries.some(hasReleaseNotesLink); +/** Returns true for sidebar groups that contain release notes entries. */ +function isReleaseNotesGroup(entry: SidebarEntry): boolean { + if (entry.type !== "group") return false; + return entry.entries.some( + (e) => e.type === "link" && e.href.startsWith("/release-notes/"), + ); } -const isReleaseNotes = isReleaseNotesRoute(pathname); const filtered = sidebar.filter((entry) => - isReleaseNotes ? hasReleaseNotesLink(entry) : !hasReleaseNotesLink(entry), + isReleaseNotes ? isReleaseNotesGroup(entry) : !isReleaseNotesGroup(entry), ); --- diff --git a/website/src/content/release-notes-sidebar.ts b/website/src/content/release-notes-sidebar.ts index 4cb263abe18..01c1b11052f 100644 --- a/website/src/content/release-notes-sidebar.ts +++ b/website/src/content/release-notes-sidebar.ts @@ -2,6 +2,8 @@ import type { SidebarItem } from "@typespec/astro-utils/sidebar"; const sidebar: SidebarItem[] = [ { + label: "🚀 Release Notes", + expanded: true, autogenerate: { order: "desc", directory: ".", From 336721bea4a1fdb185c7fb86f92b5635ff41efa9 Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Thu, 19 Mar 2026 15:26:56 -0400 Subject: [PATCH 03/11] simplify --- website/astro.config.mjs | 10 ++++------ .../components/starlight-overrides/Sidebar.astro | 11 ++++++++--- website/src/content/release-notes-sidebar.ts | 14 -------------- 3 files changed, 12 insertions(+), 23 deletions(-) delete mode 100644 website/src/content/release-notes-sidebar.ts diff --git a/website/astro.config.mjs b/website/astro.config.mjs index 817a84c2b9e..499511cff9a 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -10,7 +10,6 @@ import { resolve } from "pathe"; import rehypeMermaid from "rehype-mermaid"; import remarkHeadingID from "remark-heading-id"; import current from "./src/content/current-sidebar"; -import releaseNotes from "./src/content/release-notes-sidebar"; const base = process.env.TYPESPEC_WEBSITE_BASE_PATH ?? "/"; @@ -33,11 +32,10 @@ export default defineConfig({ label: "🚀 Release Notes", link: "/release-notes/", }, - ...(await processSidebar( - resolve(import.meta.dirname, "src/content/docs"), - "release-notes", - releaseNotes, - )), + { + label: "🚀 Release Notes", + autogenerate: { directory: "release-notes" }, + }, ], favicon: "/img/favicon.svg", customCss: ["./src/css/custom.css"], diff --git a/website/src/components/starlight-overrides/Sidebar.astro b/website/src/components/starlight-overrides/Sidebar.astro index c314b35cb8d..b3d3ab2ab38 100644 --- a/website/src/components/starlight-overrides/Sidebar.astro +++ b/website/src/components/starlight-overrides/Sidebar.astro @@ -13,14 +13,19 @@ const isReleaseNotes = pathname.startsWith("/release-notes"); /** Returns true for sidebar groups that contain release notes entries. */ function isReleaseNotesGroup(entry: SidebarEntry): boolean { if (entry.type !== "group") return false; - return entry.entries.some( - (e) => e.type === "link" && e.href.startsWith("/release-notes/"), - ); + return entry.entries.some((e) => e.type === "link" && e.href.startsWith("/release-notes/")); } const filtered = sidebar.filter((entry) => isReleaseNotes ? isReleaseNotesGroup(entry) : !isReleaseNotesGroup(entry), ); + +// Reverse release notes entries so newest appear first. +for (const entry of filtered) { + if (entry.type === "group" && isReleaseNotesGroup(entry)) { + entry.entries.reverse(); + } +} --- diff --git a/website/src/content/release-notes-sidebar.ts b/website/src/content/release-notes-sidebar.ts deleted file mode 100644 index 01c1b11052f..00000000000 --- a/website/src/content/release-notes-sidebar.ts +++ /dev/null @@ -1,14 +0,0 @@ -import type { SidebarItem } from "@typespec/astro-utils/sidebar"; - -const sidebar: SidebarItem[] = [ - { - label: "🚀 Release Notes", - expanded: true, - autogenerate: { - order: "desc", - directory: ".", - }, - }, -]; - -export default sidebar; From 1f9b5170b14fd6e505b1e9a0ed2c09c51d64f10f Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Fri, 20 Mar 2026 08:25:43 -0400 Subject: [PATCH 04/11] format --- website/src/components/release-notes-list.astro | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/src/components/release-notes-list.astro b/website/src/components/release-notes-list.astro index a9e0f0a5589..929c5214523 100644 --- a/website/src/components/release-notes-list.astro +++ b/website/src/components/release-notes-list.astro @@ -2,8 +2,9 @@ import { getCollection } from "astro:content"; import Link from "@typespec/astro-utils/components/link.astro"; -const releaseNotes = await getCollection("docs", (x) => - x.id.startsWith("release-notes/") && x.id !== "release-notes", +const releaseNotes = await getCollection( + "docs", + (x) => x.id.startsWith("release-notes/") && x.id !== "release-notes", ); releaseNotes.sort((a, b) => b.id.localeCompare(a.id)); --- From fdd75a567a57ce1ce720a03f521a42adda06ec6d Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Mon, 23 Mar 2026 12:44:45 -0400 Subject: [PATCH 05/11] include base url --- website/src/components/starlight-overrides/Sidebar.astro | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/website/src/components/starlight-overrides/Sidebar.astro b/website/src/components/starlight-overrides/Sidebar.astro index b3d3ab2ab38..c69d5857418 100644 --- a/website/src/components/starlight-overrides/Sidebar.astro +++ b/website/src/components/starlight-overrides/Sidebar.astro @@ -5,15 +5,16 @@ import SidebarSublist from "@astrojs/starlight/components/SidebarSublist.astro"; const { sidebar } = Astro.locals.starlightRoute; const pathname = Astro.url.pathname; +const base = import.meta.env.BASE_URL; type SidebarEntry = (typeof sidebar)[number]; -const isReleaseNotes = pathname.startsWith("/release-notes"); +const isReleaseNotes = pathname.startsWith(base + "release-notes"); /** Returns true for sidebar groups that contain release notes entries. */ function isReleaseNotesGroup(entry: SidebarEntry): boolean { if (entry.type !== "group") return false; - return entry.entries.some((e) => e.type === "link" && e.href.startsWith("/release-notes/")); + return entry.entries.some((e) => e.type === "link" && e.href.startsWith(base + "release-notes/")); } const filtered = sidebar.filter((entry) => From 438c48f6448cfe5930782b8051ada8576f407739 Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Mon, 23 Mar 2026 13:58:52 -0400 Subject: [PATCH 06/11] redirect --- website/astro.config.mjs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/website/astro.config.mjs b/website/astro.config.mjs index 499511cff9a..e903730b3f4 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -18,6 +18,9 @@ export default defineConfig({ base, site: "https://typespec.io", trailingSlash: "always", + redirects: { + "/docs/release-notes/[...slug]": "/release-notes/[...slug]", + }, integrations: [ astroExpressiveCode(), starlight({ From fd7b171542cbe6ee10cf3921bdb43d7468befe1a Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Tue, 24 Mar 2026 12:34:41 -0400 Subject: [PATCH 07/11] fix redirect --- website/astro.config.mjs | 3 --- .../src/pages/docs/release-notes/[...slug].astro | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 website/src/pages/docs/release-notes/[...slug].astro diff --git a/website/astro.config.mjs b/website/astro.config.mjs index e903730b3f4..499511cff9a 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -18,9 +18,6 @@ export default defineConfig({ base, site: "https://typespec.io", trailingSlash: "always", - redirects: { - "/docs/release-notes/[...slug]": "/release-notes/[...slug]", - }, integrations: [ astroExpressiveCode(), starlight({ diff --git a/website/src/pages/docs/release-notes/[...slug].astro b/website/src/pages/docs/release-notes/[...slug].astro new file mode 100644 index 00000000000..dc8be31d668 --- /dev/null +++ b/website/src/pages/docs/release-notes/[...slug].astro @@ -0,0 +1,15 @@ +--- +export const prerender = true; +import { getCollection } from "astro:content"; + +export async function getStaticPaths() { + const releaseNotes = await getCollection("docs", (x) => x.id.startsWith("release-notes/")); + + return releaseNotes.map((entry) => { + const slug = entry.id.replace("release-notes/", ""); + return { params: { slug: slug || undefined } }; + }); +} + +return Astro.redirect(`/release-notes/${Astro.params.slug ? Astro.params.slug + "/" : ""}`); +--- From 90094e25a3526178d31ceb7298cc8361f2cb1630 Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Tue, 24 Mar 2026 13:15:40 -0400 Subject: [PATCH 08/11] use version based url --- website/astro.config.mjs | 15 +++++++++++++ .../src/components/release-notes-list.astro | 6 +++++- .../src/components/release-notification.astro | 6 +++++- .../starlight-overrides/Sidebar.astro | 21 +++++++++++++++---- .../docs/release-notes/release-2022-07-08.md | 1 + .../docs/release-notes/release-2022-08-10.md | 1 + .../docs/release-notes/release-2022-09-07.md | 1 + .../docs/release-notes/release-2022-10-12.md | 1 + .../docs/release-notes/release-2022-12-07.md | 1 + .../docs/release-notes/release-2023-01-12.md | 1 + .../docs/release-notes/release-2023-02-07.md | 1 + .../docs/release-notes/release-2023-03-13.md | 1 + .../docs/release-notes/release-2023-04-11.md | 1 + .../docs/release-notes/release-2023-05-10.md | 1 + .../docs/release-notes/release-2023-06-06.md | 1 + .../docs/release-notes/release-2023-07-11.md | 1 + .../docs/release-notes/release-2023-08-08.md | 1 + .../docs/release-notes/release-2023-09-12.md | 1 + .../docs/release-notes/release-2023-10-11.md | 1 + .../docs/release-notes/release-2023-11-07.md | 1 + .../docs/release-notes/release-2023-12-06.md | 1 + .../docs/release-notes/release-2024-01-23.md | 1 + .../docs/release-notes/release-2024-02-06.md | 1 + .../docs/release-notes/release-2024-03-05.md | 1 + ...release-2024-04-02.md => typespec-0.55.md} | 2 ++ ...release-2024-05-07.md => typespec-0.56.md} | 2 ++ ...release-2024-06-10.md => typespec-0.57.md} | 2 ++ ...release-2024-07-16.md => typespec-0.58.md} | 2 ++ ...release-2024-08-06.md => typespec-0.59.md} | 2 ++ ...release-2024-09-10.md => typespec-0.60.md} | 2 ++ ...release-2024-10-09.md => typespec-0.61.md} | 2 ++ ...release-2024-11-05.md => typespec-0.62.md} | 0 ...release-2024-12-10.md => typespec-0.63.md} | 0 ...release-2025-01-15.md => typespec-0.64.md} | 0 ...release-2025-02-11.md => typespec-0.65.md} | 0 ...release-2025-03-04.md => typespec-0.66.md} | 0 ...release-2025-03-18.md => typespec-0.67.md} | 0 ...e-2025-04-02.md => typespec-1.0.0-rc.0.md} | 0 ...e-2025-04-22.md => typespec-1.0.0-rc.1.md} | 0 ...elease-2025-05-06.md => typespec-1.0.0.md} | 0 ...elease-2025-06-10.md => typespec-1.1.0.md} | 0 ...lease-2026-03-10.md => typespec-1.10.0.md} | 0 ...elease-2025-07-15.md => typespec-1.2.0.md} | 0 ...elease-2025-08-06.md => typespec-1.3.0.md} | 0 ...elease-2025-09-09.md => typespec-1.4.0.md} | 0 ...elease-2025-10-08.md => typespec-1.5.0.md} | 0 ...elease-2025-11-11.md => typespec-1.6.0.md} | 0 ...elease-2025-12-09.md => typespec-1.7.0.md} | 0 ...elease-2026-01-13.md => typespec-1.8.0.md} | 0 ...elease-2026-02-10.md => typespec-1.9.0.md} | 0 .../pages/docs/release-notes/[...slug].astro | 15 ------------- 51 files changed, 76 insertions(+), 21 deletions(-) rename website/src/content/docs/release-notes/{release-2024-04-02.md => typespec-0.55.md} (98%) rename website/src/content/docs/release-notes/{release-2024-05-07.md => typespec-0.56.md} (99%) rename website/src/content/docs/release-notes/{release-2024-06-10.md => typespec-0.57.md} (99%) rename website/src/content/docs/release-notes/{release-2024-07-16.md => typespec-0.58.md} (99%) rename website/src/content/docs/release-notes/{release-2024-08-06.md => typespec-0.59.md} (99%) rename website/src/content/docs/release-notes/{release-2024-09-10.md => typespec-0.60.md} (99%) rename website/src/content/docs/release-notes/{release-2024-10-09.md => typespec-0.61.md} (99%) rename website/src/content/docs/release-notes/{release-2024-11-05.md => typespec-0.62.md} (100%) rename website/src/content/docs/release-notes/{release-2024-12-10.md => typespec-0.63.md} (100%) rename website/src/content/docs/release-notes/{release-2025-01-15.md => typespec-0.64.md} (100%) rename website/src/content/docs/release-notes/{release-2025-02-11.md => typespec-0.65.md} (100%) rename website/src/content/docs/release-notes/{release-2025-03-04.md => typespec-0.66.md} (100%) rename website/src/content/docs/release-notes/{release-2025-03-18.md => typespec-0.67.md} (100%) rename website/src/content/docs/release-notes/{release-2025-04-02.md => typespec-1.0.0-rc.0.md} (100%) rename website/src/content/docs/release-notes/{release-2025-04-22.md => typespec-1.0.0-rc.1.md} (100%) rename website/src/content/docs/release-notes/{release-2025-05-06.md => typespec-1.0.0.md} (100%) rename website/src/content/docs/release-notes/{release-2025-06-10.md => typespec-1.1.0.md} (100%) rename website/src/content/docs/release-notes/{release-2026-03-10.md => typespec-1.10.0.md} (100%) rename website/src/content/docs/release-notes/{release-2025-07-15.md => typespec-1.2.0.md} (100%) rename website/src/content/docs/release-notes/{release-2025-08-06.md => typespec-1.3.0.md} (100%) rename website/src/content/docs/release-notes/{release-2025-09-09.md => typespec-1.4.0.md} (100%) rename website/src/content/docs/release-notes/{release-2025-10-08.md => typespec-1.5.0.md} (100%) rename website/src/content/docs/release-notes/{release-2025-11-11.md => typespec-1.6.0.md} (100%) rename website/src/content/docs/release-notes/{release-2025-12-09.md => typespec-1.7.0.md} (100%) rename website/src/content/docs/release-notes/{release-2026-01-13.md => typespec-1.8.0.md} (100%) rename website/src/content/docs/release-notes/{release-2026-02-10.md => typespec-1.9.0.md} (100%) delete mode 100644 website/src/pages/docs/release-notes/[...slug].astro diff --git a/website/astro.config.mjs b/website/astro.config.mjs index 499511cff9a..db1239d334a 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -18,6 +18,21 @@ export default defineConfig({ base, site: "https://typespec.io", trailingSlash: "always", + redirects: { + "/docs/release-notes/release-2025-04-02/": "/release-notes/typespec-1.0.0-rc.0/", + "/docs/release-notes/release-2025-04-22/": "/release-notes/typespec-1.0.0-rc.1/", + "/docs/release-notes/release-2025-05-06/": "/release-notes/typespec-1.0.0/", + "/docs/release-notes/release-2025-06-10/": "/release-notes/typespec-1.1.0/", + "/docs/release-notes/release-2025-07-15/": "/release-notes/typespec-1.2.0/", + "/docs/release-notes/release-2025-08-06/": "/release-notes/typespec-1.3.0/", + "/docs/release-notes/release-2025-09-09/": "/release-notes/typespec-1.4.0/", + "/docs/release-notes/release-2025-10-08/": "/release-notes/typespec-1.5.0/", + "/docs/release-notes/release-2025-11-11/": "/release-notes/typespec-1.6.0/", + "/docs/release-notes/release-2025-12-09/": "/release-notes/typespec-1.7.0/", + "/docs/release-notes/release-2026-01-13/": "/release-notes/typespec-1.8.0/", + "/docs/release-notes/release-2026-02-10/": "/release-notes/typespec-1.9.0/", + "/docs/release-notes/release-2026-03-10/": "/release-notes/typespec-1.10.0/", + }, integrations: [ astroExpressiveCode(), starlight({ diff --git a/website/src/components/release-notes-list.astro b/website/src/components/release-notes-list.astro index 929c5214523..ef2e0a8a06f 100644 --- a/website/src/components/release-notes-list.astro +++ b/website/src/components/release-notes-list.astro @@ -6,7 +6,11 @@ const releaseNotes = await getCollection( "docs", (x) => x.id.startsWith("release-notes/") && x.id !== "release-notes", ); -releaseNotes.sort((a, b) => b.id.localeCompare(a.id)); +releaseNotes.sort((a, b) => { + const dateA = a.data.releaseDate?.getTime() ?? 0; + const dateB = b.data.releaseDate?.getTime() ?? 0; + return dateB - dateA; +}); ---
    diff --git a/website/src/components/release-notification.astro b/website/src/components/release-notification.astro index 26858181756..b53ce130ce2 100644 --- a/website/src/components/release-notification.astro +++ b/website/src/components/release-notification.astro @@ -1,7 +1,11 @@ --- import { getCollection } from "astro:content"; const releaseNotes = await getCollection("docs", (x) => x.id.startsWith("release-notes/")); -releaseNotes.sort((a, b) => a.id.localeCompare(b.id)); +releaseNotes.sort((a, b) => { + const dateA = a.data.releaseDate?.getTime() ?? 0; + const dateB = b.data.releaseDate?.getTime() ?? 0; + return dateA - dateB; +}); const last = releaseNotes[releaseNotes.length - 1]; const releaseDate = last.data.releaseDate; if (!releaseDate) { diff --git a/website/src/components/starlight-overrides/Sidebar.astro b/website/src/components/starlight-overrides/Sidebar.astro index c69d5857418..4601c965b92 100644 --- a/website/src/components/starlight-overrides/Sidebar.astro +++ b/website/src/components/starlight-overrides/Sidebar.astro @@ -2,6 +2,7 @@ import MobileMenuFooter from "@astrojs/starlight/components/MobileMenuFooter.astro"; import SidebarPersister from "@astrojs/starlight/components/SidebarPersister.astro"; import SidebarSublist from "@astrojs/starlight/components/SidebarSublist.astro"; +import { getCollection } from "astro:content"; const { sidebar } = Astro.locals.starlightRoute; const pathname = Astro.url.pathname; @@ -21,10 +22,22 @@ const filtered = sidebar.filter((entry) => isReleaseNotes ? isReleaseNotesGroup(entry) : !isReleaseNotesGroup(entry), ); -// Reverse release notes entries so newest appear first. -for (const entry of filtered) { - if (entry.type === "group" && isReleaseNotesGroup(entry)) { - entry.entries.reverse(); +// Sort release notes entries by releaseDate so newest appear first. +if (isReleaseNotes) { + const releaseNotes = await getCollection("docs", (x) => x.id.startsWith("release-notes/")); + const dateByHref = new Map(); + for (const note of releaseNotes) { + const href = base + note.id + "/"; + dateByHref.set(href, note.data.releaseDate?.getTime() ?? 0); + } + for (const entry of filtered) { + if (entry.type === "group" && isReleaseNotesGroup(entry)) { + entry.entries.sort((a, b) => { + const dateA = a.type === "link" ? (dateByHref.get(a.href) ?? 0) : 0; + const dateB = b.type === "link" ? (dateByHref.get(b.href) ?? 0) : 0; + return dateB - dateA; + }); + } } } --- diff --git a/website/src/content/docs/release-notes/release-2022-07-08.md b/website/src/content/docs/release-notes/release-2022-07-08.md index 62ec4531313..a4a083a61f8 100644 --- a/website/src/content/docs/release-notes/release-2022-07-08.md +++ b/website/src/content/docs/release-notes/release-2022-07-08.md @@ -1,5 +1,6 @@ --- title: July 2022 +releaseDate: 2022-07-08 --- This release contains **breaking changes** diff --git a/website/src/content/docs/release-notes/release-2022-08-10.md b/website/src/content/docs/release-notes/release-2022-08-10.md index 6b6de8c10ae..b11ab444227 100644 --- a/website/src/content/docs/release-notes/release-2022-08-10.md +++ b/website/src/content/docs/release-notes/release-2022-08-10.md @@ -1,5 +1,6 @@ --- title: August 2022 +releaseDate: 2022-08-10 --- This release contains **breaking changes** diff --git a/website/src/content/docs/release-notes/release-2022-09-07.md b/website/src/content/docs/release-notes/release-2022-09-07.md index 08eb6745b05..37c2aefa0f7 100644 --- a/website/src/content/docs/release-notes/release-2022-09-07.md +++ b/website/src/content/docs/release-notes/release-2022-09-07.md @@ -1,5 +1,6 @@ --- title: September 2022 +releaseDate: 2022-09-07 --- This release contains **breaking changes**: diff --git a/website/src/content/docs/release-notes/release-2022-10-12.md b/website/src/content/docs/release-notes/release-2022-10-12.md index 02ccf87b29e..3b22d4798ff 100644 --- a/website/src/content/docs/release-notes/release-2022-10-12.md +++ b/website/src/content/docs/release-notes/release-2022-10-12.md @@ -1,5 +1,6 @@ --- title: October 2022 +releaseDate: 2022-10-12 --- This release contains **breaking changes**: diff --git a/website/src/content/docs/release-notes/release-2022-12-07.md b/website/src/content/docs/release-notes/release-2022-12-07.md index 3afea3da30f..8aec0b6921d 100644 --- a/website/src/content/docs/release-notes/release-2022-12-07.md +++ b/website/src/content/docs/release-notes/release-2022-12-07.md @@ -1,5 +1,6 @@ --- title: December 2022 +releaseDate: 2022-12-07 --- :::caution diff --git a/website/src/content/docs/release-notes/release-2023-01-12.md b/website/src/content/docs/release-notes/release-2023-01-12.md index 059eb0039bb..326db9b589a 100644 --- a/website/src/content/docs/release-notes/release-2023-01-12.md +++ b/website/src/content/docs/release-notes/release-2023-01-12.md @@ -1,5 +1,6 @@ --- title: January 2023 +releaseDate: 2023-01-12 --- :::caution diff --git a/website/src/content/docs/release-notes/release-2023-02-07.md b/website/src/content/docs/release-notes/release-2023-02-07.md index e34e08a5696..d6f5106e1ab 100644 --- a/website/src/content/docs/release-notes/release-2023-02-07.md +++ b/website/src/content/docs/release-notes/release-2023-02-07.md @@ -1,5 +1,6 @@ --- title: February 2023 +releaseDate: 2023-02-07 --- :::caution diff --git a/website/src/content/docs/release-notes/release-2023-03-13.md b/website/src/content/docs/release-notes/release-2023-03-13.md index 9ff647b4286..ef71402113f 100644 --- a/website/src/content/docs/release-notes/release-2023-03-13.md +++ b/website/src/content/docs/release-notes/release-2023-03-13.md @@ -1,5 +1,6 @@ --- title: March 2023 +releaseDate: 2023-03-13 --- :::caution diff --git a/website/src/content/docs/release-notes/release-2023-04-11.md b/website/src/content/docs/release-notes/release-2023-04-11.md index c22e61584db..1b1496eca77 100644 --- a/website/src/content/docs/release-notes/release-2023-04-11.md +++ b/website/src/content/docs/release-notes/release-2023-04-11.md @@ -1,5 +1,6 @@ --- title: April 2023 +releaseDate: 2023-04-11 --- :::caution diff --git a/website/src/content/docs/release-notes/release-2023-05-10.md b/website/src/content/docs/release-notes/release-2023-05-10.md index 29dc8516864..89b2515d47a 100644 --- a/website/src/content/docs/release-notes/release-2023-05-10.md +++ b/website/src/content/docs/release-notes/release-2023-05-10.md @@ -1,5 +1,6 @@ --- title: May 2023 +releaseDate: 2023-05-10 --- :::caution diff --git a/website/src/content/docs/release-notes/release-2023-06-06.md b/website/src/content/docs/release-notes/release-2023-06-06.md index 26915ec7756..5f5c01d07e7 100644 --- a/website/src/content/docs/release-notes/release-2023-06-06.md +++ b/website/src/content/docs/release-notes/release-2023-06-06.md @@ -1,5 +1,6 @@ --- title: June 2023 +releaseDate: 2023-06-06 --- :::caution diff --git a/website/src/content/docs/release-notes/release-2023-07-11.md b/website/src/content/docs/release-notes/release-2023-07-11.md index 5ed681897ac..5943ad04fd0 100644 --- a/website/src/content/docs/release-notes/release-2023-07-11.md +++ b/website/src/content/docs/release-notes/release-2023-07-11.md @@ -1,5 +1,6 @@ --- title: July 2023 +releaseDate: 2023-07-11 --- :::caution diff --git a/website/src/content/docs/release-notes/release-2023-08-08.md b/website/src/content/docs/release-notes/release-2023-08-08.md index 38185b8026b..624a37ab224 100644 --- a/website/src/content/docs/release-notes/release-2023-08-08.md +++ b/website/src/content/docs/release-notes/release-2023-08-08.md @@ -1,5 +1,6 @@ --- title: August 2023 +releaseDate: 2023-08-08 --- :::caution diff --git a/website/src/content/docs/release-notes/release-2023-09-12.md b/website/src/content/docs/release-notes/release-2023-09-12.md index bc228a07a36..39b7c6183a4 100644 --- a/website/src/content/docs/release-notes/release-2023-09-12.md +++ b/website/src/content/docs/release-notes/release-2023-09-12.md @@ -1,5 +1,6 @@ --- title: September 2023 +releaseDate: 2023-09-12 --- :::caution diff --git a/website/src/content/docs/release-notes/release-2023-10-11.md b/website/src/content/docs/release-notes/release-2023-10-11.md index a29404ff85b..83bdeb1f5c2 100644 --- a/website/src/content/docs/release-notes/release-2023-10-11.md +++ b/website/src/content/docs/release-notes/release-2023-10-11.md @@ -1,5 +1,6 @@ --- title: October 2023 +releaseDate: 2023-10-11 --- :::caution diff --git a/website/src/content/docs/release-notes/release-2023-11-07.md b/website/src/content/docs/release-notes/release-2023-11-07.md index 657676ef760..5259ebd4a35 100644 --- a/website/src/content/docs/release-notes/release-2023-11-07.md +++ b/website/src/content/docs/release-notes/release-2023-11-07.md @@ -1,5 +1,6 @@ --- title: November 2023 +releaseDate: 2023-11-07 --- :::caution diff --git a/website/src/content/docs/release-notes/release-2023-12-06.md b/website/src/content/docs/release-notes/release-2023-12-06.md index a4cdf92644b..cd7653ac9e3 100644 --- a/website/src/content/docs/release-notes/release-2023-12-06.md +++ b/website/src/content/docs/release-notes/release-2023-12-06.md @@ -1,5 +1,6 @@ --- title: December 2023 +releaseDate: 2023-12-06 --- :::caution diff --git a/website/src/content/docs/release-notes/release-2024-01-23.md b/website/src/content/docs/release-notes/release-2024-01-23.md index 26424805d1e..52dd36603db 100644 --- a/website/src/content/docs/release-notes/release-2024-01-23.md +++ b/website/src/content/docs/release-notes/release-2024-01-23.md @@ -1,5 +1,6 @@ --- title: January 2024 +releaseDate: 2024-01-23 --- :::caution diff --git a/website/src/content/docs/release-notes/release-2024-02-06.md b/website/src/content/docs/release-notes/release-2024-02-06.md index 701e96b09ac..c0d3f601bc1 100644 --- a/website/src/content/docs/release-notes/release-2024-02-06.md +++ b/website/src/content/docs/release-notes/release-2024-02-06.md @@ -1,5 +1,6 @@ --- title: February 2024 +releaseDate: 2024-02-06 --- ## Release of VSCode and Visual Studio extensions diff --git a/website/src/content/docs/release-notes/release-2024-03-05.md b/website/src/content/docs/release-notes/release-2024-03-05.md index d472306cd66..3c4b2a7c036 100644 --- a/website/src/content/docs/release-notes/release-2024-03-05.md +++ b/website/src/content/docs/release-notes/release-2024-03-05.md @@ -1,5 +1,6 @@ --- title: March 2024 +releaseDate: 2024-03-05 --- :::caution diff --git a/website/src/content/docs/release-notes/release-2024-04-02.md b/website/src/content/docs/release-notes/typespec-0.55.md similarity index 98% rename from website/src/content/docs/release-notes/release-2024-04-02.md rename to website/src/content/docs/release-notes/typespec-0.55.md index 876ebd47447..f64ac615cca 100644 --- a/website/src/content/docs/release-notes/release-2024-04-02.md +++ b/website/src/content/docs/release-notes/typespec-0.55.md @@ -1,5 +1,7 @@ --- title: 0.55 - April 2024 +releaseDate: 2024-04-02 +version: "0.55" --- :::caution diff --git a/website/src/content/docs/release-notes/release-2024-05-07.md b/website/src/content/docs/release-notes/typespec-0.56.md similarity index 99% rename from website/src/content/docs/release-notes/release-2024-05-07.md rename to website/src/content/docs/release-notes/typespec-0.56.md index 37ea7242261..49419639bd6 100644 --- a/website/src/content/docs/release-notes/release-2024-05-07.md +++ b/website/src/content/docs/release-notes/typespec-0.56.md @@ -1,5 +1,7 @@ --- title: 0.56 - May 2024 +releaseDate: 2024-05-07 +version: "0.56" --- :::caution diff --git a/website/src/content/docs/release-notes/release-2024-06-10.md b/website/src/content/docs/release-notes/typespec-0.57.md similarity index 99% rename from website/src/content/docs/release-notes/release-2024-06-10.md rename to website/src/content/docs/release-notes/typespec-0.57.md index a16dd83d0cd..ca44f3f9d8e 100644 --- a/website/src/content/docs/release-notes/release-2024-06-10.md +++ b/website/src/content/docs/release-notes/typespec-0.57.md @@ -1,5 +1,7 @@ --- title: 0.57 - June 2024 +releaseDate: 2024-06-10 +version: "0.57" --- :::caution diff --git a/website/src/content/docs/release-notes/release-2024-07-16.md b/website/src/content/docs/release-notes/typespec-0.58.md similarity index 99% rename from website/src/content/docs/release-notes/release-2024-07-16.md rename to website/src/content/docs/release-notes/typespec-0.58.md index c59347faae8..c05bfa29f68 100644 --- a/website/src/content/docs/release-notes/release-2024-07-16.md +++ b/website/src/content/docs/release-notes/typespec-0.58.md @@ -1,5 +1,7 @@ --- title: 0.58 - July 2024 +releaseDate: 2024-07-16 +version: "0.58" --- :::caution diff --git a/website/src/content/docs/release-notes/release-2024-08-06.md b/website/src/content/docs/release-notes/typespec-0.59.md similarity index 99% rename from website/src/content/docs/release-notes/release-2024-08-06.md rename to website/src/content/docs/release-notes/typespec-0.59.md index 305eb495fc8..4a24c0fb7e5 100644 --- a/website/src/content/docs/release-notes/release-2024-08-06.md +++ b/website/src/content/docs/release-notes/typespec-0.59.md @@ -1,5 +1,7 @@ --- title: 0.59 - August 2024 +releaseDate: 2024-08-06 +version: "0.59" --- :::caution diff --git a/website/src/content/docs/release-notes/release-2024-09-10.md b/website/src/content/docs/release-notes/typespec-0.60.md similarity index 99% rename from website/src/content/docs/release-notes/release-2024-09-10.md rename to website/src/content/docs/release-notes/typespec-0.60.md index 9fc28904094..fe4b0ea1a79 100644 --- a/website/src/content/docs/release-notes/release-2024-09-10.md +++ b/website/src/content/docs/release-notes/typespec-0.60.md @@ -1,5 +1,7 @@ --- title: 0.60 - September 2024 +releaseDate: 2024-09-10 +version: "0.60" --- ## Features diff --git a/website/src/content/docs/release-notes/release-2024-10-09.md b/website/src/content/docs/release-notes/typespec-0.61.md similarity index 99% rename from website/src/content/docs/release-notes/release-2024-10-09.md rename to website/src/content/docs/release-notes/typespec-0.61.md index f32744b0c7d..412b17ae867 100644 --- a/website/src/content/docs/release-notes/release-2024-10-09.md +++ b/website/src/content/docs/release-notes/typespec-0.61.md @@ -1,5 +1,7 @@ --- title: 0.61 - October 2024 +releaseDate: 2024-10-09 +version: "0.61" --- :::caution diff --git a/website/src/content/docs/release-notes/release-2024-11-05.md b/website/src/content/docs/release-notes/typespec-0.62.md similarity index 100% rename from website/src/content/docs/release-notes/release-2024-11-05.md rename to website/src/content/docs/release-notes/typespec-0.62.md diff --git a/website/src/content/docs/release-notes/release-2024-12-10.md b/website/src/content/docs/release-notes/typespec-0.63.md similarity index 100% rename from website/src/content/docs/release-notes/release-2024-12-10.md rename to website/src/content/docs/release-notes/typespec-0.63.md diff --git a/website/src/content/docs/release-notes/release-2025-01-15.md b/website/src/content/docs/release-notes/typespec-0.64.md similarity index 100% rename from website/src/content/docs/release-notes/release-2025-01-15.md rename to website/src/content/docs/release-notes/typespec-0.64.md diff --git a/website/src/content/docs/release-notes/release-2025-02-11.md b/website/src/content/docs/release-notes/typespec-0.65.md similarity index 100% rename from website/src/content/docs/release-notes/release-2025-02-11.md rename to website/src/content/docs/release-notes/typespec-0.65.md diff --git a/website/src/content/docs/release-notes/release-2025-03-04.md b/website/src/content/docs/release-notes/typespec-0.66.md similarity index 100% rename from website/src/content/docs/release-notes/release-2025-03-04.md rename to website/src/content/docs/release-notes/typespec-0.66.md diff --git a/website/src/content/docs/release-notes/release-2025-03-18.md b/website/src/content/docs/release-notes/typespec-0.67.md similarity index 100% rename from website/src/content/docs/release-notes/release-2025-03-18.md rename to website/src/content/docs/release-notes/typespec-0.67.md diff --git a/website/src/content/docs/release-notes/release-2025-04-02.md b/website/src/content/docs/release-notes/typespec-1.0.0-rc.0.md similarity index 100% rename from website/src/content/docs/release-notes/release-2025-04-02.md rename to website/src/content/docs/release-notes/typespec-1.0.0-rc.0.md diff --git a/website/src/content/docs/release-notes/release-2025-04-22.md b/website/src/content/docs/release-notes/typespec-1.0.0-rc.1.md similarity index 100% rename from website/src/content/docs/release-notes/release-2025-04-22.md rename to website/src/content/docs/release-notes/typespec-1.0.0-rc.1.md diff --git a/website/src/content/docs/release-notes/release-2025-05-06.md b/website/src/content/docs/release-notes/typespec-1.0.0.md similarity index 100% rename from website/src/content/docs/release-notes/release-2025-05-06.md rename to website/src/content/docs/release-notes/typespec-1.0.0.md diff --git a/website/src/content/docs/release-notes/release-2025-06-10.md b/website/src/content/docs/release-notes/typespec-1.1.0.md similarity index 100% rename from website/src/content/docs/release-notes/release-2025-06-10.md rename to website/src/content/docs/release-notes/typespec-1.1.0.md diff --git a/website/src/content/docs/release-notes/release-2026-03-10.md b/website/src/content/docs/release-notes/typespec-1.10.0.md similarity index 100% rename from website/src/content/docs/release-notes/release-2026-03-10.md rename to website/src/content/docs/release-notes/typespec-1.10.0.md diff --git a/website/src/content/docs/release-notes/release-2025-07-15.md b/website/src/content/docs/release-notes/typespec-1.2.0.md similarity index 100% rename from website/src/content/docs/release-notes/release-2025-07-15.md rename to website/src/content/docs/release-notes/typespec-1.2.0.md diff --git a/website/src/content/docs/release-notes/release-2025-08-06.md b/website/src/content/docs/release-notes/typespec-1.3.0.md similarity index 100% rename from website/src/content/docs/release-notes/release-2025-08-06.md rename to website/src/content/docs/release-notes/typespec-1.3.0.md diff --git a/website/src/content/docs/release-notes/release-2025-09-09.md b/website/src/content/docs/release-notes/typespec-1.4.0.md similarity index 100% rename from website/src/content/docs/release-notes/release-2025-09-09.md rename to website/src/content/docs/release-notes/typespec-1.4.0.md diff --git a/website/src/content/docs/release-notes/release-2025-10-08.md b/website/src/content/docs/release-notes/typespec-1.5.0.md similarity index 100% rename from website/src/content/docs/release-notes/release-2025-10-08.md rename to website/src/content/docs/release-notes/typespec-1.5.0.md diff --git a/website/src/content/docs/release-notes/release-2025-11-11.md b/website/src/content/docs/release-notes/typespec-1.6.0.md similarity index 100% rename from website/src/content/docs/release-notes/release-2025-11-11.md rename to website/src/content/docs/release-notes/typespec-1.6.0.md diff --git a/website/src/content/docs/release-notes/release-2025-12-09.md b/website/src/content/docs/release-notes/typespec-1.7.0.md similarity index 100% rename from website/src/content/docs/release-notes/release-2025-12-09.md rename to website/src/content/docs/release-notes/typespec-1.7.0.md diff --git a/website/src/content/docs/release-notes/release-2026-01-13.md b/website/src/content/docs/release-notes/typespec-1.8.0.md similarity index 100% rename from website/src/content/docs/release-notes/release-2026-01-13.md rename to website/src/content/docs/release-notes/typespec-1.8.0.md diff --git a/website/src/content/docs/release-notes/release-2026-02-10.md b/website/src/content/docs/release-notes/typespec-1.9.0.md similarity index 100% rename from website/src/content/docs/release-notes/release-2026-02-10.md rename to website/src/content/docs/release-notes/typespec-1.9.0.md diff --git a/website/src/pages/docs/release-notes/[...slug].astro b/website/src/pages/docs/release-notes/[...slug].astro deleted file mode 100644 index dc8be31d668..00000000000 --- a/website/src/pages/docs/release-notes/[...slug].astro +++ /dev/null @@ -1,15 +0,0 @@ ---- -export const prerender = true; -import { getCollection } from "astro:content"; - -export async function getStaticPaths() { - const releaseNotes = await getCollection("docs", (x) => x.id.startsWith("release-notes/")); - - return releaseNotes.map((entry) => { - const slug = entry.id.replace("release-notes/", ""); - return { params: { slug: slug || undefined } }; - }); -} - -return Astro.redirect(`/release-notes/${Astro.params.slug ? Astro.params.slug + "/" : ""}`); ---- From 2c4fe9213866c7fc352ddb2fd6edecba0a6d7ce3 Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Tue, 24 Mar 2026 13:25:47 -0400 Subject: [PATCH 09/11] rename --- .../docs/release-notes/{typespec-0.55.md => typespec-0-55.md} | 1 + .../docs/release-notes/{typespec-0.56.md => typespec-0-56.md} | 1 + .../docs/release-notes/{typespec-0.57.md => typespec-0-57.md} | 1 + .../docs/release-notes/{typespec-0.58.md => typespec-0-58.md} | 1 + .../docs/release-notes/{typespec-0.59.md => typespec-0-59.md} | 1 + .../docs/release-notes/{typespec-0.60.md => typespec-0-60.md} | 1 + .../docs/release-notes/{typespec-0.61.md => typespec-0-61.md} | 1 + .../docs/release-notes/{typespec-0.62.md => typespec-0-62.md} | 1 + .../docs/release-notes/{typespec-0.63.md => typespec-0-63.md} | 1 + .../docs/release-notes/{typespec-0.64.md => typespec-0-64.md} | 1 + .../docs/release-notes/{typespec-0.65.md => typespec-0-65.md} | 1 + .../docs/release-notes/{typespec-0.66.md => typespec-0-66.md} | 1 + .../docs/release-notes/{typespec-0.67.md => typespec-0-67.md} | 1 + .../{typespec-1.0.0-rc.0.md => typespec-1-0-0-rc-0.md} | 1 + .../{typespec-1.0.0-rc.1.md => typespec-1-0-0-rc-1.md} | 1 + .../docs/release-notes/{typespec-1.0.0.md => typespec-1-0-0.md} | 1 + .../docs/release-notes/{typespec-1.1.0.md => typespec-1-1-0.md} | 1 + .../release-notes/{typespec-1.10.0.md => typespec-1-10-0.md} | 1 + .../docs/release-notes/{typespec-1.2.0.md => typespec-1-2-0.md} | 1 + .../docs/release-notes/{typespec-1.3.0.md => typespec-1-3-0.md} | 1 + .../docs/release-notes/{typespec-1.4.0.md => typespec-1-4-0.md} | 1 + .../docs/release-notes/{typespec-1.5.0.md => typespec-1-5-0.md} | 1 + .../docs/release-notes/{typespec-1.6.0.md => typespec-1-6-0.md} | 1 + .../docs/release-notes/{typespec-1.7.0.md => typespec-1-7-0.md} | 1 + .../docs/release-notes/{typespec-1.8.0.md => typespec-1-8-0.md} | 1 + .../docs/release-notes/{typespec-1.9.0.md => typespec-1-9-0.md} | 1 + 26 files changed, 26 insertions(+) rename website/src/content/docs/release-notes/{typespec-0.55.md => typespec-0-55.md} (98%) rename website/src/content/docs/release-notes/{typespec-0.56.md => typespec-0-56.md} (99%) rename website/src/content/docs/release-notes/{typespec-0.57.md => typespec-0-57.md} (99%) rename website/src/content/docs/release-notes/{typespec-0.58.md => typespec-0-58.md} (99%) rename website/src/content/docs/release-notes/{typespec-0.59.md => typespec-0-59.md} (99%) rename website/src/content/docs/release-notes/{typespec-0.60.md => typespec-0-60.md} (99%) rename website/src/content/docs/release-notes/{typespec-0.61.md => typespec-0-61.md} (99%) rename website/src/content/docs/release-notes/{typespec-0.62.md => typespec-0-62.md} (99%) rename website/src/content/docs/release-notes/{typespec-0.63.md => typespec-0-63.md} (99%) rename website/src/content/docs/release-notes/{typespec-0.64.md => typespec-0-64.md} (99%) rename website/src/content/docs/release-notes/{typespec-0.65.md => typespec-0-65.md} (99%) rename website/src/content/docs/release-notes/{typespec-0.66.md => typespec-0-66.md} (99%) rename website/src/content/docs/release-notes/{typespec-0.67.md => typespec-0-67.md} (99%) rename website/src/content/docs/release-notes/{typespec-1.0.0-rc.0.md => typespec-1-0-0-rc-0.md} (99%) rename website/src/content/docs/release-notes/{typespec-1.0.0-rc.1.md => typespec-1-0-0-rc-1.md} (98%) rename website/src/content/docs/release-notes/{typespec-1.0.0.md => typespec-1-0-0.md} (99%) rename website/src/content/docs/release-notes/{typespec-1.1.0.md => typespec-1-1-0.md} (99%) rename website/src/content/docs/release-notes/{typespec-1.10.0.md => typespec-1-10-0.md} (99%) rename website/src/content/docs/release-notes/{typespec-1.2.0.md => typespec-1-2-0.md} (98%) rename website/src/content/docs/release-notes/{typespec-1.3.0.md => typespec-1-3-0.md} (98%) rename website/src/content/docs/release-notes/{typespec-1.4.0.md => typespec-1-4-0.md} (98%) rename website/src/content/docs/release-notes/{typespec-1.5.0.md => typespec-1-5-0.md} (99%) rename website/src/content/docs/release-notes/{typespec-1.6.0.md => typespec-1-6-0.md} (99%) rename website/src/content/docs/release-notes/{typespec-1.7.0.md => typespec-1-7-0.md} (98%) rename website/src/content/docs/release-notes/{typespec-1.8.0.md => typespec-1-8-0.md} (98%) rename website/src/content/docs/release-notes/{typespec-1.9.0.md => typespec-1-9-0.md} (99%) diff --git a/website/src/content/docs/release-notes/typespec-0.55.md b/website/src/content/docs/release-notes/typespec-0-55.md similarity index 98% rename from website/src/content/docs/release-notes/typespec-0.55.md rename to website/src/content/docs/release-notes/typespec-0-55.md index f64ac615cca..5b0a31d9f85 100644 --- a/website/src/content/docs/release-notes/typespec-0.55.md +++ b/website/src/content/docs/release-notes/typespec-0-55.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-0-55 title: 0.55 - April 2024 releaseDate: 2024-04-02 version: "0.55" diff --git a/website/src/content/docs/release-notes/typespec-0.56.md b/website/src/content/docs/release-notes/typespec-0-56.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-0.56.md rename to website/src/content/docs/release-notes/typespec-0-56.md index 49419639bd6..8e8785ead36 100644 --- a/website/src/content/docs/release-notes/typespec-0.56.md +++ b/website/src/content/docs/release-notes/typespec-0-56.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-0-56 title: 0.56 - May 2024 releaseDate: 2024-05-07 version: "0.56" diff --git a/website/src/content/docs/release-notes/typespec-0.57.md b/website/src/content/docs/release-notes/typespec-0-57.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-0.57.md rename to website/src/content/docs/release-notes/typespec-0-57.md index ca44f3f9d8e..a0961b47f28 100644 --- a/website/src/content/docs/release-notes/typespec-0.57.md +++ b/website/src/content/docs/release-notes/typespec-0-57.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-0-57 title: 0.57 - June 2024 releaseDate: 2024-06-10 version: "0.57" diff --git a/website/src/content/docs/release-notes/typespec-0.58.md b/website/src/content/docs/release-notes/typespec-0-58.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-0.58.md rename to website/src/content/docs/release-notes/typespec-0-58.md index c05bfa29f68..96c0a6ba239 100644 --- a/website/src/content/docs/release-notes/typespec-0.58.md +++ b/website/src/content/docs/release-notes/typespec-0-58.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-0-58 title: 0.58 - July 2024 releaseDate: 2024-07-16 version: "0.58" diff --git a/website/src/content/docs/release-notes/typespec-0.59.md b/website/src/content/docs/release-notes/typespec-0-59.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-0.59.md rename to website/src/content/docs/release-notes/typespec-0-59.md index 4a24c0fb7e5..21afc668f90 100644 --- a/website/src/content/docs/release-notes/typespec-0.59.md +++ b/website/src/content/docs/release-notes/typespec-0-59.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-0-59 title: 0.59 - August 2024 releaseDate: 2024-08-06 version: "0.59" diff --git a/website/src/content/docs/release-notes/typespec-0.60.md b/website/src/content/docs/release-notes/typespec-0-60.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-0.60.md rename to website/src/content/docs/release-notes/typespec-0-60.md index fe4b0ea1a79..ed2aadac584 100644 --- a/website/src/content/docs/release-notes/typespec-0.60.md +++ b/website/src/content/docs/release-notes/typespec-0-60.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-0-60 title: 0.60 - September 2024 releaseDate: 2024-09-10 version: "0.60" diff --git a/website/src/content/docs/release-notes/typespec-0.61.md b/website/src/content/docs/release-notes/typespec-0-61.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-0.61.md rename to website/src/content/docs/release-notes/typespec-0-61.md index 412b17ae867..0fde9cfa0c6 100644 --- a/website/src/content/docs/release-notes/typespec-0.61.md +++ b/website/src/content/docs/release-notes/typespec-0-61.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-0-61 title: 0.61 - October 2024 releaseDate: 2024-10-09 version: "0.61" diff --git a/website/src/content/docs/release-notes/typespec-0.62.md b/website/src/content/docs/release-notes/typespec-0-62.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-0.62.md rename to website/src/content/docs/release-notes/typespec-0-62.md index 879ba330d70..b81375b0647 100644 --- a/website/src/content/docs/release-notes/typespec-0.62.md +++ b/website/src/content/docs/release-notes/typespec-0-62.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-0-62 title: 0.62 - November 2024 releaseDate: 2024-11-05 version: "0.62" diff --git a/website/src/content/docs/release-notes/typespec-0.63.md b/website/src/content/docs/release-notes/typespec-0-63.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-0.63.md rename to website/src/content/docs/release-notes/typespec-0-63.md index 629d81a7472..5aef304cff9 100644 --- a/website/src/content/docs/release-notes/typespec-0.63.md +++ b/website/src/content/docs/release-notes/typespec-0-63.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-0-63 title: 0.63 - December 2024 releaseDate: 2024-12-10 version: "0.63" diff --git a/website/src/content/docs/release-notes/typespec-0.64.md b/website/src/content/docs/release-notes/typespec-0-64.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-0.64.md rename to website/src/content/docs/release-notes/typespec-0-64.md index d293cf3f72b..685a1890400 100644 --- a/website/src/content/docs/release-notes/typespec-0.64.md +++ b/website/src/content/docs/release-notes/typespec-0-64.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-0-64 title: 0.64 - January 2025 releaseDate: 2025-01-15 version: "0.64" diff --git a/website/src/content/docs/release-notes/typespec-0.65.md b/website/src/content/docs/release-notes/typespec-0-65.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-0.65.md rename to website/src/content/docs/release-notes/typespec-0-65.md index afe2749bc74..2006b2ada08 100644 --- a/website/src/content/docs/release-notes/typespec-0.65.md +++ b/website/src/content/docs/release-notes/typespec-0-65.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-0-65 title: 0.65 - February 2025 releaseDate: 2025-02-11 version: "0.65" diff --git a/website/src/content/docs/release-notes/typespec-0.66.md b/website/src/content/docs/release-notes/typespec-0-66.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-0.66.md rename to website/src/content/docs/release-notes/typespec-0-66.md index d2bb1d88701..825da319d53 100644 --- a/website/src/content/docs/release-notes/typespec-0.66.md +++ b/website/src/content/docs/release-notes/typespec-0-66.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-0-66 title: 0.66 - March 2025 releaseDate: 2025-03-04 version: "0.66" diff --git a/website/src/content/docs/release-notes/typespec-0.67.md b/website/src/content/docs/release-notes/typespec-0-67.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-0.67.md rename to website/src/content/docs/release-notes/typespec-0-67.md index 0e63fccb097..3bde9e3756b 100644 --- a/website/src/content/docs/release-notes/typespec-0.67.md +++ b/website/src/content/docs/release-notes/typespec-0-67.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-0-67 title: "0.67" releaseDate: 2025-03-18 version: "0.67" diff --git a/website/src/content/docs/release-notes/typespec-1.0.0-rc.0.md b/website/src/content/docs/release-notes/typespec-1-0-0-rc-0.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-1.0.0-rc.0.md rename to website/src/content/docs/release-notes/typespec-1-0-0-rc-0.md index 24dbc473fc9..5eb8bc54af0 100644 --- a/website/src/content/docs/release-notes/typespec-1.0.0-rc.0.md +++ b/website/src/content/docs/release-notes/typespec-1-0-0-rc-0.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-1-0-0-rc-0 title: "1.0.0-rc.0" releaseDate: 2025-04-02 version: "1.0.0-rc.0" diff --git a/website/src/content/docs/release-notes/typespec-1.0.0-rc.1.md b/website/src/content/docs/release-notes/typespec-1-0-0-rc-1.md similarity index 98% rename from website/src/content/docs/release-notes/typespec-1.0.0-rc.1.md rename to website/src/content/docs/release-notes/typespec-1-0-0-rc-1.md index d465aa81c6f..bbd715851d3 100644 --- a/website/src/content/docs/release-notes/typespec-1.0.0-rc.1.md +++ b/website/src/content/docs/release-notes/typespec-1-0-0-rc-1.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-1-0-0-rc-1 title: "1.0.0-rc.1" releaseDate: 2025-04-22 version: "1.0.0-rc.1" diff --git a/website/src/content/docs/release-notes/typespec-1.0.0.md b/website/src/content/docs/release-notes/typespec-1-0-0.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-1.0.0.md rename to website/src/content/docs/release-notes/typespec-1-0-0.md index 869ca0d4ad4..3390dc0f86b 100644 --- a/website/src/content/docs/release-notes/typespec-1.0.0.md +++ b/website/src/content/docs/release-notes/typespec-1-0-0.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-1-0-0 title: "1.0.0" releaseDate: 2025-05-06 version: "1.0.0" diff --git a/website/src/content/docs/release-notes/typespec-1.1.0.md b/website/src/content/docs/release-notes/typespec-1-1-0.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-1.1.0.md rename to website/src/content/docs/release-notes/typespec-1-1-0.md index b2579936162..9cb380d1dd4 100644 --- a/website/src/content/docs/release-notes/typespec-1.1.0.md +++ b/website/src/content/docs/release-notes/typespec-1-1-0.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-1-1-0 title: "1.1.0" releaseDate: 2025-06-10 version: "1.1.0" diff --git a/website/src/content/docs/release-notes/typespec-1.10.0.md b/website/src/content/docs/release-notes/typespec-1-10-0.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-1.10.0.md rename to website/src/content/docs/release-notes/typespec-1-10-0.md index 65bd6db77e0..30f356f7cbb 100644 --- a/website/src/content/docs/release-notes/typespec-1.10.0.md +++ b/website/src/content/docs/release-notes/typespec-1-10-0.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-1-10-0 title: "1.10.0" releaseDate: 2026-03-10 version: "1.10.0" diff --git a/website/src/content/docs/release-notes/typespec-1.2.0.md b/website/src/content/docs/release-notes/typespec-1-2-0.md similarity index 98% rename from website/src/content/docs/release-notes/typespec-1.2.0.md rename to website/src/content/docs/release-notes/typespec-1-2-0.md index 5410e361845..8531c60b03a 100644 --- a/website/src/content/docs/release-notes/typespec-1.2.0.md +++ b/website/src/content/docs/release-notes/typespec-1-2-0.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-1-2-0 title: "1.2.0" releaseDate: 2025-07-15 version: "1.2.0" diff --git a/website/src/content/docs/release-notes/typespec-1.3.0.md b/website/src/content/docs/release-notes/typespec-1-3-0.md similarity index 98% rename from website/src/content/docs/release-notes/typespec-1.3.0.md rename to website/src/content/docs/release-notes/typespec-1-3-0.md index 8d9a9828af2..79a47f996f6 100644 --- a/website/src/content/docs/release-notes/typespec-1.3.0.md +++ b/website/src/content/docs/release-notes/typespec-1-3-0.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-1-3-0 title: "1.3.0" releaseDate: 2025-08-06 version: "1.3.0" diff --git a/website/src/content/docs/release-notes/typespec-1.4.0.md b/website/src/content/docs/release-notes/typespec-1-4-0.md similarity index 98% rename from website/src/content/docs/release-notes/typespec-1.4.0.md rename to website/src/content/docs/release-notes/typespec-1-4-0.md index 580b549ba8f..bc27fe14b36 100644 --- a/website/src/content/docs/release-notes/typespec-1.4.0.md +++ b/website/src/content/docs/release-notes/typespec-1-4-0.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-1-4-0 title: "1.4.0" releaseDate: 2025-08-06 version: "1.4.0" diff --git a/website/src/content/docs/release-notes/typespec-1.5.0.md b/website/src/content/docs/release-notes/typespec-1-5-0.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-1.5.0.md rename to website/src/content/docs/release-notes/typespec-1-5-0.md index 615b4da9433..dd5f9522470 100644 --- a/website/src/content/docs/release-notes/typespec-1.5.0.md +++ b/website/src/content/docs/release-notes/typespec-1-5-0.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-1-5-0 title: "1.5.0" releaseDate: 2025-10-08 version: "1.5.0" diff --git a/website/src/content/docs/release-notes/typespec-1.6.0.md b/website/src/content/docs/release-notes/typespec-1-6-0.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-1.6.0.md rename to website/src/content/docs/release-notes/typespec-1-6-0.md index c1580c42d59..486f7580de7 100644 --- a/website/src/content/docs/release-notes/typespec-1.6.0.md +++ b/website/src/content/docs/release-notes/typespec-1-6-0.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-1-6-0 title: "1.6.0" releaseDate: 2025-11-11 version: "1.6.0" diff --git a/website/src/content/docs/release-notes/typespec-1.7.0.md b/website/src/content/docs/release-notes/typespec-1-7-0.md similarity index 98% rename from website/src/content/docs/release-notes/typespec-1.7.0.md rename to website/src/content/docs/release-notes/typespec-1-7-0.md index da0d02e248e..27828767885 100644 --- a/website/src/content/docs/release-notes/typespec-1.7.0.md +++ b/website/src/content/docs/release-notes/typespec-1-7-0.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-1-7-0 title: "1.7.0" releaseDate: 2025-12-09 version: "1.7.0" diff --git a/website/src/content/docs/release-notes/typespec-1.8.0.md b/website/src/content/docs/release-notes/typespec-1-8-0.md similarity index 98% rename from website/src/content/docs/release-notes/typespec-1.8.0.md rename to website/src/content/docs/release-notes/typespec-1-8-0.md index c7b54d4c7b1..404bac3a44c 100644 --- a/website/src/content/docs/release-notes/typespec-1.8.0.md +++ b/website/src/content/docs/release-notes/typespec-1-8-0.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-1-8-0 title: "1.8.0" releaseDate: 2026-01-13 version: "1.8.0" diff --git a/website/src/content/docs/release-notes/typespec-1.9.0.md b/website/src/content/docs/release-notes/typespec-1-9-0.md similarity index 99% rename from website/src/content/docs/release-notes/typespec-1.9.0.md rename to website/src/content/docs/release-notes/typespec-1-9-0.md index 36edfba00e3..64192e1c5d6 100644 --- a/website/src/content/docs/release-notes/typespec-1.9.0.md +++ b/website/src/content/docs/release-notes/typespec-1-9-0.md @@ -1,4 +1,5 @@ --- +slug: release-notes/typespec-1-9-0 title: "1.9.0" releaseDate: 2026-02-10 version: "1.9.0" From 15a71a2c78ff8df1594ab54047ed3653159837ed Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Tue, 24 Mar 2026 13:33:14 -0400 Subject: [PATCH 10/11] fix redirects --- website/astro.config.mjs | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/website/astro.config.mjs b/website/astro.config.mjs index db1239d334a..b20b6a16b10 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -19,19 +19,20 @@ export default defineConfig({ site: "https://typespec.io", trailingSlash: "always", redirects: { - "/docs/release-notes/release-2025-04-02/": "/release-notes/typespec-1.0.0-rc.0/", - "/docs/release-notes/release-2025-04-22/": "/release-notes/typespec-1.0.0-rc.1/", - "/docs/release-notes/release-2025-05-06/": "/release-notes/typespec-1.0.0/", - "/docs/release-notes/release-2025-06-10/": "/release-notes/typespec-1.1.0/", - "/docs/release-notes/release-2025-07-15/": "/release-notes/typespec-1.2.0/", - "/docs/release-notes/release-2025-08-06/": "/release-notes/typespec-1.3.0/", - "/docs/release-notes/release-2025-09-09/": "/release-notes/typespec-1.4.0/", - "/docs/release-notes/release-2025-10-08/": "/release-notes/typespec-1.5.0/", - "/docs/release-notes/release-2025-11-11/": "/release-notes/typespec-1.6.0/", - "/docs/release-notes/release-2025-12-09/": "/release-notes/typespec-1.7.0/", - "/docs/release-notes/release-2026-01-13/": "/release-notes/typespec-1.8.0/", - "/docs/release-notes/release-2026-02-10/": "/release-notes/typespec-1.9.0/", - "/docs/release-notes/release-2026-03-10/": "/release-notes/typespec-1.10.0/", + // Redirect old /docs/ date-based paths to version-based (already existed in HEAD, updated targets) + "/docs/release-notes/release-2025-04-02/": "/release-notes/typespec-1-0-0-rc-0/", + "/docs/release-notes/release-2025-04-22/": "/release-notes/typespec-1-0-0-rc-1/", + "/docs/release-notes/release-2025-05-06/": "/release-notes/typespec-1-0-0/", + "/docs/release-notes/release-2025-06-10/": "/release-notes/typespec-1-1-0/", + "/docs/release-notes/release-2025-07-15/": "/release-notes/typespec-1-2-0/", + "/docs/release-notes/release-2025-08-06/": "/release-notes/typespec-1-3-0/", + "/docs/release-notes/release-2025-09-09/": "/release-notes/typespec-1-4-0/", + "/docs/release-notes/release-2025-10-08/": "/release-notes/typespec-1-5-0/", + "/docs/release-notes/release-2025-11-11/": "/release-notes/typespec-1-6-0/", + "/docs/release-notes/release-2025-12-09/": "/release-notes/typespec-1-7-0/", + "/docs/release-notes/release-2026-01-13/": "/release-notes/typespec-1-8-0/", + "/docs/release-notes/release-2026-02-10/": "/release-notes/typespec-1-9-0/", + "/docs/release-notes/release-2026-03-10/": "/release-notes/typespec-1-10-0/", }, integrations: [ astroExpressiveCode(), From bdbd3773c447447e874726f33e3c962f8b19d059 Mon Sep 17 00:00:00 2001 From: Timothee Guerin Date: Tue, 24 Mar 2026 15:35:04 -0400 Subject: [PATCH 11/11] fix --- website/astro.config.mjs | 34 +++++++++- .../src/components/release-notes-list.astro | 66 ------------------- .../src/content/docs/release-notes/index.mdx | 9 --- 3 files changed, 33 insertions(+), 76 deletions(-) delete mode 100644 website/src/components/release-notes-list.astro delete mode 100644 website/src/content/docs/release-notes/index.mdx diff --git a/website/astro.config.mjs b/website/astro.config.mjs index b20b6a16b10..b495713134e 100644 --- a/website/astro.config.mjs +++ b/website/astro.config.mjs @@ -6,11 +6,41 @@ import { processSidebar } from "@typespec/astro-utils/sidebar"; import astroExpressiveCode from "astro-expressive-code"; import rehypeAstroRelativeMarkdownLinks from "astro-rehype-relative-markdown-links"; import { defineConfig } from "astro/config"; +import { readdirSync, readFileSync } from "node:fs"; import { resolve } from "pathe"; import rehypeMermaid from "rehype-mermaid"; import remarkHeadingID from "remark-heading-id"; import current from "./src/content/current-sidebar"; +/** Scan the release-notes directory and return the slug of the latest release note. */ +function getLatestReleaseNoteSlug() { + const dir = resolve(import.meta.dirname, "src/content/docs/release-notes"); + const files = readdirSync(dir).filter((f) => /\.mdx?$/.test(f) && !f.startsWith("index")); + + let latestSlug = ""; + let latestDate = 0; + + for (const file of files) { + const content = readFileSync(resolve(dir, file), "utf-8"); + const fmMatch = content.match(/^---\n([\s\S]*?)\n---/); + if (!fmMatch) continue; + + const dateMatch = fmMatch[1].match(/releaseDate:\s*(\S+)/); + if (!dateMatch) continue; + + const date = new Date(dateMatch[1]).getTime(); + if (date > latestDate) { + latestDate = date; + const slugMatch = fmMatch[1].match(/slug:\s*(\S+)/); + latestSlug = slugMatch ? slugMatch[1] : `release-notes/${file.replace(/\.mdx?$/, "")}`; + } + } + + return latestSlug; +} + +const latestReleaseNote = getLatestReleaseNoteSlug(); + const base = process.env.TYPESPEC_WEBSITE_BASE_PATH ?? "/"; // https://astro.build/config @@ -19,6 +49,8 @@ export default defineConfig({ site: "https://typespec.io", trailingSlash: "always", redirects: { + // Point the old release-notes index to the latest release note. + ...(latestReleaseNote ? { "/release-notes/": `/${latestReleaseNote}/` } : {}), // Redirect old /docs/ date-based paths to version-based (already existed in HEAD, updated targets) "/docs/release-notes/release-2025-04-02/": "/release-notes/typespec-1-0-0-rc-0/", "/docs/release-notes/release-2025-04-22/": "/release-notes/typespec-1-0-0-rc-1/", @@ -46,7 +78,7 @@ export default defineConfig({ )), { label: "🚀 Release Notes", - link: "/release-notes/", + link: latestReleaseNote ? `/${latestReleaseNote}/` : "/release-notes/", }, { label: "🚀 Release Notes", diff --git a/website/src/components/release-notes-list.astro b/website/src/components/release-notes-list.astro deleted file mode 100644 index ef2e0a8a06f..00000000000 --- a/website/src/components/release-notes-list.astro +++ /dev/null @@ -1,66 +0,0 @@ ---- -import { getCollection } from "astro:content"; -import Link from "@typespec/astro-utils/components/link.astro"; - -const releaseNotes = await getCollection( - "docs", - (x) => x.id.startsWith("release-notes/") && x.id !== "release-notes", -); -releaseNotes.sort((a, b) => { - const dateA = a.data.releaseDate?.getTime() ?? 0; - const dateB = b.data.releaseDate?.getTime() ?? 0; - return dateB - dateA; -}); ---- - -
      - { - releaseNotes.map((note) => ( -
    • - - {note.data.title} - {note.data.releaseDate && ( - - {note.data.releaseDate.toLocaleDateString("en-US", { - year: "numeric", - month: "long", - day: "numeric", - })} - - )} - -
    • - )) - } -
    - - diff --git a/website/src/content/docs/release-notes/index.mdx b/website/src/content/docs/release-notes/index.mdx deleted file mode 100644 index 52b704b1166..00000000000 --- a/website/src/content/docs/release-notes/index.mdx +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Release Notes -sidebar: - hidden: true ---- - -import ReleaseNotesList from "@site/src/components/release-notes-list.astro"; - -