Skip to content

Changelog

All notable changes to hier-config-cli will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

Added

  • Comprehensive documentation site with MkDocs
  • Detailed integration guides for Nornir, Ansible, and CI/CD
  • Development guides for contributing, testing, and code quality

0.2.0 - 2024-01-XX

Added

  • Support for FortiOS platform (requires hier-config 3.4.0+)
  • Python 3.13 support
  • Modern type annotations using Python 3.10+ syntax

Changed

  • Upgraded to hier-config 3.4.0
  • Improved type checking with mypy
  • Enhanced code quality with ruff linting
  • Applied Python 3.10+ type annotation style

Fixed

  • Resolved mypy type checking errors
  • Fixed ruff linting issues including exception chaining
  • Improved code documentation and type hints

0.1.0 - 2024-01-XX

Added

  • Initial release of hier-config-cli
  • Core commands: remediation, rollback, future, list-platforms, version
  • Support for multiple platforms: ios, nxos, iosxr, eos, junos, vyos, hp_comware5, hp_procurve, generic
  • Multiple output formats: text, json, yaml
  • Verbose and debug logging modes
  • Comprehensive test suite with pytest
  • Type safety with mypy
  • Code formatting with black
  • Linting with ruff
  • CI/CD integration with GitHub Actions

Platform Support

  • Cisco IOS
  • Cisco NX-OS
  • Cisco IOS XR
  • Arista EOS
  • Juniper JunOS
  • VyOS
  • HP Comware5
  • HP ProCurve
  • Generic platform

Dependencies

  • hier-config ^3.3.0
  • click ^8.1.7
  • pyyaml ^6.0.2
  • Python ^3.10

Release Process

Version Numbering

We follow Semantic Versioning:

  • MAJOR version for incompatible API changes
  • MINOR version for new functionality in a backwards compatible manner
  • PATCH version for backwards compatible bug fixes

Release Checklist

For maintainers releasing a new version:

  1. Update version in pyproject.toml
  2. Update version in src/hier_config_cli/__main__.py
  3. Update CHANGELOG.md with release notes
  4. Commit changes: git commit -m "Release v0.x.x"
  5. Create git tag: git tag v0.x.x
  6. Push changes: git push origin main --tags
  7. GitHub Actions will automatically publish to PyPI

Upgrade Guide

Upgrading from 0.1.x to 0.2.x

No breaking changes. Simply upgrade:

pip install --upgrade hier-config-cli

Upgrading Dependencies

If you're using hier-config-cli in your project:

# pyproject.toml
[tool.poetry.dependencies]
hier-config-cli = "^0.2.0"

Deprecation Policy

  • Features marked as deprecated will be removed in the next major version
  • Deprecation warnings will be issued for at least one minor version before removal
  • Deprecated features will be documented in the changelog

Future Plans

Planned Features

  • Configuration templates support
  • Batch processing improvements
  • Interactive mode
  • Configuration validation rules
  • Compliance reporting
  • More platform support

Under Consideration

  • Plugin system for custom platforms
  • Web UI for configuration management
  • REST API server mode
  • Configuration backup/restore
  • Diff visualization

Community Contributions

We welcome contributions! See Contributing Guide for details.

Contributors

Thank you to all contributors who have helped improve hier-config-cli!

  • James Williams (@networktocode) - Creator and maintainer

Security Updates

Security vulnerabilities are taken seriously. See Security Policy for reporting procedures.