53 lines
2.9 KiB
Markdown
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.
|