- Establish formal version maintenance strategy - Define BIND9 9.18 (LTS) and 9.20+ support tiers - Document branching strategy (main for 9.18, 9.20 for next major) - Define backporting policies for security, bugs, features - Create release management and CI/CD framework - Add OS platform compatibility matrix
115 lines
3.5 KiB
Markdown
115 lines
3.5 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to the ansible-bind9-role will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [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
|
|
|
|
### Changed
|
|
- Established formal release management process
|
|
- Defined backporting policy for security, bugs, and features
|
|
|
|
### Planned
|
|
- BIND9 9.20+ support in separate `9.20` branch
|
|
- 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:
|
|
- `acl`
|
|
- `controls`
|
|
- `dlz`
|
|
- `dnssec-policy`
|
|
- `dyndb`
|
|
- `http`
|
|
- `key`
|
|
- `logging`
|
|
- `options`
|
|
- `parental-agents`
|
|
- `primaries` (masters)
|
|
- `server`
|
|
- `statistics-channels`
|
|
- `tls`
|
|
- `trust-anchors`
|
|
- `view`
|
|
- `zone` (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
|
|
|
|
- `main` branch: `vX.Y.Z` (BIND9 9.18 LTS)
|
|
- `9.20` branch: `v9.20.X[-suffix]` (BIND9 9.20+)
|
|
- Suffixes: `-alpha`, `-beta`, `-rc` for pre-releases
|
|
|
|
## 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:
|
|
1. Review all role variables for any changes
|
|
2. Test in non-production environment
|
|
3. Review generated configuration with `named-checkconf`
|
|
4. Check `docs/VERSION_SUPPORT.md` for 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.
|
|
|
|
## Links
|
|
|
|
- [Version Support Policy](docs/VERSION_SUPPORT.md)
|
|
- [Configuration Grammar](CONFIGURATION_GRAMMAR.md)
|
|
- [Issue Tracker](https://git.valid.dk/daniel/ansible-bind9-role/issues)
|
|
- [Repository](https://git.valid.dk/daniel/ansible-bind9-role)
|
|
|