Files
dyndns/CHANGELOG.md
T

2.9 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

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.