generated from coulomb/repo-seed
CI matrix (Python 3.11/3.12) with pip cache and coverage job. PyPI publish workflow (OIDC trusted publishing, triggered on v*.*.* tags). Docker image for REST service with non-root user + ghcr.io push workflow. markidocx --version flag. Diagram optional extras (diagram-mermaid/graphviz/plantuml) and readme/urls in pyproject.toml. CHANGELOG.md (Keep a Changelog format) with retrospective v0.1.0 entry. docs/release-process.md with executable checklist. All 272 tests pass; ruff and mypy clean; twine check PASSED. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
62 lines
2.8 KiB
Markdown
62 lines
2.8 KiB
Markdown
# 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
|