Files
dyndns/CHANGELOG.md
T

53 lines
2.9 KiB
Markdown

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## 1.1.0 - 2026-09-05
### Added
- Added optional post-update BIND journal synchronization through `rndc sync -clean`.
- Added `DYNDNS_RNDC_SERVER`, `DYNDNS_RNDC_KEY`, and `DYNDNS_RNDC_SYNC_CLEAN` configuration parameters.
- Added validation for the RNDC synchronization switch and required RNDC settings when synchronization is enabled.
- Added conditional runtime validation for the `rndc` command when post-update journal synchronization is enabled.
- Added `nsupdate` diagnostic output to the dynDNS log and preservation of failed update instructions for troubleshooting.
### Changed
- Separated RFC 2136 update settings from BIND RNDC control settings.
- Updated dynamic update processing to target the authoritative DNS listener instead of a non-authoritative localhost resolver view.
- Changed the post-update workflow to synchronize accepted dynamic updates into the primary zone file and clean BIND journal files when explicitly enabled.
- Made RNDC synchronization failures non-fatal after a successful `nsupdate` transaction, while retaining a warning in the dynDNS log.
### Removed
- Removed unsafe DNSSEC handling that attempted to delete the zone `DNSKEY` RRset before dynamic updates.
- Removed the unnecessary `rndc freeze` and `rndc thaw` workflow after RFC 2136 updates.
## 1.0.0 - 2026-06-20
### Added
- Added a POSIX-compliant dynDNS management script for database-backed hostname lifecycle operations and DNS zone updates.
- Added the commands `add-hostname`, `check-hostname`, `remove-hostname`, and `update-zone`.
- Added hostname validation as well as subdomain and domain extraction helpers.
- Added database helper functions for SQL execution, scalar queries, and SQL string escaping.
- Added member provisioning in the database, including related records in `members`, `connections`, and `login_attempts`.
- Added salted SHA-512 password hashing for stored member credentials.
- Added runtime checks for required commands, directories, files, and environment variables.
- Added structured logging, temporary file handling, and cleanup helpers.
- Added dynamic DNS zone synchronization by comparing database records with the current zone file.
- Added DNS update generation and application through `nsupdate`, including `rndc` freeze and thaw handling.
### Changed
- Implemented hostname removal with automatic detection of foreign keys using `ON DELETE CASCADE`.
- Added a compatibility fallback for explicit child-table deletion when cascading foreign keys are not available.
### Fixed
- Fixed hostname removal compatibility across different database schema states by supporting both cascading and non-cascading delete paths.