Repository navigation
lot of tweaks and improvements that have been building up, mostly driven with Claude.
Hopefully the code should be quite a lot more robust now.
Main new feature is the ability to run with .mdx files as well as .md, using {/* */} comments.
Breaking changes
- 💥 Minimum supported Python is now 3.10, up from 3.7 (#61)
New features
- ✨ MDX support:
.mdxfiles are searched by default, and config can be written as JSX comments ({/* RICH-CODEX ... */}), as MDX doesn't allow HTML comments (#58) - ✨ New
--no-dedupeoption, to run duplicate commands (#33) - ✨
extra_envcan now be set once for all commands (#57) - ✨ Smaller SVG diffs thanks to a stable ID based on the output path (#60)
- ✨ CLI table now shows source line numbers and output filenames (#57)
- ✨ Tidier
--help, with the options grouped into panels (#57) - ✨ New
skip_installaction input, mostly for self-testing rich-codex changes (#61)
Updates
- ♻️ Removed
/CreationDatefilter for PDFs as it never worked. Usemin_pct_difffor PDF outputs instead (#60) - ♻️ New unit test suite (#60), type annotations checked with mypy (#62), prek and ruff in place of pre-commit, black, flake8 and isort, and CI across Python 3.10 - 3.14 (#61)
Bugs fixed
- 🐛
skip_change_regexnever matched anything, so images updated regardless (#60) - 🐛
outputsis now optional in config files (#57) - 🐛 Writing an SVG alongside a PNG or PDF in one go could delete the SVG (#60)
- 🐛 The Docker image can now write PNG and PDF files (#61)
- 🐛 Action:
use_uv: truecould never install rich-codex (#61) - 🐛 Action:
commit_changes: "false"committed and pushed anyway. Same forerror_changes(#61) - 🐛 Action: using rich-codex twice in one workflow run failed, as both uploaded their log with the same artifact name (#61)
- 🐛 Action: the
python_verisoninput was a typo and was being ignored anyway. Usepython_version; the old name still works but warns (#57)
Full Changelog: v1.2.11...v1.3.0