31 lines
1.6 KiB
Markdown
31 lines
1.6 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.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.
|