Repository navigation
rmToo 26.0.0
This release represents over 4 years of continuous development and modernization efforts since rmToo 25.0.0 (August 2020). The focus has been on improving usability, expanding platform support, enhancing security, and modernizing the development infrastructure.
🎉 Major New Features
New rmtoo-contrib-dir Command
- New command:
rmtoo-contrib-dirprovides reliable access to contrib directory - Cross-platform: Works consistently across pip, system packages, and development installs
- Template project access:
cp -r "$(rmtoo-contrib-dir)/template_project" MyProject - Replaces manual path finding: No more hunting for contrib files after installation
YAML File Format Support
- YAML storage backend: Full support for YAML format in requirements and topics
- Simplified configuration: YAML provides cleaner, more readable configuration files
- Backwards compatible: Existing text-based files continue to work
🐍 Python Support Updates
Expanded Python Version Support
- Added support for: Python 3.8, 3.9, 3.10, 3.11, 3.12, 3.13
- Modernized codebase: Removed Python 2 compatibility layers
- Removed legacy dependencies: Eliminated
sixandfuturelibraries - Native Python 3: Full migration to Python 3 native methods and imports
🔧 Development Infrastructure
Modern CI/CD Pipeline
- GitHub Actions: Replaced Travis CI with GitHub Actions
- Multi-version testing: Automated testing across Python 3.8-3.13
- Automated releases: New release workflow with PyPI publishing
- Quality assurance: SonarCloud integration for code quality monitoring
Enhanced Testing
- YAML storage backend tests: Comprehensive unit tests for YAML functionality
- Improved coverage: Enhanced test coverage reporting
- Better test isolation: Improved test environment setup
🛡️ Security Improvements
Security Vulnerability Fixes
- GitPython update: Fixed security vulnerabilities by updating to GitPython 3.1.41
- Jinja2 security: Fixed auto-escaping security issue in LatexJinja2 output
- Logging security: Fixed security issue with publicly writable directory usage in logging
📚 Documentation & Usability
Updated Documentation
- Modern README: Converted from RST to Markdown with updated examples
- Command examples: All examples now use
rmtoo-contrib-dircommand - Installation guide: Updated installation instructions with current best practices
- Man pages: Updated all man pages to reference new commands and workflows
Template Project Improvements
- Easier access: Use
rmtoo-contrib-dirfor reliable template project location - Updated examples: All documentation examples use the new command
- Cross-platform consistency: Same commands work on Windows, macOS, and Linux
🔧 Technical Improvements
Code Quality
- Dependency cleanup: Removed unused dependencies and legacy code
- Refactoring: Eliminated duplicate code in LaTeX output classes
- Bug fixes: Fixed syntax errors in tracer reconfiguration and logging
- Modernization: Updated code to use modern Python 3 idioms
Build System
- Improved packaging: Enhanced setup.py with better metadata
- Release automation: Streamlined release process with GitHub Actions
- PyPI publishing: Automated PyPI package publishing
🐛 Bug Fixes
Documentation Fixes
- Status requirement: Fixed incomplete Status requirement documentation in man pages
- Broken links: Removed links to non-existing web pages
- Header updates: Updated copyright headers to reflect current year
Configuration Fixes
- Tracer logging: Fixed tracer logging configuration not being applied
- YAML parsing: Improved YAML file parsing and error handling
Statistics and Estimation Fixes
- Date overflow error: Fixed crash when linear regression produces unrealistic end date estimates
- Variable name collision: Fixed bug in statistics calculation where loop variables conflicted
- Gradient bounds checking: Added validation for extremely small gradients indicating no meaningful progress
🔄 Migration Guide
For Existing Users
- No breaking changes: All existing functionality continues to work
- Optional upgrades: You can gradually adopt new features like YAML and
rmtoo-contrib-dir - Template projects: Update your scripts to use
rmtoo-contrib-dirfor future compatibility
For New Users
- Easier installation:
pip install rmtoonow works more reliably - Simpler setup: Use
rmtoo-contrib-dirto find templates and resources - Better documentation: Updated guides and examples throughout
📊 Statistics
- 55+ commits since version 25.0.0
- 4+ years of continuous development
- 6 new Python versions supported (3.8-3.13)
- Multiple security fixes and improvements
- Enhanced testing across all supported platforms
🙏 Acknowledgments
Thanks to all contributors who helped improve rmToo over the past 4 years through bug reports, feature suggestions, and code contributions.