Releases: pi-hole/docker-pi-hole
2025.11.1
What's Changed (Docker Specific)
- Fix build status badge in readme by @nol166 in #1938
- Add RISCV back by @yubiuser in #1939
- Improve FTL startup detection and log tailing by @PromoFaux in #1940
- Set DNS listening mode to 'ALL' in docker-compose.yml example by @cornshakes in #1946
- Add instructions for excluding Pi-hole from Watchtower updates by @chippy01 in #1949
New Contributors
- @nol166 made their first contribution in #1938
- @cornshakes made their first contribution in #1946
- @chippy01 made their first contribution in #1949
Full Changelog: 2025.11.0...2025.11.1
What's Changed (FTL v6.4.1)
- Fix API specs and example for dns.upstreams in config.yaml by @rdwebdesign in pi-hole/FTL#2696
- gravity update - silently discard unicode BOM if present by @rrobgill in pi-hole/FTL#2702
- Update embedded SQLite to 3.51.0 by @DL6ER in pi-hole/FTL#2704
- Get earliest query timestamp from database by @PromoFaux in pi-hole/FTL#2706
- Increase buffer length for query string by @mwoolweaver in pi-hole/FTL#2709
- Reduce DNS resolver locking during database interaction by @DL6ER in pi-hole/FTL#2700
- Make colour output optional in streaming gravity API call by @PromoFaux in pi-hole/FTL#2718
- api/dhcp/leases Allow for hwaddr > 48 bits by @rrobgill in pi-hole/FTL#2724
- Add rate-limiting for TOTP validation by @DL6ER in pi-hole/FTL#2719
- Implement simple partial matching for regex in /api/search/{domain} by @DL6ER in pi-hole/FTL#2705
- Performance optimizations: string processing, memory management, and compiler flags by @Copilot in pi-hole/FTL#2571
- Fix authentication redirect when webhome is / (fixes #2518) by @averyvigolo in pi-hole/FTL#2610
- Reduce database locking and add timing debug setting by @DL6ER in pi-hole/FTL#2688
New Contributors
- @mwoolweaver made their first contribution in pi-hole/FTL#2709
- @Copilot made their first contribution in pi-hole/FTL#2571
- @averyvigolo made their first contribution in pi-hole/FTL#2610
Full Changelog: pi-hole/FTL@v6.3.3...v6.4
What's Changed (Web v6.4)
- Start using commented tags for editorconfig-checker by @yubiuser in pi-hole/web#3643
- Remove some unused code (leftover from v5) by @rdwebdesign in pi-hole/web#3636
- Make sure the table is redrawn after the dnssec API call returns by @rdwebdesign in pi-hole/web#3645
- Add hint that partial matching may not return all possible results by @DL6ER in pi-hole/web#3654
- Enable one-time code autofill for TOTP input by @sebastianlivoni in pi-hole/web#3658
- Set "All Time " range for query log datepicker based on Database ranges (moment) by @PromoFaux in pi-hole/web#3657
- Request ANSI colour codes when calling gravity API by @PromoFaux in pi-hole/web#3662
- Pi-hole Web v6.4 by @PromoFaux in pi-hole/web#3670
New Contributors
- @sebastianlivoni made their first contribution in pi-hole/web#3658
Full Changelog: pi-hole/web@v6.3...v6.4
What's Changed (Core v6.3)
- Add Fedora 43 to test suite by @yubiuser in pi-hole/pi-hole#6453
- Fix libcap capabilities not being granted on OpenRC distros by @Sparronator9999 in pi-hole/pi-hole#6456
- systemd service - don't use deprecated PermissionsStartOnly by @rrobgill in pi-hole/pi-hole#6465
- debug - speed up processing and display of file contents and services by @rrobgill in pi-hole/pi-hole#6469
- Use port from dns.port in piholeDebug.sh by @darkexplosiveqwx in pi-hole/pi-hole#6475
- Improve gravity tables presentation on the debug log by @rdwebdesign in pi-hole/pi-hole#6460
New Contributors
- @Sparronator9999 made their first contribution in pi-hole/pi-hole#6456
Full Changelog: pi-hole/pi-hole@v6.2.2...v6.3
2025.11.0
Re-release, the riscv64 part of the image is not currently building and preventing the image from being published for other architectures.
I have disabled the riscv64 build for the time being until I have time to debug what is happening with it. I
If you are running this image on riscv64, please get in touch via issues if you are willing to help troubleshoot the process!
Otherwise, nothing specific for Docker, tagging to get an FTL change out:
What's Changed (FTL v6.3.3)
- Fix crash in NTP error handling code by @DL6ER in pi-hole/FTL#2684
- Add validation for ntp.sync.server by @DL6ER in pi-hole/FTL#2667
- Be more explicit about required path and query parameters for list manipulation by @yubiuser in pi-hole/FTL#2689
- Pi-hole FTL v6.3.3 by @DL6ER in pi-hole/FTL#2693
Full Changelog: pi-hole/FTL@v6.3.2...v6.3.3
2025.10.3
Pi-hole releases are a lot like London Buses. You don't see one for ages, and then they all come along at once
What's Changed (Docker Specific)
- Remove remaining hard-coded FTL log paths by @casperklein in #1929
Full Changelog: 2025.10.2...2025.10.3
What's Changed (FTL v6.3.2)
- Fix pihole.format_path() memory handling by @DL6ER in pi-hole/FTL#2675
Full Changelog: pi-hole/FTL@v6.3.1...v6.3.2
What's Changed (Core v6.2.2)
- Create version file, if not existing (on first Container start) by @casperklein in pi-hole/pi-hole#6440
- Add log file path variables and ensure log files are created if missing by @Yannick7777 in pi-hole/pi-hole#6441
- Add bind9-dnsutils as dependency for APT based systems by @yubiuser in pi-hole/pi-hole#6444
New Contributors
- @Yannick7777 made their first contribution in pi-hole/pi-hole#6441
Full Changelog: pi-hole/pi-hole@v6.2.1...v6.2.2
2025.10.2
Nothing Docker-specific
Tagging to include FTL v6.3.1
What's Changed
- Fix pihole.format_path(string) modifying string in-place by @DL6ER in pi-hole/FTL#2661
- Do not try to renew certificate that is not used by @DL6ER in pi-hole/FTL#2666
- Replace dots with underscores when creating env var examples by @rdwebdesign in pi-hole/FTL#2669
- Grammar corrections in documentation by @alexxroche in pi-hole/FTL#2670
- Add new config option for hiding some warnings from diagnosis system by @DL6ER in pi-hole/FTL#2657
New Contributors
- @alexxroche made their first contribution in pi-hole/FTL#2670
Full Changelog: pi-hole/FTL@v6.3...v6.3.1
2025.10.1
Just a couple of docker tweaks - should fix the issues seen in #1918
What's Changed
- Don't use hard-coded FTL.log path by @yubiuser in #1924
- Revert
pihole-FTL wait-forcommandffd3cbb(#1927)
Full Changelog: 2025.10.0...2025.10.1
2025.10.0
What's Changed (Docker Specific)
- Add pihole-FTL bash completion by @yubiuser in #1880
- Use FTL's build-in wait-for command for checking the logs by @yubiuser in #1898
Full Changelog: 2025.08.0...2025.10.0
Release notes for other components
FTL v6.3
What's Changed
- Tests - fix PTR test by @rrobgill in pi-hole/FTL#2516
- Reply to address queries in .localhost domain (RFC6171) by @rrobgill in pi-hole/FTL#2517
- dhcp-discover: Fix string processing by @rrobgill in pi-hole/FTL#2519
- [RFC] Prevent .internal queries from being upstreamed. Draft draft-davies-internal-tld-03 by @Tooa in pi-hole/FTL#2474
- Add dns.localise by @Manakuremati in pi-hole/FTL#2524
- Webserver: Allow webhome to be root by @rrobgill in pi-hole/FTL#2521
- api/network Avoid NULL string comparison logspam by @rrobgill in pi-hole/FTL#2526
- request_info.is_authenticated needs to be initialized explicitly with… by @DL6ER in pi-hole/FTL#2533
- Allow forcing color in CLI output by @DL6ER in pi-hole/FTL#2538
- Simplify CI build by removing the composite action by @yubiuser in pi-hole/FTL#2511
- Rename flushing arp > flushing network by @yubiuser in pi-hole/FTL#2541
- Update embedded SQLite3 engine to 3.50.2 by @DL6ER in pi-hole/FTL#2544
- Add
pihole-FTL create-default-configoption and use it to uploadpihole.tomltoftl.pi-hole.netby @yubiuser in pi-hole/FTL#2540 - Allow low-level header manipulation from Lua pages by @DL6ER in pi-hole/FTL#2535
- Fix foreign fork PRs by @DL6ER in pi-hole/FTL#2543
- Update package-lock.json to fix npm vuln by @XhmikosR in pi-hole/FTL#2555
- Update rapidoc to v9.3.8 by @XhmikosR in pi-hole/FTL#2556
- Add missing 'took' fields to API spec response examples by @tsutsu3 in pi-hole/FTL#2466
- Remove domain type from domainNeeded help text by @yubiuser in pi-hole/FTL#2564
- Update embedded dnsmasq to v2.92test16 by @DL6ER in pi-hole/FTL#2570
- Config typo correction by @rrobgill in pi-hole/FTL#2572
- Support IPv6 in the DHCP API by @DL6ER in pi-hole/FTL#2554
- Add sigrtmin option by @jacklul in pi-hole/FTL#2574
- NTP ipv6 crash fix - ntp reply & logging by @rrobgill in pi-hole/FTL#2569
- Add 'never-stale' to stale issue exempt lable list by @yubiuser in pi-hole/FTL#2578
- Upgrade TOML library to tomlc17 by @DL6ER in pi-hole/FTL#2579
- Add warning to the config markdown by @yubiuser in pi-hole/FTL#2580
- Automatically detect DNS interface when empty in pihole.toml by @DL6ER in pi-hole/FTL#2456
- Make type a required parameter for PUT and DELETE /lists by @DL6ER in pi-hole/FTL#2530
- Update embedded SQLite3 to 3.50.3 by @DL6ER in pi-hole/FTL#2576
- Remove remaining traces of ARP flush by @yubiuser in pi-hole/FTL#2545
- Improve CNAME behavior of pi.hole by @DL6ER in pi-hole/FTL#2585
- Add colors to the --config output by @DL6ER in pi-hole/FTL#2584
- fix: change type of disk parameter for GET /queries by @ninjack-dev in pi-hole/FTL#2589
- Improve default CSP headers by @DL6ER in pi-hole/FTL#2575
- Improve already running detection by @DL6ER in pi-hole/FTL#2591
- Update embedded SQLite3 to 3.50.4 by @DL6ER in pi-hole/FTL#2592
- Fix debug output association by @DL6ER in pi-hole/FTL#2594
- Fix FTL running behing reverse-proxy with prefix by @DL6ER in pi-hole/FTL#2595
- Update embedded dnsmasq by @DL6ER in pi-hole/FTL#2587
- Implement netlink ARP cache handling by @DL6ER in pi-hole/FTL#2600
- Add autocomplete feature by @DL6ER in pi-hole/FTL#2593
- Update embedded dnsmasq to v2.92test19 by @DL6ER in pi-hole/FTL#2603
- Fix
dns.interfacecomment by @rdwebdesign in pi-hole/FTL#2597 - Fix logic in automatic interface determination (when dns.interface = "") by @DL6ER in pi-hole/FTL#2607
- Fix default value autocomplete suggestions by @DL6ER in pi-hole/FTL#2609
- Update dnsmasq to v2.92test21 by @DL6ER in pi-hole/FTL#2614
- Fix cache-optimizer queries in Query Log by @DL6ER in pi-hole/FTL#2619
- Update embedded CivetWeb by @DL6ER in pi-hole/FTL#2621
- Do not set domainname when the kernel replies with "(none)" by @DL6ER in pi-hole/FTL#2620
- Fix
dns.hostshelp text to show multiple hostnames per IP are allowed by @rdwebdesign in pi-hole/FTL#2623 - Improve memory handling by @DL6ER in pi-hole/FTL#2617
- Pin github actions to SHA by @yubiuser in pi-hole/FTL#2615
- Bump the github_action-dependencies group across 1 directory with 6 updates by @dependabot[bot] in pi-hole/FTL#2628
- Be more gracefully when validating dns_hosts by @yubiuser in pi-hole/FTL#2624
- Implement automatic TLS/SSL certificate renewals by @DL6ER in pi-hole/FTL#2463
- Fix HOSTS file rotation test which was hiding in fast runners by @yubiuser in pi-hole/FTL#2630
- Suggest IP addresses instead of names for upstream by @DL6ER in pi-hole/FTL#2444
- Make restarting optional in API config endpoints by @DL6ER in pi-hole/FTL#2632
- Ensure queries with ID 0 are stored to the long-term queries database by @DL6ER in pi-hole/FTL#2633
- Ensure we can log until the very end by @DL6ER in pi-hole/FTL#2634
- 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 pi-hole/FTL#2636
- Fix long-term database insertion by @DL6ER in pi-hole/FTL#2583
- Add webserver.advancedOpts by @DL6ER in pi-hole/FTL#2635
- Add new dns.domain.local and rename dns.domain -> dns.domain.name by @DL6ER in pi-hole/FTL#2531
- Bump the github_action-dependencies group across 1 directory with 3 updates by @dependabot[bot] in pi-hole/FTL#2641
- Allow escaping special single-character wildcard "_" when doing partial matching by @DL6ER in pi-hole/FTL#2550
- Expose both total and enabled for gravity tables by @DL6ER in pi-hole/FTL#2177
- Improve gravity database resilience by @DL6ER in pi-hole/FTL#2605
- Add custom SQLite busy callback by @DL6ER in pi-hole/FTL#2602
- Add %MEM and %CPU of FTL to GET info/system by @DL6ER in pi-hole/FTL#2645
- Try to load system load averages from /proc/loadavg first by @tpjanssen in pi-hole/FTL#2644
- Fix database busy handler initialization by @DL6ER in pi-hole/FTL#2646
- Fix POST /lists example by @DL6ER in pi-hole/FTL#2649
- Improve CPU utilization reporting by @DL6ER in pi-hole/FTL#2647
New Contributors
- @Tooa made their first contribution in pi-hole/FTL#2474
- @Manakuremati made their first contribution in pi-hole/FTL#2524
- @ninjack-dev made their first contribution in pi-hole/FTL#2589
- @tpjanssen made their first contribution in pi-hole/FTL#2644
Full Changelog: pi-hole/FTL@v6.2.3...v6.3
Core v6.2
What's Changed
- Remove
readonlyfrom list.sh to avoid errors by @rdwebdesign in pi-hole/pi-hole#6349 - Remove netcat from the list of dependencies by @darkexplosiveqwx in pi-hole/pi-hole#6343
- Re-order authentication errors in verbose mode by @yubiuser in pi-hole/pi-hole#6338
- Speed up pihole --query by @rrobgill in pi-hole/pi-hole#6334
- Use RTMIN value provided by FTL when possible by @jacklul in pi-hole/pi-hole#6358
- Speed up
pihole apiby @rrobgill in pi-hole/pi-hole#6336 - Update man page - remove "reconfigure" option by @rdwebdesign in pi-hole/pi-hole#6361
- Tweak ARP flushing function by @yubiuser in pi-hole/pi-hole#6319
- Fix gravity and error on pihole-FTL --config failures by @yubiuser in pi-hole/pi-hole#6352
- Use 'true'/'false' strings instead of 0/1 integers for boolean root user check in pihole command by @yubiuser in http...
2025.08.0
What's Changed (Docker Specfic)
- Only clone depth 1, even when checking out tags by @yubiuser in #1869
- Remove ncat dependency by @yubiuser in #1870
- Add link to "Changed Environment Variables" by @rdwebdesign in #1871
- Ensure all orphan FTL files are cleaned on startup by @PromoFaux in #1876 (Should fix #1789 )
Full Changelog: 2025.07.1...2025.08.0
2025.07.1
What's Changed (Docker Specific)
- Prevent cosmetic issue where component versions are sometimes labeled as commit hashes by @PromoFaux in #1866
Full Changelog: 2025.07.0...2025.07.1
What's Changed (Core v6.1.4)
- Fix issue where web interface cannot run gravity by @PromoFaux in pi-hole/pi-hole#6345
- Fix
pihole apicommand by not setting the some variabes as readonly by @PromoFaux in pi-hole/pi-hole#6346
Full Changelog: pi-hole/pi-hole@v6.1.3...v6.1.4
2025.07.0
What's Changed (Docker Specific)
- Use full iproute2 in place of iproute2-ss by @rrobgill in #1854
- Build all containers from a fixed base image by @yubiuser in #1856
- Major overhaul to the test suite by @yubiuser in #1859
- docs: Updates Docker Secrets usage information by @buckaroogeek in #1851
- docs: remove part of tips & tricks and add a link to the docs by @LizenzFass78851 in #1863
New Contributors
- @rrobgill made their first contribution in #1854
- @buckaroogeek made their first contribution in #1851
Full Changelog: 2025.06.2...2025.07.0
No Docker Specific Changes - This tag brings in the latest changes from Core v6.1.3
https://pi-hole.net/blog/2025/07/13/pi-hole-core-v6-1-3-released/
What's Changed (Pi-hole Core v6.1.3)
This is a bugfix release for the core Pi-hole code.
Fixes
- Prevent gravity from failing due to an empty shell variable. #6191
This fixes a case where calls topihole -gfailed during list downloads. - Require privileged status (root or sudo) for all user calls to
pihole. #6312
This fixes cases where users are unable to change or update the admin password. - Exit installation if FTL binary can not be downloaded. #6316
Abort update if FTL branch does not exist. #6329
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 - Restore
pihole -qfunction. #6284
This fixes a case where running a query immediately failed with an error message for an unknown file.
Miscellaneous Fixes and Improvements
- Display output from FTL commands in color on the terminal. #6314
- Add note to final installation dialog box showing users where to find instructions for allowing a user to run Pi-hole commands without authentication. #6152
- Allow
pihole tailto search for strings beginning with the hyphen character. #6318 Contributed by @rrobgill - Do not update the package cache on updates. #6282
- Improve default route detection in debugging process. #6303 Contributed by @rrobgill
- Improve detecting loopback interfaces in the installer. #6269 Contributed by @deHakkelaar
Full Changelog: pi-hole/pi-hole@v6.1.2...v6.1.3
2025.06.2
No Docker Specific Changes - This tag brings in the latest changes from FTL 6.2.3
What's Changed (FTL 6.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). There is one remaining issue about the behavior of server=/example.com/1.2.3.4 having changed which we are still working on with the maintainers of dnsmasq.
- Relax the session cookie from
SameSite=StricttoLaxby @DL6ER in pi-hole/FTL#2471 - Run dependabot also on composite actions by @yubiuser in pi-hole/FTL#2502
- Speedup build and test by running RISCV on ARM64 by @yubiuser in pi-hole/FTL#2501
- Remove pullapprove.yml by @yubiuser in pi-hole/FTL#2499
- ntp : ignore client version, always return a v4 packet by @rrobgill in pi-hole/FTL#2505
- Store intermediate CNAME domain pointers in DNS cache by @DL6ER in pi-hole/FTL#2461
- Allow unauthenticated access to non-admin LUA pages by @DL6ER in pi-hole/FTL#2503
- Simplify CI build process by @DL6ER in pi-hole/FTL#2507
- Get latest dnsmasq updates by @DL6ER in pi-hole/FTL#2509
- Split FTL build and test on GHA by @yubiuser in #2498