Originally published at: https://pi-hole.net/blog/2025/11/27/pi-hole-ftl-v6-4-web-v6-4-and-core-v6-3-released/
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 & Optimization
- FTL Optimizations: We’ve improved string processing, memory management, and enabled new compiler flags (such as
-march=nativeand-funroll-loops) to make FTL faster and more efficient (#2571). - Reduced Locking: We’ve reduced DNS resolver locking during database interactions (#2700).
User Interface & Experience
- TOTP Autofill: Logging in with 2FA is now smoother. The TOTP input field now supports
autocomplete="one-time-code", allowing browsers and password managers to automatically suggest the code (#3658). - “All Time” Query Log: The “All Time” date range in the Query Log now accurately reflects the earliest timestamp in your database, giving you a true historical view (#3657, #2706).
- Optional Colour Output: The Gravity API now defaults to plain text output, only sending ANSI colour codes when explicitly requested (
?color=true). This fixes issues for API consumers that don’t handle escape codes well (#2718).
API & Networking
- Extended Hardware Addresses: The API now correctly handles hardware addresses longer than 48 bits (e.g., InfiniBand), ensuring they are displayed and managed correctly (#2724).
- Partial Regex Matching: The search API now supports simple partial matching for regex, making it easier to find domains within your blocklists (#2705).
- Security: We’ve added rate-limiting for TOTP validation (max 1 attempt/second) to prevent brute-force attacks on 2FA (#2719).
FTL v6.4
What’s Changed
- Fix API specs and example for dns.upstreams in config.yaml by @rdwebdesign in #2696
- gravity update – silently discard unicode BOM if present by @rrobgill in #2702
- Update embedded SQLite to 3.51.0 by @DL6ER in #2704
- Get earliest query timestamp from database by @PromoFaux in #2706
- Increase buffer length for query string by @mwoolweaver in #2709
- Reduce DNS resolver locking during database interaction by @DL6ER in #2700
- Make colour output optional in streaming gravity API call by @PromoFaux in #2718
- api/dhcp/leases Allow for hwaddr > 48 bits by @rrobgill in #2724
- Add rate-limiting for TOTP validation by @DL6ER in #2719
- Implement simple partial matching for regex in /api/search/{domain} by @DL6ER in #2705
- Performance optimizations: string processing, memory management, and compiler flags by @Copilot in #2571
- Fix authentication redirect when webhome is / (fixes #2518) by @averyvigolo in #2610
- Reduce database locking and add timing debug setting by @DL6ER in #2688
New Contributors
- @mwoolweaver made their first contribution in #2709
- @Copilot made their first contribution in #2571
- @averyvigolo made their first contribution in #2610
Full Changelog: v6.3.3…v6.4
Web v6.4
What’s Changed
- Start using commented tags for editorconfig-checker by @yubiuser in #3643
- Remove some unused code (leftover from v5) by @rdwebdesign in #3636
- Make sure the table is redrawn after the dnssec API call returns by @rdwebdesign in #3645
- Add hint that partial matching may not return all possible results by @DL6ER in #3654
- Enable one-time code autofill for TOTP input by @sebastianlivoni in #3658
- Set “All Time ” range for query log datepicker based on Database ranges (moment) by @PromoFaux in #3657
- Request ANSI colour codes when calling gravity API by @PromoFaux in #3662
New Contributors
Full Changelog: v6.3…v6.4
Core v6.3
What’s Changed
- Add Fedora 43 to test suite by @yubiuser in #6453
- Fix libcap capabilities not being granted on OpenRC distros by @Sparronator9999 in #6456
- systemd service – don’t use deprecated PermissionsStartOnly by @rrobgill in #6465
- Speed up processing and display of file contents and services in piholeDebug.sh by @rrobgill in #6469
- Use port from dns.port in piholeDebug.sh by @darkexplosiveqwx in #6475
- Improve gravity tables presentation on the debug log by @rdwebdesign in #6460
New Contributors
Full Changelog: v6.2.2…v6.2.3