This service tests the validity of an RSS 2.0 feed, checking to see that it follows the rules of the RSS specification. For advice from the RSS Advisory Board on how to implement RSS and handle issues such as enclosures and HTML encoding, read the RSS Best Practices Profile. This checker is also a validator of Atom and RSS 1.0 feeds.
Use this tester regularly to ensure that your RSS feed continues to work well in the wide audience of RSS readers, podcast clients and other software that supports the format.
This is a valid RSS feed.
This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.
<div class="wp-block-image">
line 1997, column 0: (10 occurrences) [help]
<div class="wp-block-image">
line 1997, column 0: (10 occurrences) [help]
<div class="wp-block-image">
line 2290, column 0: (12 occurrences) [help]
<p>There are still a couple of outliers (<a class="issue-link js-issue-link ...
line 2290, column 0: (12 occurrences) [help]
<p>There are still a couple of outliers (<a class="issue-link js-issue-link ...
line 2290, column 0: (12 occurrences) [help]
<p>There are still a couple of outliers (<a class="issue-link js-issue-link ...
line 2290, column 0: (12 occurrences) [help]
<p>There are still a couple of outliers (<a class="issue-link js-issue-link ...
line 2290, column 0: (19 occurrences) [help]
<p>There are still a couple of outliers (<a class="issue-link js-issue-link ...
line 2290, column 0: (19 occurrences) [help]
<p>There are still a couple of outliers (<a class="issue-link js-issue-link ...
line 2295, column 0: (7 occurrences) [help]
<li>Update build containers to <a class="rgh-seen-5099334730" href="https:// ...
line 2295, column 0: (7 occurrences) [help]
<li>Update build containers to <a class="rgh-seen-5099334730" href="https:// ...
<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" > <channel> <title>Pi-hole</title> <atom:link href="https://pi-hole.net/feed/" rel="self" type="application/rss+xml" /> <link>https://pi-hole.net</link> <description>Network-wide Ad Blocking</description> <lastBuildDate>Fri, 24 Apr 2026 22:15:11 +0000</lastBuildDate> <language>en-US</language> <sy:updatePeriod> hourly </sy:updatePeriod> <sy:updateFrequency> 1 </sy:updateFrequency> <image> <url>https://wp-cdn.pi-hole.net/wp-content/uploads/2016/12/cropped-Vortex-R-32x32.png</url> <title>Pi-hole</title> <link>https://pi-hole.net</link> <width>32</width> <height>32</height></image> <item> <title>Pi-hole FTL v6.6.1 and Core v6.4.2 Released!</title> <link>https://pi-hole.net/blog/2026/04/24/pi-hole-ftl-v6-6-1-and-core-v6-4-2-released/</link> <dc:creator><![CDATA[Adam Warner]]></dc:creator> <pubDate>Fri, 24 Apr 2026 22:15:11 +0000</pubDate> <category><![CDATA[Updates]]></category> <guid isPermaLink="false">https://pi-hole.net/?p=84016</guid> <description><![CDATA[As always, please read through the changelogs before updating with pihole -up Don’t forget, you can use Teleporter to export your configuration. It can be found under the settings menu of the web interface or on the command line with pihole-FTL --teleporter Docker has been tagged as 2026.04.1 Highlights This release is mostly about addressing… <br> <a class="button small blue" href="https://pi-hole.net/blog/2026/04/24/pi-hole-ftl-v6-6-1-and-core-v6-4-2-released/">Read more</a>]]></description> <content:encoded><![CDATA[<p>As always, please read through the changelogs before updating with <code>pihole -up</code></p> <p>Don’t forget, you can use Teleporter to export your configuration. It can be found under the settings menu of the web interface or on the command line with <code>pihole-FTL --teleporter</code></p> <p>Docker has been tagged as 2026.04.1</p> <hr class="wp-block-separator has-alpha-channel-opacity"/> <h2 class="wp-block-heading">Highlights</h2> <p>This release is mostly about addressing two security advisories – one in FTL and one in Core. We’d like to thank the researchers who responsibly disclosed these issues.</p> <p>Full details for both advisories can be found at the following links:</p> <ul class="wp-block-list"><li><a href="https://github.com/pi-hole/pi-hole/security/advisories/GHSA-6w8x-p785-6pm4">pi-hole/pi-hole/security/advisories/GHSA-6w8x-p785-6pm4</a> reported by <a href="https://github.com/mjkim610">@mjkim610</a></li> <li><a href="https://github.com/pi-hole/FTL/security/advisories/GHSA-9cqv-839p-gpq2">pi-hole/FTL/security/advisories/GHSA-9cqv-839p-gpq2</a> reported by <a href="https://github.com/anuraagbaishya">@anuraagbaishya</a></li></ul> <p>Details of all other fixes can be found below!</p> <hr class="wp-block-separator has-alpha-channel-opacity"/> <h2 class="wp-block-heading">FTL v6.6.1</h2> <h3 class="wp-block-heading">What’s Changed</h3> <ul class="wp-block-list"><li>Add new <code>GET /api/config/_properties</code> endpoint by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2356">#2356</a></li> <li>Fix thread-safety issues causing SIGSEGV under concurrent API load by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2835">#2835</a></li> <li>fix: fix rare race condition for SHM strings in API handlers by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2833">#2833</a></li> <li>Accept punycode domains that libidn2 rejects under IDNA2008 by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2838">#2838</a></li> <li>Improve shutdown diagnostics to identify SIGTERM source by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2839">#2839</a></li> <li>Resolve empty backtraces when addr2line is not installed by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2831">#2831</a></li> <li>Improve thread-safety for concurrent API requests by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2847">#2847</a></li> <li>Don’t skip device lookup when resolver.macNames is disabled by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2846">#2846</a></li> <li>Fix linker error when compiling w/o optimization by <a href="https://github.com/aeolio">@aeolio</a> in <a href="https://github.com/pi-hole/FTL/pull/2850">#2850</a></li> <li>Clarify <code>dns.blockESNI</code> wording by <a href="https://github.com/darkexplosiveqwx">@darkexplosiveqwx</a> in <a href="https://github.com/pi-hole/FTL/pull/2784">#2784</a></li> <li>Preserve log file path config when fopen fails by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2834">#2834</a></li></ul> <h2 class="wp-block-heading">Security advisories</h2> <ul class="wp-block-list"><li><a href="https://github.com/pi-hole/pi-hole/security/advisories/GHSA-6w8x-p785-6pm4">pi-hole/pi-hole/security/advisories/GHSA-6w8x-p785-6pm4</a><ul class="wp-block-list"><li>Fixed with :</li></ul></li> <li><a href="https://github.com/pi-hole/FTL/security/advisories/GHSA-9cqv-839p-gpq2">pi-hole/FTL/security/advisories/GHSA-9cqv-839p-gpq2</a><ul class="wp-block-list"><li>Fixed with :</li></ul></li></ul> <h2 class="wp-block-heading">New Contributors</h2> <ul class="wp-block-list"><li><a href="https://github.com/darkexplosiveqwx">@darkexplosiveqwx</a> made their first contribution in <a href="https://github.com/pi-hole/FTL/pull/2784">#2784</a></li></ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pi-hole/FTL/compare/v6.6...v6.6.1">v6.6…v6.6.1</a></p> <hr class="wp-block-separator has-alpha-channel-opacity"/> <h2 class="wp-block-heading">Core v6.4.2</h2> <h3 class="wp-block-heading">What’s Changed</h3> <ul class="wp-block-list"><li>Fix ownership permissions for containing directories in fix_owner_per… by <a href="https://github.com/PromoFaux">@PromoFaux</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6589">#6589</a></li> <li>Remove reference to /usr/local/bin/COL_TABLE by <a href="https://github.com/darkexplosiveqwx">@darkexplosiveqwx</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6594">#6594</a></li> <li>Skip apt cache update when pihole-meta is current by <a href="https://github.com/PromoFaux">@PromoFaux</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6581">#6581</a></li> <li>Set versions in /etc/pihole/versions to null if script fails by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6550">#6550</a></li> <li>Wipe version file before creating a new one by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6538">#6538</a></li> <li>Remove redundant touching of logfiles from systemd Service by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6601">#6601</a></li> <li>Loosen requirements for local file access for gravity by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6430">#6430</a></li> <li>Fix permission for *.etag files after gravity run by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6353">#6353</a></li> <li>add logrotate to DEB and RPM dependencies by <a href="https://github.com/darkexplosiveqwx">@darkexplosiveqwx</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6524">#6524</a></li> <li>Improve gravity error message including curl exit code and errormsg by <a href="https://github.com/rdwebdesign">@rdwebdesign</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6605">#6605</a></li></ul> <h2 class="wp-block-heading">Security advisories</h2> <ul class="wp-block-list"><li><a href="https://github.com/pi-hole/pi-hole/security/advisories/GHSA-6w8x-p785-6pm4">pi-hole/pi-hole/security/advisories/GHSA-6w8x-p785-6pm4</a><ul class="wp-block-list"><li>Fixed with :</li></ul></li></ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pi-hole/pi-hole/compare/v6.4.1...v6.4.2">v6.4.1…v6.4.2</a></p>]]></content:encoded> </item> <item> <title>Pi-hole FTL v6.6, Web v6.5 and Core v6.4.1 Released!</title> <link>https://pi-hole.net/blog/2026/04/03/pi-hole-ftl-v6-6-web-v6-5-and-core-v6-4-1-released/</link> <dc:creator><![CDATA[Adam Warner]]></dc:creator> <pubDate>Fri, 03 Apr 2026 17:52:25 +0000</pubDate> <category><![CDATA[Updates]]></category> <guid isPermaLink="false">https://pi-hole.net/?p=83686</guid> <description><![CDATA[As always, please read through the changelogs before updating with pihole -up Don’t forget, you can use Teleporter to export your configuration. It can be found under the settings menu of the web interface or on the command line with pihole-FTL --teleporter This release has also been tagged on Docker as 2026.04.0 Highlights Security Thank… <br> <a class="button small blue" href="https://pi-hole.net/blog/2026/04/03/pi-hole-ftl-v6-6-web-v6-5-and-core-v6-4-1-released/">Read more</a>]]></description> <content:encoded><![CDATA[<p>As always, please read through the changelogs before updating with <code>pihole -up</code></p> <p>Don’t forget, you can use Teleporter to export your configuration. It can be found under the settings menu of the web interface or on the command line with <code>pihole-FTL --teleporter</code></p> <p>This release has also been tagged on Docker as <code>2026.04.0</code></p> <hr class="wp-block-separator has-alpha-channel-opacity"/> <h2 class="wp-block-heading">Highlights</h2> <h3 class="wp-block-heading">Security</h3> <p>Thank you to <strong><a href="https://github.com/andrejtomci">andrejtomci</a></strong> for responsibly disclosing multiple web interface vulnerabilities covering a range of XSS and HTML injection attack vectors.</p> <p>Thank you to <strong><a href="https://github.com/smittix">smittix</a></strong> for responsibly disclosing a local privilege escalation vulnerability in the Core component, where <code>/etc/pihole/versions</code> could be sourced by root-run Pi-hole scripts, allowing code execution as root in a post-compromise scenario. This has been fixed by replacing the <code>source</code> call with a safe parser that only assigns known keys with validated values.</p> <p>Thank you to <a href="https://github.com/mzalzahrani"><strong>mzalzahrani</strong></a> for responsibly disclosing an authorization bypass in FTL, where CLI API sessions (intended to be read-only) were able to import Teleporter archives via /api/teleporter, bypassing the restrictions correctly enforced on /api/config. This has been fixed by applying the same CLI session check to the Teleporter import endpoint.</p> <p>Thank you to <strong><a href="https://github.com/T0X1Cx">T0X1Cx</a></strong> for responsibly disclosing a newline injection vulnerability in FTL, where several configuration parameters — including <code>dns.upstreams</code>, <code>dns.hostRecord</code>, <code>dns.cnameRecords</code>, <code>dhcp.leaseTime</code>, and <code>dhcp.hosts</code> — lacked validation against newline characters, allowing an authenticated attacker to inject arbitrary dnsmasq configuration directives. This has been fixed by adding newline validation to the affected config items.</p> <p>Full details for all advisories can be found at the following links:</p> <ul class="wp-block-list"><li>Multiple Stored HTML Injections and XSS in different web interface pages reported by <strong><a href="https://github.com/andrejtomci">andrejtomci</a></strong><ul class="wp-block-list"><li><a href="https://github.com/pi-hole/web/security/advisories/GHSA-jx8x-mj2r-62vq">GHSA-jx8x-mj2r-62vq – Stored HTML Injection in queries.js</a></li> <li><a href="https://github.com/pi-hole/web/security/advisories/GHSA-9rfm-c5g6-538p">GHSA-9rfm-c5g6-538p – Stored HTML attribute injection</a></li> <li><a href="https://github.com/pi-hole/web/security/advisories/GHSA-px6w-85wp-ww9v">GHSA-px6w-85wp-ww9v – Stored XSS / HTML injection in the Network page/Dashboard</a></li> <li><a href="https://github.com/pi-hole/web/security/advisories/GHSA-7xqw-r9pr-qv59">GHSA-7xqw-r9pr-qv59 – Reflected XSS / HTML injection in taillog.js</a> (Also reported by <a href="https://github.com/n1rwhex">n1rwhex</a> and <a href="https://github.com/mzalzahrani">mzalzahrani</a>)</li></ul></li> <li><a href="https://github.com/pi-hole/pi-hole/security/advisories/GHSA-c935-8g63-qp74">GHSA-c935-8g63-qp74 – Local Privilege Escalation</a> reported by <strong><a href="https://github.com/smittix">smittix</a></strong> </li> <li><a href="https://github.com/pi-hole/FTL/security/advisories/GHSA-r7g8-3fj7-m5qq">GHSA-r7g8-3fj7-m5qq – Authorization bypass: CLI API sessions can import Teleporter archives and modify configuration</a> reported by <a href="https://github.com/mzalzahrani"><strong>mzalzahrani</strong></a> </li> <li>Remote Code Execution (RCE) via Newline Injection in Multiple Configuration Parameters reported by <strong><a href="https://github.com/T0X1Cx">T0X1Cx</a></strong> <ul class="wp-block-list"><li><a href="https://github.com/pi-hole/FTL/security/advisories/GHSA-vfmq-jrx3-wv3c">pi-hole/FTL/security/advisories/GHSA-vfmq-jrx3-wv3c</a></li> <li><a href="https://github.com/pi-hole/FTL/security/advisories/GHSA-wxhv-w77q-6qwp">pi-hole/FTL/security/advisories/GHSA-wxhv-w77q-6qwp</a></li> <li><a href="https://github.com/pi-hole/FTL/security/advisories/GHSA-28g5-gg88-wh5m">pi-hole/FTL/security/advisories/GHSA-28g5-gg88-wh5m</a></li> <li><a href="https://github.com/pi-hole/FTL/security/advisories/GHSA-fqv2-qhfh-ghcj">pi-hole/FTL/security/advisories/GHSA-fqv2-qhfh-ghcj</a></li> <li><a href="https://github.com/pi-hole/FTL/security/advisories/GHSA-23w8-7333-p9fj">pi-hole/FTL/security/advisories/GHSA-23w8-7333-p9fj</a></li></ul></li></ul> <h3 class="wp-block-heading">No More DNS Interruptions During Gravity Updates</h3> <p>FTL will now wait for a running <code>pihole -g</code> to finish before restarting, rather than potentially cutting it short and leaving your Pi-hole unable to serve DNS in the interim. This has been a long-standing edge case — it’s now properly handled. (<a href="https://github.com/pi-hole/FTL/pull/2419">FTL #2419</a>)</p> <h3 class="wp-block-heading">MAC Address Name Resolution Control</h3> <p>A new <code>resolver.macNames</code> config option lets you control whether FTL attempts to resolve hostnames via MAC addresses. Useful if you’re running a network setup where clients aren’t all on the same Layer 2 segment and this behaviour was causing issues. (<a href="https://github.com/pi-hole/FTL/pull/2790">FTL #2790</a>)</p> <h3 class="wp-block-heading">Other notable fixes</h3> <ul class="wp-block-list"><li><strong>Query log showing millions of pages?</strong> A subtle integer underflow could cause the query counter to wrap to ~1.84×10¹⁹, making the log appear to have an absurd number of pages. Fixed. (<a href="https://github.com/pi-hole/FTL/pull/2815">FTL #2815</a>)</li> <li><strong>Rate-limited queries inflating client counts</strong> — The “Top Clients” counter was being incremented before the rate limiter could reject a query, leading to inflated numbers. Fixed. (<a href="https://github.com/pi-hole/FTL/pull/2814">FTL #2814</a>)</li> <li><strong>overTime graphs incorrect with <code>database.DBimport = false</code></strong> — Garbage collection would never run in this configuration, causing memory to grow unboundedly and overTime data to be wrong. Fixed. (<a href="https://github.com/pi-hole/FTL/pull/2788">FTL #2788</a>)</li></ul> <hr class="wp-block-separator has-alpha-channel-opacity"/> <h2 class="wp-block-heading">FTL v6.6</h2> <h3 class="wp-block-heading">What’s Changed</h3> <ul class="wp-block-list"><li>Fix possible resolver issue on armv5tel by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2781">Fix possible resolver issue on armv5tel #2781</a></li> <li>Introduce CMake options for optional dependencies by <a href="https://github.com/aeolio">@aeolio</a> in <a href="https://github.com/pi-hole/FTL/pull/2795">Introduce CMake options for optional dependencies #2795</a></li> <li>Fix build without mbedtls [v2] by <a href="https://github.com/aeolio">@aeolio</a> in <a href="https://github.com/pi-hole/FTL/pull/2796">Fix build without mbedtls [v2] #2796</a></li> <li>Fix overTime data when database.DBimport = false by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2788">Fix overTime data when database.DBimport = false #2788</a></li> <li>Fix cross-compilation issues w/ custom toolchain by <a href="https://github.com/aeolio">@aeolio</a> in <a href="https://github.com/pi-hole/FTL/pull/2797">Fix cross-compilation issues w/ custom toolchain #2797</a></li> <li>Add new option for controling name resolution via MAC address by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2790">Add new option for controling name resolution via MAC address #2790</a></li> <li>Fix obtaining client groups by name by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2791">Fix obtaining client groups by name #2791</a></li> <li>Ensure API sessions are restored before starting the HTTP server by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2803">Ensure API sessions are restored before starting the HTTP server #2803</a></li> <li>Add form-action ‘self’ to Content-Security-Policy by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/FTL/pull/2804">Add form-action ‘self’ to Content-Security-Policy #2804</a></li> <li>Add query_frequency to /padd endpoint by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/FTL/pull/2806">Add query_frequency to /padd endpoint #2806</a></li> <li>Guard query-count counters against unsigned underflow by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2815">Guard query-count counters against unsigned underflow #2815</a></li> <li>Add universal crash backtrace via _Unwind_Backtrace by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2811">Add universal crash backtrace via _Unwind_Backtrace #2811</a></li> <li>config: show totp_secret presence in CLI output by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2813">config: show totp_secret presence in CLI output #2813</a></li> <li>Fix client count inflation for rate-limited queries by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2814">Fix client count inflation for rate-limited queries #2814</a></li> <li>Fix stack buffer overflow in get_process_name() by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2821">Fix stack buffer overflow in get_process_name() #2821</a></li> <li>Do not restart FTL while <code>pihole -g</code> is still ongoing by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2419">Do not restart FTL while <code>pihole -g</code> is still ongoing #2419</a></li></ul> <h3 class="wp-block-heading">New Contributors</h3> <ul class="wp-block-list"><li><a href="https://github.com/aeolio">@aeolio</a> made their first contribution in <a href="https://github.com/pi-hole/FTL/pull/2795">Introduce CMake options for optional dependencies #2795</a></li></ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pi-hole/FTL/compare/v6.5...v6.6">v6.5…v6.6</a></p> <hr class="wp-block-separator has-alpha-channel-opacity"/> <h2 class="wp-block-heading">Core v6.4.1</h2> <h3 class="wp-block-heading">What’s Changed</h3> <ul class="wp-block-list"><li>Remove additional ‘:’ from debug log system time output by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6551">Remove additional ‘:’ from debug log system time output #6551</a></li> <li>Remove <code>readonly</code> from piholeNetworkFlush.sh to avoid error message by <a href="https://github.com/rdwebdesign">@rdwebdesign</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6554">Remove <code>readonly</code> from piholeNetworkFlush.sh to avoid error message #6554</a></li> <li>Add antigravity index by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6573">Add antigravity index #6573</a></li> <li>Fix return status capture of FTL check_download exists by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6572">Fix return status capture of FTL check_download exists #6572</a></li> <li>Remove misleading TODO comment for SetWebPassword by <a href="https://github.com/10adnan75">@10adnan75</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6531">Remove misleading TODO comment for SetWebPassword #6531</a></li></ul> <h3 class="wp-block-heading">New Contributors</h3> <ul class="wp-block-list"><li><a href="https://github.com/10adnan75">@10adnan75</a> made their first contribution in <a href="https://github.com/pi-hole/pi-hole/pull/6531">Remove misleading TODO comment for SetWebPassword #6531</a></li> <li><a href="https://gh.io/copilot-coding-agent-docs">@copilot</a> made their first contribution in <a href="https://github.com/pi-hole/pi-hole/pull/6580">Remove broken Stickermule affiliate link from README #6580</a></li></ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pi-hole/pi-hole/compare/v6.4...v6.4.1">v6.4…v6.4.1</a></p> <hr class="wp-block-separator has-alpha-channel-opacity"/> <h2 class="wp-block-heading">Web v6.5</h2> <h3 class="wp-block-heading">What’s Changed</h3> <ul class="wp-block-list"><li>Amend teleporter help text that the long-term data is not included by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/web/pull/3721">Amend teleporter help text that the long-term data is not included #3721</a></li> <li>Do not use 3 columns when boxed layout is used by <a href="https://github.com/rdwebdesign">@rdwebdesign</a> in <a href="https://github.com/pi-hole/web/pull/3722">Do not use 3 columns when boxed layout is used #3722</a></li> <li>Use <kbd>ENTER</kbd> instead of <kbd>⏎</kbd> by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/web/pull/3727">Use <kbd>ENTER</kbd> instead of <kbd>&#x23CE;</kbd> #3727</a></li> <li>Don’t link to github releases if docker tag is nightly by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/web/pull/3718">Don’t link to github releases if docker tag is nightly #3718</a></li> <li>Do not try to compare component version when remote version info is not available by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/web/pull/3729">Do not try to compare component version when remote version info is not available #3729</a></li> <li>Show loading overlay when adding/removing CNAME records as it requires a FTL restart by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/web/pull/3742">Show loading overlay when adding/removing CNAME records as it requires a FTL restart #3742</a></li> <li>fix: check on responseJSON when wrong password by <a href="https://github.com/guybrush2105">@guybrush2105</a> in <a href="https://github.com/pi-hole/web/pull/3693">fix: check on responseJSON when wrong password #3693</a></li> <li>Remove the loggingButton from Settings > System > Actions by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/web/pull/3747">Remove the loggingButton from Settings > System > Actions #3747</a></li></ul> <h3 class="wp-block-heading">New Contributors</h3> <ul class="wp-block-list"><li><a href="https://github.com/guybrush2105">@guybrush2105</a> made their first contribution in <a href="https://github.com/pi-hole/web/pull/3693">fix: check on responseJSON when wrong password #3693</a></li></ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pi-hole/web/compare/v6.4.1...v6.5">v6.4.1…v6.5</a></p>]]></content:encoded> </item> <item> <title>Pi-hole FTL v6.5, Web v6.4.1 and Core v6.4 Released!</title> <link>https://pi-hole.net/blog/2026/02/17/pi-hole-ftl-v6-5-web-v6-4-1-and-core-v6-4-released/</link> <dc:creator><![CDATA[Adam Warner]]></dc:creator> <pubDate>Tue, 17 Feb 2026 20:54:38 +0000</pubDate> <category><![CDATA[Updates]]></category> <guid isPermaLink="false">https://pi-hole.net/?p=82971</guid> <description><![CDATA[As always, please read through the changelogs before updating with pihole -up Don’t forget, you can use Teleporter to export your configuration. It can be found under the settings menu of the web interface or on the command line with pihole-FTL --teleporter This release has also been tagged on Docker as 2026.02.0 Highlights Security fixes… <br> <a class="button small blue" href="https://pi-hole.net/blog/2026/02/17/pi-hole-ftl-v6-5-web-v6-4-1-and-core-v6-4-released/">Read more</a>]]></description> <content:encoded><![CDATA[<p><strong>As always, please read through the changelogs before updating with <code>pihole -up</code></strong></p> <p><strong>Don’t forget, you can use Teleporter to export your configuration. It can be found under the settings menu of the web interface or on the command line with <code>pihole-FTL --teleporter</code></strong></p> <p>This release has also been tagged on Docker as <code>2026.02.0</code></p> <h2 class="wp-block-heading">Highlights</h2> <h3 class="wp-block-heading">Security fixes</h3> <p>Two security vulnerabilities in the web interface have been patched in this release.</p> <ul class="wp-block-list"><li><a href="https://github.com/pi-hole/web/security/advisories/GHSA-6xp4-jw73-f4qp">https://github.com/pi-hole/web/security/advisories/GHSA-6xp4-jw73-f4qp</a>: fixed with <a href="https://github.com/pi-hole/web/commit/d328f143718022d82dc94c8751121ca41be3b996">d328f14</a></li> <li><a href="https://github.com/pi-hole/web/security/advisories/GHSA-8rw8-vjgp-rwj6">https://github.com/pi-hole/web/security/advisories/GHSA-8rw8-vjgp-rwj6</a>: fixed with <a href="https://github.com/pi-hole/web/commit/1a0c6f4fe6d0116fd2846b2adaae95996b7f194d">1a0c6f4</a></li></ul> <h3 class="wp-block-heading">Performance improvements</h3> <p><strong>Faster startup</strong> (<a href="https://github.com/pi-hole/FTL/pull/2725">FTL #2725</a>)</p> <p>FTL now imports historical queries from the database <strong>asynchronously</strong> on startup. Previously, DNS resolution was blocked until the entire query history had been loaded into memory. Now, FTL begins accepting DNS queries immediately and imports history in a dedicated background thread. The garbage collector is held off until the import is complete to ensure data consistency.</p> <p><strong>Low-memory hardware optimizations</strong> (<a href="https://github.com/pi-hole/FTL/pull/2757">FTL #2757</a>)</p> <p>A new <code>database.forceDisk</code> configuration option forces FTL’s in-memory SQLite3 database to live on disk instead of in RAM. This can notably reduce FTL’s memory footprint, which is beneficial on resource-constrained hardware such as older Raspberry Pi models. On NVMe-backed systems no measurable performance difference was observed, though some slowdown may be seen on slower storage.</p> <p><strong>Faster gravity updates</strong> (<a href="https://github.com/pi-hole/FTL/pull/2710">FTL #2710</a>)</p> <p>Several cumulative efficiency gains have been applied to the main domain validation loop that runs during <code>pihole -g</code>. While each individual improvement is modest, they add up across every entry in your blocklists and allowlists:</p> <ul class="wp-block-list"><li>A lookup table now validates domain characters using a single comparison per character, replacing multiple branching comparisons</li> <li>IP address testing is short-circuited: IPv4 tests only run if the token starts with a digit, and IPv6 tests only run if a colon is present within the first 5 characters</li> <li>The unicode BOM check is now performed once per file rather than once per line</li></ul> <p>In testing with ~5 million domains across several lists, gravity update time dropped from ~27s to ~23s (roughly a 16% reduction in real time, and ~22% reduction in CPU time).</p> <h2 class="wp-block-heading">FTL v6.5</h2> <h3 class="wp-block-heading"><strong>What’s Changed</strong></h3> <ul class="wp-block-list"><li>Tweak undocumented wait-for option subtly by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2707">#2707</a></li> <li>update gravity – improve domain validation processing speed by <a href="https://github.com/rrobgill">@rrobgill</a> in <a href="https://github.com/pi-hole/FTL/pull/2710">#2710</a></li> <li>Update embedded SQLite3 to 3.51.1 by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2731">#2731</a></li> <li>Update embedded dnsmasq to 2.92rc1 by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2730">#2730</a></li> <li>Fix documentation – Do not use equal sign with <code>pihole-FTL --config</code> command by <a href="https://github.com/rdwebdesign">@rdwebdesign</a> in <a href="https://github.com/pi-hole/FTL/pull/2736">#2736</a></li> <li>Add dns.cache.rrtype by <a href="https://github.com/Manakuremati">@Manakuremati</a> in <a href="https://github.com/pi-hole/FTL/pull/2740">#2740</a></li> <li>Enhancements to the documentation markdown generator by <a href="https://github.com/PromoFaux">@PromoFaux</a> in <a href="https://github.com/pi-hole/FTL/pull/2741">#2741</a></li> <li>Network Overview – obtain MAC and hostname from dhcp.leases by <a href="https://github.com/rrobgill">@rrobgill</a> in <a href="https://github.com/pi-hole/FTL/pull/2727">#2727</a></li> <li>fix: make <code>get_domains</code> parameters optional by <a href="https://github.com/tien">@tien</a> in <a href="https://github.com/pi-hole/FTL/pull/2278">#2278</a></li> <li>Escape unprintable characters in invalid host names by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2601">#2601</a></li> <li>Implement better allOf handling in API verifier by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2745">#2745</a></li> <li>Update build containers to Alpine 3.23 by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2743">#2743</a></li> <li>Add option to hide network connection errors by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2749">#2749</a></li> <li>Harden default Content Security Policy (CSP) by <a href="https://github.com/Erasure5959">@Erasure5959</a> in <a href="https://github.com/pi-hole/FTL/pull/2754">#2754</a></li> <li>Fix computation of NTP server’s root delay by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2760">#2760</a></li> <li>Teleporter: Fix for custom gravity.db path by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2758">#2758</a></li> <li>Upgrade embedded Lua to 5.5 by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2626">#2626</a></li> <li>Add missing [forwarded] property in GET /api/history/database by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2750">#2750</a></li> <li>Update SQLite3 to 3.51.2 by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2761">#2761</a></li> <li>Low-memory hardware optimizations by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2757">#2757</a></li> <li>Reduce startup delay by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2725">#2725</a></li> <li>home.arpa and internal TLDs may be non-local without revServer by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2772">#2772</a></li></ul> <h2 class="wp-block-heading">New Contributors</h2> <ul class="wp-block-list"><li><a href="https://github.com/Erasure5959">@Erasure5959</a> made their first contribution in <a href="https://github.com/pi-hole/FTL/pull/2754">#2754</a></li></ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pi-hole/FTL/compare/v6.4.1...v6.5">v6.4.1…v6.5</a></p> <h2 class="wp-block-heading">Web v6.4.1</h2> <h3 class="wp-block-heading">What’s Changed</h3> <ul class="wp-block-list"><li>Set the end date for live query update to end of epoch by <a href="https://github.com/rrobgill">@rrobgill</a> in <a href="https://github.com/pi-hole/web/pull/3677">#3677</a></li> <li>Improve initial loading of Query Log by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/web/pull/3715">#3715</a></li></ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pi-hole/web/compare/v6.4...v6.4.1">v6.4…v6.4.1</a></p> <h2 class="wp-block-heading">Core v6.4</h2> <h3 class="wp-block-heading">What’s Changed</h3> <ul class="wp-block-list"><li>Remove wget from alpine dependencies by <a href="https://github.com/darkexplosiveqwx">@darkexplosiveqwx</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6484">#6484</a></li> <li>Remove custom FTL FirewallD zone checks from debug log by <a href="https://github.com/rdwebdesign">@rdwebdesign</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6481">#6481</a></li> <li>Add Alpine 3.23 to test suite by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6488">#6488</a></li> <li>Debug log – Add colors to gravity tables by <a href="https://github.com/rdwebdesign">@rdwebdesign</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6485">#6485</a></li> <li>Use configured location for web repo when updating or repairing by <a href="https://github.com/rrobgill">@rrobgill</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6470">#6470</a></li> <li>Add missing <code>-g</code> to the message in gravity recovery command by <a href="https://github.com/rdwebdesign">@rdwebdesign</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6513">#6513</a></li> <li>Don’t install unused /usr/local/share/man/man5 by <a href="https://github.com/darkexplosiveqwx">@darkexplosiveqwx</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6526">#6526</a></li></ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pi-hole/pi-hole/compare/v6.3...v6.4">v6.3…v6.4</a></p>]]></content:encoded> </item> <item> <title>Pi-hole FTL v6.4, Web v6.4 and Core v6.3 Released!</title> <link>https://pi-hole.net/blog/2025/11/27/pi-hole-ftl-v6-4-web-v6-4-and-core-v6-3-released/</link> <dc:creator><![CDATA[Adam Warner]]></dc:creator> <pubDate>Thu, 27 Nov 2025 20:00:26 +0000</pubDate> <category><![CDATA[Updates]]></category> <guid isPermaLink="false">https://pi-hole.net/?p=80887</guid> <description><![CDATA[As always, please read through the changelogs before updating with pihole -up Don’t forget, you can use Teleporter to export your configuration. It can be found under the settings menu of the web interface or on the command line with pihole-FTL --teleporter This release has also been tagged on Docker as 2025.11.1 Highlights Performance &… <br> <a class="button small blue" href="https://pi-hole.net/blog/2025/11/27/pi-hole-ftl-v6-4-web-v6-4-and-core-v6-3-released/">Read more</a>]]></description> <content:encoded><![CDATA[<p><strong>As always, please read through the changelogs before updating with <code>pihole -up</code></strong></p> <p><strong>Don’t forget, you can use Teleporter to export your configuration. It can be found under the settings menu of the web interface or on the command line with <code>pihole-FTL --teleporter</code></strong></p> <p>This release has also been tagged on Docker as <code>2025.11.1</code></p> <h2 class="wp-block-heading" id="highlights">Highlights</h2> <h3 class="wp-block-heading" id="performance--optimization">Performance & Optimization</h3> <ul class="wp-block-list"><li><strong>FTL Optimizations:</strong> We’ve improved string processing, memory management, and enabled new compiler flags (such as <code>-funroll-loops</code>) to make FTL faster and more efficient (<a href="https://github.com/pi-hole/FTL/pull/2571">#2571</a>).</li> <li><strong>Reduced Locking:</strong> We’ve reduced DNS resolver locking during database interactions (<a href="https://github.com/pi-hole/FTL/pull/2700">#2700</a>).</li></ul> <h3 class="wp-block-heading" id="user-interface--experience">User Interface & Experience</h3> <ul class="wp-block-list"><li><strong>TOTP Autofill:</strong> Logging in with 2FA is now smoother. The TOTP input field now supports <code>autocomplete="one-time-code"</code>, allowing browsers and password managers to automatically suggest the code (<a href="https://github.com/pi-hole/web/pull/3658">#3658</a>).</li> <li><strong>“All Time” Query Log:</strong> The “All Time” date range in the Query Log now accurately reflects the earliest timestamp in your database, giving you a true historical view (<a href="https://github.com/pi-hole/web/pull/3657">#3657</a>, <a href="https://github.com/pi-hole/FTL/pull/2706">#2706</a>).</li> <li><strong>Optional Colour Output:</strong> The Gravity API now defaults to plain text output, only sending ANSI colour codes when explicitly requested (<code>?color=true</code>). This fixes issues for API consumers that don’t handle escape codes well (<a href="https://github.com/pi-hole/FTL/pull/2718">#2718</a>).</li></ul> <h3 class="wp-block-heading" id="api--networking">API & Networking</h3> <ul class="wp-block-list"><li><strong>Extended Hardware Addresses:</strong> The API now correctly handles hardware addresses longer than 48 bits (e.g., InfiniBand), ensuring they are displayed and managed correctly (<a href="https://github.com/pi-hole/FTL/pull/2724">#2724</a>).</li> <li><strong>Partial Regex Matching:</strong> The search API now supports simple partial matching for regex, making it easier to find domains within your blocklists (<a href="https://github.com/pi-hole/FTL/pull/2705">#2705</a>).</li> <li><strong>Security:</strong> We’ve added rate-limiting for TOTP validation (max 1 attempt/second) to prevent brute-force attacks on 2FA (<a href="https://github.com/pi-hole/FTL/pull/2719">#2719</a>).</li></ul> <h2 class="wp-block-heading">FTL v6.4</h2> <h3 class="wp-block-heading">What’s Changed</h3> <ul class="wp-block-list"><li>Fix API specs and example for dns.upstreams in config.yaml by <a href="https://github.com/rdwebdesign">@rdwebdesign</a> in <a href="https://github.com/pi-hole/FTL/pull/2696">#2696</a></li> <li>gravity update – silently discard unicode BOM if present by <a href="https://github.com/rrobgill">@rrobgill</a> in <a href="https://github.com/pi-hole/FTL/pull/2702">#2702</a></li> <li>Update embedded SQLite to 3.51.0 by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2704">#2704</a></li> <li>Get earliest query timestamp from database by <a href="https://github.com/PromoFaux">@PromoFaux</a> in <a href="https://github.com/pi-hole/FTL/pull/2706">#2706</a></li> <li>Increase buffer length for query string by <a href="https://github.com/mwoolweaver">@mwoolweaver</a> in <a href="https://github.com/pi-hole/FTL/pull/2709">#2709</a></li> <li>Reduce DNS resolver locking during database interaction by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2700">#2700</a></li> <li>Make colour output optional in streaming gravity API call by <a href="https://github.com/PromoFaux">@PromoFaux</a> in <a href="https://github.com/pi-hole/FTL/pull/2718">#2718</a></li> <li>api/dhcp/leases Allow for hwaddr > 48 bits by <a href="https://github.com/rrobgill">@rrobgill</a> in <a href="https://github.com/pi-hole/FTL/pull/2724">#2724</a></li> <li>Add rate-limiting for TOTP validation by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2719">#2719</a></li> <li>Implement simple partial matching for regex in /api/search/{domain} by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2705">#2705</a></li> <li>Performance optimizations: string processing, memory management, and compiler flags by @Copilot in <a href="https://github.com/pi-hole/FTL/pull/2571">#2571</a></li> <li>Fix authentication redirect when webhome is / (fixes <a href="https://github.com/pi-hole/FTL/issues/2518">#2518</a>) by <a href="https://github.com/averyvigolo">@averyvigolo</a> in <a href="https://github.com/pi-hole/FTL/pull/2610">#2610</a></li> <li>Reduce database locking and add timing debug setting by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2688">#2688</a></li></ul> <h3 class="wp-block-heading">New Contributors</h3> <ul class="wp-block-list"><li><a href="https://github.com/mwoolweaver">@mwoolweaver</a> made their first contribution in <a href="https://github.com/pi-hole/FTL/pull/2709">#2709</a></li> <li>@Copilot made their first contribution in <a href="https://github.com/pi-hole/FTL/pull/2571">#2571</a></li> <li><a href="https://github.com/averyvigolo">@averyvigolo</a> made their first contribution in <a href="https://github.com/pi-hole/FTL/pull/2610">#2610</a></li></ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pi-hole/FTL/compare/v6.3.3...v6.4">v6.3.3…v6.4</a></p> <h2 class="wp-block-heading">Web v6.4</h2> <h3 class="wp-block-heading">What’s Changed</h3> <ul class="wp-block-list"><li>Start using commented tags for editorconfig-checker by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/web/pull/3643">#3643</a></li> <li>Remove some unused code (leftover from v5) by <a href="https://github.com/rdwebdesign">@rdwebdesign</a> in <a href="https://github.com/pi-hole/web/pull/3636">#3636</a></li> <li>Make sure the table is redrawn after the dnssec API call returns by <a href="https://github.com/rdwebdesign">@rdwebdesign</a> in <a href="https://github.com/pi-hole/web/pull/3645">#3645</a></li> <li>Add hint that partial matching may not return all possible results by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/web/pull/3654">#3654</a></li> <li>Enable one-time code autofill for TOTP input by <a href="https://github.com/sebastianlivoni">@sebastianlivoni</a> in <a href="https://github.com/pi-hole/web/pull/3658">#3658</a></li> <li>Set “All Time ” range for query log datepicker based on Database ranges (moment) by <a href="https://github.com/PromoFaux">@PromoFaux</a> in <a href="https://github.com/pi-hole/web/pull/3657">#3657</a></li> <li>Request ANSI colour codes when calling gravity API by <a href="https://github.com/PromoFaux">@PromoFaux</a> in <a href="https://github.com/pi-hole/web/pull/3662">#3662</a></li></ul> <h3 class="wp-block-heading">New Contributors</h3> <ul class="wp-block-list"><li><a href="https://github.com/sebastianlivoni">@sebastianlivoni</a></li></ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pi-hole/web/compare/v6.3...v6.4">v6.3…v6.4</a></p> <h2 class="wp-block-heading">Core v6.3</h2> <h3 class="wp-block-heading">What’s Changed</h3> <ul class="wp-block-list"><li>Add Fedora 43 to test suite by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6453">#6453</a> </li> <li>Fix libcap capabilities not being granted on OpenRC distros by <a href="https://github.com/Sparronator9999">@Sparronator9999</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6456">#6456</a> </li> <li>systemd service – don’t use deprecated PermissionsStartOnly by <a href="https://github.com/rrobgill">@rrobgill</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6465">#6465</a></li> <li>Speed up processing and display of file contents and services in piholeDebug.sh by <a href="https://github.com/pi-hole/pi-hole/pull/6469"></a><a href="https://github.com/rrobgill">@rrobgill</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6469">#6469</a></li> <li>Use port from dns.port in piholeDebug.sh by <a href="https://github.com/darkexplosiveqwx">@darkexplosiveqwx</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6475">#6475</a></li> <li>Improve gravity tables presentation on the debug log by <a href="https://github.com/rdwebdesign">@rdwebdesign</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6460">#6460</a> </li></ul> <h3 class="wp-block-heading">New Contributors</h3> <ul class="wp-block-list"><li><a href="https://github.com/Sparronator9999">@Sparronator9999</a></li></ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pi-hole/pi-hole/compare/v6.2.2...v6.2.3">v6.2.2…v6.2.3</a></p> <p></p>]]></content:encoded> </item> <item> <title>Pi-hole FTL v6.3, Web v6.3 and Core v6.2 Released!</title> <link>https://pi-hole.net/blog/2025/10/25/pi-hole-ftl-v6-3-web-v6-3-and-core-v6-2-released/</link> <dc:creator><![CDATA[Adam Warner]]></dc:creator> <pubDate>Sat, 25 Oct 2025 11:52:23 +0000</pubDate> <category><![CDATA[Updates]]></category> <guid isPermaLink="false">https://pi-hole.net/?p=80848</guid> <description><![CDATA[As always, please read through the changelogs before updating with pihole -up Don’t forget, you can use Teleporter to export your configuration. It can be found under the settings menu of the web interface or on the command line with pihole-FTL --teleporter This release has also been tagged on Docker as 2025.10.0 Highlights Security &… <br> <a class="button small blue" href="https://pi-hole.net/blog/2025/10/25/pi-hole-ftl-v6-3-web-v6-3-and-core-v6-2-released/">Read more</a>]]></description> <content:encoded><![CDATA[<p><strong>As always, please read through the changelogs before updating with <code>pihole -up</code></strong></p> <p><strong>Don’t forget, you can use Teleporter to export your configuration. It can be found under the settings menu of the web interface or on the command line with <code>pihole-FTL --teleporter</code></strong></p> <p>This release has also been tagged on Docker as <code>2025.10.0</code></p> <h2 class="wp-block-heading has-text-align-left">Highlights</h2> <h3 class="wp-block-heading" id="%F0%9F%94%92-security--tls-enhancements">Security & TLS Enhancements</h3> <p><strong>Shorter validity for self-signed TLS certificate</strong> (<a href="https://github.com/pi-hole/FTL/pull/2463">#2463</a>) – The default validity period for self-signed TLS certificates has been reduced, aligning with modern security best practices and ensuring compatibility with Apple devices. To compensate for the shorter validity, automatic renewal has been implemented. Certificates now default to a 47-day validity period (configurable via <code>webserver.tls.validity</code>) and automatically renew when nearing expiration.</p> <p><strong>Improved Content Security Policy</strong> (<a href="https://github.com/pi-hole/FTL/pull/2575">#2575</a>) – Improved default CSP headers provide better protection against XSS attacks while maintaining functionality.</p> <p><strong>Security Advisories:</strong></p> <p>Thank you to the folks who responsibly disclosed potential vulnerabilities since our last realease. Details of which can be read at the following links:</p> <ul class="wp-block-list"><li><a href="https://github.com/pi-hole/web/security/advisories/GHSA-5v79-p56f-x7c4">https://github.com/pi-hole/web/security/advisories/GHSA-5v79-p56f-x7c4</a></li> <li><a href="https://github.com/pi-hole/web/security/advisories/GHSA-7w6h-3gwc-qhq5">https://github.com/pi-hole/web/security/advisories/GHSA-7w6h-3gwc-qhq5</a></li> <li><a href="https://github.com/pi-hole/web/security/advisories/GHSA-8hr3-47jh-25vr">https://github.com/pi-hole/web/security/advisories/GHSA-8hr3-47jh-25vr</a></li> <li><a href="https://github.com/pi-hole/web/security/advisories/GHSA-w8f8-92rx-4f6w">https://github.com/pi-hole/web/security/advisories/GHSA-w8f8-92rx-4f6w</a></li></ul> <h3 class="wp-block-heading" id="%F0%9F%8C%90-network--dns-improvements">Network & DNS Improvements</h3> <p><strong>Smart Interface Detection</strong> (<a href="https://github.com/pi-hole/FTL/pull/2456">#2456</a>, <a href="https://github.com/pi-hole/FTL/pull/2607">#2607</a>) – FTL now automatically detects the appropriate DNS interface when <code>dns.interface</code> is empty in <code>pihole.toml</code>, eliminating manual configuration in most scenarios.</p> <p><strong>Netlink ARP Cache Handling</strong> (<a href="https://github.com/pi-hole/FTL/pull/2600">#2600</a>) – Replaced external <code>ip neigh show</code> calls with internal netlink-based communication, dramatically improving performance and reducing resource usage. This addresses “database locked” issues seen in some environments.</p> <p><strong>Special Domain Handling</strong> (<a href="https://github.com/pi-hole/FTL/pull/2474">#2474</a>) – Added support for <code>.internal</code> domain blocking (following RFC draft-davies-internal-tld-03), preventing these queries from being sent to upstream DNS servers while still allowing local resolution.</p> <p><strong>DNS Localization</strong> (<a href="https://github.com/pi-hole/FTL/pull/2524">#2524</a>) – New <code>dns.localise</code> configuration option provides better control over DNS query handling.</p> <p><strong>IPv6 DHCP Support</strong> (<a href="https://github.com/pi-hole/FTL/pull/2554">#2554</a>) – Enhanced the DHCP API to properly support IPv6 addresses and configurations.</p> <h3 class="wp-block-heading" id="%F0%9F%92%BB-platform--installation">Platform & Installation</h3> <p><strong>Alpine Linux Support</strong> (<a href="https://github.com/pi-hole/pi-hole/pull/6275">pi-hole/pi-hole#6275</a>) – Full native support for Alpine Linux has been added, including proper package management with <code>apk</code>, OpenRC init system support, and comprehensive testing. This expands Pi-hole’s reach to lightweight container environments and minimal installations.</p> <h3 class="wp-block-heading" id="%F0%9F%8E%9B%EF%B8%8F-user-interface--experience">User Interface & Experience</h3> <p><strong>CLI Autocomplete</strong> (<a href="https://github.com/pi-hole/FTL/pull/2593">#2593</a>, <a href="https://github.com/pi-hole/pi-hole/pull/6376">pi-hole/pi-hole#6376</a>) – Added bash-style completion support for <code>pihole-FTL</code> commands, making configuration much more user-friendly. Tab completion works for the entire <code>--config</code> path and suggests appropriate values.</p> <p><strong>Web Interface Improvements</strong> (<a href="https://github.com/pi-hole/web/pull/3530">web#3530</a>, <a href="https://github.com/pi-hole/web/pull/3551">web#3551</a>, <a href="https://github.com/pi-hole/web/pull/3533">web#3533</a>, <a href="https://github.com/pi-hole/web/pull/3592">web#3592</a>, <a href="https://github.com/pi-hole/FTL/pull/2645">FTL#2645</a>, <a href="https://github.com/pi-hole/FTL/pull/2647">FTL#2647</a>, <a href="https://github.com/pi-hole/FTL/pull/2644">FTL#2644</a>, <a href="https://github.com/pi-hole/web/pull/3622">web#3622</a>) – Many small improvements: better visualization of DNS metrics, improved query log handling, enhanced gravity output with colors, refined button styling for blocked/allowed domain actions, improved load average detection and better system information gathering.</p> <h3 class="wp-block-heading" id="%F0%9F%94%A7-configuration--management">Configuration & Management</h3> <p><strong>Advanced Web Server Options</strong> (<a href="https://github.com/pi-hole/FTL/pull/2635">#2635</a>) – New <code>webserver.advancedOpts</code> configuration for fine-tuning web server behavior.</p> <p><strong>Enhanced API Endpoints</strong> (<a href="https://github.com/pi-hole/FTL/pull/2530">#2530</a>, <a href="https://github.com/pi-hole/FTL/pull/2632">#2632</a>, <a href="https://github.com/pi-hole/FTL/pull/2466">#2466</a>) – Multiple API improvements including better error handling, optional restart parameters, and enhanced response formatting.</p> <p><strong>Web documentation for the config file – </strong><a href="https://docs.pi-hole.net/ftldns/configfile/">https://docs.pi-hole.net/ftldns/configfile/</a> – we have added some automation and a Python script to parse the latest pihole-FTL config file and to keep the documentation up to date on the web</p> <h3 class="wp-block-heading" id="%F0%9F%9B%A0%EF%B8%8F-performance--reliability">Performance & Reliability</h3> <p><strong>Updated Core Components</strong> (<a href="https://github.com/pi-hole/FTL/pull/2544">#2544</a>, <a href="https://github.com/pi-hole/FTL/pull/2576">#2576</a>, <a href="https://github.com/pi-hole/FTL/pull/2592">#2592</a>, <a href="https://github.com/pi-hole/FTL/pull/2570">#2570</a>, <a href="https://github.com/pi-hole/FTL/pull/2587">#2587</a>, <a href="https://github.com/pi-hole/FTL/pull/2603">#2603</a>, <a href="https://github.com/pi-hole/FTL/pull/2614">#2614</a>, <a href="https://github.com/pi-hole/FTL/pull/2621">#2621</a>, <a href="https://github.com/pi-hole/FTL/pull/2579">#2579</a>):</p> <ul class="wp-block-list"><li>SQLite3 updated to 3.50.4 for better database performance</li> <li>dnsmasq updated to <code>v2.92test21</code> with latest fixes</li> <li>CivetWeb updated for improved web server functionality</li> <li>Migrate TOML library to <code>tomlc17</code> (<code>tomlc99</code> has been marked as deprecated)</li></ul> <p><strong>Memory Management</strong> (<a href="https://github.com/pi-hole/FTL/pull/2617">#2617</a>) – Improved memory handling throughout the codebase to reduce resource usage and improve stability.</p> <p><strong>Database Resilience</strong> (<a href="https://github.com/pi-hole/FTL/pull/2605">#2605</a>, <a href="https://github.com/pi-hole/FTL/pull/2602">#2602</a>, <a href="https://github.com/pi-hole/FTL/pull/2646">#2646</a>) – Enhanced gravity database handling with custom SQLite busy callbacks and better error recovery.</p> <h3 class="wp-block-heading" id="%F0%9F%90%9B-bug-fixes--stability">Bug Fixes & Stability</h3> <ul class="wp-block-list"><li>Fixed PTR query handling for .localhost domains (<a href="https://github.com/pi-hole/FTL/pull/2517">#2517</a>)</li> <li>Resolved DHCP string processing issues (<a href="https://github.com/pi-hole/FTL/pull/2519">#2519</a>)</li> <li>Fixed cache-optimizer query display in logs (<a href="https://github.com/pi-hole/FTL/pull/2619">#2619</a>)</li> <li>Improved NTP IPv6 crash handling (<a href="https://github.com/pi-hole/FTL/pull/2569">#2569</a>)</li> <li>Better foreign fork PR handling in CI (<a href="https://github.com/pi-hole/FTL/pull/2543">#2543</a>)</li> <li>Enhanced debug output and logging throughout (<a href="https://github.com/pi-hole/FTL/pull/2594">#2594</a>)</li></ul> <h3 class="wp-block-heading" id="%F0%9F%93%8A-diagnostics">Diagnostics</h3> <p><strong>Improved Debug Output</strong> (<a href="https://github.com/pi-hole/FTL/pull/2600">#2600</a>, <a href="https://github.com/pi-hole/FTL/pull/2594">#2594</a>) – More comprehensive debug information across networking, ARP processing, and system diagnostics.</p> <hr class="wp-block-separator has-alpha-channel-opacity"/> <p>Full Release Notes can be found below.</p> <h2 class="wp-block-heading" id="ftl-v63">FTL v6.3</h2> <h3 class="wp-block-heading" id="whats-changed">What’s Changed</h3> <ul class="wp-block-list"><li>Tests – fix PTR test by @rrobgill in <a href="https://github.com/pi-hole/FTL/pull/2516">https://github.com/pi-hole/FTL/pull/2516</a></li> <li>Reply to address queries in .localhost domain (RFC6171) by @rrobgill in <a href="https://github.com/pi-hole/FTL/pull/2517">https://github.com/pi-hole/FTL/pull/2517</a></li> <li>dhcp-discover: Fix string processing by @rrobgill in <a href="https://github.com/pi-hole/FTL/pull/2519">https://github.com/pi-hole/FTL/pull/2519</a></li> <li>[RFC] Prevent .internal queries from being upstreamed. Draft draft-davies-internal-tld-03 by @Tooa in <a href="https://github.com/pi-hole/FTL/pull/2474">https://github.com/pi-hole/FTL/pull/2474</a></li> <li>Add dns.localise by @Manakuremati in <a href="https://github.com/pi-hole/FTL/pull/2524">https://github.com/pi-hole/FTL/pull/2524</a></li> <li>Webserver: Allow webhome to be root by @rrobgill in <a href="https://github.com/pi-hole/FTL/pull/2521">https://github.com/pi-hole/FTL/pull/2521</a></li> <li>api/network Avoid NULL string comparison logspam by @rrobgill in <a href="https://github.com/pi-hole/FTL/pull/2526">https://github.com/pi-hole/FTL/pull/2526</a></li> <li>request_info.is_authenticated needs to be initialized explicitly with… by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2533">https://github.com/pi-hole/FTL/pull/2533</a></li> <li>Allow forcing color in CLI output by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2538">https://github.com/pi-hole/FTL/pull/2538</a></li> <li>Simplify CI build by removing the composite action by @yubiuser in <a href="https://github.com/pi-hole/FTL/pull/2511">https://github.com/pi-hole/FTL/pull/2511</a></li> <li>Rename flushing arp > flushing network by @yubiuser in <a href="https://github.com/pi-hole/FTL/pull/2541">https://github.com/pi-hole/FTL/pull/2541</a></li> <li>Update embedded SQLite3 engine to 3.50.2 by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2544">https://github.com/pi-hole/FTL/pull/2544</a></li> <li>Add <code>pihole-FTL create-default-config</code> option and use it to upload <code>pihole.toml</code> to <code>ftl.pi-hole.net</code> by @yubiuser in <a href="https://github.com/pi-hole/FTL/pull/2540">https://github.com/pi-hole/FTL/pull/2540</a></li> <li>Allow low-level header manipulation from Lua pages by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2535">https://github.com/pi-hole/FTL/pull/2535</a></li> <li>Fix foreign fork PRs by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2543">https://github.com/pi-hole/FTL/pull/2543</a></li> <li>Update package-lock.json to fix npm vuln by @XhmikosR in <a href="https://github.com/pi-hole/FTL/pull/2555">https://github.com/pi-hole/FTL/pull/2555</a></li> <li>Update rapidoc to v9.3.8 by @XhmikosR in <a href="https://github.com/pi-hole/FTL/pull/2556">https://github.com/pi-hole/FTL/pull/2556</a></li> <li>Add missing ‘took’ fields to API spec response examples by @tsutsu3 in <a href="https://github.com/pi-hole/FTL/pull/2466">https://github.com/pi-hole/FTL/pull/2466</a></li> <li>Remove domain type from domainNeeded help text by @yubiuser in <a href="https://github.com/pi-hole/FTL/pull/2564">https://github.com/pi-hole/FTL/pull/2564</a></li> <li>Update embedded dnsmasq to v2.92test16 by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2570">https://github.com/pi-hole/FTL/pull/2570</a></li> <li>Config typo correction by @rrobgill in <a href="https://github.com/pi-hole/FTL/pull/2572">https://github.com/pi-hole/FTL/pull/2572</a></li> <li>Support IPv6 in the DHCP API by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2554">https://github.com/pi-hole/FTL/pull/2554</a></li> <li>Add sigrtmin option by @jacklul in <a href="https://github.com/pi-hole/FTL/pull/2574">https://github.com/pi-hole/FTL/pull/2574</a></li> <li>NTP ipv6 crash fix – ntp reply & logging by @rrobgill in <a href="https://github.com/pi-hole/FTL/pull/2569">https://github.com/pi-hole/FTL/pull/2569</a></li> <li>Add ‘never-stale’ to stale issue exempt lable list by @yubiuser in <a href="https://github.com/pi-hole/FTL/pull/2578">https://github.com/pi-hole/FTL/pull/2578</a></li> <li>Upgrade TOML library to tomlc17 by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2579">https://github.com/pi-hole/FTL/pull/2579</a></li> <li>Add warning to the config markdown by @yubiuser in <a href="https://github.com/pi-hole/FTL/pull/2580">https://github.com/pi-hole/FTL/pull/2580</a></li> <li>Automatically detect DNS interface when empty in pihole.toml by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2456">https://github.com/pi-hole/FTL/pull/2456</a></li> <li>Make type a required parameter for PUT and DELETE /lists by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2530">https://github.com/pi-hole/FTL/pull/2530</a></li> <li>Update embedded SQLite3 to 3.50.3 by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2576">https://github.com/pi-hole/FTL/pull/2576</a></li> <li>Remove remaining traces of ARP flush by @yubiuser in <a href="https://github.com/pi-hole/FTL/pull/2545">https://github.com/pi-hole/FTL/pull/2545</a></li> <li>Improve CNAME behavior of pi.hole by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2585">https://github.com/pi-hole/FTL/pull/2585</a></li> <li>Add colors to the –config output by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2584">https://github.com/pi-hole/FTL/pull/2584</a></li> <li>fix: change type of disk parameter for GET /queries by @ninjack-dev in <a href="https://github.com/pi-hole/FTL/pull/2589">https://github.com/pi-hole/FTL/pull/2589</a></li> <li>Improve default CSP headers by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2575">https://github.com/pi-hole/FTL/pull/2575</a></li> <li>Improve already running detection by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2591">https://github.com/pi-hole/FTL/pull/2591</a></li> <li>Update embedded SQLite3 to 3.50.4 by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2592">https://github.com/pi-hole/FTL/pull/2592</a></li> <li>Fix debug output association by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2594">https://github.com/pi-hole/FTL/pull/2594</a></li> <li>Fix FTL running behing reverse-proxy with prefix by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2595">https://github.com/pi-hole/FTL/pull/2595</a></li> <li>Update embedded dnsmasq by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2587">https://github.com/pi-hole/FTL/pull/2587</a></li> <li>Implement netlink ARP cache handling by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2600">https://github.com/pi-hole/FTL/pull/2600</a></li> <li>Add autocomplete feature by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2593">https://github.com/pi-hole/FTL/pull/2593</a></li> <li>Update embedded dnsmasq to v2.92test19 by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2603">https://github.com/pi-hole/FTL/pull/2603</a></li> <li>Fix <code>dns.interface</code> comment by @rdwebdesign in <a href="https://github.com/pi-hole/FTL/pull/2597">https://github.com/pi-hole/FTL/pull/2597</a></li> <li>Fix logic in automatic interface determination (when dns.interface = “”) by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2607">https://github.com/pi-hole/FTL/pull/2607</a></li> <li>Fix default value autocomplete suggestions by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2609">https://github.com/pi-hole/FTL/pull/2609</a></li> <li>Update dnsmasq to v2.92test21 by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2614">https://github.com/pi-hole/FTL/pull/2614</a></li> <li>Fix cache-optimizer queries in Query Log by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2619">https://github.com/pi-hole/FTL/pull/2619</a></li> <li>Update embedded CivetWeb by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2621">https://github.com/pi-hole/FTL/pull/2621</a></li> <li>Do not set domainname when the kernel replies with “(none)” by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2620">https://github.com/pi-hole/FTL/pull/2620</a></li> <li>Fix <code>dns.hosts</code> help text to show multiple hostnames per IP are allowed by @rdwebdesign in <a href="https://github.com/pi-hole/FTL/pull/2623">https://github.com/pi-hole/FTL/pull/2623</a></li> <li>Improve memory handling by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2617">https://github.com/pi-hole/FTL/pull/2617</a></li> <li>Pin github actions to SHA by @yubiuser in <a href="https://github.com/pi-hole/FTL/pull/2615">https://github.com/pi-hole/FTL/pull/2615</a></li> <li>Bump the github_action-dependencies group across 1 directory with 6 updates by @dependabot[bot] in <a href="https://github.com/pi-hole/FTL/pull/2628">https://github.com/pi-hole/FTL/pull/2628</a></li> <li>Be more gracefully when validating dns_hosts by @yubiuser in <a href="https://github.com/pi-hole/FTL/pull/2624">https://github.com/pi-hole/FTL/pull/2624</a></li> <li>Implement automatic TLS/SSL certificate renewals by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2463">https://github.com/pi-hole/FTL/pull/2463</a></li> <li>Fix HOSTS file rotation test which was hiding in fast runners by @yubiuser in <a href="https://github.com/pi-hole/FTL/pull/2630">https://github.com/pi-hole/FTL/pull/2630</a></li> <li>Suggest IP addresses instead of names for upstream by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2444">https://github.com/pi-hole/FTL/pull/2444</a></li> <li>Make restarting optional in API config endpoints by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2632">https://github.com/pi-hole/FTL/pull/2632</a></li> <li>Ensure queries with ID 0 are stored to the long-term queries database by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2633">https://github.com/pi-hole/FTL/pull/2633</a></li> <li>Ensure we can log until the very end by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2634">https://github.com/pi-hole/FTL/pull/2634</a></li> <li>Bump github/codeql-action from 3.30.3 to 3.30.5 in the github_action-dependencies group across 1 directory by @dependabot[bot] in <a href="https://github.com/pi-hole/FTL/pull/2636">https://github.com/pi-hole/FTL/pull/2636</a></li> <li>Fix long-term database insertion by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2583">https://github.com/pi-hole/FTL/pull/2583</a></li> <li>Add webserver.advancedOpts by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2635">https://github.com/pi-hole/FTL/pull/2635</a></li> <li>Add new dns.domain.local and rename dns.domain -> dns.domain.name by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2531">https://github.com/pi-hole/FTL/pull/2531</a></li> <li>Bump the github_action-dependencies group across 1 directory with 3 updates by @dependabot[bot] in <a href="https://github.com/pi-hole/FTL/pull/2641">https://github.com/pi-hole/FTL/pull/2641</a></li> <li>Allow escaping special single-character wildcard “_” when doing partial matching by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2550">https://github.com/pi-hole/FTL/pull/2550</a></li> <li>Expose both total and enabled for gravity tables by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2177">https://github.com/pi-hole/FTL/pull/2177</a></li> <li>Improve gravity database resilience by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2605">https://github.com/pi-hole/FTL/pull/2605</a></li> <li>Add custom SQLite busy callback by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2602">https://github.com/pi-hole/FTL/pull/2602</a></li> <li>Add %MEM and %CPU of FTL to GET info/system by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2645">https://github.com/pi-hole/FTL/pull/2645</a></li> <li>Try to load system load averages from /proc/loadavg first by @tpjanssen in <a href="https://github.com/pi-hole/FTL/pull/2644">https://github.com/pi-hole/FTL/pull/2644</a></li> <li>Fix database busy handler initialization by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2646">https://github.com/pi-hole/FTL/pull/2646</a></li> <li>Fix POST /lists example by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2649">https://github.com/pi-hole/FTL/pull/2649</a></li> <li>Improve CPU utilization reporting by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2647">https://github.com/pi-hole/FTL/pull/2647</a></li> <li>Bump the github_action-dependencies group across 1 directory with 2 updates by @dependabot[bot] in <a href="https://github.com/pi-hole/FTL/pull/2651">https://github.com/pi-hole/FTL/pull/2651</a></li> <li>Implement selection of TLS ciphers for mbedtls by @DL6ER in <a href="https://github.com/pi-hole/FTL/pull/2638">https://github.com/pi-hole/FTL/pull/2638</a></li> <li>Bump the github_action-dependencies group across 1 directory with 3 updates by @dependabot[bot] in <a href="https://github.com/pi-hole/FTL/pull/2654">https://github.com/pi-hole/FTL/pull/2654</a></li></ul> <h3 class="wp-block-heading" id="new-contributors">New Contributors</h3> <ul class="wp-block-list"><li>@Tooa made their first contribution in <a href="https://github.com/pi-hole/FTL/pull/2474">https://github.com/pi-hole/FTL/pull/2474</a></li> <li>@Manakuremati made their first contribution in <a href="https://github.com/pi-hole/FTL/pull/2524">https://github.com/pi-hole/FTL/pull/2524</a></li> <li>@ninjack-dev made their first contribution in <a href="https://github.com/pi-hole/FTL/pull/2589">https://github.com/pi-hole/FTL/pull/2589</a></li> <li>@tpjanssen made their first contribution in <a href="https://github.com/pi-hole/FTL/pull/2644">https://github.com/pi-hole/FTL/pull/2644</a></li></ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pi-hole/FTL/compare/v6.2.3...v6.3">https://github.com/pi-hole/FTL/compare/v6.2.3…v6.3</a></p> <h2 class="wp-block-heading" id="core-v62">Core v6.2</h2> <h3 class="wp-block-heading" id="whats-changed-1">What’s Changed</h3> <ul class="wp-block-list"><li>Remove <code>readonly</code> from list.sh to avoid errors by @rdwebdesign in <a href="https://github.com/pi-hole/pi-hole/pull/6349">https://github.com/pi-hole/pi-hole/pull/6349</a></li> <li>Remove netcat from the list of dependencies by @darkexplosiveqwx in <a href="https://github.com/pi-hole/pi-hole/pull/6343">https://github.com/pi-hole/pi-hole/pull/6343</a></li> <li>Re-order authentication errors in verbose mode by @yubiuser in <a href="https://github.com/pi-hole/pi-hole/pull/6338">https://github.com/pi-hole/pi-hole/pull/6338</a></li> <li>Speed up pihole –query by @rrobgill in <a href="https://github.com/pi-hole/pi-hole/pull/6334">https://github.com/pi-hole/pi-hole/pull/6334</a></li> <li>Use RTMIN value provided by FTL when possible by @jacklul in <a href="https://github.com/pi-hole/pi-hole/pull/6358">https://github.com/pi-hole/pi-hole/pull/6358</a></li> <li>Speed up <code>pihole api</code> by @rrobgill in <a href="https://github.com/pi-hole/pi-hole/pull/6336">https://github.com/pi-hole/pi-hole/pull/6336</a></li> <li>Update man page – remove “reconfigure” option by @rdwebdesign in <a href="https://github.com/pi-hole/pi-hole/pull/6361">https://github.com/pi-hole/pi-hole/pull/6361</a></li> <li>Tweak ARP flushing function by @yubiuser in <a href="https://github.com/pi-hole/pi-hole/pull/6319">https://github.com/pi-hole/pi-hole/pull/6319</a></li> <li>Fix gravity and error on pihole-FTL –config failures by @yubiuser in <a href="https://github.com/pi-hole/pi-hole/pull/6352">https://github.com/pi-hole/pi-hole/pull/6352</a></li> <li>Use ‘true’/’false’ strings instead of 0/1 integers for boolean root user check in pihole command by @yubiuser in <a href="https://github.com/pi-hole/pi-hole/pull/6351">https://github.com/pi-hole/pi-hole/pull/6351</a></li> <li>Do not call pihole-FTL –config interactively by @DL6ER in <a href="https://github.com/pi-hole/pi-hole/pull/6368">https://github.com/pi-hole/pi-hole/pull/6368</a></li> <li>Explicitly check for the existence of FTL binary before attempting to stop it. Prevents warning message on fresh installs by @PromoFaux in <a href="https://github.com/pi-hole/pi-hole/pull/6364">https://github.com/pi-hole/pi-hole/pull/6364</a></li> <li>Add “setpassword” to pihole Bash completion by @deHakkelaar in <a href="https://github.com/pi-hole/pi-hole/pull/6369">https://github.com/pi-hole/pi-hole/pull/6369</a></li> <li>Add FTL bash autocomplete by @yubiuser in <a href="https://github.com/pi-hole/pi-hole/pull/6376">https://github.com/pi-hole/pi-hole/pull/6376</a></li> <li>Alpine Linux Support and Tests by @mgziminsky in <a href="https://github.com/pi-hole/pi-hole/pull/6275">https://github.com/pi-hole/pi-hole/pull/6275</a></li> <li>uninstall refactor and improvement by @rrobgill in <a href="https://github.com/pi-hole/pi-hole/pull/6339">https://github.com/pi-hole/pi-hole/pull/6339</a></li> <li>Fix typo found during install by @jbirddog in <a href="https://github.com/pi-hole/pi-hole/pull/6406">https://github.com/pi-hole/pi-hole/pull/6406</a></li> <li>Add Debian 13 Trixie to the test suite by @yubiuser in <a href="https://github.com/pi-hole/pi-hole/pull/6382">https://github.com/pi-hole/pi-hole/pull/6382</a></li> <li>Adjust .shellcheckrc to 0.11 and enable some optional checks by @yubiuser in <a href="https://github.com/pi-hole/pi-hole/pull/6374">https://github.com/pi-hole/pi-hole/pull/6374</a></li> <li>Use SHA to pin github actions by @yubiuser in <a href="https://github.com/pi-hole/pi-hole/pull/6392">https://github.com/pi-hole/pi-hole/pull/6392</a></li> <li>Rename views, upgrade gravity database and bump gravity database version by @DL6ER in <a href="https://github.com/pi-hole/pi-hole/pull/6386">https://github.com/pi-hole/pi-hole/pull/6386</a></li> <li>Tiny change to make <code>prev2</code> also a local variable by @casperklein in <a href="https://github.com/pi-hole/pi-hole/pull/6420">https://github.com/pi-hole/pi-hole/pull/6420</a></li> <li>Fix gravity indention by @yubiuser in <a href="https://github.com/pi-hole/pi-hole/pull/6427">https://github.com/pi-hole/pi-hole/pull/6427</a></li></ul> <h3 class="wp-block-heading" id="new-contributors-1">New Contributors</h3> <ul class="wp-block-list"><li>@mgziminsky made their first contribution in <a href="https://github.com/pi-hole/pi-hole/pull/6275">https://github.com/pi-hole/pi-hole/pull/6275</a></li> <li>@jbirddog made their first contribution in <a href="https://github.com/pi-hole/pi-hole/pull/6406">https://github.com/pi-hole/pi-hole/pull/6406</a></li></ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pi-hole/pi-hole/compare/v6.1.4...v6.2">https://github.com/pi-hole/pi-hole/compare/v6.1.4…v6.2</a></p> <h2 class="wp-block-heading" id="web-v63">Web v6.3</h2> <h3 class="wp-block-heading" id="whats-changed-2">What’s Changed</h3> <ul class="wp-block-list"><li>Clarify client description priorities on the groups/client interface by @DL6ER in <a href="https://github.com/pi-hole/web/pull/3521">https://github.com/pi-hole/web/pull/3521</a></li> <li>Remove superfluous settings-level-expert class by @yubiuser in <a href="https://github.com/pi-hole/web/pull/3503">https://github.com/pi-hole/web/pull/3503</a></li> <li>Remove link to rate limit documentation which does not add further etails by @yubiuser in <a href="https://github.com/pi-hole/web/pull/3526">https://github.com/pi-hole/web/pull/3526</a></li> <li>Add some color to gravity output by @yubiuser in <a href="https://github.com/pi-hole/web/pull/3530">https://github.com/pi-hole/web/pull/3530</a></li> <li>settings-system : Avoid division by zero in DNS metrics by @rrobgill in <a href="https://github.com/pi-hole/web/pull/3533">https://github.com/pi-hole/web/pull/3533</a></li> <li>Make the “Add to denied/allowed domains” buttons red and green by @darkexplosiveqwx in <a href="https://github.com/pi-hole/web/pull/3551">https://github.com/pi-hole/web/pull/3551</a></li> <li>Remove query type from domainNeeded option by @yubiuser in <a href="https://github.com/pi-hole/web/pull/3557">https://github.com/pi-hole/web/pull/3557</a></li> <li>Handle pie chart item style conditionally by @yubiuser in <a href="https://github.com/pi-hole/web/pull/3532">https://github.com/pi-hole/web/pull/3532</a></li> <li>Use label-primary for number of enabled list icon on sidebar by @yubiuser in <a href="https://github.com/pi-hole/web/pull/3563">https://github.com/pi-hole/web/pull/3563</a></li> <li>Use innerHTML instead of append to fix gravity color output by @yubiuser in <a href="https://github.com/pi-hole/web/pull/3566">https://github.com/pi-hole/web/pull/3566</a></li> <li>Trim whitespaces before adding custom DNS record by @yubiuser in <a href="https://github.com/pi-hole/web/pull/3569">https://github.com/pi-hole/web/pull/3569</a></li> <li>Bind address to new element instead of raw HTML construction by @DL6ER in <a href="https://github.com/pi-hole/web/pull/3567">https://github.com/pi-hole/web/pull/3567</a></li> <li>Use /flush/network instead of /flush/arp by @yubiuser in <a href="https://github.com/pi-hole/web/pull/3553">https://github.com/pi-hole/web/pull/3553</a></li> <li>Prevents getting stuck loading unlimited query log results by @ablankenship10 in <a href="https://github.com/pi-hole/web/pull/3592">https://github.com/pi-hole/web/pull/3592</a></li> <li>Fix 2FA icon styles #3431 by @idotj in <a href="https://github.com/pi-hole/web/pull/3585">https://github.com/pi-hole/web/pull/3585</a></li> <li>Fix header.lp closing head tag formatting by @h3xcat in <a href="https://github.com/pi-hole/web/pull/3607">https://github.com/pi-hole/web/pull/3607</a></li> <li>Fix the link on the upstream chart legend by @rdwebdesign in <a href="https://github.com/pi-hole/web/pull/3606">https://github.com/pi-hole/web/pull/3606</a></li> <li>Rename config key dns.domain > dns.domain.name by @yubiuser in <a href="https://github.com/pi-hole/web/pull/3611">https://github.com/pi-hole/web/pull/3611</a></li> <li>Improve line graph tooltip by @yubiuser in <a href="https://github.com/pi-hole/web/pull/3601">https://github.com/pi-hole/web/pull/3601</a></li> <li>Make DNSSEC icon conditional in Queries Log (redo of <a href="https://github.com/pi-hole/web/pull/3399/">https://github.com/pi-hole/web/pull/3399/</a>) by @yubiuser in <a href="https://github.com/pi-hole/web/pull/3535">https://github.com/pi-hole/web/pull/3535</a></li> <li>Query Log: The underscore is special by @DL6ER in <a href="https://github.com/pi-hole/web/pull/3578">https://github.com/pi-hole/web/pull/3578</a></li> <li>Fix addList function to include type in API request URL by @PromoFaux in <a href="https://github.com/pi-hole/web/pull/3620">https://github.com/pi-hole/web/pull/3620</a></li> <li>Pin github action to SHA by @yubiuser in <a href="https://github.com/pi-hole/web/pull/3593">https://github.com/pi-hole/web/pull/3593</a></li> <li>Adjust domain count according to pi-hole/FTL#2177 by @yubiuser in <a href="https://github.com/pi-hole/web/pull/3619">https://github.com/pi-hole/web/pull/3619</a></li> <li>Also pin editorconfigchecker by sha by @yubiuser in <a href="https://github.com/pi-hole/web/pull/3621">https://github.com/pi-hole/web/pull/3621</a></li> <li>Update FTL %cpu and %mem everytime total CPU stats are updated by @yubiuser in <a href="https://github.com/pi-hole/web/pull/3622">https://github.com/pi-hole/web/pull/3622</a></li> <li>Clarify uptime in container matching the host uptime with a tooltip by @yubiuser in <a href="https://github.com/pi-hole/web/pull/3624">https://github.com/pi-hole/web/pull/3624</a></li> <li>Adjust text BitWarden to Bitwarden by @jprusik in <a href="https://github.com/pi-hole/web/pull/3629">https://github.com/pi-hole/web/pull/3629</a></li></ul> <h3 class="wp-block-heading" id="new-contributors-2">New Contributors</h3> <ul class="wp-block-list"><li>@darkexplosiveqwx made their first contribution in <a href="https://github.com/pi-hole/web/pull/3551">https://github.com/pi-hole/web/pull/3551</a></li> <li>@ablankenship10 made their first contribution in <a href="https://github.com/pi-hole/web/pull/3592">https://github.com/pi-hole/web/pull/3592</a></li> <li>@idotj made their first contribution in <a href="https://github.com/pi-hole/web/pull/3585">https://github.com/pi-hole/web/pull/3585</a></li> <li>@h3xcat made their first contribution in <a href="https://github.com/pi-hole/web/pull/3607">https://github.com/pi-hole/web/pull/3607</a></li> <li>@jprusik made their first contribution in <a href="https://github.com/pi-hole/web/pull/3629">https://github.com/pi-hole/web/pull/3629</a></li></ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/pi-hole/web/compare/v6.2.1...v6.3">https://github.com/pi-hole/web/compare/v6.2.1…v6.3</a></p>]]></content:encoded> </item> <item> <title>Compromised Donor Emails: A post-mortem</title> <link>https://pi-hole.net/blog/2025/07/30/compromised-donor-emails-a-post-mortem/</link> <dc:creator><![CDATA[Adam Warner]]></dc:creator> <pubDate>Wed, 30 Jul 2025 23:16:02 +0000</pubDate> <category><![CDATA[Updates]]></category> <guid isPermaLink="false">https://pi-hole.net/?p=76152</guid> <description><![CDATA[What Information Was Exposed (and What Was Not) The breach is limited to names and email addresses provided during the donation process, when using the form at https://pi-hole.net/donate (now fixed…) It is important to mention that we don’t have access to or store any credit card numbers or verified names or addresses or phone numbers.… <br> <a class="button small blue" href="https://pi-hole.net/blog/2025/07/30/compromised-donor-emails-a-post-mortem/">Read more</a>]]></description> <content:encoded><![CDATA[<h2 class="wp-block-heading">What Information Was Exposed (and What Was Not)</h2> <p>The breach is limited to names and email addresses provided during the donation process, when using the form at <a href="https://pi-hole.net/donate">https://pi-hole.net/donate</a> (now fixed…)</p> <p>It is important to mention that we don’t have access to or store any credit card numbers or verified names or addresses or phone numbers. Any PII is maintained directly by the card processors, Stripe or PayPal. We make it clear in the donation form that we don’t even require a valid name or email address, it’s purely for users to see and manage their donations.</p> <p>It is also important to note that Pi-hole the <em>product </em>is categorically <strong>not </strong>the subject of this breach. There is no action needed from users with a Pi-hole installed on their network</p> <h2 class="wp-block-heading">What Happened</h2> <p>We first became aware of the issue on Monday 28th July, when we started to receive emails suggesting that we were facing a possible data breach</p> <div class="wp-block-image"><figure class="aligncenter size-full"><img fetchpriority="high" decoding="async" width="591" height="123" src="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image.png" alt="" class="wp-image-76153" srcset="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image.png 591w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-300x62.png 300w" sizes="(max-width: 591px) 100vw, 591px" /></figure></div> <p>And a couple of Reddit posts let us know about the same thing.</p> <div class="wp-block-image"><figure class="aligncenter size-full"><img decoding="async" width="513" height="253" src="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-1.png" alt="" class="wp-image-76154" srcset="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-1.png 513w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-1-300x148.png 300w" sizes="(max-width: 513px) 100vw, 513px" /></figure></div> <p>And a <a href="https://discourse.pi-hole.net/t/did-pihole-mail-donation-list-got-leaked/81441">post on our Discourse forum</a>….</p> <p>The email addresses that people were receiving these emails to were emails that had been used exclusively when leaving us a donation.</p> <p>How could this be? Had someone gotten access to the admin page of our WordPress site? Were we running some out of date plugin that had a known vulnerability against it? Had the payment providers suffered a breach?</p> <p>One of many threads we pulled at was checking the user account list. Our hypothesis leaning toward an integration with a plugin creating user accounts, as <a href="https://www.reddit.com/r/pihole/comments/1mbks5z/comment/n5tl9me/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button">Dan commented</a> on Reddit. (Spoiler alert… the post has been edited with the actual reason)</p> <h2 class="wp-block-heading">Checking with the plugin authors</h2> <p>So, we reached out to the authors of the plugin we use for our donations page (GiveWP) to see if they knew of anything that might be the cause of this. Nobody else had reported anything similar</p> <div class="wp-block-image"><figure class="aligncenter size-full"><img decoding="async" width="750" height="995" src="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-7.png" alt="" class="wp-image-76160" srcset="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-7.png 750w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-7-226x300.png 226w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-7-300x398.png 300w" sizes="(max-width: 750px) 100vw, 750px" /></figure></div> <p>The next day, we discovered that the donation plugin we use, GiveWP, had released an update with the description: <strong>“Security: Addressed an issue with donor information visibility.”</strong> </p> <figure class="wp-block-image size-full"><img decoding="async" width="914" height="452" src="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-6.png" alt="" class="wp-image-76159" srcset="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-6.png 914w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-6-300x148.png 300w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-6-768x380.png 768w" sizes="(max-width: 914px) 100vw, 914px" /></figure> <p>Further investigation revealed a public <a href="https://github.com/impress-org/givewp/issues/8042">issue had been filed</a> on their GitHub repository by another user, detailing the vulnerability. (For transparency, we have archived a copy of the <a href="https://web.archive.org/web/20250730210724/https://github.com/impress-org/givewp/issues/8042">report here</a>).</p> <figure class="wp-block-image size-full"><img decoding="async" width="862" height="376" src="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-8.png" alt="" class="wp-image-76161" srcset="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-8.png 862w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-8-300x131.png 300w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-8-768x335.png 768w" sizes="(max-width: 862px) 100vw, 862px" /></figure> <p>The names and email addresses of <strong>anyone that had ever donated</strong> via our donation page was there for the entire world to see (provided they were savvy enough to <em>right click->View page source</em>)</p> <p>Within a couple of hours of this report, they had patched the bad code and <a href="https://wordpress.org/plugins/give/#developers">released 4.6.1</a></p> <figure class="wp-block-image size-large"><img decoding="async" width="827" height="1024" src="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-11-827x1024.png" alt="" class="wp-image-76164" srcset="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-11-827x1024.png 827w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-11-242x300.png 242w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-11-768x951.png 768w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-11-873x1080.png 873w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-11-300x371.png 300w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-11.png 930w" sizes="(max-width: 827px) 100vw, 827px" /></figure> <p>While the patch was released quickly, we were concerned by the 17.5-hour delay (“4 business hours”…) between the critical security fix and any official notification from the GiveWP team. However, In our view, their public statement did not sufficiently address the potential impact of exposing donor names and email addresses. </p> <figure class="wp-block-image size-full"><img decoding="async" width="924" height="690" src="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-12.png" alt="" class="wp-image-76165" srcset="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-12.png 924w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-12-300x224.png 300w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-12-768x574.png 768w" sizes="(max-width: 924px) 100vw, 924px" /></figure> <figure class="wp-block-image size-full"><img decoding="async" width="923" height="787" src="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-13.png" alt="" class="wp-image-76166" srcset="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-13.png 923w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-13-300x256.png 300w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-13-768x655.png 768w" sizes="(max-width: 923px) 100vw, 923px" /></figure> <figure class="wp-block-image size-full"><img decoding="async" width="927" height="600" src="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-14.png" alt="" class="wp-image-76167" srcset="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-14.png 927w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-14-300x194.png 300w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-14-768x497.png 768w" sizes="(max-width: 927px) 100vw, 927px" /></figure> <p>And with that, the conversation is effectively shut down.</p> <div class="wp-block-image"><figure class="aligncenter size-full"><img decoding="async" width="601" height="344" src="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-15.png" alt="" class="wp-image-76169" srcset="https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-15.png 601w, https://wp-cdn.pi-hole.net/wp-content/uploads/2025/07/image-15-300x172.png 300w" sizes="(max-width: 601px) 100vw, 601px" /></figure></div> <p>And yes, while no billing or payment info was at risk, they really downplay the impact that the accidental reveal of <strong>names and email addresses</strong> can have. (To quote: “there’s no evidence that the exposure of emails that happened here has been linked to any real-world exploitation”)</p> <p>If we’re being entirely honest, the response from the GiveWP team has been disappointing. </p> <h2 class="wp-block-heading">Where we’re left</h2> <p>We take full responsibility for the software we deploy. We placed our trust in a widely-used plugin, and that trust was broken. This incident exposed our donors’ information and put our reputation at risk. This is an unacceptable outcome.</p> <p>While there is no way for us to have forseen this happening, we cannot apologise enough to anyone of our donors who have seen an increase in spam due to this. We put our trust in a WordPress plugin, and they broke that trust – in turn putting our own reputation at risk.</p> <p>It sucks, and it’s not a position we ever thought we’d be in, but here we are. We hope that we can gain back the trust of those affected by this.</p> <p></p>]]></content:encoded> </item> <item> <title>Pi-hole Core v6.1.4 Released</title> <link>https://pi-hole.net/blog/2025/07/14/pi-hole-core-v6-1-4-released/</link> <dc:creator><![CDATA[Dan Schaper]]></dc:creator> <pubDate>Mon, 14 Jul 2025 21:17:29 +0000</pubDate> <category><![CDATA[Operations]]></category> <category><![CDATA[Updates]]></category> <category><![CDATA[changelog]]></category> <category><![CDATA[core]]></category> <category><![CDATA[release]]></category> <guid isPermaLink="false">https://pi-hole.net/?p=75948</guid> <description><![CDATA[This is a bugfix release for the core Pi-hole code. Fixes]]></description> <content:encoded><![CDATA[<p>This is a bugfix release for the core Pi-hole code.</p> <h4 class="wp-block-heading">Fixes</h4> <ul class="wp-block-list"><li>Fix issue where web interface cannot run gravity by <a href="https://github.com/PromoFaux">@PromoFaux</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6345">#6345</a></li> <li>Fix <code>pihole api</code> command by not setting the some variabes as readonly by <a href="https://github.com/PromoFaux">@PromoFaux</a> in <a href="https://github.com/pi-hole/pi-hole/pull/6346">#6346</a></li></ul> <p></p>]]></content:encoded> </item> <item> <title>Pi-hole Core v6.1.3 Released</title> <link>https://pi-hole.net/blog/2025/07/14/pi-hole-core-v6-1-3-released/</link> <dc:creator><![CDATA[Dan Schaper]]></dc:creator> <pubDate>Mon, 14 Jul 2025 14:13:49 +0000</pubDate> <category><![CDATA[Operations]]></category> <category><![CDATA[Updates]]></category> <category><![CDATA[changelog]]></category> <category><![CDATA[core]]></category> <category><![CDATA[release]]></category> <guid isPermaLink="false">https://pi-hole.net/?p=75872</guid> <description><![CDATA[Core v6.1.3 Release Notes]]></description> <content:encoded><![CDATA[<p>This is a bugfix release for the core Pi-hole code.</p> <h4 class="wp-block-heading">Fixes</h4> <ul class="wp-block-list"><li>Prevent gravity from failing due to an empty shell variable. <a href="https://github.com/pi-hole/pi-hole/pull/6191">#6191</a><br>This fixes a case where calls to <code>pihole -g</code> failed during list downloads.</li> <li>Require privileged status (root or sudo) for all user calls to <code>pihole</code>. <a href="http://Exit installation if FTL binary can not be downloaded. #6312">#</a><a href="https://github.com/pi-hole/pi-hole/pull/6312">6312</a><br>This fixes cases where users are unable to change or update the admin password.</li> <li>Exit installation if FTL binary can not be downloaded. <a href="https://github.com/pi-hole/pi-hole/pull/6316">#6316</a><br>Abort update if FTL branch does not exist. <a href="https://github.com/pi-hole/pi-hole/pull/6329">#6329</a> <br>These fix cases where the installation did not fully complete or an update left the installation with mismatched binary and repository versions. Both fixes contributed by @MichaIng</li> <li>Restore <code>pihole -q</code> function. <a href="https://github.com/pi-hole/pi-hole/pull/6284">#6284</a><br>This fixes a case where running a query immediately failed with an error message for an unknown file. </li></ul> <h4 class="wp-block-heading">Miscellaneous Fixes and Improvements</h4> <ul class="wp-block-list"><li>Display output from FTL commands in color on the terminal. <a href="https://github.com/pi-hole/pi-hole/pull/6314">#6314</a></li> <li>Add note to final installation dialog box showing users where to find instructions for allowing a user to run Pi-hole commands without authentication. <a href="https://github.com/pi-hole/pi-hole/pull/6152">#6152</a></li> <li>Allow <code>pihole tail</code> to search for strings beginning with the hyphen character. <a href="https://github.com/pi-hole/pi-hole/pull/6318">#6318</a> Contributed by @rrobgill</li> <li>Do not update the package cache on updates. <a href="https://github.com/pi-hole/pi-hole/pull/6282">#6282</a></li> <li>Improve default route detection in debugging process. <a href="https://github.com/pi-hole/pi-hole/pull/6303">#6303</a> Contributed by @rrobgill</li> <li>Improve detecting loopback interfaces in the installer.<a href="https://github.com/pi-hole/pi-hole/pull/6269"> #6269</a> Contributed by @deHakkelaar</li></ul> <p></p>]]></content:encoded> </item> <item> <title>Pi-hole FTL v6.2.3 Released</title> <link>https://pi-hole.net/blog/2025/06/12/pi-hole-ftl-v6-2-3-released/</link> <dc:creator><![CDATA[RD]]></dc:creator> <pubDate>Thu, 12 Jun 2025 15:37:38 +0000</pubDate> <category><![CDATA[Updates]]></category> <guid isPermaLink="false">https://pi-hole.net/?p=75455</guid> <description><![CDATA[We have now released FTL v6.2.3. This patch release contains fixes for almost all reported bugs (most importantly, it fixes a logging regression where types are missing from pihole.log as well as a crash in filter_servers() deep down in dnsmasq code). Note: If you had switched to FTL v6.1 or a different branch following the… <br> <a class="button small blue" href="https://pi-hole.net/blog/2025/06/12/pi-hole-ftl-v6-2-3-released/">Read more</a>]]></description> <content:encoded><![CDATA[<p>We have now released FTL v6.2.3.</p><p>This patch release contains fixes for almost all reported bugs (most importantly, it fixes a logging regression where types are missing from <code>pihole.log</code> as well as a crash in <code>filter_servers()</code> deep down in <code>dnsmasq</code> code).</p><blockquote><h5><strong>Note:</strong></h5><p>If you had switched to FTL v6.1 or a different branch following the previous posts, you may now switch back the released version <code>pihole checkout ftl master</code> should get you to v6.2.3.</p></blockquote><p>There is one remaining known issue about the behavior of <code>server=/example.com/1.2.3.4</code> having changed which we are still working on with the maintainers of <code>dnsmasq</code>.</p><h3 class="wp-block-heading">FTL Changes</h3><ul><li>Relax the session cookie from <code>SameSite=Strict</code> to <code>Lax</code> by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2471">#2471</a></li><li>Allow unauthenticated access to non-admin LUA pages by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2503">#2503</a></li><li>ntp: ignore client version, always return a v4 packet by <a href="https://github.com/rrobgill">@rrobgill</a> in <a href="https://github.com/pi-hole/FTL/pull/2505">#2505</a></li><li>Store intermediate CNAME domain pointers in DNS cache by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2461">#2461</a></li><li>Run dependabot also on composite actions by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/FTL/pull/2502">#2502</a></li><li>Split FTL build and test on GHA by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/FTL/pull/2498">#2498</a></li><li>Remove pullapprove.yml by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/FTL/pull/2499">#2499</a></li><li>Speedup build and test by running RISCV on ARM64 by <a href="https://github.com/yubiuser">@yubiuser</a> in <a href="https://github.com/pi-hole/FTL/pull/2501">#2501</a></li><li>Simplify CI build process by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2507">#2507</a></li><li>Get latest dnsmasq updates by <a href="https://github.com/DL6ER">@DL6ER</a> in <a href="https://github.com/pi-hole/FTL/pull/2509">#2509</a></li></ul><p><strong>Full Changelog</strong>: <a class="commit-link rgh-seen-5099334730" href="https://github.com/pi-hole/FTL/compare/v6.2.2...v6.2.3"><tt>v6.2.2...v6.2.3</tt></a></p><h3 style="text-align: left;">Join the Community</h3><p style="text-align: left;">Pi-hole thrives thanks to our vibrant and supportive community. Whether you’re looking to share your experience, get advice, or stay informed about the latest updates, there’s a place for you. Join the conversation on our <a href="https://discourse.pi-hole.net" target="_new" rel="noreferrer noopener">official forum</a> or connect with fellow users on our <a href="https://www.reddit.com/r/pihole/" target="_new" rel="noreferrer noopener">subreddit</a>. We look forward to welcoming you!</p><h3 style="text-align: left;">Thank You for Your Support</h3><p style="text-align: left;">We want to express our heartfelt thanks to everyone who has supported Pi-hole throughout the years.</p><p style="text-align: left;">Your community contributions and donations are the lifeblood of this project, allowing us to maintain and continually improve Pi-hole while keeping it free for everyone. If you’d like to contribute to our ongoing efforts, please consider donating through our official <a href="https://pi-hole.net/donate" target="_new" rel="noreferrer noopener">donation page</a>. Every contribution, big or small, makes a significant difference in helping us deliver the best project that we can.</p><p style="text-align: left;">Thank you for being part of the Pi-hole community!</p>]]></content:encoded> </item> <item> <title>Pi-hole FTL v6.2.2 Released</title> <link>https://pi-hole.net/blog/2025/06/06/pi-hole-ftl-v6-2-2-released/</link> <dc:creator><![CDATA[Adam Warner]]></dc:creator> <pubDate>Fri, 06 Jun 2025 11:42:20 +0000</pubDate> <category><![CDATA[Updates]]></category> <guid isPermaLink="false">https://pi-hole.net/?p=75358</guid> <description><![CDATA[Following on from our previous post, we have now released FTL v6.2.2, which contains fixes for some underlying bugs in dnsmasq that should now resolve the majority of cases where we have seen crashes. We have also downgraded the embedded version of SQLite from 3.50.0, as this was also causing issues. Full details and converation… <br> <a class="button small blue" href="https://pi-hole.net/blog/2025/06/06/pi-hole-ftl-v6-2-2-released/">Read more</a>]]></description> <content:encoded><![CDATA[<p>Following on from our <a href="https://pi-hole.net/blog/2025/06/02/psa-ftl-v6-2-ftl-v6-2-1-crashes-workaround/">previous post</a>, we have now released FTL v6.2.2, which contains fixes for some underlying bugs in <code>dnsmasq</code> that should now resolve the majority of cases where we have seen crashes. We have also downgraded the embedded version of SQLite from 3.50.0, as this was also causing issues.</p><p>Full details and converation around the issues can be found in <a href="https://github.com/pi-hole/FTL/issues/2473">pi-hole/FTL#2473</a></p><p>If you had switched to FTL v6.1 following the previous post, you may now switch back the released version <code>pihole checkout ftl master</code> should get you to v6.2.2</p><p>There are still a couple of outliers (<a class="issue-link js-issue-link rgh-seen--20877287924" href="https://github.com/pi-hole/FTL/issues/2494" data-error-text="Failed to load title" data-id="3120916476" data-permission-text="Title is private" data-url="https://github.com/pi-hole/FTL/issues/2494" data-hovercard-type="issue" data-hovercard-url="/pi-hole/FTL/issues/2494/hovercard">pi-hole/FTL#2494</a>, and <a class="issue-link js-issue-link rgh-seen--20877287924" href="https://github.com/pi-hole/FTL/issues/2496" data-error-text="Failed to load title" data-id="3122301085" data-permission-text="Title is private" data-url="https://github.com/pi-hole/FTL/issues/2496" data-hovercard-type="issue" data-hovercard-url="/pi-hole/FTL/issues/2496/hovercard">pi-hole/FTL#2496</a>) – though there is a fix on the FTL branch <code>fix/filter_servers</code> which should resolve those, though it is pending feedback. If you find that 6.2.2 still crashes for you, you are invited to try above branch with <code>pihole checkout ftl fix/filter_servers</code> and provide feedback on the above mentioned issues, or via our Discourse forum.<strong><code></code></strong></p><h3>FTL Changes</h3><p>This release addresses crashes reported in <a class="issue-link js-issue-link rgh-seen-5099334730 rgh-seen--20877287924" href="https://github.com/pi-hole/FTL/issues/2473" data-error-text="Failed to load title" data-id="3104858975" data-permission-text="Title is private" data-url="https://github.com/pi-hole/FTL/issues/2473" data-hovercard-type="issue" data-hovercard-url="/pi-hole/FTL/issues/2473/hovercard">#2473</a> <a class="issue-link js-issue-link rgh-seen-5099334730 rgh-seen--20877287924" href="https://github.com/pi-hole/FTL/issues/2475" data-error-text="Failed to load title" data-id="3105444503" data-permission-text="Title is private" data-url="https://github.com/pi-hole/FTL/issues/2475" data-hovercard-type="issue" data-hovercard-url="/pi-hole/FTL/issues/2475/hovercard">#2475</a> <a class="issue-link js-issue-link rgh-seen-5099334730 rgh-seen--20877287924" href="https://github.com/pi-hole/FTL/issues/2481" data-error-text="Failed to load title" data-id="3107394734" data-permission-text="Title is private" data-url="https://github.com/pi-hole/FTL/issues/2481" data-hovercard-type="issue" data-hovercard-url="/pi-hole/FTL/issues/2481/hovercard">#2481</a> and friends.</p><h4>What’s Changed</h4><ul><li>Update build containers to <a class="rgh-seen-5099334730" href="https://www.alpinelinux.org/posts/Alpine-3.22.0-released.html" rel="nofollow">Alpine 3.22</a> by <a class="user-mention notranslate rgh-seen-5099334730 rgh-seen--1354643792 rgh-small-user-avatars rgh-mention-avatar" href="https://github.com/DL6ER" data-hovercard-type="user" data-hovercard-url="/users/DL6ER/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@DL6ER</a> in <a class="issue-link js-issue-link rgh-seen-5099334730" href="https://github.com/pi-hole/FTL/pull/2477" data-error-text="Failed to load title" data-id="3106681811" data-permission-text="Title is private" data-url="https://github.com/pi-hole/FTL/issues/2477" data-hovercard-type="pull_request" data-hovercard-url="/pi-hole/FTL/pull/2477/hovercard">#2477</a></li><li>Update dnsmasq to 2.92test11(-1) by <a class="user-mention notranslate rgh-seen-5099334730 rgh-seen--1354643792 rgh-small-user-avatars rgh-mention-avatar" href="https://github.com/DL6ER" data-hovercard-type="user" data-hovercard-url="/users/DL6ER/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@DL6ER</a> in <a class="issue-link js-issue-link rgh-seen-5099334730" href="https://github.com/pi-hole/FTL/pull/2486" data-error-text="Failed to load title" data-id="3114605806" data-permission-text="Title is private" data-url="https://github.com/pi-hole/FTL/issues/2486" data-hovercard-type="pull_request" data-hovercard-url="/pi-hole/FTL/pull/2486/hovercard">#2486</a></li><li>Update dnsmasq to 2.92test11 by <a class="user-mention notranslate rgh-seen-5099334730 rgh-seen--1354643792 rgh-small-user-avatars rgh-mention-avatar" href="https://github.com/DL6ER" data-hovercard-type="user" data-hovercard-url="/users/DL6ER/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@DL6ER</a> in <a class="issue-link js-issue-link rgh-seen-5099334730" href="https://github.com/pi-hole/FTL/pull/2489" data-error-text="Failed to load title" data-id="3116290929" data-permission-text="Title is private" data-url="https://github.com/pi-hole/FTL/issues/2489" data-hovercard-type="pull_request" data-hovercard-url="/pi-hole/FTL/pull/2489/hovercard">#2489</a></li><li>Revert the SQLite update to 3.50.0 as it is causing crashes for users by <a class="user-mention notranslate rgh-seen-5099334730 rgh-seen--1354643792 rgh-small-user-avatars rgh-mention-avatar" href="https://github.com/DL6ER" data-hovercard-type="user" data-hovercard-url="/users/DL6ER/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@DL6ER</a> in <a class="issue-link js-issue-link rgh-seen-5099334730" href="https://github.com/pi-hole/FTL/pull/2488" data-error-text="Failed to load title" data-id="3116286169" data-permission-text="Title is private" data-url="https://github.com/pi-hole/FTL/issues/2488" data-hovercard-type="pull_request" data-hovercard-url="/pi-hole/FTL/pull/2488/hovercard">#2488</a></li><li>Update Lua to 5.4.8 (bugfix) by <a class="user-mention notranslate rgh-seen-5099334730 rgh-seen--1354643792 rgh-small-user-avatars rgh-mention-avatar" href="https://github.com/DL6ER" data-hovercard-type="user" data-hovercard-url="/users/DL6ER/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@DL6ER</a> in <a class="issue-link js-issue-link rgh-seen-5099334730" href="https://github.com/pi-hole/FTL/pull/2491" data-error-text="Failed to load title" data-id="3118336457" data-permission-text="Title is private" data-url="https://github.com/pi-hole/FTL/issues/2491" data-hovercard-type="pull_request" data-hovercard-url="/pi-hole/FTL/pull/2491/hovercard">#2491</a></li><li>Fix typos in misc config settings by <a class="user-mention notranslate rgh-seen-5099334730 rgh-seen--1354643792 rgh-small-user-avatars rgh-mention-avatar" href="https://github.com/rrobgill" data-hovercard-type="user" data-hovercard-url="/users/rrobgill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@rrobgill</a> in <a class="issue-link js-issue-link rgh-seen-5099334730" href="https://github.com/pi-hole/FTL/pull/2485" data-error-text="Failed to load title" data-id="3112869214" data-permission-text="Title is private" data-url="https://github.com/pi-hole/FTL/issues/2485" data-hovercard-type="pull_request" data-hovercard-url="/pi-hole/FTL/pull/2485/hovercard">#2485</a></li><li>Display invalid character and offset correctly in hostname diagnosis by <a class="user-mention notranslate rgh-seen-5099334730 rgh-seen--1354643792 rgh-small-user-avatars rgh-mention-avatar" href="https://github.com/rrobgill" data-hovercard-type="user" data-hovercard-url="/users/rrobgill/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self">@rrobgill</a> in <a class="issue-link js-issue-link rgh-seen-5099334730" href="https://github.com/pi-hole/FTL/pull/2484" data-error-text="Failed to load title" data-id="3111929084" data-permission-text="Title is private" data-url="https://github.com/pi-hole/FTL/issues/2484" data-hovercard-type="pull_request" data-hovercard-url="/pi-hole/FTL/pull/2484/hovercard">#2484</a></li></ul><p><strong>Full Changelog</strong>: <a class="commit-link rgh-seen-5099334730" href="https://github.com/pi-hole/FTL/compare/v6.2...v6.2.2"><tt>v6.2...v6.2.2</tt></a></p><h3 style="text-align: left;">Join the Community</h3><p style="text-align: left;">Pi-hole thrives thanks to our vibrant and supportive community. Whether you’re looking to share your experience, get advice, or stay informed about the latest updates, there’s a place for you. Join the conversation on our <a href="https://discourse.pi-hole.net" target="_new" rel="noreferrer noopener">official forum</a> or connect with fellow users on our <a href="https://www.reddit.com/r/pihole/" target="_new" rel="noreferrer noopener">subreddit</a>. We look forward to welcoming you!</p><h3 style="text-align: left;">Thank You for Your Support</h3><p style="text-align: left;">We want to express our heartfelt thanks to everyone who has supported Pi-hole throughout the years.</p><p style="text-align: left;">Your community contributions and donations are the lifeblood of this project, allowing us to maintain and continually improve Pi-hole while keeping it free for everyone. If you’d like to contribute to our ongoing efforts, please consider donating through our official <a href="https://pi-hole.net/donate" target="_new" rel="noreferrer noopener">donation page</a>. Every contribution, big or small, makes a significant difference in helping us deliver the best project that we can.</p><p style="text-align: left;">Thank you for being part of the Pi-hole community!</p><p><strong> </strong></p>]]></content:encoded> </item> </channel></rss> If you would like to create a banner that links to this page (i.e. this validation result), do the following:
Download the "valid RSS" banner.
Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)
Add this HTML to your page (change the image src attribute if necessary):
If you would like to create a text link instead, here is the URL you can use:
http://www.rssboard.org/rss-validator/check.cgi?url=https%3A//pi-hole.net/feed