- Generate BIND_VERSION_DIFFERENCES.md with detailed grammar comparison - Document 44 breaking changes between BIND9 9.18.44 and 9.20.18 - Document 35 new options and 22 modified options in BIND9 9.20 - Document 3 newly deprecated options - Add version compatibility section to CONFIGURATION_GRAMMAR.md - Update CHANGELOG.md with version differences details - Include migration guide for upgrading from 9.18 to 9.20 Closes #11
3.8 KiB
Changelog
All notable changes to the ansible-bind9-role will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
- Version support policy documentation in
docs/VERSION_SUPPORT.md - Branching strategy for supporting multiple BIND9 versions
- Grammar comparison tooling (
scripts/compare_bind_versions.py) - Grammar fetcher for upstream BIND9 sources (
scripts/fetch_bind_grammar.py) - Automated version difference tracking
- Operating system support matrix
- BIND9 Version Differences documentation (
docs/BIND_VERSION_DIFFERENCES.md) covering:- 44 breaking changes between BIND9 9.18.44 and 9.20.18
- 35 new options in BIND9 9.20
- 22 modified options requiring configuration updates
- 3 newly deprecated options
Changed
- Established formal release management process
- Defined backporting policy for security, bugs, and features
- Clarified version compatibility in CONFIGURATION_GRAMMAR.md
Planned
- BIND9 9.20+ support in separate
9.20branch - Multi-platform molecule test matrix
- Automated BIND9 version detection in tasks
- Version-specific template conditional logic
- Enhanced CI/CD pipeline with version matrix testing
[1.0.0] - TBD
Initial Release
- Full support for BIND9 9.18.x (LTS)
- Configuration grammar based on BIND9 9.18.44
- Comprehensive template system for all BIND9 statement types:
aclcontrolsdlzdnssec-policydyndbhttpkeyloggingoptionsparental-agentsprimaries(masters)serverstatistics-channelstlstrust-anchorsviewzone(all types: primary, secondary, forward, hint, stub, static-stub, mirror, redirect, in-view, delegation-only)
- Support for Debian 11, 12, 13
- Support for Ubuntu 20.04, 22.04, 24.04
- Molecule testing framework
- Configuration validation with
named-checkconf - Automatic configuration backup and rollback on errors
- Detailed configuration grammar documentation
- GPL-3.0-or-later license
Version History (Pre-Changelog)
Prior to this changelog, the role was developed without formal version tracking. This changelog starts with the establishment of the version support policy.
Versioning Schema
- MAJOR: Incompatible changes to role variables or behavior
- MINOR: New features in a backwards compatible manner
- PATCH: Backwards compatible bug fixes
Branch-Specific Versioning
mainbranch:vX.Y.Z(BIND9 9.18 LTS)9.20branch:v9.20.X[-suffix](BIND9 9.20+)- Suffixes:
-alpha,-beta,-rcfor pre-releases
- Suffixes:
Release Types
Security Releases
Critical security fixes are released as patch versions and backported to all supported branches.
Feature Releases
New features are added in minor version increments. Breaking changes require major version increments.
Bug Fix Releases
Bug fixes are released as patch versions when they accumulate or for critical issues.
Upgrade Notes
From Pre-Versioned to v1.0.0
The first official release establishes baseline compatibility. Users of pre-release versions should:
- Review all role variables for any changes
- Test in non-production environment
- Review generated configuration with
named-checkconf - Check
docs/VERSION_SUPPORT.mdfor supported platforms
Future Upgrades
Check individual version sections above for specific upgrade notes and breaking changes.
Contributing
See docs/VERSION_SUPPORT.md for contribution guidelines and release processes.