Release history
Poweradmin releases
A web-based control panel for PowerDNS
All releases
18 shown
- Forwarded-IP headers (`X-Forwarded-For`, `X-Real-IP`, `Client-IP`) are now only honored when the peer (`REMOTE_ADDR`) is a private or loopback address, preventing audit‑log spoofing and per‑IP rate‑limit bypass.
- Group‑owned zones show correct edit/delete controls
- PostgreSQL strict typing fixes prevent zone editing/search breakage
- Bulk record add handles CSV escaping correctly
Full changelog
✨ Highlights
Patch release for the stable 4.2.x line. Focus is hardened proxy header handling, group-owned zone visibility, and PostgreSQL compatibility fixes.
🐛 Fixes
- Forwarded-IP headers (
X-Forwarded-For,X-Real-IP,Client-IP) are now only honored when the peer (REMOTE_ADDR) is a private or loopback address. Direct-internet deployments stop trusting client-supplied headers, preventing audit-log spoofing and per-IP rate-limit bypass. Same hardening cherry-picked to 4.3.x, master, and develop. - Group-owned zones show the correct edit/delete controls in zone search and zone lists (#1200, #1194).
- PostgreSQL strict typing on
record_comment_linksno longer breaks zone editing or record search (#1192). Both sides of the join are now cast so it works regardless of whether the linking column is INTEGER or VARCHAR. - Bulk record add correctly handles CSV escaping (#1199).
- CNAME validation accepts numeric-string record IDs from the GUI (#1202).
- API record edits honor the
zone_content_edit_own_as_clientpermission (#1203). - Users API keeps
auth_methodin sync whenuse_ldapis toggled (#1195). - Zone templates: sync uses
zones.idinstead ofdomain_id(#1210); consecutive spaces are preserved in template content listings (#1212). - 404 page now fits the viewport without scrolling.
- Bulk registration template links to group/user management (refs #1201).
📦 Upgrading
Drop-in replacement for v4.2.2. PHP 8.2+ required (unchanged).
Full changelog: https://github.com/poweradmin/poweradmin/compare/v4.2.2...v4.2.3
Minor fixes and improvements.
Full changelog
- API v1 deprecated with Sunset date announced via header
- API backend mode without direct database access
- Zone metadata editor for domainmetadata
- Audit logging across user, zone, DNSSEC, auth operations
Full changelog
Native API-only deployments, a domainmetadata editor, log filtering and exports, hardened auth, and plenty more.
✨ Highlights
- API backend mode - run Poweradmin without direct PowerDNS database access (#658)
- Zone metadata editor for PowerDNS
domainmetadata(#1117) - Audit logging across user, zone, template, DNSSEC, auth, MFA, and API operations
- Log pages - filters, CSV/JSON export, detail modals, client IP and auth method visible everywhere
- SSO permission template mapping with env vars and stale mapping revocation
- API v1 deprecated with Sunset date announced via header and OpenAPI (#1146)
🐳 Docker
PA_PDNS_BACKENDselects SQL or API modePA_TRUSTED_CA_FILEmounts custom CA certificates (#1065)PA_TRUSTED_PROXIESfor real client IP behind reverse proxies (#1134)- Env var support for module configuration (#1084)
dns_wizardsandemail_previewstogglable via env vars (#1116)- Rootless container mode; port 80 binding restored in root mode (#1118)
🌍 DNS & content
- Custom TLD-to-server mapping for WHOIS and RDAP, with
.zaadded (#1138) - IDN/punycode support for record names and content, incl. HTTPS, SVCB, and LP (#1090)
- IPv6 batch PTR with correct nibble expansion (#1110)
- Selective zone template update instead of full replace
🛡️ Security hardening
md5andmd5salthashing removed for new passwords (existing hashes still validate)- Default bcrypt cost bumped to 12
- CSRF validation required for API key toggle
IpAddressRetrieverhardened -X-Real-IPsupport, proxy headers matchingREMOTE_ADDRskipped, parsing bugs fixed (#1134)- Mail MIME boundary uses
random_bytesinstead ofmd5
🔧 Other
- Dashboard zone, record, and user count stats for admins
- Globe language switcher on the login page
disabledfield respected in bulk record CSV import- Preserve
auth_methodon OIDC/SAML user edits (#1064)
Full changelog: https://github.com/poweradmin/poweradmin/compare/v4.2.1...v4.3.0
- TRUSTED_PROXIES env var for reverse proxies
- X-Real-IP support
- Group-owned zone listing
Full changelog
✨ Highlights
Patch release for the stable 4.2.x line. Focus is real client IP handling behind reverse proxies, group-owned zone visibility, and small UI fixes.
🐛 Fixes
- Real client IP behind reverse proxies (#1134) - new
TRUSTED_PROXIESenv var,X-Real-IPsupport, correct handling of proxy headers, and consistent use across auth and logging. Several IP parsing bugs fixed along the way. - Zones owned only via a group are listed correctly in the API (#1153) and counted without duplication in dashboard stats (refs #1112).
- API Keys submenu is now shown to users with the
api_manage_keyspermission (#1154). .zaWHOIS server entry added for South African domains (#1138).- Suppressed misleading "User unknown" log noise on unauthenticated requests.
📦 Upgrading
Drop-in replacement for v4.2.1. PHP 8.2+ required (unchanged).
Full changelog: https://github.com/poweradmin/poweradmin/compare/v4.2.1...v4.2.2
Fixed a duplicate SOA serial increment when adding inline DNS records and corrected locale format specifiers and plural headers, enhancing zone reliability and translation accuracy.
Added audit logging for user and OIDC/SAML auth, enabled non-root container execution, hardened API validation, improved zone and DNS handling, and fixed several bugs for better security and reliability.
Added rootless Docker execution, fixed DNS duplicate SOA increments, resolved macOS bind mount conflicts, corrected locale formatting, displayed TXT validation errors, repaired record restoration, and improved zone lookups.
Bugfix release addressing zone creation validation, OIDC group extraction from ID token, auth method preservation for SSO users, default permission templates, Docker environment mappings, and translation updates.
- API v2 with response wrapping
- SAML authentication
- Generic OIDC support
Bugfix release focused on translation completions and improvements across multiple locales.
Bugfix release addressing zone creation template validation, password encryption config, Docker volume mount handling, and translation completions.
Bugfix release addressing LUA record parsing, TOTP secret generation, zone name handling, IPv6 validation, and CSRF token field correction.
- DNSSEC CSK info alerts
- RFC 2317 zone name support
- LUA record handling
Bugfix release fixing PowerDNS API error handling, MySQL SSL verification, Docker healthcheck and DNS CLI, CSRF tokens, i18n, and zone deletion flow.
Bugfix release allowing HTML characters in TXT records and fixing record name suffix stripping logic.
- CSRF protection
- Security hardening in debug output