Download Latest Version v2.2.2.tar.gz (509.5 kB)
Email in envelope

Get an email when there's a new version of Poweradmin

Home / v4.2.0
Name Modified Size InfoDownloads / Week
Parent folder
poweradmin-poweradmin_4_2_0.spdx.json 2026-03-19 713.3 kB
README.md 2026-03-19 25.6 kB
v4.2.0 source code.tar.gz 2026-03-19 12.5 MB
v4.2.0 source code.zip 2026-03-19 16.9 MB
Totals: 4 Items   30.1 MB 0

✨ Features

🌐 api:

  • add API v2 with consistent response wrapping and permission validation (0551e8a)
  • add zone template CRUD endpoints for API v2 (d8e226b)
  • add PowerDNS zone metadata API support (c564cd9)
  • add zone owners API endpoints (closes [#966]) (230e63e)
  • add batch owner assignment via user_ids array on zone owners endpoint (165906d)

πŸ” auth:

  • add SAML authentication support with user provisioning, closes [#789] (e8eb1ac)
  • add Generic OIDC provider support for Authentik/Keycloak/Okta, closes [#918] (9b204ca)
  • add Google OAuth support (#791) (aa88a9a)
  • add user avatar support with OAuth and Gravatar integration (7fc4d3b)
  • implement forgot username feature, closes [#578] (e2f7bda)
  • implement session caching for LDAP authentication (a2cf55d)
  • add MFA enforcement for users and groups, closes [#859] (c6bca3e)
  • add group mapping for SSO providers (6ddf6d8)
  • add URL template processing for OIDC provider configurations (641d7b9)

πŸ‘₯ groups:

  • add user group management system with group-based zone ownership, permissions, and member management (8b68632)
  • integrate group management into zone and user interfaces (440d9dd)
  • add group assignment to user creation (2caa4e3)
  • add comprehensive group activity logging (5f69cf9)

πŸ›‘οΈ permissions:

  • separate zone deletion from edit permissions, closes [#97] (672796b)
  • add preconfigured permission templates for common user roles (d889fbb)
  • support group-based permission inheritance (c8dacf3)
  • add default user groups and group templates (659fb6a)

🌍 dns:

  • enhance RFC 2317 classless reverse delegation validation, closes [#85] (8928b82)
  • add interactive wizards for complex DNS record types, closes [#685] (586b29e)
  • add custom TLD whitelist for CNAME validation, closes [#946] (e63517a)
  • warn when creating duplicate PTR records for same IP, related to [#816] (0b459c3)
  • add disabled flag support to DNS record operations (00a43fb)
  • enable edit operation on selected record (6dd2949)

πŸ”’ dnssec:

  • add pre-flight zone validation before signing (9b5f6fe)
  • add CSK info alert on add key page with translations (closes [#996]) (2d4ccbd)

πŸ”§ modules:

  • add module system with registry and dynamic routing (5a3e3de)
  • add zone file import and export (closes [#986]) (037b431)
  • add import-into-existing-zone with conflict strategy and permission checks (caf39c2)

πŸ–₯️ ui:

  • add conditional API documentation link to tools menu, closes [#749] (c1c2fbf)
  • enhance zone edit UX with configurable elements and improved layout, closes [#756] (a49f137)
  • add collapsible sidebar sections and fix dashboard active state (f6f8613)
  • add deprecation warnings for deprecated DNS record types (closes [#1009]) (7a78144)
  • hide bulk edit and delete buttons based on user permissions (c664e45)
  • add clear buttons to all search inputs (5aa6d05)
  • reorganize zone creation forms with two-column layout (ac04c26)
  • shorten IPv6 addresses for better display (b8117b7)
  • display username alongside fullname in user selectors (9aeb650)
  • display MFA status in users list, related to [#852] (fb980b5)
  • display group membership in user list (2c2a0b3)
  • add pagination to user list (cedff35)
  • add IPv6 reverse zone display shortening (867971e)

🐳 docker:

  • add MySQL separate PowerDNS database configuration support (69c9a91)
  • add support for immutable container deployments (closes [#939]) (6f17666)
  • add DB_PORT environment variable support, closes [#981] (399bdbc)
  • add environment variables for logging and security configuration (3b8a1b9)
  • add TRUSTED_CA_FILE env var for custom CA certificates (closes [#1065]) (3473e5f)
  • add environment variable support for module configuration (closes [#1084]) (bb739df)

πŸ“§ email:

  • replace custom SMTP with Symfony Mailer, closes [#774] (ba5f8d1)

πŸ—ƒοΈ database:

  • add SSL/TLS configuration options for MySQL and PostgreSQL, closes [#978] (3c5e070)

βš™οΈ config:

  • add validation for PowerDNS API configuration (c2c3708)

πŸ“₯ installer:

  • add web server detection to requirements check (20a12f5)
  • add 5 new language options to installer and config (5eaa137)

πŸ”§ pdns:

  • add Basic Auth support for PowerDNS metrics endpoint, closes [#800] (92cfb3c)

🌐 translations:

  • add Indonesian, Korean, Swedish, Ukrainian, Vietnamese translations (a8f9a1e)

πŸ› Bug Fixes

🌐 api:

  • resolve Basic Auth TypeError when LDAP authentication is enabled, closes [#799] (751a175)
  • make pagination optional for zones and users endpoints, closes [#803] (078a3a0)
  • update SOA serial on all record operations, closes [#804] (63315d6)
  • handle missing optional fields gracefully, closes [#818] (052a625)
  • exclude invalid records from V2 zones endpoint, closes [#914] (82b74b6)
  • filter PowerDNS ENT records from V2 API endpoints, closes [#914] (d6d38e7)
  • prevent crash when PowerDNS API returns zone errors (82c85cd)
  • improve HTTP error handling for non-JSON responses, closes [#971] (0dab36e)
  • URL-encode zone names in PowerDNS API calls for RFC 2317 support (closes [#994]) (f802d5e)
  • validate template field as numeric ID in zone creation (closes [#1024]) (ec95f3e)
  • preserve template owner on non-global template updates (7085d70)
  • wrap zone creation in transaction and validate template ID (914ae23)

πŸ” auth:

  • resolve missing LDAP section in Add User form, closes [#750] (8b6c78f)
  • correct recovery code input validation length, closes [#784] (3814b87)
  • improve scheme detection for callback URLs behind proxies, related to [#783] (130d0b4)
  • prevent external auth from overwriting existing auth methods (0886ad7)
  • resolve orphaned user link issues in SAML/OIDC authentication (8ee4f75)
  • fix OIDC scope format to comply with OAuth2 specification, related to [#783] (ca99289)
  • enable proper OIDC user logout flow (75e49fb)
  • extract OIDC groups from ID token when userinfo lacks them (closes [#963]) (25a96be)
  • ensure CSRF token generation and proxy compatibility, related to [#787] (a5c7619)
  • handle missing users table gracefully during authentication (b1c1800)
  • filter group visibility by user membership (closes [#1043]) (8f6be74)
  • preserve auth_method for OIDC/SAML users on edit (closes [#1064]) (5438dc7)
  • only apply default_permission_template to new SSO users (closes [#1092]) (74d4e1b)

🌍 dns:

  • correct SRV record validation to match PowerDNS format requirements, closes [#755] (14dc8e5)
  • allow multiple instances of SPF mechanisms (42193b3)
  • exclude reverse zones from forward zone listings (da1789d)
  • remove 255-byte TXT validation to support long DKIM records, closes [#809] (5a96e40)
  • use consistent FQDN handling across record creation flows, closes [#814] (ac2eab4)
  • prevent TypeError when zone_templ_id is NULL in PostgreSQL, closes [#935] (2032773)
  • allow HTML characters in TXT records, closes [#953] (4ea65ee)
  • handle LUA records with record type prefix and explicit return mode (closes [#991]) (63346ba)
  • improve IP address validation, closes [#794] (923e56a)
  • correct SVCB mode logic per RFC 9460 Section 2.4.1 (closes [#1025]) (182e382)
  • allow slave zone creation with delegation NS records, closes [#802] (1fc14f6)

πŸ”’ dnssec:

  • correct DS/DNSKEY button routing, closes [#775] (0348236)
  • standardize permission checks across all DNSSEC controllers, closes [#778] (03ccb47)

πŸ—ƒοΈ database:

  • standardize boolean parameter binding for MySQL strict mode compatibility, closes [#788] (037f64b)
  • bind LIMIT and OFFSET as integers in filtered record queries, closes [#810] (4af18af)
  • use DbCompat for boolean column comparisons in PostgreSQL, closes [#819] (295a8dd)
  • sync PostgreSQL sequences after explicit ID inserts, closes [#942] (6cc3c3b)
  • enable SQLite foreign key constraint enforcement (caaafb9)
  • add primary key to records_zone_templ table, closes [#906] (9252c44)

🐳 docker:

  • resolve container startup validation logic, closes [#766] (9f4e9eb)
  • update OIDC Azure AD configuration and metadata URL handling (#785) (438d0af)
  • add LDAP extension for LDAP authentication support, closes [#812] (ee7da53)
  • improve container health check and database initialization, closes [#851] (e461071)
  • update FrankenPHP base image to 1.10-php8.4-alpine, closes [#877] (a51c09d)
  • update base packages to resolve security vulnerabilities (e85a1b0)
  • add SSL options for MySQL client in entrypoint (400f306)
  • restore settings.defaults.php when config dir is a volume mount (2b0f686)
  • skip config generation only when config file is non-empty (2c85d4f)

πŸ–₯️ ui:

  • correct pagination calculation when filters are applied, closes [#748] (593373a)
  • prevent dark mode flickering by loading correct theme stylesheet early (29c3064)
  • clear form data when switching between zones, closes [#769] (6533732)
  • disable browser autofill for user creation, closes [#782] (1c2c395)
  • enable sorting by owner, id, and disabled status, closes [#781] (6ff3fb1)
  • correct filter form redirect in zone edit views, closes [#786] (ae0f074)
  • improve log table layout and prevent text overflow, closes [#772] (cb69f64)
  • correct checkbox handling in multi-record add form, closes [#807] (0eefdb5)
  • add missing base_url_prefix to zone template links, closes [#962] (530b638)
  • batch PTR form 404 error (closes [#968]) (6930b86)
  • separate sign zone button from edit form to prevent accidental signing (closes [#1020]) (542737d)
  • remove color classes preventing dark mode visibility, closes [#801] (e3aac03)
  • gracefully handle removed legacy themes with fallback (#899) (ee0435a)

πŸ“ records:

  • exclude invalid database entries from queries, closes [#758] (d477adc)
  • add table prefix to ORDER BY clause, closes [#919] (3934701)
  • resolve @ to zone name in multi-record add form (edd2ad1)
  • store comments per-record instead of per-RRset, closes [#858] (8125ea4)

πŸ“ zones:

  • correct form submission for bulk record deletion, closes [#842] (1d3242e)
  • handle comment deletion errors gracefully during zone deletion (#971) (7116992)
  • delete domainmetadata and cryptokeys on zone deletion (closes [#817]) (b4d694a)
  • support group-only zone ownership (closes [#1042]) (ba3be1d)

πŸ›‘οΈ permissions:

  • prevent non-superusers from modifying superuser accounts (460a5d2)

πŸ“§ email:

  • correct TLS/STARTTLS connection validation, closes [#861] (6a90a13)

βš™οΈ config:

  • resolve validation errors in configuration migration from v3.9.2 to v4.0.0, resolves [#754] (0d9be30)
  • remove tools directory blocking from web server configs, closes [#792] (87d7467)

πŸ” search:

  • reload page instead of submitting empty search form, closes [#815] (1545359)

πŸ”§ supermasters:

  • allow IPv6 addresses in edit and delete validation (closes [#992]) (c5f69ad)

πŸ”‘ mfa:

  • always generate new TOTP secret for app-based MFA setup, closes [#985] (5f66e8d)

πŸ”§ modules:

  • fix zone import by passing correct zone_template parameter (aa8626d)
  • fix compound TTL detection and parentheses stripping in zone parser (fb7db23)
  • handle plain-text response in PowerDNS API zone export (478c1cf)

πŸ”§ csv:

  • add explicit escape parameter to fputcsv for PHP 8.4 compatibility (closes [#980]) (2392d41)

🌐 translations:

  • add missing Japanese translations (7012aa2)
  • correct placeholder order in Japanese and Chinese translations (164f529)
  • add missing translations for all locales (a9c9581)

⚑ Performance

  • add database indexes to improve query performance (14fcf2c)
  • optimize reverse zone listing for large datasets, closes [#956] (60da21c)

Database Migrations

The following database update scripts are included in this release:

  • sql/poweradmin-mysql-update-to-4.2.0.sql
  • sql/poweradmin-pgsql-update-to-4.2.0.sql
  • sql/poweradmin-sqlite-update-to-4.2.0.sql

Note: Run the appropriate update script for your database type before upgrading.

Source: README.md, updated 2026-03-19