Files
ansible-bind9-role/CHANGELOG.md
Daniel Akulenok db379be31f docs: Add BIND9 version comparison and migration guidance
- 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
2026-02-07 23:43:51 +01:00

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.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.