What's Changed (Docker Specific)
- Add ShellCheck CI and fix reported issues by @lightswitch05 in #2039
- Make crond and cron job output visible in "docker log" by @casperklein in #2035
- feat: optimize Docker build caching by @lightswitch05 in #2038
- remove buildkit cache mount from apk add layer by @PromoFaux in #2049
Full Changelog: 2026.04.1...2026.07.0
What's Changed (FTL v6.7)
- Performance optimizations and bug fixes by @DL6ER in pi-hole/FTL#2816
- fix: check NULL returns from strdup/calloc in rotate_files() by @jluzzi123 in pi-hole/FTL#2875
- Make error messages more human friendly by @yubiuser in pi-hole/FTL#2878
- Harden API/database races in civetweb and DB threads by @DL6ER in pi-hole/FTL#2881
- Update embedded SQLite3 to v3.53.1 by @DL6ER in pi-hole/FTL#2891
- Fix build on Fedora 44 by @darkexplosiveqwx in pi-hole/FTL#2893
- macvendor: resolve sub-allocated blocks (MA-M/MA-S) via longest-prefix match by @RamSet in pi-hole/FTL#2907
- Update embedded dnsmasq to v2.93 by @DL6ER in pi-hole/FTL#2890
- fix OOB write in FTL_parse_pseudoheaders when optlen is 0 by @rdevshp in pi-hole/FTL#2910
- Update a single text description "PRIVATE KEY" by @DoctorD90 in pi-hole/FTL#2884
- add optional dnsmasq features to cmake by @darkexplosiveqwx in pi-hole/FTL#2874
- Fix building on alpine 3.24 by @yubiuser in pi-hole/FTL#2911
- Bats by @yubiuser in pi-hole/FTL#2872
- Improve crash backtraces for non-reproducible faults by @DL6ER in pi-hole/FTL#2880
- Fix gzip.c inflate_buffer CRC signed left shift undefined behavior by @rdevshp in pi-hole/FTL#2916
- Fix for iCloud Private Relay zones by @DL6ER in pi-hole/FTL#2919
- fix tar parsing by @rdevshp in pi-hole/FTL#2914
- Allow using local
manufs to generate macvendor.db by @darkexplosiveqwx in pi-hole/FTL#2918 - Use custom message for UNIQUE constraint error message by @rdwebdesign in pi-hole/FTL#2879
- Re-resolve client groups event-driven, drop periodic recheck by @DL6ER in pi-hole/FTL#2922
- Guard against invalid gzip data in gzip.c inflate_buffer by @rdevshp in pi-hole/FTL#2915
- Fix BATS test of no ERRORS in FTL.log to allow capturing the output by @yubiuser in pi-hole/FTL#2927
- fix(cli): warn when --config cannot read pihole.toml (#2849) by @DL6ER in pi-hole/FTL#2930
- fix(api-docs): correct three OpenAPI spec issues (#2867) by @DL6ER in pi-hole/FTL#2929
- fix: avoid segfault in dnsmasq-test on unreadable config file by @DL6ER in pi-hole/FTL#2928
- Fix prefix-match bug and improve fallthrough logging in redirect_root_handler by @slmingol in pi-hole/FTL#2933
- Swap misaligned comments for domain-needed and expand-hosts. by @0xpsyduck in pi-hole/FTL#2932
- Code review July 2026 by @DL6ER in pi-hole/FTL#2935
- Pi-hole FTL v6.7 by @PromoFaux in pi-hole/FTL#2936
New Contributors
- @jluzzi123 made their first contribution in pi-hole/FTL#2875
- @RamSet made their first contribution in pi-hole/FTL#2907
- @rdevshp made their first contribution in pi-hole/FTL#2910
- @DoctorD90 made their first contribution in pi-hole/FTL#2884
- @slmingol made their first contribution in pi-hole/FTL#2933
- @0xpsyduck made their first contribution in pi-hole/FTL#2932
Full Changelog: pi-hole/FTL@v6.6.2...v6.7
What's Changed (Core v6.4.3)
- Also hardcode the PID file location in utils.sh to prevent
readonly variablewarning by @PromoFaux in pi-hole/pi-hole#6613 - Use
awkto compare curl versions by @rdwebdesign in pi-hole/pi-hole#6621 - Explicitly add
gawkto APK dependencies by @yubiuser in pi-hole/pi-hole#6622 - Prevent double error message output in gravity run with invalid file by @PromoFaux in pi-hole/pi-hole#6607
- Replace pytest/tox with direct in-container BATS by @PromoFaux in pi-hole/pi-hole#6598
- Add Fedora 44 and Ubuntu 26.04 LTS to tests by @darkexplosiveqwx in pi-hole/pi-hole#6623
- Add gravity tests by @yubiuser in pi-hole/pi-hole#6639
- Set BATS pretty output flag depending on the terminal and improve failure output by @yubiuser in pi-hole/pi-hole#6644
- fix: check return codes in gravity_build_tree and database_recovery() by @jluzzi123 in pi-hole/pi-hole#6630
- Include alpine 3.24 in tests by @yubiuser in pi-hole/pi-hole#6654
- installer: fix custom DNS entry when only one upstream server is provided by @Gilmoursa in pi-hole/pi-hole#6638
- Fix BATS gravity test on curl version >=8.21 by @yubiuser in pi-hole/pi-hole#6661
- avoid copytruncate in logrotate by @darkexplosiveqwx in pi-hole/pi-hole#6642
New Contributors
- @jluzzi123 made their first contribution in pi-hole/pi-hole#6630
- @Gilmoursa made their first contribution in pi-hole/pi-hole#6638
Full Changelog: pi-hole/pi-hole@v6.4.2...v6.4.3
What's Changed (Web v6.6)
- Improve DHCP static leases interface (alternative) by @rdwebdesign in pi-hole/web#3766
- Lists page - Improve hints and help text by @rdwebdesign in pi-hole/web#3798
- Update daterangepicker ranges everytime the picker is shown by @yubiuser in pi-hole/web#3793
- Better user interface to edit reverse DNS servers (dns.revServers) by @rdwebdesign in pi-hole/web#3769
Full Changelog: pi-hole/web@v6.5.1...v6.6