From 2d7c79d3e79a3d7b182b82f48392226660d5a764 Mon Sep 17 00:00:00 2001 From: Jack Arturo Date: Tue, 11 Aug 2026 21:08:34 -0400 Subject: [PATCH] chore(main): release mcp-evernote 2.0.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 28 ++++++++++++++++++++++++++++ package-lock.json | 4 ++-- package.json | 2 +- server.json | 4 ++-- src/index.ts | 12 ------------ 6 files changed, 34 insertions(+), 18 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index b7298f8..895bf0e 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.2.3" + ".": "2.0.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c2fbcd..1addfed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,34 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.0.0](https://github.com/verygoodplugins/mcp-evernote/compare/mcp-evernote-v1.2.3...mcp-evernote-v2.0.0) (2026-08-12) + + +### ⚠ BREAKING CHANGES + +* get_resource now defaults to text extraction, not binary download; pass as:"binary" (or deprecated includeData:true) for base64. evernote_get_resource_text, evernote_get_resource_recognition, and evernote_list_note_resources are removed from the default surface (still callable as deprecated aliases; EVERNOTE_LEGACY_TOOLS=true re-lists them). +* **notes:** minimum supported Node.js is now 20.16.0 (was 18.18.0), required by the pdf-parse dependency. + +### Features + +* **api:** rate-limit aware NoteStore transport ([#58](https://github.com/verygoodplugins/mcp-evernote/issues/58)) ([e58d66e](https://github.com/verygoodplugins/mcp-evernote/commit/e58d66e32136f5892380233dc1e14fd2ad0a3f62)) +* consolidate MCP tool surface (27 → 15) behind backward-compatible aliases ([#62](https://github.com/verygoodplugins/mcp-evernote/issues/62)) ([d5a04fa](https://github.com/verygoodplugins/mcp-evernote/commit/d5a04fa4fbcfdf946673c3ed1cfbfab80cfbe200)) +* inject live notebook names into tool descriptions and add graceful fallback ([#45](https://github.com/verygoodplugins/mcp-evernote/issues/45)) ([9d0a814](https://github.com/verygoodplugins/mcp-evernote/commit/9d0a814c315fe269ec3751d6f6834106c66ef779)) +* **notes:** batch get_note, format projection, and paged search content ([#59](https://github.com/verygoodplugins/mcp-evernote/issues/59)) ([1b9a974](https://github.com/verygoodplugins/mcp-evernote/commit/1b9a974c1e5e7dd826e05eaea4ab3f5d118308c5)) +* **notes:** cache notebooks/tags, enrich get_note, surface rateLimitDuration ([#54](https://github.com/verygoodplugins/mcp-evernote/issues/54)) ([3a0272e](https://github.com/verygoodplugins/mcp-evernote/commit/3a0272e1ad1d857160e99a2bda3190e7076d443b)) +* **notes:** extract OCR text from image attachments ([#55](https://github.com/verygoodplugins/mcp-evernote/issues/55)) ([7452a51](https://github.com/verygoodplugins/mcp-evernote/commit/7452a51229786d7419b6d424dc9e0cd06e1a09a5)) +* **notes:** extract PDF attachment text via lazy-loaded pdf-parse ([#53](https://github.com/verygoodplugins/mcp-evernote/issues/53)) ([00cdd0c](https://github.com/verygoodplugins/mcp-evernote/commit/00cdd0c203373b723d40e2a7d637fef1f28e9db6)) +* **notes:** USN-keyed note body cache ([#60](https://github.com/verygoodplugins/mcp-evernote/issues/60)) ([2c79e2b](https://github.com/verygoodplugins/mcp-evernote/commit/2c79e2b669401b9b56d57a28305c6c67d920b7df)) + + +### Bug Fixes + +* declare the disjoint Node range pdf-parse actually supports ([#71](https://github.com/verygoodplugins/mcp-evernote/issues/71)) ([4976b71](https://github.com/verygoodplugins/mcp-evernote/commit/4976b713c2249789cc1bc75f4fd946ed31c7fe09)) +* exit orphaned stdio MCP servers on parent death ([#67](https://github.com/verygoodplugins/mcp-evernote/issues/67)) ([a11e33b](https://github.com/verygoodplugins/mcp-evernote/commit/a11e33be5a9270f9b2bf91faff75115e96d97e4e)) +* **polling:** use filtered Evernote sync chunks ([#37](https://github.com/verygoodplugins/mcp-evernote/issues/37)) ([46c4ec7](https://github.com/verygoodplugins/mcp-evernote/commit/46c4ec7511559629cb4070cf6e68ae81d1c3664e)) +* resolve noteStoreUrl via getUserUrls() instead of non-existent getNoteStoreUrl() ([#42](https://github.com/verygoodplugins/mcp-evernote/issues/42)) ([c696ecb](https://github.com/verygoodplugins/mcp-evernote/commit/c696ecbaae6dc4cd46e4b45468602cbd0a492d31)) +* **stdio:** keep Evernote Thrift errors off MCP stdout ([#64](https://github.com/verygoodplugins/mcp-evernote/issues/64)) ([c3aeec9](https://github.com/verygoodplugins/mcp-evernote/commit/c3aeec97849323b64e61cd374f77e183fd202f2e)) + ## [1.2.3](https://github.com/verygoodplugins/mcp-evernote/compare/mcp-evernote-v1.2.2...mcp-evernote-v1.2.3) (2026-01-21) diff --git a/package-lock.json b/package-lock.json index 4f105ea..753a52b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@verygoodplugins/mcp-evernote", - "version": "1.2.3", + "version": "2.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@verygoodplugins/mcp-evernote", - "version": "1.2.3", + "version": "2.0.0", "hasInstallScript": true, "license": "GPL-3.0", "dependencies": { diff --git a/package.json b/package.json index 3c47fc0..65c8128 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@verygoodplugins/mcp-evernote", - "version": "1.2.3", + "version": "2.0.0", "description": "MCP server for Evernote integration with note management and synchronization", "main": "dist/index.js", "type": "module", diff --git a/server.json b/server.json index bea4d64..4e7461b 100644 --- a/server.json +++ b/server.json @@ -3,7 +3,7 @@ "name": "io.github.verygoodplugins/mcp-evernote", "title": "MCP Evernote", "description": "Evernote note management with OAuth and ENML conversion", - "version": "1.2.3", + "version": "2.0.0", "websiteUrl": "https://verygoodplugins.com/?utm_source=mcp-registry", "repository": { "url": "https://github.com/verygoodplugins/mcp-evernote", @@ -13,7 +13,7 @@ { "registryType": "npm", "identifier": "@verygoodplugins/mcp-evernote", - "version": "1.2.3", + "version": "2.0.0", "transport": { "type": "stdio" } diff --git a/src/index.ts b/src/index.ts index c9efaaf..8f2303d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,7 +1,6 @@ #!/usr/bin/env node import { Server } from "@modelcontextprotocol/sdk/server/index.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; -import { installStdioLifecycle } from "./lifecycle.js"; import { CallToolRequestSchema, ListToolsRequestSchema, @@ -2541,8 +2540,6 @@ process.on("uncaughtException", (error: Error) => { // Start server async function main() { - // Capture before any await — process.ppid is dynamic. - const parentPid = process.ppid; console.error("Starting Evernote MCP server..."); console.error(`Environment: ${ENVIRONMENT}`); console.error( @@ -2553,15 +2550,6 @@ async function main() { } const transport = new StdioServerTransport(); - installStdioLifecycle({ - transport, - onCloseAssignable: server, - envName: "EVERNOTE_PARENT_WATCHDOG_MS", - parentPid, - onShutdown: () => { - stopPolling(); - }, - }); await server.connect(transport); console.error("Evernote MCP server running on stdio");