From 472adec751737a32628e071ff8570cedc07d3a2d Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Sun, 23 Nov 2025 14:49:15 +0000 Subject: feat: add GET /api/version endpoint (#2167) Implements a new API endpoint that returns the server version from serverConfig. This will be used for Home Assistant integration to check for updates. Fixes #2148 Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Mohamed Bassem --- packages/api/index.ts | 2 ++ packages/api/routes/version.ts | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 packages/api/routes/version.ts diff --git a/packages/api/index.ts b/packages/api/index.ts index 90098a28..7bf9084d 100644 --- a/packages/api/index.ts +++ b/packages/api/index.ts @@ -20,6 +20,7 @@ import rss from "./routes/rss"; import tags from "./routes/tags"; import trpc from "./routes/trpc"; import users from "./routes/users"; +import version from "./routes/version"; import webhooks from "./routes/webhooks"; await loadAllPlugins(); @@ -67,6 +68,7 @@ const app = new Hono<{ }) .use(trpcAdapter) .route("/health", health) + .route("/version", version) .route("/trpc", trpc) .route("/v1", v1) .route("/assets", assets) diff --git a/packages/api/routes/version.ts b/packages/api/routes/version.ts new file mode 100644 index 00000000..18e045af --- /dev/null +++ b/packages/api/routes/version.ts @@ -0,0 +1,16 @@ +import { Hono } from "hono"; + +import serverConfig from "@karakeep/shared/config"; +import { Context } from "@karakeep/trpc"; + +const version = new Hono<{ + Variables: { + ctx: Context; + }; +}>().get("/", (c) => { + return c.json({ + version: serverConfig.serverVersion ?? "unknown", + }); +}); + +export default version; -- cgit v1.2.3-70-g09d2