+ {entry.data.title}
+
+ Released on {(entry.data.pubdate ?? new Date(0)).toLocaleDateString("en", { dateStyle: "medium", timeZone: "UTC" })}
+ {
+ entry.data.link && (
+ <>
+ - GitHub
+ >
+ )
+ }
+
+
+
+
+
diff --git a/src/components/changelog/Releases.astro b/src/components/changelog/Releases.astro
new file mode 100644
index 000000000..16dd8d95d
--- /dev/null
+++ b/src/components/changelog/Releases.astro
@@ -0,0 +1,27 @@
+---
+import StarlightPage from "@astrojs/starlight/components/StarlightPage.astro";
+import { getCollection, type CollectionKey } from "astro:content";
+import Release from "./Release.astro";
+
+interface Props {
+ title: string;
+ collection: CollectionKey & `${string}-releases`;
+}
+
+const { title, collection } = Astro.props;
+
+const entries = await getCollection(collection);
+const headings = entries.map((entry) => {
+ const id = entry.id.substring(entry.id.lastIndexOf("/") + 1);
+
+ return {
+ slug: id,
+ text: entry.data.title ?? id,
+ depth: 2,
+ };
+});
+---
+
+