TopicForge 0.5.1
Hotfix: restores installability, plus the external-audit backlog (Lots 0-5, 2026-07-08) that had been sitting under [Unreleased].
Fixed: installability
- Hard-pinned
mcp < 2. TopicForge was uninstallable viapip install topicforgefrom 2026-07-28 to 2026-08-22: the MCP Python SDK's2.0.0release removed themcp.server.fastmcpmodule thatserver/app.pyimports, and the dependency was declared as an unboundedmcp>=1.0.0, so every fresh install resolved to the broken SDK version. Migrating to the 2.x API is tracked separately and is not part of this fix.
Fixed: DDS correctness (external audit)
topic_metrics: frequency was computed over the wrong time span and off-by-one interval count; a single opportunistic peek now correctly reportsfrequency_hz_observed = nullinstead of a fabricated rate.topic_metrics: sequence-gap counting is now per-writer, so multi-writer topics, publisher restarts, and counter wraps no longer inflate the gap count.detect_qos_mismatches: a reader requesting a finite QoS Deadline against a writer offering none is now correctly flagged as incompatible (previously a false negative).LifecycleBufferandMetricsBufferparticipant/topic maps are now bounded (capped at 4096 entries each, oldest evicted first); previously unbounded on a long-running, churny bus.- Several smaller correctness fixes: OpenDDS stub no longer misreports availability, a string
__slots__no longer gets exploded character-by-character during decoding, decode recursion is depth-capped, and raw payload preview is sliced before hex-encoding rather than after.
Changed
- Cyclone discovery/sample reads switched from destructive
take_iterto non-destructiveread_iter, the correct choice for a read-only observer. This change is validated by static analysis only (ruff+py_compile); it has not yet been exercised against a real multi-vendor DDS bus. Real-bus validation remains open. - QoS-mismatch pairing logic deduplicated into a shared, unit-tested module instead of ~40 duplicated lines per adapter.
Docs
- New
docs/TUTORIEL.md: English tutorial with a mock-mode quickstart, the eleven-tool table, advanced options, copy-pasteable scheduled-task prompts, and the telemetry privacy contract. docs/product-plan.mdrealigned on the shipped 11-tool surface;peek_dds_samplesdocumentation corrected on what therawdecode fallback actually preserves.
pip install topicforge==0.5.1Full details: https://github.com/yaniswav/TopicForge/blob/main/CHANGELOG.md#051---2026-08-22