From 2603db74eb7ff39bcd1f6fe53564fec416640802 Mon Sep 17 00:00:00 2001 From: "DESKTOP-RTLN3BA\\$punk" Date: Wed, 24 Dec 2025 18:03:22 -0800 Subject: [PATCH] feat: released 0.0.9 changelog --- surfsense_web/app/(home)/changelog/page.tsx | 116 ++++++++++++++++++ .../changelog/content/2025-12-24.mdx | 44 +++++++ surfsense_web/components/homepage/navbar.tsx | 1 + surfsense_web/lib/utils.ts | 8 ++ surfsense_web/mdx-components.tsx | 19 +++ surfsense_web/public/demo.mp4 | Bin 0 -> 17999800 bytes surfsense_web/source.config.ts | 21 +++- 7 files changed, 207 insertions(+), 2 deletions(-) create mode 100644 surfsense_web/app/(home)/changelog/page.tsx create mode 100644 surfsense_web/changelog/content/2025-12-24.mdx create mode 100644 surfsense_web/public/demo.mp4 diff --git a/surfsense_web/app/(home)/changelog/page.tsx b/surfsense_web/app/(home)/changelog/page.tsx new file mode 100644 index 000000000..42c120048 --- /dev/null +++ b/surfsense_web/app/(home)/changelog/page.tsx @@ -0,0 +1,116 @@ +import { loader } from "fumadocs-core/source"; +import { changelog } from "@/.source/server"; +import { formatDate } from "@/lib/utils"; +import { getMDXComponents } from "@/mdx-components"; + +const source = loader({ + baseUrl: "/changelog", + source: changelog.toFumadocsSource(), +}); + +interface ChangelogData { + title: string; + date: string; + version?: string; + tags?: string[]; + body: React.ComponentType<{ components?: Record }>; +} + +interface ChangelogPageItem { + url: string; + data: ChangelogData; +} + +export default async function ChangelogPage() { + const allPages = source.getPages() as ChangelogPageItem[]; + const sortedChangelogs = allPages.sort((a, b) => { + const dateA = new Date(a.data.date).getTime(); + const dateB = new Date(b.data.date).getTime(); + return dateB - dateA; + }); + + return ( +
+ {/* Header */} +
+
+
+
+

+ Changelog +

+

+ Stay up to date with the latest updates and improvements to SurfSense. +

+
+
+
+
+ + {/* Timeline */} +
+
+ {sortedChangelogs.map((changelog) => { + const MDX = changelog.data.body; + const date = new Date(changelog.data.date); + const formattedDate = formatDate(date); + + return ( +
+
+
+
+ + + {changelog.data.version && ( +
+ {changelog.data.version} +
+ )} +
+
+ + {/* Right side - Content */} +
+ {/* Vertical timeline line */} +
+ {/* Timeline dot */} +
+
+ +
+
+

+ {changelog.data.title} +

+ + {/* Tags */} + {changelog.data.tags && changelog.data.tags.length > 0 && ( +
+ {changelog.data.tags.map((tag: string) => ( + + {tag} + + ))} +
+ )} +
+
+ +
+
+
+
+
+ ); + })} +
+
+
+ ); +} diff --git a/surfsense_web/changelog/content/2025-12-24.mdx b/surfsense_web/changelog/content/2025-12-24.mdx new file mode 100644 index 000000000..b4de6829c --- /dev/null +++ b/surfsense_web/changelog/content/2025-12-24.mdx @@ -0,0 +1,44 @@ +--- +title: "SurfSense v0.0.9 - Introducing the Agentic Architecture" +description: "SurfSense v0.0.9 introduces a new agentic architecture with intelligent source selection, temporal query understanding, and MCP compatibility." +date: "2025-12-24" +tags: ["Agentic", "Agent", "MCP"] +version: "0.0.9" +--- + +