<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Poweradmin]]></title><description><![CDATA[Web-based control panel for PowerDNS]]></description><link>https://www.poweradmin.org</link><image><url>https://substackcdn.com/image/fetch/$s_!yBeb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff506fc4-0fec-4676-ab63-dc907b3d6243_48x48.png</url><title>Poweradmin</title><link>https://www.poweradmin.org</link></image><generator>Substack</generator><lastBuildDate>Sun, 03 May 2026 10:42:52 GMT</lastBuildDate><atom:link href="https://www.poweradmin.org/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Edmondas]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[poweradmin@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[poweradmin@substack.com]]></itunes:email><itunes:name><![CDATA[Edmondas]]></itunes:name></itunes:owner><itunes:author><![CDATA[Edmondas]]></itunes:author><googleplay:owner><![CDATA[poweradmin@substack.com]]></googleplay:owner><googleplay:email><![CDATA[poweradmin@substack.com]]></googleplay:email><googleplay:author><![CDATA[Edmondas]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Poweradmin v4.3.0]]></title><description><![CDATA[API backend mode, zone metadata, and comprehensive audit logging]]></description><link>https://www.poweradmin.org/p/poweradmin-v430</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-v430</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Thu, 23 Apr 2026 18:44:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!pIOR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e245eb-859a-4024-a089-24696ff8b759_1440x900.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>v4.3.0 is the biggest release in the 4.x line so far. Native API-only deployments, a domainmetadata editor, log filtering and exports, hardened auth, and plenty more - see the <a href="https://github.com/poweradmin/poweradmin/releases/tag/v4.3.0">full changelog</a> for the complete list.</p><blockquote><p>&#128227; <strong>Update: please use <a href="https://github.com/poweradmin/poweradmin/releases/tag/v4.3.1">v4.3.1</a> instead of v4.3.0.</strong> Shortly after release, the community flagged two issues - a broken MySQL backfill query in the 4.3.0 upgrade script (<a href="https://github.com/poweradmin/poweradmin/issues/1159">#1159</a>) and a missing-config error that wasn&#8217;t surfaced clearly (<a href="https://github.com/poweradmin/poweradmin/issues/1158">#1158</a>). Huge thanks for the quick reports - both are fixed in v4.3.1. If you&#8217;ve already upgraded and the MySQL migration failed, re-run <code>sql/poweradmin-mysql-update-to-4.3.0.sql</code> from the v4.3.1 release.</p><p><strong>Prefer to stay on the stable line?</strong> <a href="https://github.com/poweradmin/poweradmin/releases/tag/v4.2.2">v4.2.2</a> remains the recommended release for production deployments that don&#8217;t need API backend mode or the other 4.3 features. It&#8217;s what the Docker <code>stable</code> tag points at, and it continues to receive bug and security fixes.</p><p>&#9888;&#65039; <strong>Before upgrading:</strong> <code>md5</code> and <code>md5salt</code> password hashing is no longer supported for new hashes. Existing hashes still validate, so current users can still log in. If your config has <code>password_encryption</code> set to <code>md5</code> or <code>md5salt</code>, switch it to <code>bcrypt</code> before upgrading. Also: run the <a href="https://file+.vscode-resource.vscode-cdn.net/Users/edmondas/Projects/poweradmin/v4.3.0-substack-draft.md#-upgrading">database migration script</a> for your database before starting v4.3.0.</p></blockquote><h2><strong>&#127760; API backend mode</strong></h2><p>Poweradmin can now run in front of PowerDNS without direct access to its database. All DNS operations go through the PowerDNS HTTP API instead. This helps when the PowerDNS database is on a network you cannot reach, when PowerDNS is a managed or cloud service, or when you prefer API-first integration (<a href="https://github.com/poweradmin/poweradmin/issues/658">#658</a>).</p><p><strong>How to enable it.</strong> New installs get a backend choice in the installer (&#8221;Database&#8221; or &#8220;API&#8221;). For existing installs, set <code>dns.backend</code> to <code>api</code> in <code>config/settings.php</code> and add your PowerDNS API URL and key:</p><pre><code><code>return [
    'dns' =&gt; [
        'backend' =&gt; 'api',
        // ...
    ],
    'pdns_api' =&gt; [
        'url' =&gt; 'http://powerdns-server:8081',
        'key' =&gt; 'YOUR_API_KEY',
        'server_name' =&gt; 'localhost',
    ],
];
</code></code></pre><p>Both <code>pdns_api.url</code> and <code>pdns_api.key</code> are required - Poweradmin will refuse to run in API mode without them. In Docker, set <code>PA_PDNS_BACKEND=api</code> along with the API URL and key env vars.</p><p><strong>Migration.</strong> Run the v4.3.0 database migration, add the <code>pdns_api</code> config, then switch <code>dns.backend</code> from <code>sql</code> to <code>api</code>. Your existing zone ownership, groups, and permissions are preserved. You can also revert by setting <code>dns.backend</code> back to <code>sql</code>. Full steps are in the <a href="https://docs.poweradmin.org/upgrading/v4.3.0/">upgrading guide</a> and <a href="https://docs.poweradmin.org/configuration/powerdns-api/">PowerDNS API configuration docs</a>.</p><p><strong>This mode needs community testing.</strong> It is a big change that affects how Poweradmin reads and writes data. I ran smoke tests, but there are many zone types, record types, permissions, and edge cases, so I cannot promise every case is covered. Big changes like this often have rough spots that only show up in real use. <strong>Please do not switch to API mode in production before trying it on a separate test instance</strong>, ideally with test data or a copy of your zones. Try the features you use most. If you find anything wrong, file an issue on GitHub with steps to reproduce it - community reports are the fastest way to make this stable.</p><p><strong>Expect some slowdown.</strong> Every read and write in API mode makes one or more HTTP calls to PowerDNS, instead of a single SQL query. Pages that load many zones or records (dashboard, search, bulk operations) will be slower because they depend on PowerDNS API response time. Classic SQL mode is unchanged and still the default - only switch if you have a reason to.</p><h2><strong>&#128193; Zone metadata editor</strong></h2><p>A first-class editor for PowerDNS <code>domainmetadata</code> (<a href="https://github.com/poweradmin/poweradmin/issues/1117">#1117</a>). Select from known kinds with inline guidance, enter custom kinds when needed, and manage multi-value kinds such as <code>ALLOW-AXFR-FROM</code> one row at a time. A read-only view is available for users without edit rights. Full API v2 CRUD is available at <code>/v2/zones/{id}/metadata</code>. <code>SOA-EDIT-API</code> is handled specially in API mode - surfaced from zone properties, editable inline, and removal propagated correctly.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pIOR!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e245eb-859a-4024-a089-24696ff8b759_1440x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pIOR!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e245eb-859a-4024-a089-24696ff8b759_1440x900.png 424w, https://substackcdn.com/image/fetch/$s_!pIOR!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e245eb-859a-4024-a089-24696ff8b759_1440x900.png 848w, https://substackcdn.com/image/fetch/$s_!pIOR!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e245eb-859a-4024-a089-24696ff8b759_1440x900.png 1272w, https://substackcdn.com/image/fetch/$s_!pIOR!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e245eb-859a-4024-a089-24696ff8b759_1440x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pIOR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e245eb-859a-4024-a089-24696ff8b759_1440x900.png" width="1440" height="900" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94e245eb-859a-4024-a089-24696ff8b759_1440x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:900,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:86975,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.poweradmin.org/i/195270819?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e245eb-859a-4024-a089-24696ff8b759_1440x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pIOR!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e245eb-859a-4024-a089-24696ff8b759_1440x900.png 424w, https://substackcdn.com/image/fetch/$s_!pIOR!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e245eb-859a-4024-a089-24696ff8b759_1440x900.png 848w, https://substackcdn.com/image/fetch/$s_!pIOR!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e245eb-859a-4024-a089-24696ff8b759_1440x900.png 1272w, https://substackcdn.com/image/fetch/$s_!pIOR!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e245eb-859a-4024-a089-24696ff8b759_1440x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>&#128202; Audit logging and log pages</strong></h2><p>The <code>AuditService</code> now records structured events across user management, zone ownership, templates, DNSSEC, MFA, API keys, OIDC/SAML authentication (<a href="https://github.com/poweradmin/poweradmin/issues/1109">#1109</a>), failed permission checks, and all API v2 operations. Every log page has been upgraded with filters (operation/event type, user, group, date range), CSV and JSON export with confirmation modal, a details modal with one-click copy, and client IP + auth method visible across all views. A dedicated <strong>API Logs</strong> page surfaces API-key events.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ii35!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75f58a7f-b197-4e7c-9abc-a84643c432b3_1440x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ii35!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75f58a7f-b197-4e7c-9abc-a84643c432b3_1440x900.png 424w, https://substackcdn.com/image/fetch/$s_!Ii35!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75f58a7f-b197-4e7c-9abc-a84643c432b3_1440x900.png 848w, https://substackcdn.com/image/fetch/$s_!Ii35!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75f58a7f-b197-4e7c-9abc-a84643c432b3_1440x900.png 1272w, https://substackcdn.com/image/fetch/$s_!Ii35!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75f58a7f-b197-4e7c-9abc-a84643c432b3_1440x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ii35!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75f58a7f-b197-4e7c-9abc-a84643c432b3_1440x900.png" width="1440" height="900" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/75f58a7f-b197-4e7c-9abc-a84643c432b3_1440x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:900,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:137976,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.poweradmin.org/i/195270819?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75f58a7f-b197-4e7c-9abc-a84643c432b3_1440x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ii35!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75f58a7f-b197-4e7c-9abc-a84643c432b3_1440x900.png 424w, https://substackcdn.com/image/fetch/$s_!Ii35!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75f58a7f-b197-4e7c-9abc-a84643c432b3_1440x900.png 848w, https://substackcdn.com/image/fetch/$s_!Ii35!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75f58a7f-b197-4e7c-9abc-a84643c432b3_1440x900.png 1272w, https://substackcdn.com/image/fetch/$s_!Ii35!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F75f58a7f-b197-4e7c-9abc-a84643c432b3_1440x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>&#128272; SSO permission template mapping</strong></h2><p>Running Poweradmin behind OIDC or SAML becomes easier:</p><ul><li><p>Permission template source tracked per user so external identity provider changes can revoke stale SSO mappings (<a href="https://github.com/poweradmin/poweradmin/issues/1095">#1095</a>)</p></li><li><p>New env vars for SSO permission template and group mappings (<a href="https://github.com/poweradmin/poweradmin/issues/1091">#1091</a>)</p></li><li><p><code>default_permission_template</code> only applies to new SSO users, leaving existing users untouched (<a href="https://github.com/poweradmin/poweradmin/issues/1092">#1092</a>)</p></li><li><p><code>auth_method</code> preserved when editing OIDC/SAML users (<a href="https://github.com/poweradmin/poweradmin/issues/1064">#1064</a>)</p></li></ul><h2><strong>&#128051; Docker</strong></h2><ul><li><p><code>PA_PDNS_BACKEND</code> selects SQL or API mode</p></li><li><p><code>PA_TRUSTED_CA_FILE</code> mounts custom CA certificates (<a href="https://github.com/poweradmin/poweradmin/issues/1065">#1065</a>)</p></li><li><p><code>PA_TRUSTED_PROXIES</code> for real client IP behind reverse proxies (<a href="https://github.com/poweradmin/poweradmin/issues/1134">#1134</a>)</p></li><li><p>Env var support for module configuration (<a href="https://github.com/poweradmin/poweradmin/issues/1084">#1084</a>)</p></li><li><p><code>dns_wizards</code> and <code>email_previews</code> togglable via env vars (<a href="https://github.com/poweradmin/poweradmin/issues/1116">#1116</a>)</p></li><li><p>Rootless container mode; port 80 binding restored in root mode (<a href="https://github.com/poweradmin/poweradmin/issues/1118">#1118</a>)</p></li></ul><h2><strong>&#127757; DNS &amp; content</strong></h2><ul><li><p>Custom TLD-to-server mapping for WHOIS and RDAP, with <code>.za</code> added (<a href="https://github.com/poweradmin/poweradmin/issues/1138">#1138</a>)</p></li><li><p>IDN/punycode support for record names and content, incl. HTTPS, SVCB, and LP (<a href="https://github.com/poweradmin/poweradmin/issues/1090">#1090</a>)</p></li><li><p>IPv6 batch PTR with correct nibble expansion (<a href="https://github.com/poweradmin/poweradmin/issues/1110">#1110</a>)</p></li><li><p>Selective zone template update instead of full replace</p></li></ul><h2><strong>&#128737;&#65039; Security hardening</strong></h2><ul><li><p><code>md5</code> and <code>md5salt</code> hashing removed for new passwords (existing hashes still validate)</p></li><li><p>Default bcrypt cost bumped to 12</p></li><li><p>CSRF validation required for API key toggle</p></li><li><p><code>IpAddressRetriever</code> hardened - <code>X-Real-IP</code> support, proxy headers matching <code>REMOTE_ADDR</code> skipped, parsing bugs fixed (<a href="https://github.com/poweradmin/poweradmin/issues/1134">#1134</a>)</p></li><li><p><strong>API v1 formally deprecated</strong> with Sunset date announced via header and OpenAPI notice (<a href="https://github.com/poweradmin/poweradmin/issues/1146">#1146</a>) - please migrate to v2</p></li></ul><h2><strong>&#10024; Small touches</strong></h2><ul><li><p>Globe language switcher on the login page</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!S58T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e4c97b-a5f2-47fd-af91-71edc4262e19_1440x900.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!S58T!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e4c97b-a5f2-47fd-af91-71edc4262e19_1440x900.png 424w, https://substackcdn.com/image/fetch/$s_!S58T!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e4c97b-a5f2-47fd-af91-71edc4262e19_1440x900.png 848w, https://substackcdn.com/image/fetch/$s_!S58T!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e4c97b-a5f2-47fd-af91-71edc4262e19_1440x900.png 1272w, https://substackcdn.com/image/fetch/$s_!S58T!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e4c97b-a5f2-47fd-af91-71edc4262e19_1440x900.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!S58T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e4c97b-a5f2-47fd-af91-71edc4262e19_1440x900.png" width="1440" height="900" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/51e4c97b-a5f2-47fd-af91-71edc4262e19_1440x900.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:900,&quot;width&quot;:1440,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:44434,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.poweradmin.org/i/195270819?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e4c97b-a5f2-47fd-af91-71edc4262e19_1440x900.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!S58T!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e4c97b-a5f2-47fd-af91-71edc4262e19_1440x900.png 424w, https://substackcdn.com/image/fetch/$s_!S58T!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e4c97b-a5f2-47fd-af91-71edc4262e19_1440x900.png 848w, https://substackcdn.com/image/fetch/$s_!S58T!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e4c97b-a5f2-47fd-af91-71edc4262e19_1440x900.png 1272w, https://substackcdn.com/image/fetch/$s_!S58T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F51e4c97b-a5f2-47fd-af91-71edc4262e19_1440x900.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><ul><li><p><code>disabled</code> field respected in bulk record CSV import</p></li><li><p>Details modal with copy across log views</p></li></ul><h2><strong>&#128230; Upgrading</strong></h2><ul><li><p><strong>Back up your database</strong> before upgrading - 4.3.0 adds audit log tables and introduces the zone metadata schema</p></li><li><p><strong>Run the database migration</strong> for your database type before starting the new version:</p><ul><li><p><code>sql/poweradmin-mysql-update-to-4.3.0.sql</code></p></li><li><p><code>sql/poweradmin-pgsql-update-to-4.3.0.sql</code></p></li><li><p><code>sql/poweradmin-sqlite-update-to-4.3.0.sql</code></p></li></ul></li><li><p>PHP 8.2+ required (unchanged); tested on 8.2 through 8.5</p></li><li><p>PowerDNS 4.0+ through 5.x works as before; API backend mode requires the PowerDNS HTTP API enabled</p></li><li><p>Docker: <code>poweradmin/poweradmin:4.3.1</code> (or <code>:4.3</code> for automatic patch updates). The <code>stable</code> tag still tracks the 4.2.x series (currently <code>4.2.2</code>) - opt in to 4.3.x explicitly</p></li><li><p>Full step-by-step guide in the <a href="https://docs.poweradmin.org/upgrading/v4.3.0/">v4.3.0 upgrading docs</a></p></li></ul><p>Thanks to everyone who filed issues, tested, and contributed.</p>]]></content:encoded></item><item><title><![CDATA[Poweradmin 4.2.1 & other patch releases]]></title><description><![CDATA[bug fixes, fewer branches, and a simpler Docker setup]]></description><link>https://www.poweradmin.org/p/poweradmin-421-and-other-patch-releases</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-421-and-other-patch-releases</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Sat, 04 Apr 2026 18:06:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yBeb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff506fc4-0fec-4676-ab63-dc907b3d6243_48x48.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Three patch releases today, plus some changes to how the project is organized going forward.</p><p>I&#8217;m consolidating the number of active branches. Maintaining four release branches (3.x, 4.0.x, 4.1.x, master) meant a lot of backporting overhead for a one-person project. Going forward, there&#8217;s one stable release branch, one development branch, and the 3.x LTS. The <code>release/4.0.x</code> and <code>release/4.1.x</code> branches will remain available for reference but won&#8217;t receive new releases.</p><p>I&#8217;m still iterating on the release process, so apologies if the Docker tags and branch structure have been a moving target lately. The goal is to keep things simple and predictable - I think we&#8217;re getting closer.</p><h2><strong>4.2.1</strong></h2><p>Bugfix release from master. Changes since v4.2.0:</p><ul><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1129">#1129</a> - SOA serial numbers weren&#8217;t reflecting local time. Timezone initialization was happening too late in the bootstrap process.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1122">#1122</a> - SOA serial was incrementing by 2 instead of 1 when adding a record inline. A duplicate increment call was being triggered.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1121">#1121</a> - Search was failing on PostgreSQL with a GROUP BY error (SQLSTATE[42803]). Switched to SQL standard GROUP BY with aggregates.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1118">#1118</a> - Docker container wouldn&#8217;t start due to port 80 binding errors. Restored port binding capability in root mode.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1116">#1116</a> - Docker entrypoint wasn&#8217;t setting env vars for DNS Wizards and Email Previews modules.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1113">#1113</a> - DNS Wizard button was missing from the zone edit toolbar. The module config was also missing its <code>enabled</code> key.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1112">#1112</a> - Users couldn&#8217;t access zones if they had group membership but no direct ownership. The zone listing query now checks both direct and group ownership.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1110">#1110</a> - IPv6 was disabled in the batch PTR form. Fixed the form and also corrected broken nibble expansion.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1109">#1109</a> - OIDC and SAML login events weren&#8217;t being logged to the database. Added database logging for SSO authentication.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1106">#1106</a> - TXT record validation errors weren&#8217;t shown on the add record page. The error was being swallowed silently.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1105">#1105</a> - Search was crashing with a SQL error and null type exception.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1104">#1104</a> - Matching record creation was broken since 4.1.1. Two issues: multi-record mode wasn&#8217;t triggering it at all, and forward zone lookup failed for subdomain zones.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1090">#1090</a> - IDN (punycode) support extended to record names and content, including HTTPS, SVCB, and LP record types.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1047">#1047</a> - Pagination and letter filter links in zone lists were missing the base URL prefix, causing 404s in subfolder deployments.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/767">#767</a> - API v1 PUT/PATCH/DELETE requests without an ID parameter were not properly rejected.</p></li><li><p>DNSSEC page was missing the <code>is_reverse_zone</code> variable, so reverse zones weren&#8217;t showing the correct DNSSEC UI.</p></li><li><p>API key regeneration link in the modern template was pointing to the wrong URL.</p></li><li><p>Input validation hardened across all API controllers.</p></li><li><p>Docker: macOS bind mount issue resolved by using PA_CONFIG_PATH.</p></li><li><p>Docker: non-root and rootless container execution now supported.</p></li></ul><h2><strong>4.1.3</strong></h2><p>Final bugfix release for the 4.1.x line. This branch is now in maintenance mode and won&#8217;t receive new releases. Changes since v4.1.2:</p><ul><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1122">#1122</a> - SOA serial incrementing by 2 instead of 1, backported from master.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1121">#1121</a> - PostgreSQL search GROUP BY error, backported from master.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1105">#1105</a> - Search SQL error and null type crash, backported from master.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1104">#1104</a> - Matching record creation broken in multi-record mode and for subdomain zones, backported from master.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1106">#1106</a> - TXT validation error not shown on add record page, backported from master.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1047">#1047</a> - Pagination and letter filter 404s in subfolder deployments, backported from master.</p></li><li><p>Comment search query was referencing a non-existent <code>record_comment_links</code> table.</p></li><li><p>Docker: macOS bind mount fix and non-root container support, backported from master.</p></li><li><p>Locale fixes for plural form headers and format specifiers across multiple languages.</p></li></ul><h2><strong>4.0.10</strong></h2><p>Final maintenance release for the 4.0.x line. This branch is now in maintenance mode and won&#8217;t receive new releases. Changes since v4.0.9:</p><ul><li><p><a href="https://github.com/poweradmin/poweradmin/issues/1122">#1122</a> - SOA serial incrementing by 2 instead of 1, backported from master.</p></li><li><p>Locale format specifier and plural header fixes across all locales.</p></li></ul><h2><strong>Fewer branches going forward</strong></h2><p>I&#8217;m simplifying the branch structure:</p><ul><li><p><code>release/4.2.x</code> - current stable release, patch releases tagged here</p></li><li><p><code>master</code> - next release development (4.3.x)</p></li><li><p><code>develop</code> - experimental features, may be unstable</p></li><li><p><code>release/3.x</code> - LTS, security fixes until December 2027</p></li></ul><p>The <code>release/4.0.x</code> and <code>release/4.1.x</code> branches will remain available for reference but won&#8217;t receive new releases. If you&#8217;re tracking either of those, please switch to <code>release/4.2.x</code> or pin to a version tag.</p><h2><strong>Docker tags updated</strong></h2><p>The Docker tags have been updated to match the new branch structure:</p><ul><li><p><code>stable</code> - <code>release/4.2.x</code> (recommended for production)</p></li><li><p><code>latest</code> - <code>master</code> (current development)</p></li><li><p><code>dev</code> - <code>develop</code> (experimental, not for production)</p></li><li><p><code>lts</code> - <code>release/3.x</code> (legacy)</p></li><li><p><code>v*</code> - Version-pinned tags (e.g., <code>v4.2.1</code>)</p></li></ul><p>The main change: <code>stable</code> now tracks <code>release/4.2.x</code> instead of the retired <code>release/4.0.x</code>. The <code>next</code> tag has been removed since <code>release/4.1.x</code> is being retired. Everything else stays the same.</p><p>Images are published to both Docker Hub (<code>poweradmin/poweradmin</code>) and GitHub Container Registry (<code>ghcr.io/poweradmin/poweradmin</code>).</p><h2><strong>Thanks</strong></h2><p>These releases wouldn&#8217;t happen without the people who take the time to report issues. Thanks to <a href="https://github.com/ramondelee">@ramondelee</a>, <a href="https://github.com/firengate">@firengate</a>, <a href="https://github.com/gbeine">@gbeine</a>, <a href="https://github.com/dginhoux">@dginhoux</a>, <a href="https://github.com/SirGrady">@SirGrady</a>, <a href="https://github.com/Verestchagin">@Verestchagin</a>, <a href="https://github.com/kuhball">@kuhball</a>, <a href="https://github.com/iram-computer">@iram-computer</a>, <a href="https://github.com/torstenker-cloud">@torstenker-cloud</a>, and <a href="https://github.com/nlarenti">@nlarenti</a> for the bug reports that went into these releases.</p><p>As always, bug reports and feedback go to <a href="https://github.com/poweradmin/poweradmin/issues">GitHub</a>.</p>]]></content:encoded></item><item><title><![CDATA[Poweradmin v4.2.0: Group Management]]></title><description><![CDATA[Zone import/export, expanded API v2, MFA enforcement, and cert-manager webhook]]></description><link>https://www.poweradmin.org/p/poweradmin-v420-group-management</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-v420-group-management</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Thu, 19 Mar 2026 18:10:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!xlvZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d7a5c4a-13d3-4254-80ef-b2a614c758c0_1710x912.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Poweradmin v4.2.0 is now available. This release focuses on group management, zone file import/export, expanded API v2 endpoints, and MFA enforcement.</p><p><strong>A word of caution:</strong> v4.2.0 is a feature-heavy release and may still have rough edges. I recommend testing it in a non-production environment first. I&#8217;m not marking it as the latest release on GitHub - instead, v4.1.x is now promoted to stable (it was previously a pre-release). The v4.0.x series may still receive some fixes, but I plan to stop supporting it at some point, so if you&#8217;re on 4.0.x consider planning an upgrade to 4.1.x.</p><h2><strong>Group Management</strong></h2><p>One of the most requested features is finally here. You can now create user groups, add members, assign zones to groups, and control permissions at the group level. Groups integrate directly into zone ownership - instead of assigning zones to individual users, you can assign them to a group and all members get access.</p><ul><li><p>Create and manage groups with a dedicated UI</p></li><li><p>Assign zones to groups for shared ownership</p></li><li><p>Group-based permission templates</p></li><li><p>MFA enforcement per group</p></li><li><p>SSO group mapping - automatically place users into groups based on OIDC/SAML claims</p></li><li><p>Audit logging for all group operations</p></li></ul><p>This feature was sponsored by <a href="https://www.stepping-stone.ch/">stepping stone AG</a>. See the <a href="https://docs.poweradmin.org/user-guide/groups/">User Groups documentation</a> for full details.</p><p>Group list with permission templates and MFA enforcement settings.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xlvZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d7a5c4a-13d3-4254-80ef-b2a614c758c0_1710x912.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xlvZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d7a5c4a-13d3-4254-80ef-b2a614c758c0_1710x912.png 424w, https://substackcdn.com/image/fetch/$s_!xlvZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d7a5c4a-13d3-4254-80ef-b2a614c758c0_1710x912.png 848w, https://substackcdn.com/image/fetch/$s_!xlvZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d7a5c4a-13d3-4254-80ef-b2a614c758c0_1710x912.png 1272w, https://substackcdn.com/image/fetch/$s_!xlvZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d7a5c4a-13d3-4254-80ef-b2a614c758c0_1710x912.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xlvZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d7a5c4a-13d3-4254-80ef-b2a614c758c0_1710x912.png" width="1456" height="777" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0d7a5c4a-13d3-4254-80ef-b2a614c758c0_1710x912.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:777,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:99818,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.poweradmin.org/i/191453266?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d7a5c4a-13d3-4254-80ef-b2a614c758c0_1710x912.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xlvZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d7a5c4a-13d3-4254-80ef-b2a614c758c0_1710x912.png 424w, https://substackcdn.com/image/fetch/$s_!xlvZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d7a5c4a-13d3-4254-80ef-b2a614c758c0_1710x912.png 848w, https://substackcdn.com/image/fetch/$s_!xlvZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d7a5c4a-13d3-4254-80ef-b2a614c758c0_1710x912.png 1272w, https://substackcdn.com/image/fetch/$s_!xlvZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0d7a5c4a-13d3-4254-80ef-b2a614c758c0_1710x912.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Managing group members.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!d7Hi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdace704-ed8d-4af4-9979-50bf7bce1e83_1710x912.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!d7Hi!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdace704-ed8d-4af4-9979-50bf7bce1e83_1710x912.png 424w, https://substackcdn.com/image/fetch/$s_!d7Hi!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdace704-ed8d-4af4-9979-50bf7bce1e83_1710x912.png 848w, https://substackcdn.com/image/fetch/$s_!d7Hi!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdace704-ed8d-4af4-9979-50bf7bce1e83_1710x912.png 1272w, https://substackcdn.com/image/fetch/$s_!d7Hi!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdace704-ed8d-4af4-9979-50bf7bce1e83_1710x912.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!d7Hi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdace704-ed8d-4af4-9979-50bf7bce1e83_1710x912.png" width="1456" height="777" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cdace704-ed8d-4af4-9979-50bf7bce1e83_1710x912.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:777,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:80845,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.poweradmin.org/i/191453266?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdace704-ed8d-4af4-9979-50bf7bce1e83_1710x912.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!d7Hi!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdace704-ed8d-4af4-9979-50bf7bce1e83_1710x912.png 424w, https://substackcdn.com/image/fetch/$s_!d7Hi!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdace704-ed8d-4af4-9979-50bf7bce1e83_1710x912.png 848w, https://substackcdn.com/image/fetch/$s_!d7Hi!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdace704-ed8d-4af4-9979-50bf7bce1e83_1710x912.png 1272w, https://substackcdn.com/image/fetch/$s_!d7Hi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcdace704-ed8d-4af4-9979-50bf7bce1e83_1710x912.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Assigning zones to a group.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BIkH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23bc5e23-7d08-4b71-b9e5-f31775a5df35_1710x912.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BIkH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23bc5e23-7d08-4b71-b9e5-f31775a5df35_1710x912.png 424w, https://substackcdn.com/image/fetch/$s_!BIkH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23bc5e23-7d08-4b71-b9e5-f31775a5df35_1710x912.png 848w, https://substackcdn.com/image/fetch/$s_!BIkH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23bc5e23-7d08-4b71-b9e5-f31775a5df35_1710x912.png 1272w, https://substackcdn.com/image/fetch/$s_!BIkH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23bc5e23-7d08-4b71-b9e5-f31775a5df35_1710x912.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BIkH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23bc5e23-7d08-4b71-b9e5-f31775a5df35_1710x912.png" width="1456" height="777" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/23bc5e23-7d08-4b71-b9e5-f31775a5df35_1710x912.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:777,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:115576,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.poweradmin.org/i/191453266?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23bc5e23-7d08-4b71-b9e5-f31775a5df35_1710x912.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BIkH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23bc5e23-7d08-4b71-b9e5-f31775a5df35_1710x912.png 424w, https://substackcdn.com/image/fetch/$s_!BIkH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23bc5e23-7d08-4b71-b9e5-f31775a5df35_1710x912.png 848w, https://substackcdn.com/image/fetch/$s_!BIkH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23bc5e23-7d08-4b71-b9e5-f31775a5df35_1710x912.png 1272w, https://substackcdn.com/image/fetch/$s_!BIkH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F23bc5e23-7d08-4b71-b9e5-f31775a5df35_1710x912.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Editing group settings.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1t9Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b9c54cb-f2f3-4029-b348-22022fb2b936_1710x912.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1t9Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b9c54cb-f2f3-4029-b348-22022fb2b936_1710x912.png 424w, https://substackcdn.com/image/fetch/$s_!1t9Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b9c54cb-f2f3-4029-b348-22022fb2b936_1710x912.png 848w, https://substackcdn.com/image/fetch/$s_!1t9Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b9c54cb-f2f3-4029-b348-22022fb2b936_1710x912.png 1272w, https://substackcdn.com/image/fetch/$s_!1t9Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b9c54cb-f2f3-4029-b348-22022fb2b936_1710x912.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1t9Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b9c54cb-f2f3-4029-b348-22022fb2b936_1710x912.png" width="1456" height="777" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6b9c54cb-f2f3-4029-b348-22022fb2b936_1710x912.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:777,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:103180,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.poweradmin.org/i/191453266?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b9c54cb-f2f3-4029-b348-22022fb2b936_1710x912.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1t9Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b9c54cb-f2f3-4029-b348-22022fb2b936_1710x912.png 424w, https://substackcdn.com/image/fetch/$s_!1t9Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b9c54cb-f2f3-4029-b348-22022fb2b936_1710x912.png 848w, https://substackcdn.com/image/fetch/$s_!1t9Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b9c54cb-f2f3-4029-b348-22022fb2b936_1710x912.png 1272w, https://substackcdn.com/image/fetch/$s_!1t9Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6b9c54cb-f2f3-4029-b348-22022fb2b936_1710x912.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>Zone File Import &amp; Export</strong></h2><p>I&#8217;ve added a module system that powers new zone file import and export functionality. You can import standard BIND zone files - either creating new zones or merging into existing ones with configurable conflict resolution. Export produces standard zone file format for backup or migration purposes.</p><p>See the <a href="https://docs.poweradmin.org/configuration/zone-import-export/">Zone Import/Export documentation</a> for setup details.</p><h2><strong>Expanded API v2</strong></h2><p>API v2 was introduced in v4.1.0. In this release I&#8217;ve added several new endpoint groups:</p><ul><li><p>Zone templates CRUD</p></li><li><p>Zone owners management with batch assignment</p></li><li><p>Group members and zone management</p></li><li><p>PowerDNS zone metadata</p></li></ul><p>See the <a href="https://docs.poweradmin.org/configuration/api/">API configuration docs</a> for setup instructions.</p><h2><strong>MFA Enforcement</strong></h2><p>You can now enforce MFA at both user and group level. When enabled, users will be required to set up two-factor authentication on their next login.</p><p>See the <a href="https://docs.poweradmin.org/configuration/security-policies/">Security Policies documentation</a> for configuration options.</p><h2><strong>cert-manager Webhook</strong></h2><p>I&#8217;ve released a new companion project - <a href="https://github.com/poweradmin/cert-manager-webhook-poweradmin">cert-manager-webhook-poweradmin</a>. It&#8217;s a cert-manager webhook solver that automates DNS-01 challenge validation for Let&#8217;s Encrypt and other ACME CAs. If you run Kubernetes with cert-manager, you can now use Poweradmin as your DNS provider for automatic certificate issuance.</p><p>Thanks to <a href="https://menzel-it.net/de/">Menzel IT GmbH</a> for sponsoring this.</p><h2><strong>Other Improvements</strong></h2><ul><li><p><strong>SSO group mapping</strong> for <a href="https://docs.poweradmin.org/configuration/oidc/">OIDC</a> and <a href="https://docs.poweradmin.org/configuration/saml/">SAML</a> providers</p></li><li><p><strong>Docker</strong> - custom CA certificates via <code>TRUSTED_CA_FILE</code>, expanded environment variable coverage, module configuration support. See the <a href="https://docs.poweradmin.org/installation/docker/">Docker installation docs</a></p></li><li><p><strong>5 new languages</strong> - Indonesian, Korean, Swedish, Ukrainian, Vietnamese</p></li></ul><h2><strong>Patch Releases</strong></h2><p>Alongside v4.2.0, I&#8217;m releasing patch updates for all active branches:</p><ul><li><p><strong>v4.1.2</strong> - OIDC group extraction fix, SSO user edit improvements, and other bug fixes</p></li><li><p><strong>v4.0.9</strong> - bug fixes for the 4.0.x series. We&#8217;re jumping from v4.0.7 directly to v4.0.9 because the v4.0.7 build shipped with the version file already set to 4.0.8, making that version number unusable</p></li><li><p><strong>v3.9.10</strong> - translation updates and compatibility fixes for the 3.x LTS series</p></li></ul><h2><strong>Upgrading</strong></h2><p>Back up your database before upgrading. See the <a href="https://docs.poweradmin.org/upgrading/">upgrade guide</a> for detailed instructions.</p><p><strong>From v4.1.x:</strong> Replace the application files, run the SQL migration script (<code>sql/poweradmin-*-update-to-4.2.0.sql</code> for your database), clear PHP opcache, and restart your web server.</p><p><strong>From v4.0.x:</strong> Upgrade to v4.1.x first, then to v4.2.0.</p><p><strong>From v3.x:</strong> Direct upgrades are not supported. Upgrade to v4.0.0 first, then follow the path above.</p><h2><strong>PHP Version Support</strong></h2><p>Poweradmin v4.2.0 requires <strong>PHP 8.2 or later</strong> (8.2, 8.3, 8.4, 8.5). PHP 8.1 is no longer supported.</p><div><hr></div><p>Full changelog and download available on <a href="https://github.com/poweradmin/poweradmin/releases/tag/v4.2.0">GitHub</a>.</p>]]></content:encoded></item><item><title><![CDATA[Poweradmin 4.1.1 & 4.0.7]]></title><description><![CDATA[patch releases, branch cleanup, and what's coming]]></description><link>https://www.poweradmin.org/p/poweradmin-411-and-407</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-411-and-407</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Sun, 15 Feb 2026 20:17:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yBeb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff506fc4-0fec-4676-ab63-dc907b3d6243_48x48.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Two patch releases went out this week. Nothing dramatic, just fixes I wanted to get out before moving on to bigger things.</p><h2><strong>&#128736;&#65039; 4.1.1</strong></h2><p>This is a bugfix release for the 4.1.x line. Changes since v4.1.0:</p><ul><li><p><a href="https://github.com/poweradmin/poweradmin/issues/994">#994</a> - DNSSEC wasn&#8217;t working for RFC 2317 classless reverse DNS domains. Zone names with slashes weren&#8217;t being URL-encoded in PowerDNS API calls.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/993">#993</a> - 404 on <code>/login</code> in 4.1.0. Routing issue that showed up right after the release.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/992">#992</a> - IPv6 addresses were rejected when editing or deleting supermasters. The validation was too strict.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/991">#991</a> - LUA record verification was failing. Records with a type prefix and explicit return mode weren&#8217;t handled correctly.</p></li><li><p>&#128274; CSRF token fix in PowerDNS status forms - the field was named <code>csrf_token</code> instead of <code>_token</code>. Also added a CI check so this doesn&#8217;t happen again.</p></li><li><p>&#10024; Wizard link added to the zone edit toolbar.</p></li><li><p>&#127757; Zone apex (<code>@</code>) symbol was not resolved to the zone name when adding multiple records at once. Entering <code>@</code> as the record name resulted in <code>@.example.com</code> instead of <code>example.com</code>. Backported to all active branches.</p></li></ul><h2><strong>&#128736;&#65039; 4.0.7</strong></h2><p>Maintenance release for the 4.0.x line. Changes since v4.0.6:</p><ul><li><p><a href="https://github.com/poweradmin/poweradmin/issues/995">#995</a> - Invalid CSRF token when deleting a DNSSEC key. Same <code>_token</code> field name issue as in 4.1.x, but affecting different forms. Added a CI check to catch this going forward.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/985">#985</a> - MFA setup was reusing old TOTP secrets instead of generating fresh ones. If you tried to set up app-based MFA and the first attempt failed, retrying would use the same secret, which could cause verification errors.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/992">#992</a> - IPv6 addresses were rejected when editing or deleting supermasters, backported from 4.1.1.</p></li><li><p><a href="https://github.com/poweradmin/poweradmin/issues/991">#991</a> - LUA record handling fix for records with type prefix and explicit return mode, backported from 4.1.1.</p></li><li><p>&#127757; Zone apex (<code>@</code>) symbol fix in multi-record add form, backported from 4.1.x.</p></li></ul><h2><strong>&#127807; The </strong><code>release/4.x</code><strong> branch is gone</strong></h2><p>I&#8217;ve been maintaining separate <code>release/4.0.x</code> and <code>release/4.1.x</code> branches for a while now, and the old <code>release/4.x</code> branch is no longer needed. If you were tracking it, switch to one of:</p><ul><li><p><code>release/4.0.x</code> - backported bug fixes and security patches only, no new features</p></li><li><p><code>release/4.1.x</code> - current stable release line, bug fixes and minor improvements</p></li></ul><h2><strong>&#9888;&#65039; Heads up if you&#8217;re tracking </strong><code>master</code></h2><p>I&#8217;ll be merging the <code>develop</code> branch into <code>master</code> soon. This includes groups support and a bunch of other features that have been in the works for a while. Things will likely be unstable for a bit during that transition. If you&#8217;re running off <code>master</code> in production (I know some of you do), I&#8217;d recommend switching to <code>release/4.1.x</code> before that happens.</p><h2><strong>&#128051; Docker tags</strong></h2><p>Here&#8217;s how Docker image tags map to branches, for reference:</p><ul><li><p><code>stable</code> &#8594; <code>release/4.0.x</code> - Conservative, production-safe</p></li><li><p><code>next</code> &#8594; <code>release/4.1.x</code> - Latest stable features</p></li><li><p><code>latest</code> &#8594; <code>master</code> - <strong>Will become unstable soon</strong> - switch to <code>next</code> or <code>stable</code></p></li><li><p><code>lts</code> &#8594; <code>release/3.x</code> - Legacy, security fixes only</p></li><li><p><code>dev</code> &#8594; <code>develop</code> - Experimental, not for production</p></li></ul><p>Version-pinned tags like <code>v4.1.1</code> and <code>v4.0.7</code> are also available if you prefer locking to a specific release.</p><p>Images are published to both Docker Hub (<code>poweradmin/poweradmin</code>) and GitHub Container Registry (<code>ghcr.io/poweradmin/poweradmin</code>).</p><div><hr></div><p>As always, bug reports and feedback go to <a href="https://github.com/poweradmin/poweradmin/issues">GitHub</a>.</p>]]></content:encoded></item><item><title><![CDATA[Poweradmin v4.1.0]]></title><description><![CDATA[SSO, DNS Wizards, and Permission Controls]]></description><link>https://www.poweradmin.org/p/poweradmin-v410</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-v410</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Sun, 08 Feb 2026 16:50:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WAnF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e4a10a7-9246-46d9-bde8-527fdd916073_2940x1492.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Poweradmin v4.1.0 adds OIDC and SAML authentication, interactive DNS record wizards, granular permission controls, and a redesigned zone editor.</p><h2><strong>OIDC and SAML Authentication</strong></h2><p>One of the most requested features Single Sign-On via <strong>OpenID Connect</strong> and <strong>SAML 2.0</strong> - is now fully supported. OIDC works out of the box with Google Workspace, Microsoft Entra ID, Okta, Keycloak, Auth0, and Authentik. SAML supports the same providers with SP-initiated SSO.</p><p>Both protocols include <strong>automatic user provisioning</strong> on first login, <strong>group-based permission mapping</strong>, and <strong>account linking</strong> for existing users - no need to create accounts manually.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5Okc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfa68b7-1de8-402c-9d27-a07935b0aa26_2640x1374.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5Okc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfa68b7-1de8-402c-9d27-a07935b0aa26_2640x1374.png 424w, https://substackcdn.com/image/fetch/$s_!5Okc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfa68b7-1de8-402c-9d27-a07935b0aa26_2640x1374.png 848w, https://substackcdn.com/image/fetch/$s_!5Okc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfa68b7-1de8-402c-9d27-a07935b0aa26_2640x1374.png 1272w, https://substackcdn.com/image/fetch/$s_!5Okc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfa68b7-1de8-402c-9d27-a07935b0aa26_2640x1374.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5Okc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfa68b7-1de8-402c-9d27-a07935b0aa26_2640x1374.png" width="1456" height="758" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ebfa68b7-1de8-402c-9d27-a07935b0aa26_2640x1374.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:758,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:166151,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.poweradmin.org/i/187274655?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfa68b7-1de8-402c-9d27-a07935b0aa26_2640x1374.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5Okc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfa68b7-1de8-402c-9d27-a07935b0aa26_2640x1374.png 424w, https://substackcdn.com/image/fetch/$s_!5Okc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfa68b7-1de8-402c-9d27-a07935b0aa26_2640x1374.png 848w, https://substackcdn.com/image/fetch/$s_!5Okc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfa68b7-1de8-402c-9d27-a07935b0aa26_2640x1374.png 1272w, https://substackcdn.com/image/fetch/$s_!5Okc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfa68b7-1de8-402c-9d27-a07935b0aa26_2640x1374.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>DNS Record Wizards</strong></h2><p>New <strong>interactive wizards</strong> for DMARC, SPF, DKIM, CAA, TLSA, and SRV records. Instead of remembering record syntax, you fill in a form and the wizard generates the correct record. Input is validated in real-time, so you won&#8217;t end up with a broken SPF or DMARC record.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!WAnF!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e4a10a7-9246-46d9-bde8-527fdd916073_2940x1492.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!WAnF!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e4a10a7-9246-46d9-bde8-527fdd916073_2940x1492.png 424w, https://substackcdn.com/image/fetch/$s_!WAnF!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e4a10a7-9246-46d9-bde8-527fdd916073_2940x1492.png 848w, https://substackcdn.com/image/fetch/$s_!WAnF!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e4a10a7-9246-46d9-bde8-527fdd916073_2940x1492.png 1272w, https://substackcdn.com/image/fetch/$s_!WAnF!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e4a10a7-9246-46d9-bde8-527fdd916073_2940x1492.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!WAnF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e4a10a7-9246-46d9-bde8-527fdd916073_2940x1492.png" width="1456" height="739" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e4a10a7-9246-46d9-bde8-527fdd916073_2940x1492.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:739,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:202503,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.poweradmin.org/i/187274655?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e4a10a7-9246-46d9-bde8-527fdd916073_2940x1492.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!WAnF!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e4a10a7-9246-46d9-bde8-527fdd916073_2940x1492.png 424w, https://substackcdn.com/image/fetch/$s_!WAnF!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e4a10a7-9246-46d9-bde8-527fdd916073_2940x1492.png 848w, https://substackcdn.com/image/fetch/$s_!WAnF!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e4a10a7-9246-46d9-bde8-527fdd916073_2940x1492.png 1272w, https://substackcdn.com/image/fetch/$s_!WAnF!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e4a10a7-9246-46d9-bde8-527fdd916073_2940x1492.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>Redesigned Zone Editor</strong></h2><p>The zone editor got a rework - better layout, configurable columns, and sorting by owner, ID, or disabled status. You can now edit records inline and do bulk operations without leaving the page.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!QnNc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ea64f2-11ee-4ec5-9276-d0b466c817b9_2940x1492.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!QnNc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ea64f2-11ee-4ec5-9276-d0b466c817b9_2940x1492.png 424w, https://substackcdn.com/image/fetch/$s_!QnNc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ea64f2-11ee-4ec5-9276-d0b466c817b9_2940x1492.png 848w, https://substackcdn.com/image/fetch/$s_!QnNc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ea64f2-11ee-4ec5-9276-d0b466c817b9_2940x1492.png 1272w, https://substackcdn.com/image/fetch/$s_!QnNc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ea64f2-11ee-4ec5-9276-d0b466c817b9_2940x1492.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!QnNc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ea64f2-11ee-4ec5-9276-d0b466c817b9_2940x1492.png" width="1456" height="739" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f6ea64f2-11ee-4ec5-9276-d0b466c817b9_2940x1492.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:739,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:284755,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.poweradmin.org/i/187274655?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ea64f2-11ee-4ec5-9276-d0b466c817b9_2940x1492.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!QnNc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ea64f2-11ee-4ec5-9276-d0b466c817b9_2940x1492.png 424w, https://substackcdn.com/image/fetch/$s_!QnNc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ea64f2-11ee-4ec5-9276-d0b466c817b9_2940x1492.png 848w, https://substackcdn.com/image/fetch/$s_!QnNc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ea64f2-11ee-4ec5-9276-d0b466c817b9_2940x1492.png 1272w, https://substackcdn.com/image/fetch/$s_!QnNc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff6ea64f2-11ee-4ec5-9276-d0b466c817b9_2940x1492.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>Granular Permission Controls</strong></h2><h3><strong>Zone Deletion Permissions</strong></h3><p>Zone deletion is now controlled by <strong>separate permissions</strong>, independent from edit permissions. Users can manage records without being able to delete entire zones.</p><ul><li><p><code>zone_delete_own</code> - delete zones the user owns</p></li><li><p><code>zone_delete_others</code> - delete zones owned by other users</p></li></ul><p>Existing users with edit permissions are automatically granted corresponding delete permissions during upgrade.</p><h3><strong>Pre-configured Permission Templates</strong></h3><p>Four new permission templates for common setups:</p><ul><li><p><strong>Zone Manager</strong> - Full self-service zone management</p></li><li><p><strong>DNS Editor</strong> - Edit records but not SOA/NS (ideal for delegated management)</p></li><li><p><strong>Read Only</strong> - View-only access for auditors and viewers</p></li><li><p><strong>No Access</strong> - No permissions for inactive or pending accounts</p></li></ul><h2><strong>Improved API</strong></h2><ul><li><p><strong>API v2</strong> with consistent response wrapping</p></li><li><p><strong>Permission validation</strong> for all API endpoints</p></li><li><p><strong>Better error handling</strong> across all endpoints, including non-JSON error responses</p></li><li><p><strong>PowerDNS ENT record filtering</strong> - invalid database entries are automatically excluded</p></li></ul><h2><strong>Security Improvements</strong></h2><ul><li><p><strong>Critical MFA bypass fix</strong> - v4.0.0 through v4.0.3 allowed bypassing MFA. If you&#8217;re running those versions, upgrade immediately.</p></li><li><p><strong>Permission enforcement</strong> - Non-superusers can no longer modify superuser accounts</p></li><li><p><strong>DNSSEC pre-flight validation</strong> before zone signing, so you don&#8217;t sign a misconfigured zone</p></li></ul><h2><strong>Other Improvements</strong></h2><ul><li><p><strong>Username recovery</strong> via email for forgotten usernames</p></li><li><p><strong>User avatars</strong> with OAuth and Gravatar integration</p></li><li><p><strong>Symfony Mailer</strong> replaces the custom SMTP implementation</p></li><li><p><strong>Custom TLD whitelist</strong> for CNAME validation</p></li><li><p><strong>RFC 2317 classless reverse delegation</strong> validation</p></li><li><p><strong>SSL/TLS database connections</strong> for MySQL and PostgreSQL</p></li><li><p><strong>DB_PORT</strong> and <strong>separate PowerDNS database</strong> configuration support</p></li><li><p><strong>Immutable container image</strong> support for Kubernetes and similar setups</p></li><li><p>Improved container health checks and database initialization</p></li><li><p><strong>LDAP session caching</strong> to reduce authentication overhead</p></li><li><p>Lots of bug fixes across DNS validation, DNSSEC, dark mode, PostgreSQL/SQLite compatibility, and more</p></li></ul><h2><strong>Upgrading</strong></h2><h3><strong>From v4.0.x</strong></h3><ol><li><p><strong>Backup</strong> your database and files</p></li><li><p><strong>Replace</strong> application files with the new release</p></li><li><p><strong>Run</strong> the database migration script for your database type:</p><p><code># MySQL/MariaDB<br>mysql -u username -p database &lt; sql/poweradmin-mysql-update-to-4.1.0.sql<br><br># PostgreSQL<br>psql -h localhost -U username -d database -f sql/poweradmin-pgsql-update-to-4.1.0.sql<br><br># SQLite<br>sqlite3 /path/to/poweradmin.db &lt; sql/poweradmin-sqlite-update-to-4.1.0.sql</code> </p></li><li><p><strong>Clear</strong> PHP opcache and restart your web server</p></li><li><p><strong>Verify</strong> login and basic operations</p></li></ol><p>The configuration format is <strong>fully backward compatible</strong> - no changes to <code>config/settings.php</code> are required.</p><h3><strong>From v3.x or older</strong></h3><p>Direct upgrades to v4.1.0 are not supported. First upgrade to <a href="https://docs.poweradmin.org/upgrading/v4.0.0/">v4.0.0</a>, then follow the v4.0.x steps above. For a detailed upgrade path from any version, see the <a href="https://docs.poweradmin.org/upgrading/">full upgrade documentation</a>.</p><h3><strong>Docker</strong></h3><p>Pull the latest image and restart:</p><p><code>docker pull poweradmin/poweradmin:4.1.0</code></p><p>For detailed upgrade instructions, visit <a href="https://docs.poweradmin.org/upgrading/v4.1.0/">docs.poweradmin.org/upgrading/v4.1.0</a>.</p><h2><strong>PHP Version Notice</strong></h2><p><strong>Poweradmin 4.1.x will be the last version to support PHP 8.1.</strong> Starting with version 4.2.x, the minimum required PHP version will be 8.2. If you&#8217;re still on PHP 8.1, now is a good time to upgrade.</p><h2><strong>Version Support and Branch Strategy</strong></h2><ul><li><p><strong>If you&#8217;re on v4.0.x</strong> and prefer stability, stay on the <code>release/4.0.x</code> branch. It will continue to receive bug fixes and security updates.</p></li><li><p><strong>If you want the latest features</strong>, move to <code>release/4.1.x</code>. Initial quick fixes will land here as the release stabilizes through real-world usage.</p></li><li><p><strong>If you&#8217;re on v3.9.x LTS</strong>, the branch remains fully supported until December 2027.</p></li><li><p><strong>Avoid </strong><code>master</code><strong> in production</strong> - it will receive changes from the develop branch and may become unstable.</p></li></ul><p>Once v4.1.x proves stable in production, it will become the recommended release.</p><h2><strong>Support the Project</strong></h2><p>If Poweradmin is useful to you, consider supporting its development via <a href="https://github.com/sponsors/edmondas">GitHub Sponsors</a>, <a href="https://opencollective.com/poweradmin">Open Collective</a>, or <a href="https://paypal.me/egirkantas">PayPal</a>.</p><h2><strong>Looking Forward</strong></h2><p>While v4.1.0 is a new release, some users have already been running these changes in production from the <code>master</code> branch. Still, preparing a release this size is exhausting - lots of checks to run from different angles, multiple times, and I&#8217;m sure something slipped through. If you hit any issues, please <a href="https://github.com/poweradmin/poweradmin/issues">report them on GitHub</a> and I&#8217;ll get a patch release out as soon as I can.</p><p>Thanks to everyone who reported issues and tested things on v4.0.x and master - it made a real difference. Next up: <strong>group-based user management</strong> and more API work.</p><div><hr></div><p><em>Poweradmin v4.1.0 is available now on <a href="https://github.com/poweradmin/poweradmin/releases">GitHub</a> and <a href="https://hub.docker.com/r/poweradmin/poweradmin">Docker Hub</a>. For installation instructions and documentation, visit <a href="https://docs.poweradmin.org/">docs.poweradmin.org</a>.</em></p>]]></content:encoded></item><item><title><![CDATA[2026 Roadmap: SSO, Groups, and API Integration]]></title><description><![CDATA[4.0.6 and 3.9.9 now available]]></description><link>https://www.poweradmin.org/p/2026-roadmap-sso-groups-and-api-integration</link><guid isPermaLink="false">https://www.poweradmin.org/p/2026-roadmap-sso-groups-and-api-integration</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Sun, 01 Feb 2026 08:10:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yBeb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff506fc4-0fec-4676-ab63-dc907b3d6243_48x48.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>New year, new roadmap. Here&#8217;s what I&#8217;m working on and where things are headed.</p><h2><strong>Patch Releases: 4.0.6 and 3.9.9</strong></h2><p>Before diving into new features, a quick note on maintenance releases.</p><p><strong>4.0.6</strong> fixes zone deletion issues, IPv6 PTR record handling, disables MySQL SSL verification by default for backwards compatibility, and improves Docker healthchecks.</p><p><strong>3.9.9</strong> allows HTML characters in TXT records and fixes record name handling for those still on the 3.x LTS branch.</p><p>No database migrations needed for either - just update the files. If upgrading from 4.0.4 or earlier, run the 4.0.5 migration script first (<code>sql/poweradmin-{mysql,pgsql,sqlite}-update-to-4.0.5.sql</code>).</p><h2><strong>Q1: Wrapping Up 4.1 and Shipping 4.2</strong></h2><p>The first quarter is all about stabilization and one major new capability.</p><p><strong>Version 4.1</strong> (master branch) is in the final testing phase. This release has been a big one - over 50 issues closed. The highlights:</p><ul><li><p><strong>Federated authentication</strong> - you can now log in via OIDC and SAML. Azure AD, Keycloak, Okta, whatever your org uses. No more managing separate passwords for DNS admins.</p></li><li><p><strong>Multi-factor authentication</strong> - TOTP-based MFA support.</p></li><li><p><strong>Password reset</strong> - proper account recovery flow.</p></li><li><p><strong>DNS record wizards</strong> - guided creation for DMARC, SPF, and DKIM records.</p></li><li><p><strong>UI improvements</strong> - zone comment tooltips, better template navigation, pagination on search results.</p></li></ul><p><strong>Version 4.2</strong> (develop branch) lands with group-based permissions. This has been requested for years (<a href="https://github.com/poweradmin/poweradmin/issues/480">#480</a> on GitHub if you want the history). Instead of assigning zones to individual users, you&#8217;ll be able to assign them to groups and manage membership. Much more practical for larger teams. I&#8217;m also fixing the Azure AD group sync issue that some folks hit with OIDC.</p><h2><strong>Q2: The Big One - PowerDNS API Integration</strong></h2><p>This is where things get interesting.</p><p>For historical reasons, Poweradmin has always talked directly to the PowerDNS database. Back when the project started, that was the only option. PowerDNS didn&#8217;t have a REST API. But it does now, and has for years, and it&#8217;s time to use it.</p><p>Moving to the PowerDNS API as the primary interface is the focus for Q2.</p><p>Why does this matter? Because it unlocks a bunch of features that people keep asking for:</p><ul><li><p><strong>Remote PowerDNS servers</strong> - run Poweradmin on a different host than your DNS server. Proper separation.</p></li><li><p><strong>LMDB backend support</strong> - LMDB isn&#8217;t SQL-based, so there&#8217;s no way to support it with direct database access. API mode makes it possible.</p></li><li><p><strong>Multi-server management</strong> - manage multiple PowerDNS instances from a single Poweradmin. Internal servers, public-facing servers, whatever.</p></li><li><p><strong>ExternalDNS integration</strong> - for the Kubernetes folks who want automatic DNS records from their ingresses.</p></li><li><p><strong>Clean database separation</strong> - keep Poweradmin&#8217;s data completely separate from PowerDNS data. Different credentials, different hosts, whatever you need.</p></li></ul><p>This is foundational work. Once the API layer is solid, a lot of other things become much easier to build.</p><h2><strong>What Comes After</strong></h2><p>If things go well with the API work, later in the year I&#8217;d like to tackle:</p><ul><li><p>Granular API key permissions (restrict keys to specific zones or read-only access)</p></li><li><p>Domain metadata support (per-zone AXFR settings, TSIG keys)</p></li><li><p>Dashboard improvements with actual metrics visualization</p></li></ul><p>But let&#8217;s see how Q1 and Q2 go first. No point making promises about Q4 in February.</p><div><hr></div><p>If you&#8217;re using Poweradmin and have thoughts on priorities, the GitHub issues are always open.</p>]]></content:encoded></item><item><title><![CDATA[Poweradmin v4.0.5 - Patch Release]]></title><description><![CDATA[Stability and reliability improvements]]></description><link>https://www.poweradmin.org/p/poweradmin-v405-patch-release</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-v405-patch-release</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Tue, 27 Jan 2026 16:47:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yBeb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff506fc4-0fec-4676-ab63-dc907b3d6243_48x48.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Poweradmin v4.0.5</strong> is now available with 25+ fixes across security, API, DNS management, Docker, and web server configurations.</p><h2><strong>&#128736;&#65039; What&#8217;s Fixed</strong></h2><h3><strong>&#128274; Security Improvements</strong></h3><ul><li><p><strong>Secure Delete Flows</strong>: Replaced GET confirmation links with POST forms to prevent CSRF attacks on delete operations</p></li><li><p><strong>Debug Output Protection</strong>: Properly escape debug output and use modern cryptographic functions</p></li><li><p><strong>Docker Security</strong>: Updated base packages to resolve security vulnerabilities</p></li></ul><h3><strong>&#127760; API &amp; Core System</strong></h3><ul><li><p><strong>API Crash Prevention</strong>: Fixed crash when PowerDNS API returns zone errors</p></li><li><p><strong>HTTP 204 Compliance</strong>: Return empty body for HTTP 204 responses per RFC 7231</p></li><li><p><strong>PHP 8.1 Compatibility</strong>: Removed PHP 8.3+ <code>#[Override]</code>attributes that broke older PHP versions</p></li><li><p><strong>Router Fix</strong>: Prevent page parameter collision with API pagination</p></li><li><p><strong>PostgreSQL Sequences</strong>: Sync sequences after explicit ID inserts (#942)</p></li></ul><h3><strong>&#127757; DNS Management</strong></h3><ul><li><p><strong>HTML in TXT Records</strong>: Allow HTML characters in TXT records (#953)</p></li><li><p><strong>IDN Validation</strong>: Validate empty strings in IDN conversion</p></li><li><p><strong>Zone Templates</strong>: Fixed TypeError when <code>zone_templ_id</code> is NULL in PostgreSQL (#935)</p></li><li><p><strong>Record Ordering</strong>: Add table prefix to ORDER BY clause (#919)</p></li><li><p><strong>Template Lookup</strong>: Use <code>domain_id</code> for zone list lookup (#945)</p></li></ul><h3><strong>&#128274; DNSSEC</strong></h3><ul><li><p><strong>Reverse Zone Detection</strong>: Add missing <code>is_reverse_zone</code>variable to DNSSEC controllers</p></li></ul><h3><strong>&#128051; Docker &amp; Infrastructure</strong></h3><ul><li><p><strong>FrankenPHP Update</strong>: Upgraded to 1.10-php8.4-alpine base image (#877)</p></li><li><p><strong>Health Checks</strong>: Improved container health check and database initialization</p></li><li><p><strong>Admin User Creation</strong>: Fixed admin user insert capture before case statement ends</p></li><li><p><strong>PostgreSQL Config</strong>: Updated packages and removed baked-in config</p></li></ul><h3><strong>&#128295; Web Server Configuration</strong></h3><ul><li><p><strong>API Routes</strong>: Added proper API routes and 204 response handling in Caddy/nginx configs</p></li></ul><h3><strong>&#128231; Email &amp; SMTP</strong></h3><ul><li><p><strong>TLS/STARTTLS</strong>: Corrected connection handling for mail delivery (#861)</p></li></ul><h3><strong>&#128230; Installation &amp; Forms</strong></h3><ul><li><p><strong>XML Extension Check</strong>: Added missing xml extension check in requirements step</p></li><li><p><strong>DNSSEC Default</strong>: Make DNSSEC opt-in instead of enabled by default</p></li><li><p><strong>Theme Fallback</strong>: Gracefully handle removed legacy themes (#899)</p></li></ul><h2><strong>&#128202; Database Migration Required</strong></h2><p>This release includes database schema updates. Run the appropriate script for your database <strong>before upgrading</strong>:</p><pre><code><code># MySQL/MariaDB
mysql -u root -p powerdns &lt; sql/poweradmin-mysql-update-to-4.0.5.sql

# PostgreSQL
psql -U postgres -d powerdns -f sql/poweradmin-pgsql-update-to-4.0.5.sql

# SQLite
sqlite3 /path/to/pdns.db &lt; sql/poweradmin-sqlite-update-to-4.0.5.sql</code></code></pre><p>The migration adds a primary key to the <code>records_zone_templ</code>table, required for MySQL InnoDB Cluster compatibility (#906).</p><h2><strong>&#128230; Upgrade Steps</strong></h2><ol><li><p>Back up your database and configuration</p></li><li><p>Run the database migration script for your database type</p></li><li><p>Download and extract the new version</p></li><li><p>Copy your <code>config/settings.php</code> to the new installation</p></li><li><p>Verify web server configuration (especially if using Caddy)</p></li></ol><h2><strong>&#129514; Quality Assurance</strong></h2><p>This release has been thoroughly tested with <strong>3,900 E2E tests</strong> across all three supported databases (MySQL, PostgreSQL, SQLite), ensuring stability and reliability.</p><h2><strong>&#128640; What&#8217;s Next: v4.1.0</strong></h2><p>The <strong>4.0.x branch</strong> will keep getting maintenance updates and critical fixes, but my main focus now shifts to <strong>v4.1.0</strong>. Here&#8217;s what&#8217;s coming:</p><ul><li><p>Modernized routing system with Symfony Router and <strong>API v2</strong></p></li><li><p><strong>SAML Authentication</strong> with automatic user provisioning (#789)</p></li><li><p><strong>Generic OIDC Support</strong> for Authentik, Keycloak, and Okta (#918)</p></li><li><p><strong>Forgot Username</strong> feature (#578)</p></li><li><p><strong>Interactive DNS Wizards</strong> for DKIM, SPF, and DMARC records (#685)</p></li><li><p><strong>Separate Zone Deletion Permission</strong> from edit permissions (#97)</p></li><li><p><strong>Symfony Mailer</strong> replaces custom SMTP implementation (#774)</p></li><li><p><strong>Immutable Container Deployments</strong> support (#939)</p></li></ul><p>I expect about a month to stabilize the release, finalize UI changes, and finish testing. Thanks for your patience!</p><div><hr></div><p>&#128591; Thank you to everyone who reported issues and contributed to this release!</p><p><strong>Download</strong>: <a href="https://github.com/poweradmin/poweradmin/releases">GitHub Releases</a></p><p><strong>Documentation</strong>: <a href="https://docs.poweradmin.org">docs.poweradmin.org</a></p><p><strong>Docker</strong>: <code>docker pull poweradmin/poweradmin:4.0.5</code></p>]]></content:encoded></item><item><title><![CDATA[Poweradmin in 2025: Year in Review]]></title><description><![CDATA[13 releases and a new LTS branch]]></description><link>https://www.poweradmin.org/p/poweradmin-in-2025-year-in-review</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-in-2025-year-in-review</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Wed, 07 Jan 2026 18:59:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yBeb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff506fc4-0fec-4676-ab63-dc907b3d6243_48x48.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>2025 is behind us, so let&#8217;s take a moment to look at what happened with Poweradmin and what&#8217;s coming next.</p><h2><strong>A Busy Year</strong></h2><p>This was one of the most productive years for the project. We shipped <strong>13 releases</strong>, including the major <strong>v4.0.0</strong> in July. That&#8217;s roughly 1,320 commits, 114 merged pull requests, and around 349 issues addressed. Thanks to the 30 contributors who made this possible.</p><h2><strong>What&#8217;s New in 4.0</strong></h2><p>The 4.0 release was a big one. Here&#8217;s what changed:</p><p><strong>Authentication &amp; Security</strong> &#8212; You can now log in via SAML or OIDC (Google, Azure AD). There&#8217;s multi-factor authentication with recovery codes, password reset via email, and a forgot username option. We also added reCAPTCHA support, login attempt tracking with account lockout, IP whitelist/blacklist, and password policies.</p><p><strong>API</strong> &#8212; The API now has OpenAPI/Swagger docs. Non-admin users can manage their own API keys, which is handy if you&#8217;re using the Terraform/OpenTofu provider.</p><p><strong>DNS</strong> &#8212; Record validators are stricter and follow RFCs properly. DNSSEC got CSK support. Batch PTR works with IPv6 now. You can import and export records via CSV. Zone templates support DOMAIN and TLD placeholders.</p><p><strong>UI</strong> &#8212; The interface got a full refresh with better dark mode and mobile support. WHOIS lookup is built in. There&#8217;s a database consistency checker for when things go wrong.</p><p><strong>Deployment</strong> &#8212; Docker now runs on FrankenPHP. You can use a separate PowerDNS database if needed.</p><h2><strong>Long-Term Support for 3.x</strong></h2><p>Not everyone wants to upgrade right away. With <strong><a href="https://github.com/poweradmin/poweradmin/releases/tag/v3.9.8">version 3.9.8</a></strong>, the 3.x branch enters long-term support. It will get bug fixes and security updates for at least two years. More patch releases may come if needed.</p><h2><strong>Coming Soon: 4.0.5</strong></h2><p>A patch release is on the way with bug fixes &#8212; PostgreSQL improvements, zone template fixes, and security hardening.</p><h2><strong>Coming in 4.1</strong></h2><p>The master branch has new stuff that needs testing before release:</p><ul><li><p>Wizards for complex DNS record types</p></li><li><p>Reverse proxy support</p></li><li><p>Immutable container deployments</p></li><li><p>More OIDC providers (Authentik, Keycloak, Okta)</p></li><li><p>API v2 with RRSet management and bulk operations</p></li><li><p>Permission templates for common user roles</p></li></ul><p>Testing everything takes time, but it has to be done.</p><h2><strong>Further Ahead: 4.2</strong></h2><p>Work on 4.2 is already happening in the develop branch &#8212; user groups, MFA enforcement, per-record comments, SSO group mapping, and better user management with pagination.</p><h2><strong>Get Involved</strong></h2><p><strong>Testing</strong> &#8212; If you can, try the latest master branch. Feedback and bug reports on GitHub are welcome.</p><p><strong>Donations</strong> &#8212; Running this project has costs. If Poweradmin is useful to you, consider supporting it:</p><ul><li><p><a href="https://github.com/sponsors/edmondas">GitHub Sponsors</a></p></li><li><p><a href="https://opencollective.com/poweradmin">Open Collective</a></p></li><li><p><a href="https://paypal.me/egirkantas">PayPal</a></p></li></ul><p>Thanks to everyone who has contributed over the years.</p>]]></content:encoded></item><item><title><![CDATA[Poweradmin Terraform Provider Now Available]]></title><description><![CDATA[Help Us Test It!]]></description><link>https://www.poweradmin.org/p/poweradmin-terraform-provider-now</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-terraform-provider-now</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Thu, 13 Nov 2025 06:08:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yBeb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff506fc4-0fec-4676-ab63-dc907b3d6243_48x48.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Poweradmin Terraform Provider Now Available - Help Us Test It!</strong></p><p>I&#8217;m excited to announce the release of the Poweradmin Terraform Provider, now available on both the Terraform Registry and OpenTofu Registry. This provider brings Infrastructure as Code capabilities to Poweradmin, letting you manage your DNS infrastructure alongside your other resources.</p><p><strong>What&#8217;s New</strong></p><p>The provider allows you to declaratively manage Poweradmin resources through Terraform/OpenTofu configurations. Whether you&#8217;re setting up new DNS zones, managing records, or configuring Poweradmin itself, you can now do it all through your existing IaC workflows.</p><p><strong>Registry Links</strong></p><ul><li><p>Terraform Registry: <a href="https://registry.terraform.io/providers/poweradmin/poweradmin">registry.terraform.io/providers/poweradmin/poweradmin</a></p></li><li><p>OpenTofu Registry: <a href="https://search.opentofu.org/provider/poweradmin/poweradmin/latest">search.opentofu.org/provider/poweradmin/poweradmin/latest</a></p></li></ul><p><strong>Important Testing Note</strong></p><p>The provider currently requires the latest unreleased master branch of Poweradmin, which includes the upcoming v2 API. I&#8217;ve wrapped the API responses to make them more Go-friendly and easier to work with in the provider code. If you&#8217;re running a stable release, you&#8217;ll need to use the latest Docker image for testing.</p><p><strong>Looking for Testers</strong></p><p>This is where you come in. I&#8217;m looking for community members to test the provider in different environments and use cases. Found a bug? Have an idea for improvement? Please open an issue in the GitHub repository at <a href="https://github.com/poweradmin/terraform-provider-poweradmin">github.com/poweradmin/terraform-provider-poweradmin</a>.</p><p>Real-world testing is invaluable for catching edge cases and ensuring the provider works smoothly across different Poweradmin configurations. Your feedback will help polish this tool before the next stable release.</p><p>Thanks for being part of the Poweradmin community, and happy testing!</p>]]></content:encoded></item><item><title><![CDATA[Poweradmin v4.0.4 - Patch Release]]></title><description><![CDATA[Critical fixes and Docker namespace migration]]></description><link>https://www.poweradmin.org/p/poweradmin-v404-patch-release</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-v404-patch-release</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Mon, 03 Nov 2025 08:21:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yBeb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff506fc4-0fec-4676-ab63-dc907b3d6243_48x48.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m pleased to announce the release of Poweradmin v4.0.4, a focused maintenance release that delivers <a href="https://github.com/poweradmin/poweradmin/milestone/36?closed=1">8 targeted fixes</a> alongside a major infrastructure improvement for our Docker distribution.</p><h2>&#128736;&#65039; What&#8217;s Fixed</h2><p><strong>&#128272; Authentication &amp; LDAP Improvements:</strong></p><ul><li><p>Fixed LDAP Authentication with MFA integration issues (<a href="https://github.com/poweradmin/poweradmin/issues/813">#813</a>)</p></li><li><p>Resolved LDAP Authentication PHP compatibility problems (<a href="https://github.com/poweradmin/poweradmin/issues/812">#812</a>)</p></li></ul><p><strong>&#128295; Core System Fixes:</strong></p><ul><li><p>Fixed record comment not being saved while adding records (<a href="https://github.com/poweradmin/poweradmin/issues/814">#814</a>)</p></li><li><p>Resolved SQL syntax error causing database access violations (<a href="https://github.com/poweradmin/poweradmin/issues/810">#810</a>)</p></li><li><p>Fixed page crashes when clearing search field (<a href="https://github.com/poweradmin/poweradmin/issues/815">#815</a>)</p></li><li><p>Added support for automatic splitting of long TXT records (e.g., DKIM) into 255-byte strings with configurable length options (<a href="https://github.com/poweradmin/poweradmin/issues/809">#809</a>)</p></li></ul><p><strong>&#128274; DNSSEC Enhancements:</strong></p><ul><li><p>Fixed DNSSEC zone signing functionality (<a href="https://github.com/poweradmin/poweradmin/issues/819">#819</a>)</p></li><li><p>Resolved errors when using &#8220;DS and DNS keys&#8221; operations (<a href="https://github.com/poweradmin/poweradmin/issues/818">#818</a>)</p></li></ul><h2>&#128051; Docker Namespace Migration</h2><p><strong>PowerAdmin Docker images have officially moved to the </strong><code>poweradmin/poweradmin</code><strong> namespace!</strong></p><p>This is an important milestone for our project infrastructure:</p><p><strong>What Changed:</strong></p><ul><li><p><strong>New official location:</strong> <code>poweradmin/poweradmin</code> on Docker Hub</p></li><li><p><strong>Previous location:</strong> <code>edmondas/poweradmin</code> (remains available for historical versions)</p></li><li><p><strong>All future releases</strong> will be published under the official namespace</p></li></ul><p><strong>For Users:</strong></p><ul><li><p>Update your Docker Compose files and deployment scripts</p></li><li><p>Pull the new image: <code>docker pull poweradmin/poweradmin:4.0.4</code></p></li><li><p>Historical tags remain at <code>edmondas/poweradmin</code> for previous releases</p></li></ul><p><strong>Docker Hub:</strong> <a href="https://hub.docker.com/r/poweradmin/poweradmin">https://hub.docker.com/r/poweradmin/poweradmin</a></p><h2>&#128230; Upgrade Information</h2><p>This maintenance release requires no database migrations - simply update your code.</p><p><strong>Upgrade Steps:</strong></p><ol><li><p>Backup your current installation</p></li><li><p>Update to v4.0.4 code</p></li><li><p>Update Docker references to <code>poweradmin/poweradmin</code> if using containers</p></li><li><p>Clear any cached files if applicable</p></li></ol><p><em>No database changes required.</em></p><h2>&#128640; Infrastructure as Code: Terraform Provider Development</h2><p>I&#8217;m currently testing a <strong>Terraform provider for PowerAdmin</strong> that will bring Infrastructure as Code (IaC) capabilities to DNS management. This provider uses an enhanced version of our API and will enable teams to manage DNS records, zones, and configurations alongside their infrastructure deployments. The repository will be made public soon.</p><h2>&#128591; Community</h2><p>Thank you to everyone who reported issues and provided feedback that made these improvements possible. The Docker namespace migration represents our commitment to professional infrastructure management.</p><p>Ready to upgrade? Download v4.0.4 from our <a href="https://github.com/poweradmin/poweradmin/releases/tag/v4.0.4">GitHub releases page</a> and update your Docker configurations to the official <code>poweradmin/poweradmin</code> namespace.</p><div><hr></div><p><em>Remember to update the Docker references in your deployment scripts!</em> &#128051;</p>]]></content:encoded></item><item><title><![CDATA[Poweradmin v4.0.3 - Patch Release]]></title><description><![CDATA[9 targeted fixes across DNS, API, and UI components]]></description><link>https://www.poweradmin.org/p/poweradmin-v403-patch-release</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-v403-patch-release</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Mon, 13 Oct 2025 17:55:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yBeb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff506fc4-0fec-4676-ab63-dc907b3d6243_48x48.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m excited to announce the release of Poweradmin v4.0.3, a focused maintenance release that delivers <a href="https://github.com/poweradmin/poweradmin/milestone/34?closed=1">9 targeted fixes</a> across our core systems. This release continues our commitment to stability and reliability, addressing key issues in API functionality, DNS management, and user interface components based on valuable feedback from our community.</p><h2>&#128736;&#65039; What&#8217;s Fixed</h2><h3>&#127760; DNS &amp; API Enhancements</h3><p>The backbone of Poweradmin received significant attention in this release:</p><p><strong>SOA Serial Management</strong>: Fixed automatic SOA serial updates across all record operations (<a href="https://github.com/poweradmin/poweradmin/issues/804">#804</a>), ensuring DNS consistency and proper change tracking</p><p><strong>API Flexibility</strong>: Made pagination optional for zones and users endpoints (<a href="https://github.com/poweradmin/poweradmin/issues/803">#803</a>), giving developers more control over data retrieval</p><p><strong>LDAP Integration</strong>: Resolved Basic Auth TypeError issues when LDAP authentication is enabled (<a href="https://github.com/poweradmin/poweradmin/issues/799">#799</a>), improving hybrid authentication setups</p><p><strong>Zone Management</strong>: Enhanced reverse zone handling by properly excluding them from forward zone listings for cleaner zone organization</p><p><strong>Slave Zone Creation</strong>: Now allows slave zone creation with delegation NS records (<a href="https://github.com/poweradmin/poweradmin/issues/802">#802</a>), supporting more complex DNS hierarchies</p><p><strong>PowerDNS Metrics</strong>: Added Basic Auth support for PowerDNS metrics endpoint (<a href="https://github.com/poweradmin/poweradmin/issues/800">#800</a>), securing monitoring access</p><h3>&#128421;&#65039; User Interface Polish</h3><p>The interface received focused improvements for better usability:</p><p><strong>Form Handling</strong>: Corrected checkbox behavior in multi-record add forms (<a href="https://github.com/poweradmin/poweradmin/issues/807">#807</a>), eliminating frustrating form submission issues</p><p><strong>Dark Mode Support</strong>: Removed problematic color classes that were preventing proper dark mode visibility (<a href="https://github.com/poweradmin/poweradmin/issues/801">#801</a>), ensuring accessibility across all themes</p><h3>&#128231; Email System Reliability</h3><p>Email functionality became more robust:</p><p><strong>Message Formatting</strong>: Fixed email rejection issues caused by long lines (<a href="https://github.com/poweradmin/poweradmin/issues/798">#798</a>), ensuring reliable message delivery across all SMTP servers</p><h2>&#128230; Upgrade Information</h2><p>This release requires no database migrations and can be deployed as a simple code update. All users are encouraged to upgrade for improved stability and functionality.</p><p><strong>Upgrade Steps:</strong></p><ol><li><p>Backup your current installation</p></li><li><p>Update to v4.0.3 code</p></li><li><p>Clear any cached files if applicable</p></li></ol><p>No database changes are required for this release.</p><h2>&#128640; Looking Ahead: Group-Based Permissions</h2><p>The next major milestone for Poweradmin is the <strong>group-based permissions system</strong> (<a href="https://github.com/poweradmin/poweradmin/issues/480">#480</a>) - one of the most requested features from our community.</p><p><strong>Target</strong>: Implementation before the new year</p><p><strong>Key Features</strong>:</p><ul><li><p>Groups contain permissions and users as members</p></li><li><p>Zones can be owned by groups, users, or both simultaneously</p></li><li><p>Group permissions override individual user permissions</p></li><li><p>New &#8216;Groups&#8217; management tab with full administration capabilities</p></li><li><p>Seamless LDAP integration with automatic group mapping</p></li><li><p>Perfect compatibility with existing OIDC/SAML authentication</p></li></ul><p>This will particularly benefit enterprise installations, LDAP environments, and organizations using modern authentication systems.</p><p><strong>Additional Features Coming</strong>: The next version will also include forgot username functionality (<a href="https://github.com/poweradmin/poweradmin/issues/578">#578</a>), separate zone deletion permissions (<a href="https://github.com/poweradmin/poweradmin/issues/97">#97</a>), enhanced RFC 2317 classless reverse delegation (<a href="https://github.com/poweradmin/poweradmin/issues/85">#85</a>), and API key management for non-admin users.</p><p><strong>Patch Release Possibility</strong>: If critical issues are discovered, another patch release (v4.0.4) may be issued alongside the group permissions development.</p><h2>&#128591; Community Impact</h2><p>Poweradmin&#8217;s continued evolution is powered by our engaged community. Special recognition goes to everyone who reported issues <a href="https://github.com/poweradmin/poweradmin/issues/798">#798</a> through <a href="https://github.com/poweradmin/poweradmin/issues/807">#807</a>, providing the detailed feedback that made these improvements possible.</p><div><hr></div><p><strong>Ready to upgrade?</strong> Download v4.0.3 from our <a href="https://github.com/poweradmin/poweradmin/releases/tag/v4.0.3">GitHub releases page</a> and experience these improvements today.</p><p>Stay tuned for more exciting updates as development continues toward the New Year group permissions milestone! &#127881;</p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Poweradmin v4.0.2 - Patch Release]]></title><description><![CDATA[Comprehensive Bug Fixes and Enhanced Stability]]></description><link>https://www.poweradmin.org/p/poweradmin-v402-patch-release</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-v402-patch-release</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Sat, 04 Oct 2025 03:58:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yBeb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff506fc4-0fec-4676-ab63-dc907b3d6243_48x48.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m excited to announce the release of Poweradmin v4.0.2, a significant patch release that addresses <a href="https://github.com/poweradmin/poweradmin/milestone/33?closed=1">16 critical issues</a> across the entire platform. This release focuses on improving stability, validation, and user experience based on valuable feedback from our community.</p><h2>&#128736;&#65039; Major Bug Fixes by Category</h2><h3>&#128451;&#65039; Database &amp; Records Management</h3><p>This release includes important database improvements that enhance data integrity and MySQL compatibility:</p><ul><li><p><strong>Enhanced Record Handling</strong>: Fixed invalid database entries being included in queries (<a href="https://github.com/poweradmin/poweradmin/issues/758">#758</a>), ensuring cleaner and more reliable data retrieval</p></li><li><p><strong>MySQL Strict Mode Compatibility</strong>: Standardized boolean parameter binding to work seamlessly with MySQL strict mode configurations</p></li><li><p><strong>Database Migration Improvements</strong>: Added comprehensive migration scripts to fix password_reset_tokens default values across all database types</p></li><li><p><strong>PTR Record Handling</strong>: Resolved null ptrZoneId issues in RecordCommentSyncService for more reliable reverse DNS management (<a href="https://github.com/poweradmin/poweradmin/issues/760">#760</a>)</p></li></ul><h3>&#128272; Authentication &amp; Security</h3><p>Security and authentication received focused attention in this release:</p><ul><li><p><strong>Recovery Code Validation</strong>: Corrected input validation length for recovery codes, ensuring proper two-factor authentication flows (<a href="https://github.com/poweradmin/poweradmin/issues/784">#784</a>)</p></li><li><p><strong>Password Reset Tokens</strong>: Enhanced password reset token creation to include the &#8216;used&#8217; field, preventing potential security issues</p></li></ul><h3>&#127760; DNS &amp; Validation</h3><p>DNS functionality and validation logic saw significant improvements:</p><ul><li><p><strong>IP Address Validation</strong>: Enhanced IP address validation logic for better accuracy (<a href="https://github.com/poweradmin/poweradmin/issues/794">#794</a>)</p></li><li><p><strong>SPF Record Support</strong>: Now properly supports multiple instances of SPF mechanisms, improving email security configurations</p></li><li><p><strong>LUA Validator Enhancement</strong>: Added support for record type prefixes in the LUA validator (<a href="https://github.com/poweradmin/poweradmin/issues/770">#770</a>)</p></li><li><p><strong>SRV Record Compliance</strong>: Corrected SRV record validation to match PowerDNS format requirements exactly (<a href="https://github.com/poweradmin/poweradmin/issues/755">#755</a>)</p></li><li><p><strong>Error Handling</strong>: Improved error handling throughout the validation pipeline for better user feedback (<a href="https://github.com/poweradmin/poweradmin/issues/764">#764</a>)</p></li></ul><h3>&#128421;&#65039; User Interface</h3><p>The user interface received several quality-of-life improvements:</p><ul><li><p><strong>Enhanced Sorting</strong>: Enabled sorting by owner, ID, and disabled status for better record management (<a href="https://github.com/poweradmin/poweradmin/issues/781">#781</a>)</p></li><li><p><strong>Form Security</strong>: Disabled browser autofill for user creation forms to prevent security issues (<a href="https://github.com/poweradmin/poweradmin/issues/782">#782</a>)</p></li><li><p><strong>State Management</strong>: Forms now properly clear data and errors when switching between zones (<a href="https://github.com/poweradmin/poweradmin/issues/769">#769</a>)</p></li></ul><h3>&#128231; Mail &amp; SMTP</h3><p>Email functionality is now more reliable:</p><ul><li><p><strong>SMTP Authentication</strong>: Resolved authentication and response parsing issues that were causing email delivery problems</p></li><li><p><strong>Header Validation</strong>: Removed invalid SMTP headers that were causing server rejections (<a href="https://github.com/poweradmin/poweradmin/issues/774">#774</a>)</p></li></ul><h3>&#128268; API &amp; Infrastructure</h3><p>Backend infrastructure improvements for better reliability:</p><ul><li><p><strong>API Routing</strong>: Resolved routing and method validation issues that were affecting API reliability (<a href="https://github.com/poweradmin/poweradmin/issues/767">#767</a>)</p></li><li><p><strong>Docker Improvements</strong>: Fixed container startup validation logic for smoother deployments (<a href="https://github.com/poweradmin/poweradmin/issues/766">#766</a>)</p></li></ul><h2>&#128230; Upgrade Information</h2><p>This is a <strong>recommended update</strong> for all Poweradmin users. The upgrade process requires running a database migration script specific to your database type.</p><h3>&#9888;&#65039; Important: Database Migration Required</h3><p>Before upgrading, you <strong>must</strong> run the appropriate SQL migration file for your database:</p><ul><li><p><strong>MySQL</strong>: <code>sql/poweradmin-mysql-update-to-4.0.2.sql</code></p></li><li><p><strong>PostgreSQL</strong>: <code>sql/poweradmin-pgsql-update-to-4.0.2.sql</code></p></li><li><p><strong>SQLite</strong>: <code>sql/poweradmin-sqlite-update-to-4.0.2.sql</code></p></li></ul><p><strong>Migration Steps:</strong></p><ol><li><p>Backup your existing database</p></li><li><p>Run the appropriate SQL file for your database type</p></li><li><p>Update to v4.0.2</p></li></ol><p>The migration scripts fix critical issues with password reset tokens and ensure your database schema is properly aligned with the new version.</p><h2>&#128640; What&#8217;s Cooking Next</h2><p>The next major release of Poweradmin will bring significant enhancements across authentication, user interface, and system architecture. Here&#8217;s what&#8217;s coming:</p><h3>&#128272; Authentication &amp; Security</h3><ul><li><p><strong>SAML Authentication</strong>: Full SAML support with automatic user provisioning (<a href="https://github.com/poweradmin/poweradmin/issues/789">#789</a>)</p></li><li><p><strong>OIDC/OAuth Integration</strong>: Support for Google, Azure AD, and Keycloak authentication (<a href="https://github.com/poweradmin/poweradmin/issues/791">#791</a>)</p></li><li><p><strong>User Avatars</strong>: Avatar support via OAuth providers and Gravatar integration</p></li><li><p><strong>User Preferences</strong>: Comprehensive user preferences management system</p></li></ul><h3>&#128268; API Improvements</h3><ul><li><p><strong>Enhanced Security</strong>: Permission validation for all API endpoints</p></li><li><p><strong>User Empowerment</strong>: API key management permissions for non-admin users</p></li></ul><h3>&#127912; Modern UI Theme (<a href="https://github.com/poweradmin/poweradmin/issues/746">#746</a>)</h3><ul><li><p><strong>Bootstrap 5</strong>: Complete migration to Bootstrap 5 with modern sidebar layout</p></li></ul><h3>&#127959;&#65039; Routing &amp; Architecture</h3><ul><li><p><strong>Symfony Router</strong>: Modern routing system replacing the legacy BasicRouter</p></li><li><p><strong>Clean URLs</strong>: Modern URL structure without query parameters for better SEO and usability</p></li></ul><h3>&#128260; Compatibility Updates</h3><ul><li><p><strong>Legacy Cleanup</strong>: Removed support for legacy <code>inc/config.inc.php</code> configuration files</p></li></ul><p>Stay tuned for more updates, and as always, your feedback and contributions help shape the future of Poweradmin!</p><div><hr></div><p><em>Poweradmin continues to grow stronger thanks to our active community. Special thanks to all users who reported these issues through GitHub issues #755 through #794, helping us identify and resolve these critical problems. Your detailed bug reports and testing make Poweradmin better for everyone.</em></p>]]></content:encoded></item><item><title><![CDATA[Poweradmin v4.0.1 - Patch Release]]></title><description><![CDATA[Docker Configuration and Critical Bug Fixes]]></description><link>https://www.poweradmin.org/p/poweradmin-v401-patch-release</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-v401-patch-release</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Tue, 05 Aug 2025 19:07:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yBeb!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fff506fc4-0fec-4676-ab63-dc907b3d6243_48x48.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I'm pleased to announce the release of Poweradmin v4.0.1, a focused patch release that addresses several critical issues reported by our community and enhances Docker deployment capabilities.</p><h2><strong>&#128051; Enhanced Docker Support</strong></h2><p>The highlight of this release is <strong>improved MySQL database configuration support for Docker deployments</strong>. I've enhanced the Docker configuration system to allow for better separation of PowerDNS database configurations in containerized environments, making it easier for you to manage complex DNS infrastructures with dedicated database instances.</p><h2><strong>&#128736;&#65039; Critical Bug Fixes</strong></h2><p>In this patch release, I've resolved several important issues that were affecting user experience:</p><p><strong>Configuration &amp; Migration Issues:</strong></p><ul><li><p><strong>Fixed configuration migration errors</strong> from v3.9.2 to v4.0.0 (#754) - If you were upgrading from older versions, you'll no longer encounter validation errors during the migration process</p></li><li><p><strong>Resolved config summary display problems</strong> when using custom configuration files - The configuration summary now properly displays your settings regardless of the config file location</p></li></ul><p><strong>User Interface &amp; Experience:</strong></p><ul><li><p><strong>Fixed user preference persistence</strong> - Your preferences are now properly saved and loaded across sessions</p></li><li><p><strong>Corrected pagination calculations</strong> when filters are applied (#748) - Page navigation now works correctly when you're browsing filtered results</p></li><li><p><strong>Restored missing LDAP section</strong> in the Add User form (#750) - LDAP authentication options are now properly displayed where they should be</p></li></ul><p><strong>System Requirements &amp; Performance:</strong></p><ul><li><p><strong>Added XML extension requirement check</strong> during installation (#745) - The installer now properly validates that the required XML extension is available on your system</p></li><li><p><strong>Optimized reverse zone filtering</strong> by moving logic from PHP to database level (#751) - This change significantly improves performance when you're working with reverse DNS zones</p></li></ul><h2><strong>&#128230; Upgrade Information</strong></h2><p>This is a <strong>recommended update</strong> for all Poweradmin users, especially if you're:</p><ul><li><p>Upgrading from versions prior to v4.0.0</p></li><li><p>Using Docker deployments with MySQL</p></li><li><p>Experiencing pagination or user preference issues</p></li><li><p>Working with reverse DNS zones regularly</p></li></ul><p>The upgrade process is straightforward and maintains full backward compatibility with your existing configurations.</p><div><hr></div><p><em>Poweradmin continues to evolve thanks to our active community. Special thanks to all users who reported these issues and helped me identify the root causes.</em></p>]]></content:encoded></item><item><title><![CDATA[Poweradmin v4.0.0: The Biggest Update Yet]]></title><description><![CDATA[The release that cost me sleep, money, and sanity - but delivered real improvements]]></description><link>https://www.poweradmin.org/p/poweradmin-v400-the-biggest-update</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-v400-the-biggest-update</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Thu, 31 Jul 2025 06:32:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Jy9Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153fa8a-0221-4dd3-9978-9a808b1687ae_2630x1364.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>After months of development and extensive community collaboration, Poweradmin v4.0.0 represents a significant milestone in the project's evolution. This release addresses long-standing user requests while introducing modern infrastructure improvements that position Poweradmin for the future.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Jy9Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153fa8a-0221-4dd3-9978-9a808b1687ae_2630x1364.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Jy9Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153fa8a-0221-4dd3-9978-9a808b1687ae_2630x1364.png 424w, https://substackcdn.com/image/fetch/$s_!Jy9Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153fa8a-0221-4dd3-9978-9a808b1687ae_2630x1364.png 848w, https://substackcdn.com/image/fetch/$s_!Jy9Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153fa8a-0221-4dd3-9978-9a808b1687ae_2630x1364.png 1272w, https://substackcdn.com/image/fetch/$s_!Jy9Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153fa8a-0221-4dd3-9978-9a808b1687ae_2630x1364.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Jy9Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153fa8a-0221-4dd3-9978-9a808b1687ae_2630x1364.png" width="1456" height="755" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c153fa8a-0221-4dd3-9978-9a808b1687ae_2630x1364.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:755,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:376208,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.poweradmin.org/i/169720093?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153fa8a-0221-4dd3-9978-9a808b1687ae_2630x1364.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Jy9Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153fa8a-0221-4dd3-9978-9a808b1687ae_2630x1364.png 424w, https://substackcdn.com/image/fetch/$s_!Jy9Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153fa8a-0221-4dd3-9978-9a808b1687ae_2630x1364.png 848w, https://substackcdn.com/image/fetch/$s_!Jy9Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153fa8a-0221-4dd3-9978-9a808b1687ae_2630x1364.png 1272w, https://substackcdn.com/image/fetch/$s_!Jy9Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc153fa8a-0221-4dd3-9978-9a808b1687ae_2630x1364.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Key Improvements in DNS Management</h2><h3>Bulk Operations and Data Portability</h3><p>The introduction of bulk record operations addresses one of our most requested features. You can now add multiple DNS records to a zone through a streamlined interface, significantly reducing the time spent on routine configurations.</p><p>The new CSV export functionality provides data portability, making it easier to backup, audit, or migrate your DNS configurations. Combined with our enhanced template zone management system, you can now view all domains using a specific template and manage zones more efficiently.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jUIb!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85163d3e-bb77-4ba6-8e49-f84c60b5bb40_2612x1374.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jUIb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85163d3e-bb77-4ba6-8e49-f84c60b5bb40_2612x1374.png 424w, https://substackcdn.com/image/fetch/$s_!jUIb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85163d3e-bb77-4ba6-8e49-f84c60b5bb40_2612x1374.png 848w, https://substackcdn.com/image/fetch/$s_!jUIb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85163d3e-bb77-4ba6-8e49-f84c60b5bb40_2612x1374.png 1272w, https://substackcdn.com/image/fetch/$s_!jUIb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85163d3e-bb77-4ba6-8e49-f84c60b5bb40_2612x1374.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jUIb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85163d3e-bb77-4ba6-8e49-f84c60b5bb40_2612x1374.png" width="1456" height="766" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/85163d3e-bb77-4ba6-8e49-f84c60b5bb40_2612x1374.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:766,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:346335,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://www.poweradmin.org/i/169720093?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85163d3e-bb77-4ba6-8e49-f84c60b5bb40_2612x1374.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jUIb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85163d3e-bb77-4ba6-8e49-f84c60b5bb40_2612x1374.png 424w, https://substackcdn.com/image/fetch/$s_!jUIb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85163d3e-bb77-4ba6-8e49-f84c60b5bb40_2612x1374.png 848w, https://substackcdn.com/image/fetch/$s_!jUIb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85163d3e-bb77-4ba6-8e49-f84c60b5bb40_2612x1374.png 1272w, https://substackcdn.com/image/fetch/$s_!jUIb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F85163d3e-bb77-4ba6-8e49-f84c60b5bb40_2612x1374.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Enhanced Security Architecture</h3><p>Security improvements in v4.0.0 reflect the evolving threat landscape:</p><ul><li><p><strong>Flexible password reset controls</strong> allow organizations to align the system with their security policies</p></li><li><p><strong>Database-backed user preferences</strong> provide personalized experiences without compromising security</p></li><li><p><strong>Comprehensive password policy enforcement</strong> ensures consistent security standards</p></li><li><p><strong>User agreement system</strong> with complete audit trails for compliance requirements</p></li><li><p><strong>Optional reCAPTCHA integration</strong> provides additional protection against automated attacks</p></li></ul><h3>Interface Modernization</h3><p>The user interface has been thoughtfully redesigned with a focus on usability. The new dashboard features a card-based layout that adapts to different screen sizes, while dark theme support reduces eye strain during extended use.</p><p>Small but impactful improvements include:</p><ul><li><p>Required field indicators that prevent submission errors</p></li><li><p>Smart zone name suggestions that help avoid common mistakes</p></li><li><p>Email template preview functionality with plain text fallback options</p></li><li><p>An enhanced installer with clear progress indicators</p></li></ul><h3>Technical Foundation Upgrades</h3><p>v4.0.0 introduces substantial architectural improvements:</p><ul><li><p><strong>WHOIS/RDAP integration</strong> brings registration data into your workflow</p></li><li><p><strong>RESTful API with OpenAPI documentation</strong> enables automation and integration</p></li><li><p><strong>FrankenPHP deployment</strong> option for improved performance (Docker)</p></li><li><p><strong>Multi-database support</strong> across MySQL, PostgreSQL, and SQLite</p></li><li><p><strong>Symfony component adoption</strong> for robust validation and request handling</p></li></ul><h2>Notable Bug Fixes</h2><p>This release resolves several persistent issues:</p><ul><li><p>PTR records now properly delete alongside their associated A records</p></li><li><p>Duplicate PTR record creation has been eliminated</p></li><li><p>CNAME validation correctly rejects non-FQDN content</p></li><li><p>Root record CNAME warnings prevent invalid configurations</p></li><li><p>Navigation highlighting and form structure inconsistencies have been resolved</p></li></ul><h2>Architecture and Standards</h2><p>The codebase has undergone significant refactoring to improve maintainability:</p><ul><li><p>Centralized configuration management replaces scattered settings</p></li><li><p>RFC-compliant validation ensures standard DNS behavior</p></li><li><p>Improved input sanitization and permission checking throughout</p></li><li><p>Consistent timezone handling across the application</p></li></ul><p>This is by no means an exhaustive list - I'm not entirely sure I haven't missed something, and it would be difficult to describe all the features and fixes that made it into this release. For a more complete overview, you can explore the documentation at <a href="https://docs.poweradmin.org/">docs.poweradmin.org</a>.</p><h2>Migration Considerations</h2><p>Upgrading from v3.x requires careful planning. I've prepared comprehensive documentation at <a href="https://docs.poweradmin.org/upgrading/v4.0.0/">docs.poweradmin.org/upgrading/v4.0.0/</a> that covers database migrations, configuration updates, and potential compatibility considerations.</p><h2>Continued Support for v3.x</h2><p>For organizations and people that prefer to stay with the stable and well-tested v3.x branch while evaluating v4.0.0, I've also released <a href="https://github.com/poweradmin/poweradmin/releases/tag/v3.9.5">v3.9.5</a> as a minor patch update. This release ensures that production environments can continue running on the proven v3.x codebase while taking time to properly test the new v4.x features.</p><h2>Community Contributions</h2><p>This release benefited greatly from community involvement. Particular recognition goes to @michielvisser for extensive testing and feedback throughout the development cycle, and to @muckl for multiple code contributions.</p><h2>Looking Forward</h2><p>v4.0.0 establishes a foundation for future enhancements. The coming weeks will be dedicated to gathering user feedback and addressing any issues that arise from real-world usage. While I don't anticipate major feature additions in the immediate future, I'll focus on stability improvements and bug fixes based on your reports.</p><p>I'm particularly interested in understanding which improvements would be most valuable for your workflows, so please share your thoughts and experiences as you explore the new version.</p><h2>A Personal Note</h2><p>I'll be honest - this release has left me exhausted. v4.0.0 demanded enormous amounts of brain power and became the most expensive release I've ever produced. I invested in various AI tools to help improve the code and implement new features, spending both my money and countless hours to make Poweradmin better.</p><p>Whether this investment was worth it remains to be seen. If you find value in Poweradmin and want to support its continued development, donations through the available methods would be greatly appreciated. If you'd prefer to contribute in another way, please don't hesitate to get in touch.</p><div><hr></div><p><em>Poweradmin v4.0.0 is available now. For installation instructions and documentation, visit our project page.</em></p>]]></content:encoded></item><item><title><![CDATA[Poweradmin 3.9.4 - Patch Release]]></title><description><![CDATA[Add Pagination Rows Per Page]]></description><link>https://www.poweradmin.org/p/poweradmin-394-patch-release</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-394-patch-release</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Wed, 09 Jul 2025 19:29:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dUuf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a50c626-1a96-4781-9aa3-ce666498af31_2650x596.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I just pushed a small but useful update to the DNS zone management interface!</p><h3>What's New</h3><p>I've added pagination controls to the zone edit page with customizable rows per page. You can now choose between 10, 25, 50, or 100 records per page, making it much easier to navigate zones with lots of DNS records.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dUuf!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a50c626-1a96-4781-9aa3-ce666498af31_2650x596.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dUuf!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a50c626-1a96-4781-9aa3-ce666498af31_2650x596.png 424w, https://substackcdn.com/image/fetch/$s_!dUuf!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a50c626-1a96-4781-9aa3-ce666498af31_2650x596.png 848w, https://substackcdn.com/image/fetch/$s_!dUuf!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a50c626-1a96-4781-9aa3-ce666498af31_2650x596.png 1272w, https://substackcdn.com/image/fetch/$s_!dUuf!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a50c626-1a96-4781-9aa3-ce666498af31_2650x596.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dUuf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a50c626-1a96-4781-9aa3-ce666498af31_2650x596.png" width="1456" height="327" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a50c626-1a96-4781-9aa3-ce666498af31_2650x596.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:327,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:171309,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.poweradmin.org/i/167931312?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a50c626-1a96-4781-9aa3-ce666498af31_2650x596.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dUuf!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a50c626-1a96-4781-9aa3-ce666498af31_2650x596.png 424w, https://substackcdn.com/image/fetch/$s_!dUuf!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a50c626-1a96-4781-9aa3-ce666498af31_2650x596.png 848w, https://substackcdn.com/image/fetch/$s_!dUuf!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a50c626-1a96-4781-9aa3-ce666498af31_2650x596.png 1272w, https://substackcdn.com/image/fetch/$s_!dUuf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a50c626-1a96-4781-9aa3-ce666498af31_2650x596.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>No more multiple clicks through hundreds of records - the interface is now much cleaner and faster.</p><h3>What's Coming</h3><p>I'm still working on finalizing the full 4.0.0 release. Right now I'm testing the migration process from older 3.9.x versions to make sure everything upgrades smoothly without any issues.</p><p>More updates coming soon once I finish the migration testing.</p>]]></content:encoded></item><item><title><![CDATA[Poweradmin 3.9.3 - Patch Release]]></title><description><![CDATA[Enhanced Database Compatibility and Zone Navigation]]></description><link>https://www.poweradmin.org/p/poweradmin-393-patch-release</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-393-patch-release</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Sun, 15 Jun 2025 07:40:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!7c60!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92f1a48-94e4-4773-b007-1db2f617afd2_2638x1008.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This release brings important improvements to database compatibility and zone management functionality, focusing on system stability and user experience enhancements.</p><h2><strong>Enhanced Database Compatibility</strong></h2><p>This release significantly improves database compatibility across different environments:</p><p><strong>PowerDNS Database Prefix Support</strong> - Added proper support for PowerDNS database prefixes in the has_similar_records method (<a href="https://github.com/poweradmin/poweradmin/issues/709">#709</a>), ensuring seamless integration with custom PowerDNS configurations that use table prefixes.</p><p><strong>PostgreSQL Pagination Improvements</strong> - Enhanced PostgreSQL compatibility for domain pagination with complex sorting (<a href="https://github.com/poweradmin/poweradmin/issues/706">#706</a>), resolving issues that could affect large installations with sophisticated sorting requirements.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7c60!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92f1a48-94e4-4773-b007-1db2f617afd2_2638x1008.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7c60!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92f1a48-94e4-4773-b007-1db2f617afd2_2638x1008.png 424w, https://substackcdn.com/image/fetch/$s_!7c60!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92f1a48-94e4-4773-b007-1db2f617afd2_2638x1008.png 848w, https://substackcdn.com/image/fetch/$s_!7c60!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92f1a48-94e4-4773-b007-1db2f617afd2_2638x1008.png 1272w, https://substackcdn.com/image/fetch/$s_!7c60!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92f1a48-94e4-4773-b007-1db2f617afd2_2638x1008.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7c60!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92f1a48-94e4-4773-b007-1db2f617afd2_2638x1008.png" width="1456" height="556" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e92f1a48-94e4-4773-b007-1db2f617afd2_2638x1008.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:556,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:215139,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.poweradmin.org/i/165982605?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92f1a48-94e4-4773-b007-1db2f617afd2_2638x1008.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7c60!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92f1a48-94e4-4773-b007-1db2f617afd2_2638x1008.png 424w, https://substackcdn.com/image/fetch/$s_!7c60!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92f1a48-94e4-4773-b007-1db2f617afd2_2638x1008.png 848w, https://substackcdn.com/image/fetch/$s_!7c60!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92f1a48-94e4-4773-b007-1db2f617afd2_2638x1008.png 1272w, https://substackcdn.com/image/fetch/$s_!7c60!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe92f1a48-94e4-4773-b007-1db2f617afd2_2638x1008.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2><strong>Improved Zone Management</strong></h2><p>Several zone management improvements enhance the user experience:</p><p><strong>Case-Insensitive Navigation</strong> - Zone letter navigation is now case-insensitive (<a href="https://github.com/poweradmin/poweradmin/issues/707">#707</a>), making it easier to find zones regardless of how domain names are capitalized.</p><p><strong>Domain Ownership Pagination</strong> - Fixed pagination issues with domains having multiple owners (<a href="https://github.com/poweradmin/poweradmin/issues/706">#706</a>), ensuring proper display and navigation when domains are shared across multiple users or groups.</p><h2><strong>Community Appreciation</strong></h2><p>I want to extend my sincere thanks to the community members who reported these issues and provided valuable feedback. Your detailed bug reports and suggested solutions make Poweradmin better for everyone.</p><h2><strong>What's Next</strong></h2><p>The upcoming 4.0.0 release is still in testing phase and includes multiple exciting new features along with significant UI overhaul changes. Given the scope of these improvements, I want to ensure the release is stable enough before making it available to the community. This requires additional time for thorough testing and validation.</p><div><hr></div><p>For any issues or suggestions, please create new <a href="https://github.com/poweradmin/poweradmin/issues/new?template=Blank+issue">ticket</a> or start <a href="https://github.com/poweradmin/poweradmin/discussions/new/choose">discussion</a> in GitHub.</p>]]></content:encoded></item><item><title><![CDATA[Open Source Reality: A Maintainer's Perspective]]></title><description><![CDATA[What it really takes to keep a project running]]></description><link>https://www.poweradmin.org/p/open-source-reality-a-maintainers</link><guid isPermaLink="false">https://www.poweradmin.org/p/open-source-reality-a-maintainers</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Sat, 15 Mar 2025 15:04:55 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/19505b90-1333-4fe8-8992-dd7a68b93238_512x512.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Running an open source project like Poweradmin comes with challenges that aren't always visible to users and contributors. As the project has grown, I've found myself reflecting on what sustainable maintenance looks like and how to create the right environment for everyone involved.</p><h2>Why I updated our contribution guidelines</h2><p>I recently updated our <a href="https://github.com/poweradmin/poweradmin?tab=readme-ov-file#contributing">contribution guidelines</a> to better reflect the reality of maintaining this project. These updates include clearer attribution policies and more specific requirements for pull requests, helping contributors understand what makes for a successful submission. These changes aren't meant to discourage participation, but rather to create transparent expectations and ensure the project remains sustainable.</p><h2>The reality behind the repository</h2><p>What many don't see is that:</p><ul><li><p>All work on this project happens during my personal free time</p></li><li><p>I review PRs, answer questions, investigate issues, and handle all maintenance tasks</p></li><li><p>I personally cover financial costs including the domain, tools, and website hosting</p></li><li><p>While I occasionally receive donations (which I greatly appreciate), they represent a small fraction of what the equivalent professional work would cost</p></li></ul><p>Despite these challenges, we've built a stable tool used by organizations worldwide, with a growing user base and improved code quality with each release. The project continues to evolve thanks to community involvement.</p><p>I won't be making a code of conduct right now as I don't have the time or interest for this task. Instead, I've updated the existing guidelines which I believe sufficiently clarify expectations while maintaining the collaborative spirit that makes open source so valuable.</p><h2>Finding joy and moving forward</h2><p>Despite the challenges, there's something deeply rewarding about maintaining software that helps others. Seeing how people use the project and receiving positive feedback provides tremendous motivation and makes the effort worthwhile.</p><p>What keeps me going isn't individual recognition or credit, but knowing we're building something useful together. Your contributions, feedback, and acknowledgments provide the fuel that keeps this project moving forward. Donations also give me a boost of motivation, and I'm always thankful to those who provide this financial support - though this has never been my main target.</p><h2>How you can help Poweradmin thrive</h2><p>If you find Poweradmin valuable, here are specific ways you can help the project continue to grow:</p><ul><li><p><strong>Contribute code</strong> - Address open issues or implement new features</p></li><li><p><strong>Improve documentation</strong> - Help make the project more accessible to new users</p></li><li><p><strong>Report bugs</strong> - Detailed bug reports with steps to reproduce are incredibly valuable</p></li><li><p><strong>Share your success stories</strong> - Let us know how Poweradmin helps in your environment</p></li><li><p><strong>Spread the word</strong> - Tell others about the project if it's been useful to you</p></li></ul><p>Let's continue focusing on what matters most: creating something we can all be proud of that makes everyone's work a little easier.</p><p></p>]]></content:encoded></item><item><title><![CDATA[Poweradmin 3.9.2 - Patch Release]]></title><description><![CDATA[Automatic TXT Record Quoting & Critical UI Fixes]]></description><link>https://www.poweradmin.org/p/poweradmin-392-patch-release</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-392-patch-release</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Sun, 09 Mar 2025 05:45:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2087d8ad-be26-4e9d-b0a3-c5c87000aeb5_2494x506.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This release brings improvements to DNS record management and overall system stability.</p><h2>Improved DNS Record Management</h2><p>This release adds automatic quoting for TXT records (disabled by default). When enabled by setting <code>$dns_txt_auto_quote = true</code>, all content for TXT record types will be automatically quoted, simplifying DNS management without breaking existing configurations. The handling of quotes in DNS record content has also been improved for better display and storage.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!pPTo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf33bf93-91f4-460c-bad3-1d15596fe388_2494x506.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pPTo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf33bf93-91f4-460c-bad3-1d15596fe388_2494x506.png 424w, https://substackcdn.com/image/fetch/$s_!pPTo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf33bf93-91f4-460c-bad3-1d15596fe388_2494x506.png 848w, https://substackcdn.com/image/fetch/$s_!pPTo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf33bf93-91f4-460c-bad3-1d15596fe388_2494x506.png 1272w, https://substackcdn.com/image/fetch/$s_!pPTo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf33bf93-91f4-460c-bad3-1d15596fe388_2494x506.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pPTo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf33bf93-91f4-460c-bad3-1d15596fe388_2494x506.png" width="1456" height="295" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cf33bf93-91f4-460c-bad3-1d15596fe388_2494x506.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:295,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:127094,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.poweradmin.org/i/158689980?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf33bf93-91f4-460c-bad3-1d15596fe388_2494x506.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pPTo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf33bf93-91f4-460c-bad3-1d15596fe388_2494x506.png 424w, https://substackcdn.com/image/fetch/$s_!pPTo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf33bf93-91f4-460c-bad3-1d15596fe388_2494x506.png 848w, https://substackcdn.com/image/fetch/$s_!pPTo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf33bf93-91f4-460c-bad3-1d15596fe388_2494x506.png 1272w, https://substackcdn.com/image/fetch/$s_!pPTo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf33bf93-91f4-460c-bad3-1d15596fe388_2494x506.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><h2>Enhanced UI Experience</h2><p>Several UI improvements enhance the user experience:</p><ul><li><p>The edit comment button is now hidden for users without sufficient permissions</p></li><li><p>Fixed duplicate DNS record types appearing in dropdown selections (#639), ensuring each record type appears only once when combining multiple record type lists</p></li><li><p>Fixed important issue with CAA records by correctly handling quotes in DNS record content (#635)</p></li></ul><h2>System Improvements</h2><p>Several behind-the-scenes improvements enhance system reliability:</p><ul><li><p>Added post-create hook in Composer to clean up development artifacts</p></li><li><p>Added archive exclusion rules for better package management</p></li><li><p>Updated top level domain list</p></li></ul><h2>Technical Updates</h2><p>The core dependencies receive important updates:</p><ul><li><p>Updated CakePHP components to latest patch versions</p></li><li><p>Refreshed Symfony components</p></li><li><p>Upgraded Twig from 3.18.0 to 3.20.0</p></li></ul><p>These updates ensure better performance and security.</p><div><hr></div><p>For any issues or suggestions, please create new <a href="https://github.com/poweradmin/poweradmin/issues/new?template=Blank+issue">ticket</a> or start <a href="https://github.com/poweradmin/poweradmin/discussions/new/choose">discussion</a> in GitHub.</p>]]></content:encoded></item><item><title><![CDATA[Poweradmin 3.9.1 - Patch Release]]></title><description><![CDATA[Improved record visibility, comment handling, and DNSSEC key management]]></description><link>https://www.poweradmin.org/p/poweradmin-391-patch-release</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-391-patch-release</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Mon, 10 Feb 2025 18:46:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tR5o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82fdbe1-caf8-4964-b1b0-2a41da72865c_2690x612.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>This release brings improvements to DNS record management, DNSSEC handling, and overall system stability.</p><h3>Improved DNS Record Visibility</h3><p>DNS record management becomes clearer with disabled records now showing at reduced opacity, making it easier to understand a zone's complete configuration at a glance. This visual enhancement helps track both active and inactive records without cluttering the view.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tR5o!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82fdbe1-caf8-4964-b1b0-2a41da72865c_2690x612.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tR5o!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82fdbe1-caf8-4964-b1b0-2a41da72865c_2690x612.png 424w, https://substackcdn.com/image/fetch/$s_!tR5o!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82fdbe1-caf8-4964-b1b0-2a41da72865c_2690x612.png 848w, https://substackcdn.com/image/fetch/$s_!tR5o!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82fdbe1-caf8-4964-b1b0-2a41da72865c_2690x612.png 1272w, https://substackcdn.com/image/fetch/$s_!tR5o!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82fdbe1-caf8-4964-b1b0-2a41da72865c_2690x612.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tR5o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82fdbe1-caf8-4964-b1b0-2a41da72865c_2690x612.png" width="1456" height="331" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e82fdbe1-caf8-4964-b1b0-2a41da72865c_2690x612.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:331,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:148334,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tR5o!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82fdbe1-caf8-4964-b1b0-2a41da72865c_2690x612.png 424w, https://substackcdn.com/image/fetch/$s_!tR5o!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82fdbe1-caf8-4964-b1b0-2a41da72865c_2690x612.png 848w, https://substackcdn.com/image/fetch/$s_!tR5o!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82fdbe1-caf8-4964-b1b0-2a41da72865c_2690x612.png 1272w, https://substackcdn.com/image/fetch/$s_!tR5o!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe82fdbe1-caf8-4964-b1b0-2a41da72865c_2690x612.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><h3>Enhanced DNSSEC Management</h3><p>The DNSSEC management experience receives significant improvements:</p><ul><li><p>Better error handling during key addition processes</p></li><li><p>Improved form state persistence to prevent data loss</p></li><li><p>Updated RSASHA1-NSEC3 algorithm naming to match PowerDNS format</p></li></ul><p>These changes make DNSSEC configuration more reliable and user-friendly, reducing potential friction points in security setup.</p><h3>Improved Record Comment Management</h3><p>DNS record management becomes more robust with these fixes:</p><ul><li><p>Improved handling of record comments during zone updates</p></li><li><p>Prevention of duplicate record comments</p></li><li><p>More consistent comment retrieval for duplicate DNS records</p></li></ul><h3>System Improvements</h3><p>Several behind-the-scenes improvements enhance system reliability:</p><ul><li><p>Restructured modal components for better user interaction (thanks to <a href="https://github.com/bessone">Riccardo Bessone</a>)</p></li><li><p>Improved error handling and display configuration - new experimental configuration file added at <code>config/app.php</code> allows enabling detailed error messages for debugging PowerDNS API issues. To enable debug mode, set <code>display_errors</code> to <code>true</code> in the configuration</p><pre><code>&lt;?php

// This file is experimental and may be renamed or have its configuration changed in the next release.

return [
    'display_errors' =&gt; true, // Set to true to display error messages
];</code></pre></li><li><p>Enhanced database logging and templates</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!svEh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a5d9054-eaf8-40b9-9418-974d0ca57ebf_2634x1062.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!svEh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a5d9054-eaf8-40b9-9418-974d0ca57ebf_2634x1062.png 424w, https://substackcdn.com/image/fetch/$s_!svEh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a5d9054-eaf8-40b9-9418-974d0ca57ebf_2634x1062.png 848w, https://substackcdn.com/image/fetch/$s_!svEh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a5d9054-eaf8-40b9-9418-974d0ca57ebf_2634x1062.png 1272w, https://substackcdn.com/image/fetch/$s_!svEh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a5d9054-eaf8-40b9-9418-974d0ca57ebf_2634x1062.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!svEh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a5d9054-eaf8-40b9-9418-974d0ca57ebf_2634x1062.png" width="1456" height="587" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9a5d9054-eaf8-40b9-9418-974d0ca57ebf_2634x1062.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:587,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:355637,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!svEh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a5d9054-eaf8-40b9-9418-974d0ca57ebf_2634x1062.png 424w, https://substackcdn.com/image/fetch/$s_!svEh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a5d9054-eaf8-40b9-9418-974d0ca57ebf_2634x1062.png 848w, https://substackcdn.com/image/fetch/$s_!svEh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a5d9054-eaf8-40b9-9418-974d0ca57ebf_2634x1062.png 1272w, https://substackcdn.com/image/fetch/$s_!svEh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9a5d9054-eaf8-40b9-9418-974d0ca57ebf_2634x1062.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Technical Updates</h3><p>The core dependencies receive important updates:</p><ul><li><p>Refreshed Symfony components</p></li><li><p>Upgraded Twig to version 3.19.0</p></li></ul><p>These updates ensure better performance and security.</p><div><hr></div><p>For any issues or suggestions, please create new <a href="https://github.com/poweradmin/poweradmin/issues/new?template=Blank+issue">ticket</a> or start <a href="https://github.com/poweradmin/poweradmin/discussions/new/choose">discussion</a> in GitHub.</p>]]></content:encoded></item><item><title><![CDATA[PowerAdmin 3.9.0 Arrives: Key Features and Enhancements]]></title><description><![CDATA[Added Record Comments + Enhanced Installation Safety]]></description><link>https://www.poweradmin.org/p/poweradmin-390-arrives-key-features</link><guid isPermaLink="false">https://www.poweradmin.org/p/poweradmin-390-arrives-key-features</guid><dc:creator><![CDATA[Edmondas]]></dc:creator><pubDate>Tue, 14 Jan 2025 15:46:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Ywdd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9b2cf5-c547-4135-9230-bdfce016ac94_1602x1036.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2>Domain Record Management</h2><p>The new release adds automatic domain record management with the <code>$iface_add_domain_record</code> setting (enabled by default). When enabled, you'll see a checkbox in the zone edit that lets you create matching A/AAAA records automatically. This makes it easier to keep forward and reverse records in sync.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ywdd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9b2cf5-c547-4135-9230-bdfce016ac94_1602x1036.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ywdd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9b2cf5-c547-4135-9230-bdfce016ac94_1602x1036.png 424w, https://substackcdn.com/image/fetch/$s_!Ywdd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9b2cf5-c547-4135-9230-bdfce016ac94_1602x1036.png 848w, https://substackcdn.com/image/fetch/$s_!Ywdd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9b2cf5-c547-4135-9230-bdfce016ac94_1602x1036.png 1272w, https://substackcdn.com/image/fetch/$s_!Ywdd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9b2cf5-c547-4135-9230-bdfce016ac94_1602x1036.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ywdd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9b2cf5-c547-4135-9230-bdfce016ac94_1602x1036.png" width="1456" height="942" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fa9b2cf5-c547-4135-9230-bdfce016ac94_1602x1036.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:942,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:118018,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ywdd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9b2cf5-c547-4135-9230-bdfce016ac94_1602x1036.png 424w, https://substackcdn.com/image/fetch/$s_!Ywdd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9b2cf5-c547-4135-9230-bdfce016ac94_1602x1036.png 848w, https://substackcdn.com/image/fetch/$s_!Ywdd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9b2cf5-c547-4135-9230-bdfce016ac94_1602x1036.png 1272w, https://substackcdn.com/image/fetch/$s_!Ywdd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffa9b2cf5-c547-4135-9230-bdfce016ac94_1602x1036.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Record Comments System</h2><p>This version introduces two new settings for record comments. The <code>$iface_record_comments</code> setting turns comment visibility on or off in the interface. When it's on, you can see and edit comments for DNS records right in the interface.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BMJH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55922d0-8693-4afc-af9e-f7d94a32f7f1_2646x834.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BMJH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55922d0-8693-4afc-af9e-f7d94a32f7f1_2646x834.png 424w, https://substackcdn.com/image/fetch/$s_!BMJH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55922d0-8693-4afc-af9e-f7d94a32f7f1_2646x834.png 848w, https://substackcdn.com/image/fetch/$s_!BMJH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55922d0-8693-4afc-af9e-f7d94a32f7f1_2646x834.png 1272w, https://substackcdn.com/image/fetch/$s_!BMJH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55922d0-8693-4afc-af9e-f7d94a32f7f1_2646x834.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BMJH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55922d0-8693-4afc-af9e-f7d94a32f7f1_2646x834.png" width="1456" height="459" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a55922d0-8693-4afc-af9e-f7d94a32f7f1_2646x834.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:459,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:175674,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BMJH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55922d0-8693-4afc-af9e-f7d94a32f7f1_2646x834.png 424w, https://substackcdn.com/image/fetch/$s_!BMJH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55922d0-8693-4afc-af9e-f7d94a32f7f1_2646x834.png 848w, https://substackcdn.com/image/fetch/$s_!BMJH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55922d0-8693-4afc-af9e-f7d94a32f7f1_2646x834.png 1272w, https://substackcdn.com/image/fetch/$s_!BMJH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa55922d0-8693-4afc-af9e-f7d94a32f7f1_2646x834.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The <code>$record_comments_sync</code> setting lets comments sync between A and PTR records. When this is on, any comment you add or change on an A record will automatically update on its matching PTR record, and vice versa. This helps keep record documentation consistent.</p><h2>UI Enhancements</h2><p>The interface has several improvements. The <code>$iface_edit_show_id</code> setting lets you show or hide record IDs in the edit form, which helps with record management and fixing issues.</p><p>You can now choose where new items appear in the record management interface. The <code>$iface_edit_add_record_top</code> setting lets you put new record fields at the top or bottom of the list. The <code>$iface_edit_save_changes_top</code> setting does the same for the save changes button, so you can set up the interface in a way that works best for you.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!jPC3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa09be265-dd0f-4045-892e-c06e67f56280_2634x780.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!jPC3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa09be265-dd0f-4045-892e-c06e67f56280_2634x780.png 424w, https://substackcdn.com/image/fetch/$s_!jPC3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa09be265-dd0f-4045-892e-c06e67f56280_2634x780.png 848w, https://substackcdn.com/image/fetch/$s_!jPC3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa09be265-dd0f-4045-892e-c06e67f56280_2634x780.png 1272w, https://substackcdn.com/image/fetch/$s_!jPC3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa09be265-dd0f-4045-892e-c06e67f56280_2634x780.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!jPC3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa09be265-dd0f-4045-892e-c06e67f56280_2634x780.png" width="1456" height="431" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a09be265-dd0f-4045-892e-c06e67f56280_2634x780.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:431,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:154560,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!jPC3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa09be265-dd0f-4045-892e-c06e67f56280_2634x780.png 424w, https://substackcdn.com/image/fetch/$s_!jPC3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa09be265-dd0f-4045-892e-c06e67f56280_2634x780.png 848w, https://substackcdn.com/image/fetch/$s_!jPC3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa09be265-dd0f-4045-892e-c06e67f56280_2634x780.png 1272w, https://substackcdn.com/image/fetch/$s_!jPC3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa09be265-dd0f-4045-892e-c06e67f56280_2634x780.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Installation Security Updates</h2><p>The installation process now includes several security improvements. The <code>$ignore_install_dir</code> setting has been removed to make things more secure. You should now delete the installation directory after you finish installing.</p><p>There's a new config file at <code>install/config.php</code> that controls who can access the installer based on IP address. This is useful when you're installing in public spaces or on shared hosting. You can set specific IP addresses and IP ranges that are allowed to access the installer:</p><pre><code>'ip_access' =&gt; [  
    'enabled' =&gt; false,  
    'allowed_ips' =&gt; [  
        '127.0.0.1',  
        '::1',  
    ],  
    'allowed_ranges' =&gt; [  
        //'192.168.0.0/16',  
        //'172.16.0.0/12',
        //'10.0.0.0/8'
    ]  
]</code></pre><p>The installation wizard now includes CSRF protection to prevent unauthorized access to installation steps. You can turn this on or off with this setting:</p><p>For better security during installation:</p><ul><li><p>Turn on IP access control when installing in public spaces</p></li><li><p>Keep CSRF protection on unless you're fixing specific problems</p></li><li><p>Delete the installation directory when you're done</p></li></ul><h2>Database Changes</h2><p><strong>For MySQL (or derivatives):</strong></p><pre><code>ALTER TABLE zone_templ_records MODIFY COLUMN content varchar(2048) NOT NULL;</code></pre><p><strong>For PostgreSQL:</strong></p><pre><code>ALTER TABLE zone_templ_records ALTER COLUMN content TYPE varchar(2048), ALTER COLUMN content SET NOT NULL;</code></pre><p><strong>For SQLite:</strong></p><p>There are more steps required. Please check the related migration file: <a href="https://github.com/poweradmin/poweradmin/blob/master/sql/poweradmin-sqlite-update-to-3.9.0.sql">poweradmin-sqlite-update-to-3.9.0.sql</a></p><h2>Credits</h2><p>Thanks to all individuals, IRAM (Institut de Radioastronomie Millim&#233;trique), Orange Cyberdefense, and others who have contributed and supported this project. Your continuous feedback, bug reports and suggestions help improve this software and make it better for everyone.</p><h2>What's Next</h2><p>Time for a short break before starting on new features. Bug fixes for this release will be handled if needed. More features are planned for the future. If you'd like to prioritize specific features or discuss custom implementations, feel free to get in touch about collaboration, donation, or contract options.</p><p></p><p></p>]]></content:encoded></item></channel></rss>