Skip to content

cameronrye/openzim-mcp

v2.0.0b8 Bugfix

This release fixes issues for SREs watching stability and regressions.

Published 12d MCP Data & Storage
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

kiwix mcp mcp-server openzim zim

Affected surfaces

auth

ReleasePort's take

Light signal
editorial:auto 12d

The release fixes a bug in the redirect path containment check that incorrectly dropped possessors when truncated forms matched.

Why it matters: Addresses Z1.1 (HIGH) severity issue where the pre-redirect-path containment check was too lenient; relevant for deployments using query redirection logic.

Summary

AI summary

Fixed possessive query redirection that incorrectly dropped the possessor when a truncated form matched.

Changes in this release

Bugfix Medium

Fix subset rule for possessive promotion in redirect path containment check.

Fix subset rule for possessive promotion in redirect path containment check.

Source: llm_adapter@2026-05-23

Confidence: low

Bugfix Medium

Tighten possessive promotion rule to require pre-redirect path tokens be a subset of topic tokens.

Tighten possessive promotion rule to require pre-redirect path tokens be a subset of topic tokens.

Source: granite4.1:30b@2026-05-23-audit

Confidence: low

Full changelog

Post-b7 sweep packaged from PR #176. Live-MCP verification against
v2.0.0b7 confirmed all prior fixes land cleanly EXCEPT the b6 Z1
fix for Darwin's evolution: it still returned Evolution at
cert=0.85, the silent-wrong-answer the user originally flagged.

Z1.1 (HIGH) — Pre-redirect-path containment check too lenient

The post-b6 Z1 filter rejected match_type="redirect" rows whose
pre-redirect path tokens didn't contain any of the topic's
possessor tokens. That correctly caught the
Plato's republic philosophyCzech_philosophy case (the
pre-path didn't contain plato at all).

But the post-b7 live probe surfaced a sibling shape: 2-token
possessive queries where the user typed a TRUNCATED form of a
longer canonical redirect
. libzim's suggestion-search returns a
redirect entry whose pre-path includes the possessor AND extra
tokens not in the topic; the redirect walks to a canonical that
loses the possessor entirely.

Live repro: tell me about Darwin's evolution
Evolution. libzim returns a redirect entry like
Darwin's_Theory_of_Evolution (pre-path tokens: {darwin, s, theory, of, evolution}). The b6 containment check accepts
because darwin IS in the pre-path — but the user's topic
{darwin, s, evolution} doesn't contain theory / of,
signalling that the user typed an abbreviated form. The resolved
canonical (Evolution) drops the possessor.

Fix — subset rule

Tighten accept_possessive_promotion in title_promotion from
"any possessor token in pre-path" to "pre-path tokens ⊆ topic
tokens":

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track cameronrye/openzim-mcp

Get notified when new releases ship.

Sign up free

About cameronrye/openzim-mcp

Modern, secure MCP server for accessing ZIM format knowledge bases offline. Enables AI models to search and navigate Wikipedia, educational content, and other compressed knowledge archives with smart retrieval, caching, and comprehensive API.

All releases →

Related context

Earlier breaking changes

  • v2.0.0a15 _attribute_sections falls back to first section when no section brackets located passage
  • v2.0.0a13 canonical‑splice gate tightened to require exact path equality, fixing H2/H3 surface end‑to‑end behavior across all shapes.
  • v2.0.0a11 Exposed `content_offset` as top-level `zim_query` parameter, validated >=0, threaded through options.
  • v2.0.0a10 `get article M/<key>` now returns ZIM metadata entry rather than aliased C-namespace article body.
  • v2.0.0a10 `metadata for <file>` returns concise metadata strings instead of full article bodies for new-scheme archives.

Beta — feedback welcome: [email protected]