All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.4.0 - 2026-01-18
- Typst Support: Full support for Typst document compilation
- New
TypstCompilerclass for Typst document compilation article-cli compile presentation.typ- Compile Typst documentsarticle-cli compile --engine typst --watch- Watch mode for Typstarticle-cli compile --font-path fonts/- Custom font paths for Typst- Auto-detection of
.typfiles and automatic engine selection - Font path configuration via
[typst]section in config
- New
- Typst Project Types: Initialize Typst projects with templates
article-cli init --type typst-presentation- Create Typst presentationarticle-cli init --type typst-poster- Create Typst poster- Theme support for Typst presentations (e.g., numpex theme)
- Enhanced Theme Installation: Themes now include Typst files
numpex.typincluded alongside LaTeX.styfiles- Usage instructions shown for both LaTeX and Typst
- New
get_typst_config()method in Config class - 23 new tests for Typst functionality
- Theme sources now include
typst_fileslist alongsidefiles - Updated CLI help with Typst examples
- Description updated to mention Typst support
1.3.2 - 2025-12-08
- Config font defaults bug: config.py was using hardcoded outdated font URLs instead of importing from fonts.py
- This caused CI to still fail with "Invalid or corrupted zip file" even after v1.3.1 fix
1.3.1 - 2025-12-08
- Font download fixes: Switch from
urllibtorequestslibrary for better redirect handling - Roboto Mono URL: Updated to GitHub archive (Google Fonts URL was returning HTML instead of zip)
- Added Roboto font: Include Google's sans-serif font family as default
- Marianne font: Moved to optional sources due to Cloudflare protection on French government website
1.3.0 - 2025-12-08
- New
install-themecommand: Download and install Beamer themes for presentationsarticle-cli install-theme numpex- Install numpex themearticle-cli install-theme --list- List available themesarticle-cli install-theme --dir themes/- Install to custom directoryarticle-cli install-theme my-theme --url URL- Install from custom URL- Built-in support for numpex theme from presentation.template.d
- Automatic extraction of .sty files and theme directories (e.g., images/)
- Configurable via
[themes]section in config file - Detection of font/engine requirements for themes
- New
ThemeInstallerclass for theme management - New
get_themes_config()method in Config class - 31 new tests for theme installation functionality
1.2.0 - 2025-11-18
- Init command now creates main.tex file if no .tex file exists in repository
- Support for initializing completely empty repositories
- Init command no longer requires pre-existing .tex file
- Init command respects existing files (won't overwrite without --force flag)
- Improved empty repository handling for better user experience
1.1.1 - 2025-10-18
- Code formatting issues for CI compliance
- Remove unused imports in latex_compiler.py and repository_setup.py
- Add proper None check for process.stdout in latex_compiler.py
- Update .flake8 configuration to handle YAML template formatting
- All linting checks now pass (black, flake8, mypy)
1.1.0 - 2025-10-18
- New
initcommand: Complete repository initialization for LaTeX article projects- Creates GitHub Actions workflows for automated PDF compilation and releases
- Generates pyproject.toml with article-cli configuration
- Creates README.md with project documentation and usage instructions
- Sets up .gitignore with LaTeX-specific entries
- Auto-detects main .tex file or allows manual specification
- Supports custom Zotero group IDs and multiple authors
- New
compilecommand: LaTeX document compilation with various engines and optionsarticle-cli compile main.tex- Compile with latexmk (default)article-cli compile --engine pdflatex- Use pdflatex enginearticle-cli compile --shell-escape- Enable shell escape for code highlightingarticle-cli compile --watch- Watch for changes and auto-recompilearticle-cli compile --clean-first --clean-after- Auto-clean build files- Auto-detection of main .tex file if not specified
- Support for custom output directories
- Real-time output streaming in watch mode
- Dependency checking for LaTeX tools
- New
RepositorySetupclass for repository scaffolding - New
LaTeXCompilerclass with engine abstraction - Comprehensive workflow template based on article.dirac best practices
- Project configuration templates with embedded article-cli settings
- VS Code configuration files in
initcommand.vscode/settings.jsonwith LaTeX Workshop configuration.vscode/ltex.dictionary.en-US.txtwith common LaTeX/math terms.vscode/ltex.hiddenFalsePositives.en-US.txtfor spell checking
- LaTeX configuration options in config files:
engine- Default compilation engine (latexmk/pdflatex)shell_escape- Enable shell escape by defaulttimeout- Compilation timeout in seconds
- Enhanced CLI help text with init and compile command examples
- Updated documentation to reflect new commands
- Improved repository structure guidance
- Configuration system now supports LaTeX compilation settings
- Config display shows new LaTeX compilation options
- Auto-build on save enabled by default in VS Code
- SyncTeX support configured
- One-command setup:
article-cli init --title "Article Title" --authors "John Doe,Jane Smith" - Automatic detection: Finds main .tex file automatically
- Template-based: Uses proven templates from article.dirac
- Configurable: Supports custom group IDs and force overwrite
- Complete CI/CD: Includes full GitHub Actions pipeline with:
- Automated PDF compilation on push/PR
- GitHub releases on version tags
- Artifact upload and verification
- Zotero bibliography integration
- LaTeX compilation: Command-line arguments mimic LaTeX Workshop configuration
- Multi-pass compilation: Multiple compilation passes for cross-references (pdflatex)
- Bibliography processing: Automatic bibliography processing (bibtex/biber)
- Watch mode: latexmk continuous preview with real-time output
- Error handling: Comprehensive error handling and user feedback
1.0.3 - 2024-12-19
- AGENTS.md documentation with comprehensive maintenance guide
- Version bump checklist to prevent version sync issues
- Enhanced documentation for AI agent maintenance
- Better project organization with standalone directory structure
1.0.2 - 2024-10-10
- Configured PyPI trusted publishing for automated releases
- Resolved trusted publisher configuration for existing package
- Removed duplicate token-based publish workflow
- Streamlined CI/CD pipeline with single, secure publish workflow
- Enhanced GitHub Actions with step summaries and modern action versions
1.0.1 - 2024-10-10
- Resolved Black code formatting issues across all Python files
- Fixed MyPy type checking errors and import-untyped warnings
- Added proper type stubs (types-requests) to CI workflow
- Enhanced mypy configuration with explicit module overrides
- Fixed PyPI publishing authentication setup
- Updated default ZOTERO_GROUP_ID to 4678293 for article.template projects
- Enhanced CI/CD pipeline with better type checking and dependency management
- Added
__main__.pyfor python -m article_cli execution support
- Updated README, DEVELOPMENT.md with correct default group ID
- Added comprehensive PyPI setup and migration documentation
1.0.0 - 2024-10-10
- Initial release of article-cli
- Git release management with gitinfo2 support
- Zotero bibliography synchronization with robust pagination and error handling
- LaTeX build file cleanup with configurable extensions
- Git hooks setup for gitinfo2 integration
- Configuration management with TOML support
- Support for both dedicated config files (.article-cli.toml) and pyproject.toml embedding
- Group name verification for Zotero groups
- Environment variable support for all configuration
- Command-line overrides for all settings
- Professional PyPI package structure
- Comprehensive test suite
- Migration scripts for existing repositories
- Development environment setup scripts
- Git Operations: Create, list, and delete releases with automatic gitinfo2 integration
- Zotero Integration: Fetch bibliography with rate limiting and pagination support
- Configuration Priority: CLI args > env vars > local config > global config > defaults
- Group Verification: Shows Zotero group names alongside IDs for verification
- Flexible Setup: Works with global installation or per-repository virtual environments
- Modern Standards: PEP 518/621 compliant packaging
- Project-specific configuration via pyproject.toml
[tool.article-cli]section - Global configuration via
~/.article-cli.toml - Environment variable support for all settings
- Command-line override capability
article-cli setup- Setup git hooksarticle-cli clean- Clean LaTeX build filesarticle-cli create v1.0.0- Create releasesarticle-cli list- List releasesarticle-cli delete v1.0.0- Delete releasesarticle-cli update-bibtex- Update bibliography from Zoteroarticle-cli config show- Show current configurationarticle-cli config create- Create sample configuration