Releases: olgasafonova/mediawiki-mcp-server
Release list
v1.34.0
What's Changed
- deps: bump the go-dependencies group with 2 updates by @dependabot[bot] in #92
- ci: bump actions/setup-go from 6 to 7 by @dependabot[bot] in #94
- deps: bump the go-dependencies group with 2 updates by @dependabot[bot] in #95
- ci: pin artifact/release actions to verified SHAs by @olgasafonova in #96
- feat(wiki): add -i/--interactive flag to wiki edit (closes #75) by @strk-ai-agent in #93
- feat(wiki): edit conflict detection via basetimestamp by @olgasafonova in #97
New Contributors
- @strk-ai-agent made their first contribution in #93
Full Changelog: v1.33.0...v1.34.0
v1.33.0
What's Changed
- chore: fix file_health regression + refresh deslop baseline by @olgasafonova in #87
- deps: bump github.com/anthropics/anthropic-sdk-go from 1.51.1 to 1.53.0 in the go-dependencies group by @dependabot[bot] in #88
- deps: bump the go-dependencies group with 2 updates by @dependabot[bot] in #89
- Agent-friendly wiki CLI: fix exit codes, add --version, guard edit by @olgasafonova in #91
Full Changelog: v1.32.1...v1.33.0
v1.32.1
What's Changed
- fix: inject ServerVersion from git tag at build time by @olgasafonova in #86
Full Changelog: v1.32.0...v1.32.1
v1.32.0
What's Changed
- refactor(codescene): lift code health scores by @olgasafonova in #52
- fix(config): honor MEDIAWIKI_ALLOW_INSECURE env var by @olgasafonova in #55
- refactor(wiki): extract upload.go, add session tests, simplify validateWikiURL by @olgasafonova in #56
- fix(handlers): silent-nil dispatcher writes panic to *errPtr (HIGH severity for write tools) by @olgasafonova in #57
- ci: drop binary upload from ci.yml (saves Free-tier Actions storage) by @olgasafonova in #58
- deps: bump the go-dependencies group with 2 updates by @dependabot[bot] in #60
- deps: bump the go-dependencies group with 6 updates by @dependabot[bot] in #61
- fix(edit): surface API failure details (CAPTCHA, info) and show in CLI output by @strk in #62
- feat(edit): add -f/--file flag to read wikitext from a file path by @strk in #63
- deslop #59: split 11 files, add 35 tests, refresh baseline (73.9%→96.7%) by @olgasafonova in #64
- fix(login): clear stale cookies before login to prevent session timeout by @strk in #66
- feat(cli): add --verbose/-v flag with debug logging for API calls by @strk in #65
- feat(wiki): interactive CAPTCHA prompting for edit and publish CLI commands by @strk in #67
- build: add wiki binary to build and install targets by @strk in #69
- docs(tools): note bot-password auth requirement on write tools by @olgasafonova in #70
- ci: bump codecov/codecov-action from 6 to 7 by @dependabot[bot] in #72
- deps: bump the go-dependencies group with 2 updates by @dependabot[bot] in #73
- deps: bump github.com/anthropics/anthropic-sdk-go from 1.48.0 to 1.50.1 in the go-dependencies group by @dependabot[bot] in #77
- Print full page URL on successful edit in wiki CLI by @strk in #74
- refactor: raise CodeScene Code Health to Green (>=9.0) by @olgasafonova in #78
- fix(cli): harden wiki client, add 4 missing CLI commands, fix docs by @olgasafonova in #80
- ci: bump actions/checkout from 6 to 7 by @dependabot[bot] in #82
- deps: bump github.com/anthropics/anthropic-sdk-go from 1.50.1 to 1.51.1 in the go-dependencies group by @dependabot[bot] in #83
- feat(upload): expose base64 file_data on mediawiki_upload_file (#84) by @olgasafonova in #85
New Contributors
Full Changelog: v1.31.0...v1.32.0
v1.31.0
Added
wiki stale-pagesCLI command. Lists pages not edited in N days (default 90) with--days,--category,--namespace,--limitfilters. Wraps the existingmediawiki_get_stale_pagesMCP tool so the CLI surface matches MCP coverage.wiki similar <page>CLI command. Finds pages whose content overlaps with a source page; includes a similarity score, common terms, and existing-link indicators. Flags:--limit,--category,--min-score. Wraps the existingmediawiki_find_similar_pagesMCP tool.wikiCLI now returns typed exit codes so shell scripts can branch on failure category:2usage error,3not found (HTTP 404),5wiki API error (other 4xx/5xx),6auth error (HTTP 401/403),7rate limit (HTTP 429),10config error. Adapted from the cli-printing-press canonical map;4remains reserved forwiki lintfindings (existing public API), so auth errors use6instead of4. Plain errors still exit1.wiki.APIErrorfrom the wiki client is auto-classified by status; commands can also returnusageErr/notFoundErr/authErr/apiErr/rateLimitErr/configErrdirectly. Cobra flag-parse errors (unknown flag, missing required arg) auto-wrap to exit2.- Claude Code plugin scaffold. New
.claude-plugin/directory withmarketplace.json,plugin.json, and a first skillwiki-publishthat shells out to thewiki publishCLI. Install via/plugin marketplace add olgasafonova/mediawiki-mcp-server. Design rationale and the full surface map are inMULTI-SURFACE-DISTRIBUTION.md: the Go module is the shared knowledge layer; MCP server,wikiCLI, and this plugin are surfaces over it.
Changed
- Breaking (write tools only):
rationaleis now a required parameter on 7 destructive MCP tools —mediawiki_edit_page,mediawiki_find_replace,mediawiki_apply_formatting,mediawiki_bulk_replace,mediawiki_upload_file,mediawiki_move_page,mediawiki_manage_categories. The agent must supply a one-sentence "why" with each write call; the value is logged to the tool audit trail and themcp.tool.rationaleOTel span attribute. Rationale is optional (recorded when supplied, ignored when omitted) on the 35 read-only tools. Pattern source: Teddy Riker, "Designing for Agents" (Ramp). Read-only integrations require no changes; write integrations must add therationalefield. tools/handlers.godispatcher refactored from a 41-case method switch + 41-case type switch to a name→closure map; the non-generic dispatcher method is gone, closures call the genericregister[Args, Result]helper directly via type inference.logExecutionsplit intoappendArgAttrs+appendResultAttrs. Code Health 7.64 → 9.53 (Yellow → Green). No public API change.wiki/package reorganized: monolithic read path consolidated intowiki/read.go; helpers extracted acrosslinks.go,quality.go,search.go,write.goto lift per-file Code Health scores. No public API change.
Dependencies
- Bumped
golang.org/x/text(security fix) - Bumped
github.com/modelcontextprotocol/go-sdk - Bumped
github.com/olgasafonova/mcp-servercard-goto v0.3.0
What's Changed
- deps: bump github.com/modelcontextprotocol/go-sdk from 1.5.0 to 1.6.0 in the go-dependencies group by @dependabot[bot] in #49
- deps: bump golang.org/x/text from 0.36.0 to 0.37.0 in the go-dependencies group by @dependabot[bot] in #51
Full Changelog: v1.30.0...v1.31.0
v1.30.0
Fixed (security)
- 307/308 cross-origin credential leak (Critical): API client now refuses all redirects via
CheckRedirect. The login flow POSTslgpassword=<bot-password>via the API client; without redirect refusal, a wiki (or any proxy in front of it, or a MITM during DNS/TLS bootstrap) returning307 Location: https://attacker/would cause Go to re-POST the entire body to the attacker. (1f8b2e4) - HG-2 raw-body leak: API errors no longer echo the raw response body to MCP callers. Replaced with a structured
APIErrortype that retains HTTP status and a stable status-text message; body snippet preserved on the struct (capped at 256 bytes) for server-side logging only. (bef66aa) - HG-3 destructive-annotation gaps:
mediawiki_upload_fileandmediawiki_manage_categoriesnow correctly declareDestructive: true. WithIgnoreWarnings: true,mediawiki_upload_fileoverwrites existing files on the wiki — on wikis that allow SVG, an attacker SVG with inline JS becomes stored XSS-as-the-wiki-origin against every viewer. (c48289e) uploadFromURLSSRF gap: now validates source URL through bothvalidateFileURL(blocks private/internal IPs — closes wiki-as-SSRF-proxy targeting cloud metadata, RFC1918, link-local) and a newMEDIAWIKI_UPLOAD_ALLOWED_DOMAINSenv-var allowlist. (c48289e)
Changed
mediawiki_upload_fileURL upload path now requiresMEDIAWIKI_UPLOAD_ALLOWED_DOMAINSenv var. Comma-separated allowlist; supports*.example.comsubdomain wildcards (apex requires explicit listing). Fail-closed when unset. Set e.g.:MEDIAWIKI_UPLOAD_ALLOWED_DOMAINS=cdn.example.com,*.images.tieto.com
Why these matter
Found by the Carlini-style autonomous vulnerability scaffold sweep across the MCP portfolio. Three of the four findings are on hard gates graduated 2026-04-25 in rules/review-patterns.md (HG-2 raw-body, HG-3 destructive annotations + fail-closed allowlists). The 307/308 finding is the strongest novel finding from the mediawiki scan because the credential-bearing client funnels every API call.
Full Changelog: v1.29.0...v1.30.0
What's Changed
- ci: auto-dispatch mcp-registry.yml from release workflow by @olgasafonova in #40
- deslop: add baseline by @olgasafonova in #41
- security: implement validateFileURL referenced by lying nosec comment by @olgasafonova in #43
- fix(ci): remove release: published trigger from mcp-registry.yml by @olgasafonova in #44
- chore: add AGENTS.md (bd-onboard template) by @olgasafonova in #46
- security: close 307/308 credential leak, HG-2 raw body, HG-3 upload gaps by @olgasafonova in #47
Full Changelog: v1.29.0...v1.30.0
v1.29.0
What's Changed
- fix: retry on stale CSRF token for all write operations by @olgasafonova in #36
- deps: bump the go-dependencies group with 2 updates by @dependabot[bot] in #38
- ci: bump softprops/action-gh-release from 2 to 3 by @dependabot[bot] in #37
- feat: add wiki CLI — dual-path MCP+CLI from one repo by @olgasafonova in #39
Full Changelog: v1.28.2...v1.29.0
v1.28.2
Security
- Bump Go toolchain to 1.26.2, fixing 5 stdlib vulnerabilities:
- GO-2026-4866 crypto/x509: case-sensitive excludedSubtrees auth bypass
- GO-2026-4865 html/template: XSS via JsBraceDepth context tracking
- GO-2026-4870 crypto/tls: unauthenticated TLS 1.3 KeyUpdate DoS
- GO-2026-4947 crypto/x509: unexpected work during chain building
- GO-2026-4946 crypto/x509: inefficient policy validation
Bug Fixes
- Fix panic in
mediawiki_get_wiki_infowhen cache was pre-warmed (#33) - Eliminate ~40 bare type assertions across API response parsing that could panic on unexpected responses
- Fix tool description defaults and add return info
Other
- Bump Go dependency group (5 updates)
- Add CODEOWNERS to protect workflow files
- Add tilbudstrolden-mcp to cross-reference table
What's Changed
- deps: bump the go-dependencies group with 5 updates by @dependabot[bot] in #32
Full Changelog: v1.28.1...v1.28.2
v1.28.1
Fixed
- Server now starts in inspection mode when
MEDIAWIKI_URLis not set, allowing MCP registries (Glama, Smithery) to enumerate tool definitions. Tool calls return a clear configuration error instead of crashing at startup. mediawiki_audittool was silently failing to register due to a missing type case in the handler dispatch. Now registers correctly with all 42 tools available.
Full changelog: https://github.com/olgasafonova/mediawiki-mcp-server/blob/main/CHANGELOG.md
Full Changelog: v1.28.0...v1.28.1
v1.28.0
What's Changed
- ci: bump docker/login-action from 3 to 4 by @dependabot[bot] in #23
- ci: bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in #25
- ci: bump docker/build-push-action from 6 to 7 by @dependabot[bot] in #26
- ci: bump docker/metadata-action from 5 to 6 by @dependabot[bot] in #27
- chore: upgrade Go from 1.24 to 1.25 by @olgasafonova in #28
- deps: bump the go-dependencies group with 5 updates by @dependabot[bot] in #24
- deps: bump the go-dependencies group with 2 updates by @dependabot[bot] in #29
- ci: bump codecov/codecov-action from 5 to 6 by @dependabot[bot] in #31
Full Changelog: v1.27.2...v1.28.0