Skip to content

v0.7.2 — Wiki upload + PAT-mode concurrency fixes

Choose a tag to compare

@nalyk nalyk released this 18 May 09:04
· 45 commits to main since this release
0b357d3

Carries forward both bug fixes from #62 (@ecthelion77, Olivier Gintrand) with maintainer corrections.

Highlights

  • Wiki attachment upload fixed (#62) — the upload_project_wiki_attachment and upload_group_wiki_attachment tools previously sent JSON with base64 content, causing a 400 on every call against any GitLab. Now uses FormData + Blob per the documented API. Originally found and fixed by Olivier.
  • Per-session server factory in PAT + streamable-http mode (#62) — the second concurrent client previously crashed the process with "Already connected to a transport". Each session now gets its own Server. Also originally Olivier's fix.

Maintainer corrections

  • content_encoding parameter on wiki upload tools'utf8' (default) or 'base64'. Required for binary files since MCP parameters are JSON strings. No automatic detection to avoid silent-failure on base64-shaped text.
  • Schema fallback for older self-hosted GitLabGitLabWikiAttachmentSchema accepts both the modern link.{url, markdown} envelope and the legacy flat {commit_id, url} shape. The formatter synthesises a markdown snippet on legacy paths.

Tests

  • 79 → 86 (7 new): multipart body shape, base64 decoding (verified with PNG signature), default text path, both schema shapes, PAT + streamable-http per-session factory, no-Authorization-header acceptance in PAT mode.

Changed

  • GitLabWikiAttachment MCP response shape now exposes {url, markdown} instead of {commit_id, url}. Downstream LLM consumers parsing tool output should update accordingly.

Credits

Olivier Gintrand for finding and fixing both bugs. Both PR #62 commits are cherry-picked into this release with authorship preserved; the squash-merge of #80 carries Co-authored-by: so the GitHub contribution graph credits him.