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.
0.2.0 - 2026-01-25
- Added support for Fortinet FortiOS platform
- Added
--formatoption to output results in JSON, YAML, or text formats - Added
--output/-oflag to save output to file - Added
list-platformscommand to show all available platforms - Added
versioncommand to display tool version - Added comprehensive error handling for file operations and platform validation
- Added verbose logging support with
-v(INFO) and-vv(DEBUG) flags - Added complete type hints throughout codebase
- Added comprehensive test suite with 20+ test cases including:
- Error handling tests
- All platform tests
- Output format tests (text, JSON, YAML)
- File output tests
- Verbose logging tests
- Added comprehensive documentation:
- Detailed README with installation instructions and examples
- CONTRIBUTING.md with development guidelines
- SECURITY.md with security policy
- Examples directory with sample configurations
- Integration examples for Nornir, Ansible, and CI/CD
- Added development tools configuration:
- Black formatter configuration
- Ruff linter configuration
- Mypy type checker configuration
- Pytest with coverage reporting
- Added
py.typedmarker file for PEP 561 compliance
- BREAKING: Converted to proper Python package structure with
__init__.py - BREAKING: Entry point now uses
hier_config_cli:cliinstead of module path - Refactored duplicate code in commands into shared
process_configs()function - Fixed platform-specific output formatting (no longer hardcodes
cisco_style_text()for all platforms) - Improved command help text with detailed descriptions and examples
- Enhanced pyproject.toml with comprehensive metadata and classifiers
- Updated Python version support to 3.9-3.13
- Improved error messages to be more descriptive and actionable
- Fixed incorrect output format for Juniper JunOS configurations
- Fixed missing platform support for Fortinet FortiOS
- Fixed lack of error handling for missing or unreadable configuration files
- Fixed unused PyYAML dependency (now actively used for YAML output)
- Removed code duplication across remediation, rollback, and future commands
0.1.0 - 2024-12-XX
- Initial release
- Basic remediation, rollback, and future commands
- Support for major network platforms:
- Cisco IOS
- Cisco NX-OS
- Cisco IOS XR
- Arista EOS
- Juniper JunOS
- VyOS
- HP Comware5
- HP ProCurve
- Generic platform
- GitHub Actions CI/CD pipeline
- Basic test coverage
- Apache 2.0 license