Skip to content

rmToo 26.0.0

Choose a tag to compare

@github-actions github-actions released this 09 Jul 12:12
· 18 commits to master since this release

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-dir provides 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 six and future libraries
  • 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-dir command
  • 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-dir for 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-dir for future compatibility

For New Users

  • Easier installation: pip install rmtoo now works more reliably
  • Simpler setup: Use rmtoo-contrib-dir to 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.