github doobidoo/mcp-memory-service v8.22.1
v8.22.1 - Document Ingestion Tag Parsing Fix

latest releases: v10.31.1, v10.31.0, v10.30.0...
4 months ago

🐛 Critical Bug Fix

Document Ingestion Tag Parsing

Fixed critical data corruption bug where tags were stored character-by-character instead of as complete strings

Problem

  • When chunk.metadata['tags'] contained a comma-separated string (e.g., "claude-code-hooks,update-investigation"), the extend() method treated it as an iterable and added each character individually
  • Tags like "claude-code-hooks,update-investigation,configuration,breaking-changes" became ['c','l','a','u','d','e','-','c','o','d','e','-','h','o','o','k','s',',','u','p','d','a','t','e',...] (80+ character tags per memory)
  • Impact: Memories were unsearchable by tags, tag filtering broken, tag display cluttered with single characters

Solution

  • Added isinstance() type check to detect string vs list formats
  • Properly split comma-separated strings before extending tag list
  • Fixed in two locations: single file upload (lines 424-430) and batch upload (lines 536-542)

Database Repair

  • 13 affected memories automatically repaired using metadata field backup
  • All character-split tags reconstructed from correctly-stored metadata

Files Modified: src/mcp_memory_service/web/api/documents.py


Full CHANGELOG: https://github.com/doobidoo/mcp-memory-service/blob/main/CHANGELOG.md#8221---2025-11-09

Don't miss a new mcp-memory-service release

NewReleases is sending notifications on new releases.