Back to Changelog
v1.0.227
Mail system fixes, database orphan Adopt and Delete endpoints with hash-preserving user detection
New Features
3- Added POST /api/v1/databases/drift/adopt endpoint: zero-input adoption of MySQL orphan databases. Detects existing users via SCHEMA_PRIVILEGES (hash + plugin preserved, wp-config.php and .env keep working). If no user found, auto-generates a user with random 24-byte password.
- Added DELETE /api/v1/databases/drift/orphan endpoint: drops MySQL-only databases not tracked by panel. Refuses tracked and system databases. ROOT/ADMIN only.
- New database.adopted webhook event triggered after successful orphan adoption with reused_user flag.
Improvements
2- Drift Detector response now includes detected_users array per orphan (system accounts filtered) to show preview in UI.
- Added helper utilities: detectMySQLUsersForDB, generateAdoptUsername, generateRandomPassword, systemMySQLUsers blocklist.
Bug Fixes
4- Fixed Postfix multi-line config values (e.g. smtpd_recipient_restrictions) being corrupted when updated via API — updatePostfixSetting now rewrites the entire key block atomically
- Fixed alias_maps not being set in Postfix config after email settings apply, which caused local alias lookups to silently fail
- Added automatic creation of RFC 2142 required aliases (postmaster, abuse, hostmaster) pointing to admin email on first Postfix setup
- Fixed install.sh hostname parse bug where hostnames with dots (e.g. pn-test-ubuntu22.04) caused mydomain to be set to the last segment (04) instead of the full hostname