From d886c7356805ce9591c163512ba185f68f533265 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 9 Nov 2026 18:28:46 +0000 Subject: [PATCH 1/2] ci: run checks on Node 22 vitest 5 (dev dependency since the audit upgrade) supports Node ^22.12 || ^24 || >=26; CI was still on Node 20, which works today but is outside vitest's supported range and past end-of-life. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_016k8nQbcXiTztFcEngHqwxs --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 33a13ce..3d884ff 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: - uses: actions/setup-node@v4 with: - node-version: "20" + node-version: "22" cache: npm - run: npm ci From 3da94975002559b2674d7c218cb5bf0a06a98e4d Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 9 Nov 2026 18:32:10 +0000 Subject: [PATCH 2/2] =?UTF-8?q?chore(release):=20=F0=9F=94=96=20release=20?= =?UTF-8?q?0.4.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Releases what landed since 0.3.0: - tracked changes: list a document's pending suggestions (SDK listTrackedChanges, CLI `changes`, MCP overleaf_list_tracked_changes), and refuse by default any edit that would touch one (TrackedChangeConflictError; override with overwriteTrackedChanges / --overwrite-tracked-changes) (#10) - security: cookie-carrying REST requests stay on the Overleaf origin; @modelcontextprotocol/sdk ^1.32.2 and zod ^4, npm audit clean (#11) A minor bump rather than 0.3.1: the default edit behaviour changes, and 0.3.1 was published and then unpublished on npm, so that number can never be reused. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_016k8nQbcXiTztFcEngHqwxs --- package-lock.json | 4 ++-- package.json | 2 +- src/index.ts | 2 +- src/mcpServer.ts | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index d2f40f1..6fae035 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "claudeleaf", - "version": "0.3.0", + "version": "0.4.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "claudeleaf", - "version": "0.3.0", + "version": "0.4.0", "license": "MIT", "dependencies": { "@modelcontextprotocol/sdk": "^1.32.2", diff --git a/package.json b/package.json index c803c1d..0713871 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "claudeleaf", - "version": "0.3.0", + "version": "0.4.0", "description": "Bring Claude (and any agent) into Overleaf: a reliable bridge that drives the Overleaf web editor in real time via an SDK, CLI, and MCP server.", "type": "module", "license": "MIT", diff --git a/src/index.ts b/src/index.ts index 3ddad7f..0e79a3f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -44,4 +44,4 @@ export type { CompileResult, } from "./types.js"; -export const version = "0.3.0"; +export const version = "0.4.0"; diff --git a/src/mcpServer.ts b/src/mcpServer.ts index 7782331..f8d973b 100644 --- a/src/mcpServer.ts +++ b/src/mcpServer.ts @@ -41,7 +41,7 @@ const trackChanges = z ); export function createServer(): McpServer { - const server = new McpServer({ name: "claudeleaf", version: "0.3.0" }); + const server = new McpServer({ name: "claudeleaf", version: "0.4.0" }); server.registerTool( "overleaf_list_projects",