Skip to content

chore(release): @sylphx/pdf-reader-mcp@4.0.0#26

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
bump/release
Open

chore(release): @sylphx/pdf-reader-mcp@4.0.0#26
github-actions[bot] wants to merge 1 commit into
mainfrom
bump/release

Conversation

@github-actions
Copy link
Copy Markdown

🚀 Release

This PR will release @sylphx/pdf-reader-mcp version 4.0.0

📊 Statistics
  • Packages: 1
  • Total commits: 278
  • Breaking changes: 3 ⚠️
  • Based on: 0169be1

4.0.0 (2025-12-28)

✨ Features

  • workflow: add next_step hints to guide LLM through 3-stage workflow (ca175a9)
  • ocr: merge pdf_ocr_page and pdf_ocr_image into unified pdf_ocr (a640119)
  • extract: rename pdf_get_image to pdf_extract_image (9070a2c)
  • read: rename pdf_read_pages to pdf_read (5cb2c5c)
  • info: add consolidated pdf_info tool (ade5d05)
  • ocr: add default provider from environment variables (4f6dc6a)
  • ocr: add full Mistral OCR response support (v2.2.0) (a26fe8e)
  • ocr: add Smart OCR, Mistral OCR API provider, dynamic table detection (c2c165e)
  • ocr: add mistral provider (8d1a9f1)
  • images: surface extraction warnings (5bbca8c)
  • security: guard paths and stream PDF downloads (179490f)
  • handlers: add OCR recommendation to image-related responses (25bf350)
  • ocr: add production-ready Mistral Vision OCR wrapper service (408080e)
  • ocr: add persistent disk cache for OCR results (5b39f59)
  • pdf_read_pages: add insert_markers for content type detection (4d57484)
  • ocr: add image tools, rendering, and caching (da70b08)
  • docs: migrate to VitePress with modern sleek design (595dd0e)
  • add CMap support for Japanese/CJK PDF text extraction (feat: Add CMap support for Japanese/CJK PDF text extraction SylphxAI/pdf-reader-mcp#251) (5b9df6a)
  • migrate documentation from VitePress to Leaf (c0f14b6)
  • preserve text and image order based on Y-coordinates (3d0a35d)
  • preserve text and image order in content parts (0ccf405)
  • add embedded image extraction from PDFs (6959dd3)
  • setup docs and benchmarking framework\n\n- Initialize VitePress structure, config, and placeholder pages.\n- Install VitePress dependencies and add npm scripts.\n- Rewrite README.md according to guidelines.\n- Populate initial content for docs sections (API, Design, etc.).\n- Fix Markdown parsing issues and build docs successfully.\n- Create CONTRIBUTING.md and update CHANGELOG.md.\n- Add initial benchmark tests using Vitest.\n- Fix package.json structure and benchmark script.\n- Run benchmarks successfully after adding sample PDF. (afd29df)
  • Enable type-aware ESLint rules (cf54cf1)
  • Integrate Prettier for code formatting (7496ee2)
  • Integrate ESLint for code linting (7ac8a6b)
  • integrate vitest for testing (5284b81)
  • Add CHANGELOG, LICENSE and improve release workflow (3412a07)
  • Add support for processing multiple sources in read_pdf (e7aa844)
  • Add URL support to all PDF tools (86d5f75)
  • Initial implementation of PDF reader tools and project setup (f4dc988)
  • Ensure batch error handling & update docs for v0.5.1 (45a75b7)
  • Implement edit_file tool for advanced file editing (v0.5.0) (1cf3b0a)
  • Use process.cwd() for project root (v0.5.0) (3521863)
  • Add Dockerfile and .dockerignore for containerization (dbd8f15)

🐛 Bug Fixes

  • validation: add P1 high-priority security and robustness fixes (7f560a6)
  • search: prevent ReDoS attacks with RE2 regex engine (a1d8d24)
  • cache: prevent data loss and deadlocks in disk cache operations (704c479)
  • text-extraction: correct rotation handling and improve text quality (f9681f9)
  • lefthook: replace hanging doctor prepush with direct test command (8889d29)
  • address critical event loop blocking and security issues (735be07)
  • ocr: extract table content and fix disk cache parameters (37544dd)
  • ocr: correct renderPageToPng calls in pdf_ocr handler (9fc069b)
  • stdio: enhance stdout filtering to catch all warnings (4831550)
  • mcp: filter DOMMatrix warnings from stdout to stderr (4fa660e)
  • ocr: parse boolean extras from strings (1bd052a)
  • rendering: fix PDF rendering with embedded images (51d9eb7)
  • ocr: add .env.example template to wrapper (2ca1efb)
  • insert-markers: extract images when insertMarkers enabled (7beef52)
  • tests: use node instead of bun in integration tests (3bde948)
  • vercel: use npx for vitepress build command (167bc03)
  • docs: rebuild docs with proper leaf configuration (fc65705)
  • docs: commit pre-built docs for Vercel deployment (8b00e4e)
  • build: rebuild dist for Vex migration (5bd9833)
  • remove types export for CLI tool (eae88b4)
  • use local doctor in lefthook (827fa5d)
  • update mcp-server-sdk to 1.3.0 (4961ce6)
  • use bunx for leaf commands in scripts (954d194)
  • update vercel config for leaf docs (ab27b6b)
  • remove unnecessary path access restrictions (0f02777)
  • upgrade mcp-server-sdk to 1.2.0 (f30c75a)
  • ensure mcp-server-sdk 1.1.2 with correct tools/list response (944e1d7)
  • upgrade mcp-server-sdk to 2.0.0 to fix tools/list response (1072389)
  • upgrade mcp-server-sdk to 1.1.2 (e597b24)
  • upgrade SDK to 1.1.1 with Node.js support (8264db1)
  • 💥 use bun shebang for proper runtime support (b633e33)
  • ci: use explicit path for lefthook in prepare script (a183408)
  • security: override js-yaml to fix vulnerability (a184a28)
  • ci: allow bun install without frozen-lockfile for Dependabot PRs (fb92b7c)
  • upgrade to SDK 1.0.0 and Zod 4 for proper JSON Schema support (4d1c13a)
  • improve image extraction timeout handling (fd634b7)
  • critical security and performance improvements (65a93a6)
  • ci: adjust coverage thresholds to reflect actual coverage (dbd6990)
  • ci: add required permissions to release workflow (78a7b75)
  • mcp: remove stderr pollution to fix Codex stdio handshake (fix(mcp): remove stderr pollution to fix Codex stdio handshake SylphxAI/pdf-reader-mcp#221) (009cf36)
  • remove dead links to ./api/ directory (3015abb)
  • escape remaining angle bracket in Array (ab763ab)
  • escape angle brackets in TypeScript types (035353e)
  • package: update organization URLs from sylphlab to SylphxAI (d69ffc5)
  • properly encode raw pixel data from PDFs as PNG images (b8eee4a)
  • update PdfSourceResult type for exactOptionalPropertyTypes compatibility (fb93f02)
  • enable rootDir and adjust include for correct build structure (a9985a7)
  • correct executable paths due to missing rootDir (ed5c150)
  • publish: remove dist from gitignore and fix clean script (305e259)
  • config: align package.json paths with build output (dist/) (ab1100d)
  • Run lint-staged in pre-commit hook (e96680c)
  • docker: Ignore scripts during pnpm prune (02f3f91)
  • docker: Install pnpm globally in builder stage (651d7ae)
  • docker: Use pnpm instead of npm in Dockerfile (c202fd4)
  • address remaining eslint warnings (a91d313)
  • resolve eslint errors in tests and scripts (ffc1bdd)
  • add missing @eslint/js dev dependency for flat config (dcd2681)
  • correct Node version and format lockfile for CI (a2eb985)
  • Apply stricter type checking for mock implementation (8a58123)
  • Correct unsafe member access lint error in tests (66c10c9)
  • Address test failures and lint errors after enabling strict rules (e6c7a98)
  • docker: Remove --ignore-scripts from npm ci in builder stage (6111d38)
  • ci: Use fixed artifact filename instead of step output (61d91ac)
  • ci: Move condition to archive step, add if-no-files-found to upload (32435d5)
  • ci: Correct artifact name usage in build job (b87ed7e)
  • Add bin field for npx execution and bump version to 0.2.1 (55dff08)
  • Correct handler return format for MCP CallToolResponse (2321e46)
  • Correct pdfjs-dist import path for Node.js (c671dc5)
  • Bump version to 0.1.1, remove unused bin field (abfd5cb)
  • docker: Ignore scripts during npm ci, run build after copy, bump version (aded372)
  • docker: Correct build stage order, copy all source before build (c411927)
  • docker: Adjust build stage to install all deps before build, then prune (f45c3de)
  • Correct .dockerignore to include src and tsconfig for build stage, bump version (f2783d7)

⚡️ Performance

  • cache: add P2 medium-priority performance and robustness improvements (af31d67)
  • parallelize page text extraction for 5-10x speedup (6d2bb29)

♻️ Refactoring

  • split Vision and OCR into separate tools for clarity (a042564)
  • complete v3 cleanup and critical bug fixes (621146d)
  • 💥 ocr: simplify provider config, move to server-side env vars (8a9d13a)
  • cache: prefix cache tools with underscore for internal use (838c6a9)
  • ocr: remove obsolete mistral-ocr-wrapper (9bd23c6)
  • schema: migrate from Zod to Vex (3e7ca9a)
  • migrate from @modelcontextprotocol/sdk to @sylphx/mcp-server-sdk (0517818)
  • add structured logging system (5c31c42)
  • deduplicate image extraction logic (9b0141c)
  • implement proper PDF document resource cleanup (4ec090b)
  • deep architectural refactoring for maintainability (e61e6bb)
  • rebrand from Sylphlab to Sylphx (6238432)
  • migrate from ESLint/Prettier to Biome (a139d3f)
  • fully standardize build output to dist/ (2b44ac5)
  • standardize build output to dist/ (59b5310)
  • ci: Parallelize npm and Docker publish jobs (a569b62)
  • address ESLint issues\n\n- Create tsconfig.eslint.json to include test files for type-aware linting.\n- Update eslint.config.js to use new tsconfig and ignore generated files.\n- Run lint:fix to auto-correct issues (import type, nullish coalescing).\n- Manually fix remaining issues (return types, console.info, template literal types).\n- Refactor readPdf handler functions to reduce complexity/length.\n- Relax complexity/length/depth rules for specific files in eslint.config.js.\n- Downgrade unsafe-call rule to warning for test files. (8f13657)
  • Apply stricter development standards (TS, ESLint, Vitest, CI) (4daad15)
  • ci: Revert workflow to align with successful example (207fab3)
  • Move 'pages' parameter to be per-source in read_pdf (2172de5)
  • Replace pdf-parse with pdfjs-dist for PDF processing (01f23e8)
  • Consolidate PDF tools into single 'read_pdf' tool (84202a0)
  • Remove unused filesystem handlers (4b2fbc3)

📚 Documentation

  • massive documentation cleanup and user-friendly README rewrite (b7ff2b4)
  • search: enhance pdf_search description with workflow guidance (49f269c)
  • add v3.0 LLM-friendly refactoring plan (0dfe56f)
  • add .env.example for environment configuration (6aeb7b9)
  • update for fork status and local build installation (9e8ad97)
  • changelog: add comprehensive v2.2.0 release entry (895a835)
  • guide: complete index.md rewrite for v2.2.0 (1475dca)
  • guide: update getting-started.md for v2.2.0 (a474bf9)
  • complete README.md rewrite for v2.2.0 (81009e8)
  • add session log for Vision vs OCR API testing (1d25c1f)
  • ocr: document Vision vs OCR API usage for diagrams (9ca1c75)
  • ocr: add comprehensive Mistral OCR documentation and backlog (9702c87)
  • ocr: add two-tier Vision→OCR workflow to backlog + comparison test (2e5b369)
  • ocr: add comprehensive OCR provider documentation (4a78071)
  • backlog: mark insert_markers feature as implemented (f680a75)
  • update stack references (ef00989)
  • update development instructions for bun (72f0fa7)
  • overhaul documentation (f8c35bc)
  • add installation guides for VS Code, Claude Code, Cursor, Windsurf, Cline, Warp (7abf22e)
  • add vercel.json for deployment (aca32de)
  • update organization URLs from sylphlab to SylphxAI and @sylphx (7f624e7)
  • optimize README with performance highlights and branding (4fcebce)
  • redesign README inspired by Craft's clean style (c342a6d)
  • complete README redesign to eliminate horizontal scroll (f526eac)
  • remove Glama badge and simplify layout (2309e6a)
  • improve badge layout by separating into two rows (4c34fc9)
  • redesign README with beautiful visual layout (935f24a)
  • enhance README with comprehensive feature showcase (30b6cd5)
  • update README with v1.2.0 content ordering feature (5add058)
  • revise README for clarity and modern structure (ade2309)
  • update codecov badge token in README.md (9f3b5f2)
  • replace coveralls badge with codecov badge (c150022)
  • Setup VitePress and add initial documentation content (426bb5c)
  • Clarify multi-source error handling in README output description (93a1647)
  • Remove final comment from JSON example in README (108e518)
  • Remove comments from JSON examples, add Docker CWD info (70a701d)
  • Clarify Docker volume mount path options (8068218)
  • add bunx usage to README (v0.4.13) (2831129)
  • Remove comments from README JSON examples for standard compliance, update memory bank, bump version (7bd94dd)
  • Re-add comments to README examples, update memory bank, bump version (3efa65b)
  • Prioritize npx, highlight core features in README, bump version (517c69e)
  • Remove comments from JSON examples in README, bump version (4994530)
  • Refactor README for clarity and Docker focus, bump version (fb024d6)
  • Add Docker usage instructions to README and bump version (2bc6b13)
  • Remove 'disabled' field from README examples and bump version (588a9fa)
  • Update README.md with badges and improved structure (cc091ea)

💅 Styles

  • Apply Prettier formatting (fe7eda1)
  • Apply Prettier formatting (d639244)
  • Apply Prettier formatting (fdd965e)
  • format activeContext.md again (d855f8a)
  • format activeContext.md (c62a7e3)
  • format test files again after eslint fixes (523c397)
  • format test files after eslint fixes (97a8335)
  • format code with prettier (5344783)
  • format pnpm-lock.yaml (8713596)
  • format test and vitest config files (4dbbe08)
  • format readPdf.test.ts with prettier (7105653)
  • Format documentation and source files with Prettier (d052105)

✅ Tests

  • comprehensive test coverage for refactored modules (236b3e2)
  • improve coverage for readPdf handler and adjust thresholds (7bb4ead)
  • add tests for readPdf handler (fa1177b)

👷 CI

  • make Codecov uploads non-blocking (070ec4d)
  • replace coveralls with codecov (5ceae9e)
  • add explicit format step before check (7c8cb6d)
  • fix pnpm setup order in workflow (7c105dc)
  • update workflow to use pnpm (b225cd0)
  • Add ESLint check to workflow (a7832d7)
  • Trigger publish jobs only on version tags (v*..) (6ef0769)
  • Separate build and publish jobs, run publishes in parallel (cf88013)
  • Add steps to build and push Docker image to Docker Hub (8d43fcb)

🔧 Chores

  • anonymize author information (0169be1)
  • update GitHub username from BadlyDrawnBoy to mad-sol-dev (72ee691)
  • 💥 bump version to 3.0.0 (6c3f4af)
  • repo: update local artifacts (330d4bc)
  • update docs URL to pdf-reader-mcp.sylphx.com (d84d9dc)
  • deps: upgrade @sylphx/mcp-server-sdk to ^2.1.0 (7912e47)
  • trigger release PR (0192a57)
  • test bump action fix (c379201)
  • update doctor and lefthook (34a63b2)
  • trigger release workflow (f81afd5)
  • update dependencies and fix doctor issues (6e5a11e)
  • update @sylphx/doctor to 1.26.0 (13af5a7)
  • migrate biome config to 2.3.8 (f6ae632)
  • update lockfile for glob 13.0.0 (6170a7b)
  • deps: bump glob from 11.1.0 to 13.0.0 (chore(deps): bump glob from 11.1.0 to 13.0.0 SylphxAI/pdf-reader-mcp#225) (651c5cb)
  • upgrade @sylphx/bump to v0.12.1 (6db92cc)
  • upgrade @sylphx/doctor to v1.23.3 and @sylphx/bump to v0.10.2 (1e1196f)
  • upgrade @sylphx/doctor to v1.23.2 (e9ea7a4)
  • migrate tooling to @sylphx ecosystem (9f7c91b)
  • upgrade all packages to latest versions (b71fa28)
  • cleanup unused files and folders (5abf0ce)
  • migrate from Vitest to Bun test runner (3c7c6c3)
  • adjust coverage thresholds after adding defensive code (7dbd6c9)
  • add changeset for CI workflow refactor (927f251)
  • deps: add bunup as devDependency (767eac4)
  • add changeset for patch release (b4828fb)
  • ci: refactor workflows to use company release standard (00e93a4)
  • ci: migrate to bun and initialize changesets (5a2e5a7)
  • ci: initialize changesets with public access (f98392e)
  • ci: migrate to shared workflow (60e9548)
  • update build script to bunup (c644f59)
  • add packageManager field (bun@1.3.1) (db72654)
  • add test coverage badge (94.17%) (94c57c6)
  • update organization name from sylphxltd to SylphxAI (efb3e45)
  • release v1.3.0 - add absolute path support (9ddf0d9)
  • remove PLAN.md and eslint config files (61b22b8)
  • remove memory-bank documentation folder (7573fb3)
  • remove Docker support (c280aef)
  • adjust coverage thresholds to match current coverage (3e8aaf0)
  • remove .roo folder (fb64f83)
  • upgrade all dependencies to latest versions (d835170)
  • format all files with prettier (73a5bbd)
  • add Claude Code and MCP server configurations (ed3c7a4)
  • use pnpm in prepublishOnly script (ecc7890)
  • docker: Use node:lts-alpine instead of specific version (50f9bdd)
  • Ignore JUnit test report (1bff7bb)
  • complete major guideline alignment and documentation updates (03646d7)
  • update husky configuration\n\n- Changed the prepare script in package.json to use 'husky' instead of 'husky install'.\n- Added a pre-commit hook to run 'pnpm test' before commits. (63c2fd4)
  • revert CI format step and ensure pre-commit hook exists (9840c8f)
  • lower test coverage thresholds to pass CI\n\nLowered thresholds for lines, statements, and branches in vitest.config.ts\nto match current coverage levels (approx. 92%/92%/80%).\n\nTODO: Increase test coverage for src/handlers/readPdf.ts in a future task. (e5b8191)
  • add .gitattributes to enforce LF line endings (f994f82)
  • switch package manager to pnpm\n\n- Delete package-lock.json.\n- Generate pnpm-lock.yaml using 'pnpm install'.\n- Update memory bank to reflect the change. (2ef07b3)
  • align project configuration with guidelines (48ff4e9)
  • update project identity to sylphlab scope and author name (b1c3f03)
  • Align project with development guidelines (c395d38)
  • Bump version to 0.3.9, update CHANGELOG (2462d71)
  • Bump version to 0.3.8, update CHANGELOG (212b108)
  • Bump version to 0.3.7, update CHANGELOG (411e5d9)
  • Bump version to 0.3.6, update CHANGELOG (bac42e1)
  • Bump version to 0.3.5, update CHANGELOG (07d242c)
  • Bump version to 0.3.4, update CHANGELOG (5d086dd)
  • Bump version to 0.3.3, update CHANGELOG (96edb4d)
  • Bump version to 0.3.2, update CHANGELOG (9c2dcf7)
  • Bump version to 0.3.1 and update CHANGELOG (bd9111c)
  • ci: Downgrade upload-artifact to v3 for debugging (4f58464)
  • ci: Restore if condition for artifact upload (2b670c4)
  • ci: Simplify upload-artifact path for debugging (1ffb732)
  • ci: Revert path in upload-artifact, keep quotes on name (01a1a4d)
  • Bump version to 0.3.0 and update CHANGELOG (4f58bdb)
  • Bump version to 0.2.2 (742eed2)
  • Bump version to 0.2.0 (5937454)
  • Bump version to 0.4.1 for README update on npm (e3dcdd8)

⏪ Reverts

  • restore build paths in package.json (4e3c7be)

💥 Breaking Changes

  • bump version to 3.0.0 (6c3f4af)
    Version 3.0.0 introduces breaking changes
  • ocr: simplify provider config, move to server-side env vars (8a9d13a)
    Remove provider parameter from pdf_ocr tool
  • use bun shebang for proper runtime support (b633e33)
    Requires Bun runtime instead of Node.js

Merging this PR will:

  • Update package.json version(s)
  • Update CHANGELOG.md
  • Publish to npm
  • Create GitHub Release

Important

Please use "Squash and merge" to merge this PR.

This PR is automatically maintained by @sylphx/bump

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants