docs: Add version support policy and changelog
- 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
This commit is contained in:
114
CHANGELOG.md
Normal file
114
CHANGELOG.md
Normal file
@@ -0,0 +1,114 @@
|
||||
# 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)
|
||||
|
||||
Reference in New Issue
Block a user