Changelog ========= All notable changes to typsphinx are documented here. The format is based on `Keep a Changelog `_, and this project adheres to `Semantic Versioning `_. For the complete changelog, see `CHANGELOG.md `_ in the repository. Version 0.4.0 (Current) ----------------------- **Fixed** - Document wrapper (``#{...}``) preservation in nested structures (#61) - Nested lists generating invalid Typst syntax (#62) - Unified code mode syntax compliance **Changed** - Implemented stream-based rendering architecture - Changed ``strong()`` and ``emph()`` to use content blocks: ``strong({...})``, ``emph({...})`` - Updated ``link()`` format from ``link(url)[content]`` to ``link(url, content)`` - List items now use content blocks with newline separators - API signatures properly formatted with ``+`` operator concatenation Version 0.3.0 ------------- **Added** - Documentation site with GitHub Pages deployment - Comprehensive user guide and examples - API reference documentation Version 0.2.2 ------------- **Added** - Typst Universe template support (#13) - Dictionary format for ``typst_template_function`` - Detailed author information with ``typst_authors`` - charged-ieee template examples **Changed** - Template parameter merging system - Improved template documentation Version 0.2.1 ------------- **Fixed** - Image file copying in builds - Path handling for multi-document projects Version 0.2.0 ------------- **Added** - ``typstpdf`` builder for direct PDF generation - Self-contained PDF generation with typst-py - Code highlighting with codly package - Math rendering with mitex - Template system with customization support **Changed** - Improved Sphinx integration - Better error messages - Enhanced type hints Version 0.1.0 ------------- **Added** - Initial release - ``typst`` builder for Typst markup generation - Basic Sphinx to Typst conversion - reStructuredText support - Table of contents generation - Cross-reference support Migration Guides ---------------- Migrating from 0.2.x to 0.3.x ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ No breaking changes. Documentation site is a new feature. Migrating from 0.1.x to 0.2.x ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **Breaking Changes** None. Version 0.2.0 is backward compatible with 0.1.x. **New Features** - Use ``typstpdf`` builder for direct PDF generation: .. code-block:: bash # Old way (still works) sphinx-build -b typst source/ build/typst typst compile build/typst/index.typ output.pdf # New way (recommended) sphinx-build -b typstpdf source/ build/pdf - Configure templates with dict format: .. code-block:: python # Old way (still works) typst_template_function = "project" # New way (more flexible) typst_template_function = { "name": "ieee", "params": { "abstract": "...", "index-terms": ["AI", "ML"], } } Development Status ------------------ - **v0.3.x**: Current stable release - **v0.2.x**: Maintenance mode - **v0.1.x**: No longer supported Deprecation Policy ------------------ We follow semantic versioning: - **Major versions** (x.0.0): May include breaking changes - **Minor versions** (0.x.0): New features, backward compatible - **Patch versions** (0.0.x): Bug fixes, backward compatible Deprecated features are: 1. Announced in the release notes 2. Kept for at least one minor version 3. Removed in the next major version Upcoming Features ----------------- See our `GitHub Issues `_ and `Project Roadmap `_ for planned features. Versioning ---------- typsphinx uses semantic versioning (SemVer): - **MAJOR**: Incompatible API changes - **MINOR**: New functionality, backward compatible - **PATCH**: Bug fixes, backward compatible Release Process --------------- 1. Update version in ``pyproject.toml`` 2. Update ``CHANGELOG.md`` 3. Create git tag: ``v0.x.x`` 4. Push to GitHub 5. GitHub Actions builds and publishes to PyPI 6. GitHub Release created with changelog See Also -------- - `GitHub Releases `_ - `PyPI Release History `_ - :doc:`contributing` for development guidelines