Files
marki-docx/CHANGELOG.md
Bernd Worsch 6cf973b017 feat: WP-0006 — packaging & distribution infrastructure
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>
2026-03-17 14:30:08 +00:00

62 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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-12011210)
**LEVEL3 advanced features (WP-0003)**
- `level3.py` — LEVEL3 support detection and capability disclosure (FR-537539)
- `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