# Changelog All notable changes to markidocx are documented in this file. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html). --- ## [Unreleased] --- ## [0.1.0] — 2026-03-17 ### Added **Core pipeline (WP-0001)** - `manifest.py` — project manifest parsing and validation (FR-100) - `builder.py` — Markdown → DOCX conversion, LEVEL1 feature set: headings, lists, tables, footnotes, images, hyperlinks (FR-200) - `importer.py` — DOCX → Markdown round-trip import (FR-300, FR-400) - `differ.py` — structural drift detection between original Markdown and re-imported result (FR-700) - `templates.py` — document family management: `article`, `book`, `website` (FR-600) - `evidence.py` — evidence and report assembly (FR-1400) **Service interfaces (WP-0002)** - `cli.py` — Typer CLI: `build`, `import`, `compare`, `validate`, `serve`, `workflow`, `mcp`, `template` commands - `rest.py` — FastAPI REST service with structured `WarningRecord` / `FailureRecord` output (FR-900, FR-1208) - `mcp_server.py` — FastMCP server exposing same functional surface as CLI/REST (FR-1000) - `errors.py` — `WarningRecord`, `FailureRecord`, `OutputState` error framework (FR-1201–1210) **LEVEL3 advanced features (WP-0003)** - `level3.py` — LEVEL3 support detection and capability disclosure (FR-537–539) - `xref.py` — cross-reference round-trip helpers (FR-531, FR-540) - `figures.py` — numbered figure round-trip helpers (FR-532, FR-541) - `diagrams.py` — auto-diagram source-only preservation (FR-533, FR-534) - `bibliography.py` — citation and references section round-trip (FR-535, FR-536, FR-542) - `workflows.py` — composite workflow orchestration: `single-file-roundtrip`, `multi-file-roundtrip`, `release-regression`, `family-switch-build` (FR-1300) **Diagram renderer integration (WP-0005)** - Pluggable `DiagramRenderer` protocol and `RendererResult` type - `MermaidRenderer` — shells out to `mmdc` when available (FR-533) - `GraphvizRenderer` — shells out to `dot` when available (FR-533) - `PlantUMLRenderer` — shells out to `plantuml` when available (FR-533) - Graceful source-only fallback with `WarningRecord(reason="renderer-unavailable")` when tool is absent (FR-538) - Alt-text source markers enable diagram round-trip after rendering (FR-534) - Optional extras: `diagram-mermaid`, `diagram-graphviz`, `diagram-plantuml` **Packaging & distribution (WP-0006)** - GitHub Actions CI: matrix test on Python 3.11 + 3.12, ruff, mypy, coverage - PyPI publish workflow triggered on `v*.*.*` tags via OIDC trusted publishing - Docker image for REST service (`ghcr.io`) - `markidocx --version` command [Unreleased]: https://github.com/tegwick/marki-docx/compare/v0.1.0...HEAD [0.1.0]: https://github.com/tegwick/marki-docx/releases/tag/v0.1.0