Special Thanks
@lukyrys — This release consists entirely of fixes contributed by @lukyrys: dashboard metadata rendering, modal UX improvements, and quality scorer resilience. Excellent work identifying and resolving these user-facing issues!
What's Changed
Fixed
-
Dashboard: metadata object values now rendered as JSON (#582): Metadata values that are objects (or arrays of objects) were previously displayed as
[object Object]. They are now serialised withJSON.stringifyand HTML-escaped, closing a potential XSS vector in the process. -
Dashboard: long memory content collapsed by default in detail modal; quality tab fetches full object (#583): Memory content longer than 500 characters is now collapsed with a "Show more / Show less" toggle. When opening a memory from the quality tab, the full memory object is fetched first, preventing incomplete data from being shown in the modal.
-
Quality scorer: empty query during
store_memoryno longer yields 0.0 score (#584): The Groq scorer now detects an empty query (as is the case forstore_memorycalls) and switches to an absolute quality prompt that evaluates content quality independently of any query, instead of a relevance-based prompt that produces a meaningless near-zero score. -
Quality scorer: Groq 429 rate limit triggers model fallback chain (#585): The Groq quality scorer now attempts a sequence of models in order —
llama-3.1-8b-instant→llama3-8b-8192→gemma2-9b-it— when a429 Too Many Requestsresponse is received, instead of failing hard. This improves resilience for high-throughput deployments.
Notes
- Test count: 1,420 (unchanged — no new tests in these PRs)
- Breaking changes: None
- Landing page: Not updated (patch release policy)
- PyPI: Published automatically via CI/CD on tag push
Full Changelog
https://github.com/doobidoo/mcp-memory-service/blob/main/CHANGELOG.md#1026.3---2026-03-10