Skip to content

Release history

Markdownify MCP releases

All releases

5 shown

v1.1.0 Breaking risk
⚠ Upgrade required
  • Set `MARKITDOWN_PATH` or `REPOMIX_PATH` to override previously used `projectRoot`. Deprecation of `projectRoot` will be enforced in future releases.
  • Update Docker builds: `.dockerignore` now excludes host `.venv` and `node_modules`.
  • Replace any usage of stale `UV_PATH` documentation; the code no longer uses `uv`.
Breaking changes
  • `projectRoot` removed from the MCP tool input schema. Use `MARKITDOWN_PATH` to override the project root.
Notable features
  • `MARKITDOWN_PATH` env var added (defaults to `/.venv/bin/markitdown`, falls back to PATH lookup).
  • `REPOMIX_PATH` env var added with same behavior for `git-repo-to-markdown`.
  • `MD_ALLOWED_PATHS` env var introduced; enforces filepath whitelist on all tools, keeping `MD_SHARE_DIR` as backward‑compat alias.
Full changelog

Path-resolution overhaul to make Docker (and any non-default install layout) frictionless. Closes #97 via #98.

What's new

  • MARKITDOWN_PATH env var. Defaults to <project>/.venv/bin/markitdown, falls back to a bare-name PATH lookup. Lets pipx install "markitdown[pdf]" or any system install work without a project venv.
  • REPOMIX_PATH env var. Same shape, for git-repo-to-markdown.
  • MD_ALLOWED_PATHS env var (path-delimiter-separated). Enforced on every filepath-accepting tool, not just get-markdown-file. MD_SHARE_DIR kept as a single-dir backward-compat alias.
  • Docker volume-mount example in the README, aligned with the markdownify.paths field on the Docker MCP catalog config page.
  • New scripts/docker-smoke-test.sh: builds the image, mounts a sample dir, calls pdf-to-markdown over the MCP stdio transport, asserts the response.

Fixes

  • Stop treating non-empty stderr from markitdown as fatal — it emits non-fatal warnings on every successful run (onnxruntime cpuid, pydub ffmpeg-missing). Exit code is the real signal.
  • Add .dockerignore so COPY . . no longer drags the host's .venv and node_modules into the build context.
  • Replace stale UV_PATH docs (the code stopped using uv several versions ago).

Breaking changes

  • projectRoot removed from the MCP tool input schema. It was client-controllable, so any MCP client could force the server to exec <arbitrary>/.venv/bin/markitdown. No legitimate client should have been using it. If you need to override the project root, set MARKITDOWN_PATH directly.
v1.0.4 Bug fix

Fixed Docker image crash on Apple Silicon by switching to `markitdown[pdf]`.

Full changelog

Bug Fix

  • Fix Docker image crash on Apple Silicon/ARM by using markitdown[pdf] instead of markitdown[all]. The [all] extra pulled in unnecessary dependencies (SpeechRecognition/pydub/ffmpeg) that caused failures on ARM containers. PDF support is retained. (Fixes #95)
v1.0.3 Bug fix

Fixed missing PDF/DOCX/PPTX/XLSX converter dependencies after upstream markitdown change.

Full changelog

Bug Fix

  • Fix missing PDF/DOCX/PPTX/XLSX converter dependencies after upstream markitdown moved them to optional extras in v0.1.0. All install paths (setup.sh, setup.bat, Dockerfile, pyproject.toml) now use markitdown[all]. (thanks @rubzo — #92)
v1.0.2 Maintenance
⚠ Upgrade required
  • Upgraded TypeScript dependency from version 5.9.3 to 6.0.2
Notable features
  • Added `CLAUDE.md` project configuration file
Full changelog

Changes

  • Upgrade TypeScript from 5.9.3 to 6.0.2
  • Add missing test.pdf sample data (fixes broken test)
  • Add CLAUDE.md project configuration
v1.0.1 Security relevant
Security fixes
  • Bump requests from 2.32.5 to 2.33.0 — fixes insecure temp file reuse in extract_zipped_paths() (medium severity)
Full changelog

Security

  • Bump requests from 2.32.5 to 2.33.0 — fixes insecure temp file reuse in extract_zipped_paths() (medium severity)

Beta — feedback welcome: [email protected]