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