2025.05.0
What's Changed (Docker Specific)
- Improve Tips section: clarify webserver port conflict handling by @FreSchNDE in #1823
New Contributors
- @FreSchNDE made their first contribution in #1823
Full Changelog: 2025.04.0...2025.05.0
Also includes the latest Pi-hole changes: https://pi-hole.net/blog/2025/05/30/pi-hole-ftl-v6-2-web-v6-2-and-core-v6-1-released/#page-content
What’s Changed (FTL v6.2)
- Fix minor spelling mistake in API docs by @PromoFaux in pi-hole/FTL#2399
- fix: batch request body spec by @tien in pi-hole/FTL#2389
- fix: make getAuth security optional by @tien in pi-hole/FTL#2388
- fix: incorrect session field requirements by @tien in pi-hole/FTL#2387
- Add privacy_level to /padd endpoint by @yubiuser in pi-hole/FTL#2402
- Parameter is called length not n in GET /queries by @DL6ER in pi-hole/FTL#2407
- Fix duplicate web port information output in FTL startup by @PromoFaux in pi-hole/FTL#2410
- Fix logfile warning port length truncation (bug pi-hole/FTL#2408) by @rrobgill in pi-hole/FTL#2409
- Remove dns.watch from upstream DNS server list by @rdwebdesign in pi-hole/FTL#2411
- Prevent home.arpa queries from being upstreamed. RFC 8375 by @rrobgill in pi-hole/FTL#2405
- Fix redirecting when redirecting from /admin/ to /admin/login and back by @DL6ER in pi-hole/FTL#2415
- Move manual filtering to FTLs file parsing by @DL6ER in pi-hole/FTL#2381
- Various small fixes by @DL6ER in pi-hole/FTL#2392
- Update embedded dnsmasq to v2.92test2 by @DL6ER in pi-hole/FTL#2417
- Fix signedness error in the NTP total round-trip delay calculation by @DL6ER in pi-hole/FTL#2420
- Use webhome variable also on the API documentation page by @DL6ER in pi-hole/FTL#2406
- Report RFC6598 shared address space as “Carrier-Grade NAT” by @rrobgill in pi-hole/FTL#2423
- Fix mishanding of CONF_UINT16 config options by @shawnanastasio in pi-hole/FTL#2426
- Feature/fix yocto cross build by @rehsack in pi-hole/FTL#2425
- Update embedded civetweb by @DL6ER in pi-hole/FTL#2428
- Check for existing NTP client when starting FTL by @DL6ER in pi-hole/FTL#2416
- Validate received NTP packets for version and server synchronisation by @rrobgill in pi-hole/FTL#2431
- Use CODEOWNERS instead of deprecated dependbot/reviewers by @yubiuser in pi-hole/FTL#2437
- Modify how we use xxd to compile assets into the FTL binary by @DL6ER in pi-hole/FTL#2446
- Update dnsmasq to v2.91test5 by @DL6ER in pi-hole/FTL#2433
- Update embedded SQLite3 to 3.49.2 by @DL6ER in pi-hole/FTL#2447
- Gravity: support for arbitrary HOSTS-like list formats by @DL6ER in pi-hole/FTL#2439
- Set dns.interface to eth0 by default by @yubiuser in pi-hole/FTL#2448
- Update embedded dnsmasq by @DL6ER in pi-hole/FTL#2457
- Adjust write_to_file function to include the CA certificate by @nathansmeal in pi-hole/FTL#2465
- Update SQLite to 3.50.0 by @DL6ER in pi-hole/FTL#2469
New Contributors
- @tien made their first contribution in pi-hole/FTL#2389
- @shawnanastasio made their first contribution in pi-hole/FTL#2426
- @rehsack made their first contribution in pi-hole/FTL#2425
- @nathansmeal made their first contribution in pi-hole/FTL#2465
Full Changelog: pi-hole/FTL@v6.1...v6.2
What’s Changed (Web v6.2)
- Streamline actions, format and switch to Node.js 22 by @XhmikosR in pi-hole/web#3357
- Remove remaining hard-coded /admin/ paths in the webinterface by @DL6ER in pi-hole/web#3370
- Fix Local CNAME records records mistake by @yubiuser in pi-hole/web#3367
- Fix concurrency issue about const apiUrl by @DL6ER in pi-hole/web#3371
- groups-lists: remove unneeded HTML escape by @XhmikosR in pi-hole/web#3379
- login.js: fix deprecated submit() usage by @XhmikosR in pi-hole/web#3380
- Remove x-dns-prefetch-control meta tag by @XhmikosR in pi-hole/web#3378
- group-domains: fix uncaught TypeError due to invalid URLs by @XhmikosR in pi-hole/web#3383
- Replace remaining i element cases with em by @XhmikosR in pi-hole/web#3381
- Revert the defer addition for now by @XhmikosR in pi-hole/web#3382
- header: fix runtime error when query_string is null by @XhmikosR in pi-hole/web#3395
- utils: fix typo in showAlert() by @XhmikosR in pi-hole/web#3403
- queries: make the Advanced filtering button occupy all space by @XhmikosR in pi-hole/web#3402
- Remove icheckbox related-code except for primary by @XhmikosR in pi-hole/web#3387
- queries: add missing display: none by @XhmikosR in pi-hole/web#3405
- Allow free input in upstream filter by @yubiuser in pi-hole/web#3408
- Fix console warning when no password set by @PromoFaux in pi-hole/web#3410
- Modernize JS and tighten things by @XhmikosR in pi-hole/web#3388
- high-contrast.css: fix duplicate selector by @XhmikosR in pi-hole/web#3411
- Remove unused CSS by @XhmikosR in pi-hole/web#3420
- Add missing display: none for collapsed boxes by @XhmikosR in pi-hole/web#3417
- Remove unused HTML elements by @XhmikosR in pi-hole/web#3418
- Update chart.umd.js.map from npm by @XhmikosR in pi-hole/web#3419
- settings-api: add missing end closing p tag by @XhmikosR in pi-hole/web#3428
- settings-system: fix span end tag typo by @XhmikosR in pi-hole/web#3427
- login: fix deprecated submit() function by @XhmikosR in pi-hole/web#3425
- settings-api: fix deprecated keyup() function by @XhmikosR in pi-hole/web#3424
- gravity: remove the unused ?go code by @XhmikosR in pi-hole/web#3426
- disabled and checked are boolean attributes by @XhmikosR in pi-hole/web#3434
- queries: replace the deprecated jQuery.parseJSON with JSON.parse by @XhmikosR in pi-hole/web#3435
- package.json: sort deps by name by @XhmikosR in pi-hole/web#3437
- Use CODEOWNERS instead of deprecated dependbot/reviewers by @yubiuser in pi-hole/web#3433
- Add ‘Bug: Confirmed’ to stale exempt list by @yubiuser in pi-hole/web#3432
- Various minor tweaks to the LCARS theme by @rdwebdesign in pi-hole/web#3446
- queries: fix box markup by @XhmikosR in pi-hole/web#3445
- Use the same default interface used by FTL if none is set in pihole.toml by @rdwebdesign in pi-hole/web#3436
- Use font-weight: 600 by @XhmikosR in pi-hole/web#3449
- Use mg.script_name to retrieve the scriptname by @rdwebdesign in pi-hole/web#3447
- .user-header: use font-weight: 600 by @XhmikosR in pi-hole/web#3450
- settings-system.js: remove unused overlay code by @XhmikosR in pi-hole/web#3455
- settings-advanced: remove unused code by @XhmikosR in pi-hole/web#3454
- index.lp: remove unused classes by @XhmikosR in pi-hole/web#3453
- scripts/js/settings-dns-records.js: fix api url base by @onlyJakob in pi-hole/web#3456
- Add hint about wildcard search in advanced query filtering by @yubiuser in pi-hole/web#3452
- index: make tables stripped by @XhmikosR in pi-hole/web#3438
- Replace invalid hostname to prevent XSS by @yubiuser in pi-hole/web#3401
- settings-system: fix typo by @XhmikosR in pi-hole/web#3460
- sidebar: increase logo size to prevent a reflow by @XhmikosR in pi-hole/web#3407
- queries: improve link to search page by @XhmikosR in pi-hole/web#3422
- Hide top tables depending on privacy level by @yubiuser in pi-hole/web#3362
- settings-dns-records: fix typo by @XhmikosR in pi-hole/web#3459
- Fix deprecated ready function by @XhmikosR in pi-hole/web#3461
- utils: remove the unused objectToArray util by @XhmikosR in pi-hole/web#3462
- utils: improve readability for validateIPv* functions by @XhmikosR in pi-hole/web#3423
- settings-api: fix wrong code by @XhmikosR in pi-hole/web#3463
- Use text()/textContent when we don’t need HTML by @XhmikosR in pi-hole/web#3464
- footer: drop redundant addAdvancedInfo() call by @XhmikosR in pi-hole/web#3467
- settings-system: remove unneeded span elements by @XhmikosR in pi-hole/web#3468
- settings-dhcp: drop unused lookatme-text attribute by @XhmikosR in pi-hole/web#3469
- settings-advanced.js: fix wrong role value by @XhmikosR in pi-hole/web#3470
- settings-advanced: drop small element by @XhmikosR in pi-hole/web#3472
- updateFtlInfo: remove unused code by @XhmikosR in pi-hole/web#3474
- settings-level-expert: only toggle the expert elements by @XhmikosR in pi-hole/web#3473
- Make use of the new format_path function to add the current page in body by @XhmikosR in pi-hole/web#3390
- Use proper Object methods by @XhmikosR in pi-hole/web#3441
- queries: minor grammar fix by @XhmikosR in pi-hole/web#3477
- queries: change box to an info one by @XhmikosR in pi-hole/web#3476
- Fix DataTables warning message in Network page by @rdwebdesign in pi-hole/web#3475
- Fix broken themes by @rdwebdesign in pi-hole/web#3479
- queries: drop non-existent elements code by @XhmikosR in pi-hole/web#3478
- Reset update-hint text every time updateVersionInfo() function is executed by @rdwebdesign in pi-hole/web#3480
- Use the same interface name used by FTL in DNS Settings page by @rdwebdesign in pi-hole/web#3481
- messages: fix function call by @XhmikosR in pi-hole/web#3482
- footer: rename label by @XhmikosR in pi-hole/web#3486
- header_authenticated: change documentation icon to solid by @XhmikosR in pi-hole/web#3488
- Remove horizontal line in hamburger menu by @yubiuser in pi-hole/web#3491
- sidebar: move active class outside of class attribute conditional by @XhmikosR in pi-hole/web#3492
- index: use sentence case for queries for consistency by @XhmikosR in pi-hole/web#3493
- Add rel=”noreferrer” to external hyperlinks by @casperklein in pi-hole/web#3495
- settings-level-expert: hide them by default by @XhmikosR in pi-hole/web#3487
New Contributors
- @onlyJakob made their first contribution in pi-hole/web#3456
- @casperklein made their first contribution in pi-hole/web#3495
Full Changelog: pi-hole/web@v6.1...v6.2
What’s Changed (Core v6.1)
- build gravityDBfile_default like the other variables by @mwoolweaver in pi-hole/pi-hole#6133
- Add CentOS 10 to test suite by @yubiuser in pi-hole/pi-hole#6126
- Ensure gravity_Cleanup() checks the correct directory by @mwoolweaver in pi-hole/pi-hole#6131
- Add recommended fields to the deb package by @yubiuser in pi-hole/pi-hole#6054
- Add webserver log to piholeLogFlush.sh by @jacklul in pi-hole/pi-hole#6049
- Update update.sh, updatecheck.sh and uninstall.sh to honour pihole.to… by @nexusgoblin in pi-hole/pi-hole#5981
- Move list parsing entirely into FTL by @DL6ER in pi-hole/pi-hole#6105
- Remove no-longer-needed pihole sudoers file by @PromoFaux in pi-hole/pi-hole#6143
- versions file should readable by others (make pihole -v work for non-root users) by @yubiuser in pi-hole/pi-hole#6002
- Reduce code duplication in piholeLogFlush by @PromoFaux in pi-hole/pi-hole#6148
- Add ON DELETE CASCADE to FOREIGN KEY REFERENCES in gravity.db by @DL6ER in pi-hole/pi-hole#6113
- Install on IPv6-only/DNS64/NAT64 system by @rrobgill in pi-hole/pi-hole#6144
- Treat FTL return data as strings – part II by @yubiuser in pi-hole/pi-hole#6184
- Remove duplicated code checking if adlist domain is blocked locally by @yubiuser in pi-hole/pi-hole#6183
- Fix gravity waiting forever for DNS by @yubiuser in pi-hole/pi-hole#6196
- Remove check for supported OS by @yubiuser in pi-hole/pi-hole#6206
- Remove unused $target from gravity by @yubiuser in pi-hole/pi-hole#6192
- Remove reference to telnet and chronometer in README by @rrobgill in pi-hole/pi-hole#6188
- Add Fedora 42 to tests by @darkexplosiveqwx in pi-hole/pi-hole#6177
- Extend .gitignore by @darkexplosiveqwx in pi-hole/pi-hole#6215
- Use CODEOWNERS instead of deprecated dependbot/reviewers by @yubiuser in pi-hole/pi-hole#6213
- Set dns.interface during installation by @yubiuser in pi-hole/pi-hole#6216
- Allow alternative cron daemons on Debian by @z0rc in pi-hole/pi-hole#6180
- Fix API logic in api.sh by @yubiuser in pi-hole/pi-hole#6193
- Do not try to upgrade gravity if it does not exist by @yubiuser in pi-hole/pi-hole#6218
- All gravity related files and dirs should be owned by pihole:pihole by @yubiuser in pi-hole/pi-hole#6186
- Give FTL 60 seconds for graceful shutdown by @yubiuser in pi-hole/pi-hole#6187
- Use shell parameter expansion to split http_code and payload for api.sh by @dschaper in pi-hole/pi-hole#6230
- Change FTLcheckUpdate to use api.github.com and jq to retrieve tag_name by @rdwebdesign in pi-hole/pi-hole#6229
- Update get_available_interfaces() to correctly filter loopback device (lo) by @PiotrTyrakowski in pi-hole/pi-hole#6236
- Allow simple pihole api output, containing only the JSON payload by @rdwebdesign in pi-hole/pi-hole#6096
- Function gravity_CheckDNSResolutionAvailable() should return 0 if DNS resolution is available by @rdwebdesign in pi-hole/pi-hole#6240
- Use a more general method to determine whether systemd is the init system by @DL6ER in pi-hole/pi-hole#6043
- Use PID1 to determine which command to use when toggeling services by @yubiuser in pi-hole/pi-hole#6245
- Allow to get API URL from local.api.ftl even if DNS port has changed by @yubiuser in pi-hole/pi-hole#6252
New Contributors
- @nexusgoblin made their first contribution in pi-hole/pi-hole#5981
- @darkexplosiveqwx made their first contribution in pi-hole/pi-hole#6177
- @z0rc made their first contribution in pi-hole/pi-hole#6180
Full Changelog: pi-hole/pi-hole@v6.0.6...v6.1