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 typeAAAA
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 usingsudo 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 ofCMAKE_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