Skip to content

Releases: pi-hole/FTL

Pi-hole FTL v5.3.1

28 Nov 21:03
e1db31d
Compare
Choose a tag to compare

Fixes GLIBC incompatibility issues experienced on old systems like Debian Stretch.

Pi-hole FTL v5.3

28 Nov 18:54
171d7e2
Compare
Choose a tag to compare

All (@DL6ER) unless otherwise specified!

Highlights

  • Upgrade RegEx engine #815
    Adding approximate matching (catch URL typos), back-references, more character classes for bracket expressions, type-specific filtering (e.g. regex only for type AAAA queries), and more. See this Discourse discussion for further details.
  • Analyze EDNS(0) records #851
    We highlight the Client Subnet (ECS) feature to obtain client IPs even when they are hidden behind a NAT or a deputy DNS server. See this Discourse discussion for further technical details. This feature can be used to unveil the real IP addresses of clients even when there used to be the router's IP address for all clients (if supported by the router).
  • Allow defining clients by their MAC address #762
    This allows you to use MAC addresses to automatically identify clients immediately connected you the Pi-hole. This will make the configuration for clients changing their addresses frequently (non-deterministic DHCP server, IPv6 privacy extension, non-constant ISP IPv6 prefixes, etc.) easier than before.
  • Add dhcp-discover feature #883
    A new feature to actively scan all interfaces for available DHCP servers. It can be invoked using sudo pihole-FTL dhcp-discover
  • Add additional pre-compiled ARMv4, ARMv5 and ARMv8 binaries #903
  • Add new query retried status (12 and 13) #901
  • Differentiate upstream servers by address and port #923
    This allows the statistics to tell apart servers on the same IP address running on different ports.
  • Add API callback to remove DHCP leases without the need for a restart #932
    This removes an active lease from the server. Note, however, that the clients also actively need to ask for a new lease (reconnection, restart) as it may otherwise continue to use its old (even if now invalid) configuration until the lease time expires. Unfortunately, Pi-hole cannot do anything about this.

Full list of new feature, tweaks, and fixes

  • Upgrade RegEx engine #815
  • Add support for install-time DESTDIR and delay expansion of CMAKE_INSTALL_PREFIX #844 (@DDoSolitary)
  • Analyze EDNS(0) records #851
  • Explicitly cast time_t #865
  • Add ability to show only blocked queries for a specific client #856
  • Show also IPv6 nameservers in DEBUG_RESOLVER #866
  • Allow defining clients by their MAC address #762
  • Fix error displaying if the upstream server failed #875
  • Add dhcp-discover feature #883
  • Request a lease with validity of 1 second in the DHCPDISCOVER packet #885
  • Only resolve active clients #872
  • Fix GCC9 regression for printing the same buffer into itself #884
  • Extend domain filtering to also check the CNAME domain #878
  • Try to obtain host names from another address of the same device when nothing else is available #879
  • Add event queue for signal handling #881
  • Do not block shared memory when inactive clients are skipped #889
  • Clean network addresses #871
  • Do not block shared memory when inactive upstreams are skipped #893
  • Log disk usage in /dev/shm #894
  • Always update database hostnames #874
  • Upload FTL log to tricorder.pi-hole.net #890
  • Add more verbose version output (./pihole-FTL -vv) #892
  • Allocate shared memory instead of only reserving it #898
  • Add pre-compiled ARMv4, ARMv5 and ARMv8 binaries to CI workflow #903
  • Make timer output at termination of FTL human readable #907
  • Keep FTL database open #896
  • Mark database as being available when creating a new database #908
  • Fix for the shm_per_client_regex shmem object #873
  • Add new query retried status #901
  • ECS: Ignore distant loopback address #909
  • Verify CI-generated binaries after uploading #910
  • Add DEBUG_HELPER #914
  • CMake install: update setcap #916 (@AlaricSenat)
  • Log process owner details #922
  • Differentiate upstream servers by address AND port #923
  • Log dnsmasq config errors to pihole-FTL.log #926
  • Keep upper case characters in host names #935
  • Add API callback to remove DHCP leases without the need for a restart #932
  • Skip clients with no active counts at all (may be old IPv6 addresses) #934
  • Implement special handling for "pihole-FTL -- --help dhcp" and "pihole-FTL -- --help dhcp6" #938
  • Analyze all DHCP options dnsmasq is aware of #937

Pi-hole FTL v5.2

09 Aug 21:13
dbd4a69
Compare
Choose a tag to compare
  • Add logging for CNAME inspection (Discourse Feature Request) #832
  • Re-add portfile as its removal broke the (old) chronometer (pihole -c) #838
  • Improve TCP worker handling #845
    • Fixes some issues with strangely behaving clients
    • Increase the TCP worker timeout from 150 seconds (dnsmasq default) to 300 seconds to not kill connections too early
    • Increases maximum number of concurrent TCP connections from 20 (dnsmasq default) to 60
  • Safely reopen gravity database to avoid API race collisions #847
  • Enhance pihole restartdns reload and ... reload-lists speed #850
  • Make FTL builds faster by putting all sources in dedicated cmake objects #852
  • Create and use a temporary copy of the domain string during the analysis #859

Note The pihole-FTL-armv{4,5}-linux-gnuabi and pihole-FTL-armv6-linux-gnuabihf pihole-FTL-armv{7,8}-linux-gnuabihf binaries are mere copies of the pihole-FTL-armel-native, pihole-FTL-arm-linux-gnueabi, and pihole-FTL-arm-linux-gnueabihf binaries, respectively. Real processor-optimized cross-compiled ARM binaries for the various architectures will be provided from the next release of Pi-hole on.

Pi-hole FTL v5.1

15 Jul 21:32
b522646
Compare
Choose a tag to compare

New

Tweaks

  • Always use best matching subnet for clients #753 (@DL6ER)
  • Improve self-generated backtraces #774 (@DL6ER)
  • Allow no/false and yes/true for all config options #796 (@DL6ER)
  • Use higher priority for FTL #798 (@DL6ER)
  • Terminate main process when a fork fails #818 (@DL6ER)

Fixes

  • Process cached SRV records #769 (@DL6ER)
  • Store client group information in shared memory #787 (@DL6ER)
  • Fix broken RESOLVE_IPV{4,6} setting #792 (@DL6ER)
  • Reacquire client and upstream pointers after a name resolution #797 (@DL6ER)
  • Do not listen to reload signals in forks #811 (@DL6ER)
  • [dnsmasq] Fix a possible buffer overflow when handling TCP requests #813 #822 (@fhriley / @DL6ER)

Pi-hole FTL v5.0

10 May 18:03
3d7c095
Compare
Choose a tag to compare

Highlights

  • Move domain handling into a SQL database #492 #642 #608 #600 #587
  • Add group based per-client blocking #642
  • Deep CNAME inspection #685 #678 #663
  • Whitelist regex support #612
  • Add full IPv6 support for network table #591
  • Update embedded dnsmasq to v2.81 #652

New

  • Add dnsmasq drop-in replacement support #736
  • Add DELAY_STARTUP setting to delay startup of the embedded dnsmasq (Discourse Feature Request) #716
  • Add support for Name Authority Pointer (NAPTR) resource records #713
  • Add all clients FTL knows about to the network table #711
    • This adds VPN/VLAN/etc. connected devices into the network overview.
  • Implement subnet support for clients #708

Tweaks

  • Make regex matching case-insensitive by default #732
  • Improve internal resolver algorithm #728 #710 #694
  • Try to reopen gravity database when not available #699
  • Ensure each regex is imported only once #689
  • Update contained SQLite to 3.30.1 #651
  • Print contents of /dev/shm in crash report #618
  • Improve debug flag handling in config file #613
  • Complete refactor of file structure in #605
    Source code moved into subdirectory src/, build artifacts will be stored in build/.

Fixes

  • Fix API summary status report #735
  • Change ownership of all shared memory objects before switching user #671
  • Correctly handle REFUSED and SERVFAIL responses #665

All commits: v4.3.1...v5.0

Pi-hole FTL v4.3.1

25 May 19:39
b60d63f
Compare
Choose a tag to compare

This minor release fixes a possible race-collision triggered by resizing the shared memory string buffer while a client hostname is resolved. The issue has been reported in #567

Pi-hole FTL v4.3

18 May 20:00
9e8273b
Compare
Choose a tag to compare

New

  • Add support for failed replies #486
  • Process ARP data for new network table #455 #463 #471
  • New set of debugging configurations: Fine grained debug message filtering + output also in non-debug mode #466
  • Add check for required Linux capabilities #453 #544

Tweaks

  • Improvements for host name resolving routines #548
  • Don't create IPv6 cache entries when IPV6_ADDRESS in setupVars.conf is empty #528
  • Use LCM to compute optimal allocation step for dynamic shared memory objects #524
  • Show file:line information in hook calls (debug mode only) #451

Fixes

  • Return successful exit code instead of failure #517

Pi-hole FTL v4.2.3

26 Feb 01:18
aae487e
Compare
Choose a tag to compare

How do I update my Pi-hole?

See the Core changelog here

See the Web changelog here

This is a patch release following on Pi-hole FTL v4.2.2. We apologize for the large number of updates in a short time but a fundamental change in our memory handling was causing unforeseeable issues which this patch release fixes now once and for all.

This PR consist of only one pull request #519.

Pi-hole FTL v4.2.2

18 Feb 17:32
4a8003c
Compare
Choose a tag to compare

How do I update my Pi-hole?

See the Core changelog here

See the Web changelog here

This is a patch release following on Pi-hole FTL v4.2.1.

Fixes / Tweaks

  • Greatly simplify the overTime data structure as some users observed instabilities with the shared memory that has been introduced in FTL v4.2. This release fixes #496

Pi-hole FTL v4.2.1

07 Feb 02:40
5f98312
Compare
Choose a tag to compare

How do I update my Pi-hole?

See the Core changelog here

See the Web changelog here

This is a patch release following on Pi-hole FTL v4.2.

New

  • Report both the user pihole-FTL started as and the user pihole-FTL crashed as in case it crashes and generated a crash ticket in pihole-FTL.log

Fixes

  • Blocking status display for NODATA and NXDOMAIN blocking modes #497
  • File permission issues when using shared memory on systems that lack Linux capabilities support #497