What's Changed
- New logging style by @yubiuser in #1141
- Fix spelling in v6 by @yubiuser in #1571
- The new checkOnly argument should be
false
when parsing lists by @rdwebdesign in #1577 - Add mg.request_info.is_authenticated to check if a user is authenticated by @DL6ER in #1578
- Change generated elliptic curve from secp521r1 to secp384r1 by @DL6ER in #1583
- Fix SQL used to update existing adlists via the API by @DL6ER in #1581
- Chown config file after writing (if root) by @DL6ER in #1582
- Remove left-over debug output by @DL6ER in #1585
- Add OpenAPI Authentication and Authorization details for the API by @DL6ER in #1588
- Update embedded dnsmasq by @DL6ER in #1580
- Fix OpenAPI documentation login by @DL6ER in #1594
- Add support for TRUNCATED DNSSEC status by @DL6ER in #1595
- Tweaks to devcontainer config by @PromoFaux in #1600
- Fix total number in Query Log by @DL6ER in #1599
- Add support for TRUNCATED DNSSEC status (2) by @DL6ER in #1603
- Fix API parameter parsing on 32bit architectures by @DL6ER in #1604
- Fix Query Log total number without filtering by @DL6ER in #1605
- Slash the slash by @DL6ER in #1601
- Remove reboot and poweroff actions from the API by @DL6ER in #1606
- Fix upgrade of the password hash by @DL6ER in #1610
- Tweaks for the webserver port by @DL6ER in #1609
- Copy missing information from man pihole-FTL to pihole-FTL -h by @yubiuser in #1570
- Fix API config value interpretation warning by @DL6ER in #1613
- Embed missing file API specs file specs/action.yaml by @DL6ER in #1612
- Ensure (at least try to!) detach disk database on SQL issues by @DL6ER in #1615
- Fix 404 for GET /api/info/sensors when hwmon isn't available by @DL6ER in #1616
- Always get max query ID from disk by @DL6ER in #1618
- Hard limit for searching the adlists is 10,000 by @yubiuser in #1622
- Add config option to enable packet dumping to PCAP file by @DL6ER in #1627
- Update embedded dnsmasq to latest master by @DL6ER in #1628
- Update embedded SQLite to 3.43.0 by @DL6ER in #1631
- Update embedded SQLite to 3.43.1 by @DL6ER in #1637
- Clear web session on external password change by @DL6ER in #1630
- Provide regex ID for API by @DL6ER in #1607
- Allow build/deploy workflow to be triggered by workflow_dispatch by @yubiuser in #1639
- Add antigravity (subscribed allowlists with wildcard support) by @DL6ER in #1579
- Improve web theme handling by @DL6ER in #1647
- Update ftl-build container version by @DL6ER in #1650
- Add performance tests and prevent online-brute forcing by @DL6ER in #1646
- Add ABP-support for /api/search by @DL6ER in #1649
- Simplify/fix redirection rules by @DL6ER in #1651
- Allow generating X.509 TLS certificates for arbitrary domain names by @DL6ER in #1654
- Add /api/info/login by @DL6ER in #1653
- Update SQLite3 to 3.43.2 by @DL6ER in #1655
- Fix wording of info message concerning self-generated TLS certificate by @DL6ER in #1657
- Add new option dns.listeningMode = NONE by @DL6ER in #1656
- Fix domain type and kind not being added for certain /api/domains calls by @DL6ER in #1659
- Implement Query Log sorting (server-side pagination) by @DL6ER in #1660
- Add error reporting during webserver initialization by @DL6ER in #1663
- Add new config option webserver.api.searchAPIauth by @DL6ER in #1662
- Add error pages support and extended webserver debugging option by @DL6ER in #1664
- Run gravity parseList without regex by @DL6ER in #1667
- Skip empty elements in config arrays both when reading and writing by @DL6ER in #1669
- Initialize mbedtls with default instead of SuiteB presets by @DL6ER in #1670
- Add /admin -> /admin/ redirect handler by @DL6ER in #1668
- Add number of matches into /api/search/{domain} results by @DL6ER in #1665
- Add support for sorting Query Log by reply time by @DL6ER in #1671
- Update ftl-build containers by @DL6ER in #1673
- Minor integrated docs changes by @DL6ER in #1666
- Fix a few API config issues by @DL6ER in #1672
- Update embedded dnsmasq by @DL6ER in #1675
- Add wildcard support for the server-side Query Log by @DL6ER in #1678
- Add SAN field into self-generated certificates by @DL6ER in #1674
- Add environmental variables support by @DL6ER in #1679
- Fix regression of #1667 by @DL6ER in #1680
- Remove tests/builds on Debian builders by @yubiuser in #1681
- Fix possible heap overflow by @DL6ER in #1683
- Ensure database upgrades use transactions by @DL6ER in #1682
- Restart FTL when reducing the privacy level by @DL6ER in #1677
- Include number of active clients in summary by @DL6ER in #1688
- Allow both commas and semicolons for separating array env var entries by @DL6ER in #1690
- Minor speedup for parseList (pedal to the metal) by @DL6ER in #1687
- Explicitly chown all rotated files by @DL6ER in #1691
- Retry failed FTL builds by @DL6ER in #1696
- Use UPSERT instead of special REPLACE INTO statements to update exist… by @DL6ER in #1695
- Add ability to specify domains, lists, clients and group names as arrays by @DL6ER in #1629
- Config items set via environment variables are read-only by @DL6ER in #1693
- PUT/DELETE /api/config fixes by @DL6ER in #1698
- Fix API GET /api/auth documentation by @DL6ER in #1700
- Backup and restore API sessions to/from database by @DL6ER in #1689
- Fix setting empty password by @DL6ER in #1702
- Env var arrays are ;-delimited by @DL6ER in #1707
- PUT and DELETE on forced config items are errors by @DL6ER in #1706
- Clarify comment on setupVars.conf file by @DL6ER in #1708
- Add app password support by @DL6ER in #1705
- Improve query table parsing warnings by @DL6ER in #1711
- Update embedded tre-regex engine by @DL6ER in #1714
- API tests: Implement deep-recursion of arrays by @DL6ER in #1713
- Ensure %used is 0.0 if no swap is used by @DL6ER in #1717
- Remove left-over debug output by @DL6ER in #1720
- /api/search/{domain}: Add IDN compatibility by @DL6ER in #1715
- Update embedded SQLite3 engine to version 3.44.0 by @DL6ER in #1721
- Update Error Message Referring to "Adlist" by @NittanySeaLion in #1716
- Remove traces of reboot and poweroff by @yubiuser in #1722
- Only use IPv6 in the webserver when available by @DL6ER in #1725
- API tests: Use /api/endpoints by @DL6ER in #1724
- Use webserver.domain as "account" in the TOTP QR code by @DL6ER in #1730
- Suggest sudo for pihole-FTL --config changes by @DL6ER in #1740
- Fix free() being used in the wrong page by @DL6ER in #1742
- NULL after free() by @DL6ER in #1743
- Changing dns.hosts does not need a restart by @DL6ER in #1732
- Always return full overTime data by @DL6ER in #1736
- Run codespell on push by @DL6ER in #1745
- Add X.509 parsing capabilities by @DL6ER in #1744
- Make number of maximum concurrent API sessions adjustable by @DL6ER in #1733
- Create dynamic validity period when generating X.509 certificate by @DL6ER in #1747
- Fix domain modification by @DL6ER in #1735
- Make inclusion of /etc/dnsmasq.d/*.conf files configurable by @DL6ER in #1734
- Add "requires restart" for config items where it is missing by @DL6ER in #1749
- Fix hint of dns.cnameRecords by @DL6ER in #1750
- Improve readability of
dnsmasq.conf
by adding blank lines to group similar settings by @yubiuser in #1751 - Move dhcp.domain -> dns.domain by @DL6ER in #1739
- Remove additonal spaces in dnsmasq.conf by @yubiuser in #1755
- Use hostsdir for custom.list to avoid cache flushing on changes by @DL6ER in #1754
- (Re-)Allow TLD blocking using ABP style by @DL6ER in #1756
- Declare pihole.toml as UTF-8 document by @DL6ER in #1727
- Prevent unconditional free on error reporting by @DL6ER in #1759
- Improve DHCP handling by @DL6ER in #1731
- Do not rewrite config files if unchanged by @DL6ER in #1746
- Fix group comments by @DL6ER in #1763
- Set CivetWeb authentication_domain by @DL6ER in #1764
- Validate domains before adding them to the database via /api/list by @DL6ER in #1761
- Switch from libidn to libidn2 to get IDNA2008 support by @DL6ER in #1765
- Only log how many sessions have been restored by @yubiuser in #1770
- Fix possible crash when importing legacy DHCP config by @DL6ER in #1767
- /api/client: Include hostnames of clients specified by MAC by @DL6ER in #1771
- Only log number of stored sessions not total number by @yubiuser in #1774
- Update embedded SQLite3 engine to version 3.44.1 by @DL6ER in #1776
- Inotify: Watch for config file MOVED_TO by @DL6ER in #1775
- Log successful processing of pihole.toml on startup by @yubiuser in #1772
- Try to restore broken pihole.toml from rotated files by @DL6ER in #1738
- Include PID in /api/logs by @DL6ER in #1780
- Only reload pihole.toml if changed by @DL6ER in #1778
- API: Clients without queries should not be included by @DL6ER in #1781
- Increase default value of webserver.session.timeout to 30 min by @DL6ER in #1789
- Minor config comment fix by @DL6ER in #1791
- Remove deprecated dhcp.domain setting by @DL6ER in #1790
- Implement wildcard X.509 SAN/CN (subject) domain checking by @DL6ER in #1782
- Update embedded SQLite3 engine to version 3.44.2 by @DL6ER in #1787
- Fix link from message table to list table by @yubiuser in #1792
- Disable cache optimizer for any negative TTL by @DL6ER in #1788
- Recycle memory to reduce footprint by @DL6ER in #1694
- Add missing bits to the .gitignore file by @DL6ER in #1794
- Add CHAOS TXT api.ftl records by @DL6ER in #1793
- Escape invalid domains possibly containing control characters by @DL6ER in #1784
- Remove CH TXT privacylevel.pihole entry by @DL6ER in #1795
- Improve FTL's file comparsion algorithm by @DL6ER in #1785
- Never recycle alias-clients by @DL6ER in #1799
- Add new config option misc.extraLogging by @DL6ER in #1798
- Add priority string in logs (if applicable) by @DL6ER in #1800
- Fix extra logging feature by @DL6ER in #1801
- Do not start webserver if webserver.port is empty by @DL6ER in #1805
- Fix CPU utilization calculation on 32 bit systems by @DL6ER in #1804
- Add config option files.gravity_tmp by @DL6ER in #1796
- Use regex_id instead of regex.id for query log sorting by @yubiuser in #1811
- Update node version to 20 by @yubiuser in #1816
- Add pihole-FTL sqlite3 -ni ... by @DL6ER in #1819
- A few (actually many) small changes by @DL6ER in #1821
- Add soc_thermal as CPU temperature sensor by @DL6ER in #1823
- Implement special domains allowing by @DL6ER in #1807
- Do not pin SID to a specific IP address by @DL6ER in #1786
- Implement special POST :batchDelete callbacks by @DL6ER in #1810
- Update cJSON by @DL6ER in #1843
- Do not overwrite errors on ROLLBACK by @DL6ER in #1842
- Simplify artifacts download by @yubiuser in #1848
- Implement DNS cache recycling by @DL6ER in #1840
- Fix
POST \dns\blocking
request documentation by @akordowski in #1846 - Use WAL, remove (and strip) SQLite3 shared-cache support and improve attached database handling by @DL6ER in #1806
- Add support for legacy Teleporter archives by @DL6ER in #1766
- Fix one-of definition in clients, domains, groups, and lists POST by @DL6ER in #1835
- Only include as many domains as we have in the sorted array by @DL6ER in #1813
- Add Location header for newly created groups/clients/domains/lists by @DL6ER in #1851
- Add authentication via query string by @DL6ER in #1728
- Don't print double newlines after invalid domains by @yubiuser in #1854
- Fix DELETE API endpoints return codes by @DL6ER in #1836
- If someone terminates FTL, try to obtain who is the murderer and log it by @DL6ER in #1839
- Managing DHCP leases is only possible when the DHCP server is enabled by @DL6ER in #1703
- Update ftl-build container to v2.5 by @DL6ER in #1831
- Remove obsolet local.list by @yubiuser in #1752
- Update embedded SQLite3 to 3.45.0 by @DL6ER in #1858
- Return null as version in /api/info/version if not available by @DL6ER in #1859
- Limit number of clients returned by /api/history/clients by @DL6ER in #1832
- Add regex filtering support for domains on the Query Log by @DL6ER in #1611
- X.509: Create and export CA certificate by @DL6ER in #1860
- Amend description of expiration field in GET /dhcp/leases by @DL6ER in #1864
- Improve and fix host name resolution by @DL6ER in #1826
- Fix failure to build from source by @mbooth101 in #1871
- Update embedded SQLite3 to 3.45.1 by @DL6ER in #1869
- Make adlist ID available, rename queries.regex_id -> queries.list_id by @DL6ER in #1841
- Fix failed auto-merge in #1841 by @DL6ER in #1876
- DNSSEC validation should not be enabled by default in v6 by @DL6ER in #1877
- Check all env vars and suggest alternatives for misspelled keys by @DL6ER in #1719
- Fix debug.api config options description. by @DL6ER in #1878
- Add support for multiple reverse servers by @DL6ER in #1797
- Update embedded dnsmasq to v2.90 by @DL6ER in #1875
- Improve description of GET /auth/app endpoint by @DL6ER in #1887
- Fix spurious "resource limit exceeded" messages by @DL6ER in #1892
- Allow adlist duplicates by @DL6ER in #1886
- Make WAL mode for pihole-FTL.db optional by @DL6ER in #1868
- Improve config migration logging by @DL6ER in #1891
- Update config.c fix typo 5335 instead of 5353 by @bungh0l10 in #1899
- Fix revServer importing from former setupVars.conf by @DL6ER in #1901
- Add additional config validation by @DL6ER in #1773
- Add missing validator for database.useWAL by @DL6ER in #1907
- Add searching for domains and clients in the Query Log by @DL6ER in #1908
- Demote hwmon warning log to debug by @PromoFaux in #1909
- Allow upper case letters in domains/hosts by @PromoFaux in #1910
- Ensure env vars survive restart by @DL6ER in #1911
- Tweak API history endpoint and fix cached counting by @DL6ER in #1884
- Remove config option database.DBexport by @DL6ER in #1872
- Add new dhcp.logging option by @DL6ER in #1918
- Report the hex-code of the found invalid character by @DL6ER in #1917
- Update embedded SQLite3 to 3.45.2 by @DL6ER in #1916
- Fix a left-over "whitelisted" instead of "allowed" message in debug mode by @DL6ER in #1921
- Slightly simplify the CI tests by @DL6ER in #1924
- Fix antigravity not preventing further checks on queries by @DL6ER in #1923
- Allow one-character TLDs in hostname validation by @DL6ER in #1922
- Ensure thread-safety for cJSON engine by @DL6ER in #1919
- Implement selective Teleporter restoring by @DL6ER in #1874
- Be more verbose in which tables are imported during teleporter importing by @DL6ER in #1931
- Fix disk space checking on macOS hosts by @DL6ER in #1928
- Update embedded SQLite3 to 3.45.3 by @DL6ER in #1934
- Add extra logging around network issues (EDE: network error) by @DL6ER in #1930
- Fix a crash resulting from a bad interaction between PRs #1928 and #1930 by @DL6ER in #1936
- Provide human-readable message for session status by @DL6ER in #1939
- Improve error logging when TCP connections are prematurely closed by remote server by @DL6ER in #1945
- Improve API /clients documentation by @DL6ER in #1944
- Merge latest v5 development into v6 by @DL6ER in #1953
- Change database permissions to -rw-r----- (640) by @DL6ER in #1955
- Update bundled cJSON by @DL6ER in #1959
- Fix spilled queries in database by @DL6ER in #1960
- Fix error message mentioning wrong file by @jacklul in #1961
- Readline detection by @oliv3r in #1956
- Add artifact attestation by @DL6ER in #1964
- Update DNS records after pruning DHCP leases by @DL6ER in #1965
- Fix compiling without mbedTLS by @DL6ER in #1969
- Ensure we also change ownership of the WAL database files by @DL6ER in #1970
- Fix chown of aux. database files by @DL6ER in #1973
- Update embedded SQLite3 to 3.46.0 by @DL6ER in #1974
- Add Clang compiler support and update project to C17 standard by @DL6ER in #1962
- Reset config values after env forcing by @DL6ER in #1979
- Improve internal DNS resolver by @DL6ER in #1976
- Read config files from new location by @DL6ER in #1737
- Fix macvendor script by @DL6ER in #1983
- Add option to ignore unknown DHCP clients by @DL6ER in #1980
- Print human-readable timezone information by @DL6ER in #1981
- Internal name resolution over UDP with fallback to TCP by @DL6ER in #1986
- Fix incorrect unification of regex warnings by @DL6ER in #1989
- Fix possible heap-corruption bug by @DL6ER in #1990
- Skip certificate domain check when TLS is not actually used by @DL6ER in #1987
- Remove (undocumented) advanced flag in details config output by @DL6ER in #1883
- Fix non-existing gravity.db issue by @DL6ER in #1992
- (Re-)Add support for Pogoplug by @DL6ER in #1993
- Check if the newly set password is the same as the old one by @DL6ER in #1994
- Fix API hint by @yubiuser in #1998
- Fix DNS-SD query analysis by @DL6ER in #2000
- Add read-only config option by @DL6ER in #1988
- Update embedded LUA engine to 5.4.7 by @DL6ER in #2003
- Add NTP-server/client implementation by @DL6ER in #1977
- Limit app password permissions by @DL6ER in #1995
- Add CLI password generation by @DL6ER in #1999
- Fix compile problem with Pogoplug by @DL6ER in #2006
- Show Unauthorized warnings only in debug mode by @DL6ER in #2005
- Fix crash in arp-scan and dhcp-discover by @DL6ER in #2008
- Fix rev-server crash by @DL6ER in #2010
- Fix CI DNSSEC tests by @DL6ER in #2012
- Improve NTP implementation by @DL6ER in #2004
- Fix blocking timer by @DL6ER in #2011
- Improve Query Log suggestions by @DL6ER in #2001
- Self-contained DNSSEC CI tests by @DL6ER in #2014
- Fix local domain and non-FQDN configuration by @DL6ER in #1900
- Add netlink implementation by @DL6ER in #2009
- memcheck improvements by @DL6ER in #2015
- Fix termination in dnsmasq failure mode by @DL6ER in #2017
- Add new 2024 DNS root trust anchor by @DL6ER in #2018
- Improve reverse proxy handling by @DL6ER in #2016
- Improve automatic PTR handling code by @DL6ER in #2019
- Fix port 65535 for virtual cache and blocklist upstreams by @DL6ER in #2024
- Improve network table code by @DL6ER in #2022
- Improve pihole-FTL process concurrency by @DL6ER in #2025
- Add new GET /api/padd endpoint by @yubiuser in #2026
- Fix NTP synchronization on devices not knowing the NTP service type by @DL6ER in #2027
- Update embedded SQLite3 engine to 3.46.1 by @DL6ER in #2031
- Fix Top Clients table by @DL6ER in #2032
- Update embedded CivetWeb server by @DL6ER in #2033
- Improve incomplete installations support by @DL6ER in #2036
- Allow other FTL process inside docker by @DL6ER in #2037
- Fix possible double-free and avoid memory leaking by @DL6ER in #2043
- Implement DNS caching for queries blocked upstream by @DL6ER in #2030
- Use ftl-build:v2.7 builder for Actions by @DL6ER in #2046
- Restart FTL on change of webserver.api.cli_pw by @DL6ER in #2041
- Add GET /api/stats/summary -> .gravity.last_update by @DL6ER in #2048
- Fix CPU % calculation by @DL6ER in #2047
- Remove appending ?target=... when redirecting to login page by @DL6ER in #2049
- Make v5 -> v6 migration verbose by @DL6ER in #2042
- Migrate legacy files into /etc/pihole/migration_backup_v6 by @DL6ER in #2055
- Add queries per second (QPS) metric by @DL6ER in #2054
- Fix possible crash due to incorrect setupVars.conf import by @DL6ER in #2059
- Ensure v6 imports CNAME records when reading v5 archives by @DL6ER in #2057
- Check and create v6 migration directory if not exists by @DL6ER in #2061
- Improve EDNS handling by @DL6ER in #2062
- Fix gzip help text by @DL6ER in #2060
- Move debug message behind debug flag by @DL6ER in #2064
- Add CodeQL by @yubiuser in #2063
- Fix various CodeQL complaints by @DL6ER in #2065
- Prettify BATS output by @yubiuser in #2044
- Fix Civetweb Lua error reporting issue by @DL6ER in #2070
- Tweak DB counter update by @DL6ER in #2067
- Disentangle info/ftl database domain numbers by @DL6ER in #2071
- Fix incorrect page count on some Query Log shortcuts by @DL6ER in #2074
- Restart FTL to enforce flushing the cache when dns.piholePTR is changed by @DL6ER in #2073
- Verify FTL binary integrity by @DL6ER in #2072
- Improve QPS calculation by @DL6ER in #2076
- Print size of database / count of removed rows only in debug mode by @DL6ER in #2080
- Do not try to access vector items if (re)allocation failed by @DL6ER in #2081
- Fix compilation support on Ubuntu 24.04.1 LTS by @DL6ER in #2082
- Update rapidoc and highlight by @yubiuser in #2075
- Amend help text to database.maxDBdays by @yubiuser in #2083
- Fix external block detection on NXDOMAIN replies from authoritative upstreams by @kaechele in #2087
- Fix Github Actions if statement by @DL6ER in #2088
- Do not run deployment steps if a PR is coming from a fork (from fork) by @DL6ER in #2089
- Don't set RTC time by default by @DL6ER in #2090
- Use new ftl-build:v2.9 by @DL6ER in #2091
- Lookup tables (binary search) by @DL6ER in #2084
- Update embedded SQLite to 3.47.0 by @DL6ER in #2094
- Update --gen-x509 help text by @DL6ER in #2096
- Improve insertion of clients, domains and DNS cache records by @DL6ER in #2095
- Add new sqlite3_rsync tool by @DL6ER in #2099
- Improve network table error handling by @DL6ER in #2097
- API /client/_suggestions should only return unconfigured clients by @DL6ER in #2100
- Amend the help text of the TLS certificate by @yubiuser in #2098
- Fix binary verification with modern cmake by @DL6ER in #2102
- Slightly optimize the binary search algorithm by @DL6ER in #2105
- Improve build.sh script by @DL6ER in #2104
- Upstream lookups should always check for the magic byte while searching by @DL6ER in #2109
- Fix netlink message length by @DL6ER in #2108
- Improve error messages logged within internal name resolver by @DL6ER in #2110
- Changes the
dns.domain
validation to accept an empty string as value by @rdwebdesign in #2113 - Make optional in dns.revServer by @DL6ER in #2116
- Ensure we close netlink sockets by @DL6ER in #2117
- Fix fork shared memory access by @DL6ER in #2121
- Enable debug mode when debugger is detected by @DL6ER in #2120
- Update embedded SQLite3 to 3.47.1 by @DL6ER in #2123
- Dynamically lower the GC interval by @DL6ER in #2127
- Remove duplicated code and silence a harmless warning by @DL6ER in #2131
- Update embedded SQLite3 to 3.47.2 by @DL6ER in #2132
- GCC 14.2.0 support by @DL6ER in #2133
- Update embedded dnsmasq to latest tag v2.91test2 by @DL6ER in #2136
- Add 'o' webserver port documentation by @DL6ER in #2137
- Expose EDE information via API if available by @DL6ER in #2135
- Fix crash on multiple replies by @DL6ER in #2141
- Get latest dnsmasq patches by @DL6ER in #2142
- Allow spaces also in PUT /api/groups by @DL6ER in #2143
- Fix leap year check by @catch-error in #2144
- Sync dnsmasq with upstream by @DL6ER in #2146
- Make maximum number of threads used by web server configurable by @DL6ER in #2147
- CI: Remove NTP test by @DL6ER in #2148
- Harden dnsmasq syntax checking against signals by @DL6ER in #2151
- Allow .ssh directory to be mounted on MacOS host by @PromoFaux in #2152
- Prevent calling strcmp with NULL pointer by @catch-error in #2150
- Fix file ownership after pihole-FTL --config as root by @catch-error in #2145
- Update dnsmasq to v2.91test6 by @DL6ER in #2155
- Add new explicit migration command by @DL6ER in #2139
- Delay IPv6 client name lookups by @DL6ER in #2130
- Use different tag for self-hosted runners by @DL6ER in #2159
- Make webserver ports optional by default by @DL6ER in #2138
- Fix possible turnaround overflow by @DL6ER in #2158
- Tweak NTP error reporting by @DL6ER in #2125
- Update embedded CivetWeb by @DL6ER in #2160
- Update dnsmasq to latest v2.91test7 by @DL6ER in #2161
- Avoid endless spinning in UDP->TCP path by @DL6ER in #2157
- Update SQLite3 to 3.48.0 released earlier today by @DL6ER in #2162
- Remove surplus SHM unlocking in IPv6 name resolution deceleration code by @DL6ER in #2163
- Use arm64 machines provided by GHA by @DL6ER in #2164
- Update embedded dnsmasq to v2.91test8 by @DL6ER in #2165
- Update dnsmasq to v2.91test9 by @DL6ER in #2166
- Add new GRAVITY_RESTORED_MESSAGE message type by @DL6ER in #2122
- Netlink tweaks by @DL6ER in #2168
- Add DHCPv6 probing to dhcp-discover tool by @DL6ER in #2128
- Fix incorrect reply classification by @DL6ER in #2171
- Improve FTL connection error logging by @DL6ER in #2170
- Restore static DHCP leases from v5 tar.gz Teleporter archives by @DL6ER in #2174
- Update dnsmasq to 2.91test10 by @DL6ER in #2173
- Fix blocked upstream (IP) handling by @DL6ER in #2176
- Change date_updated only when content changed by @DL6ER in #2172
- Update dnsmasq to 2.91rc2 by @DL6ER in #2179
- Update embedded SQLite3 to 3.49.0 by @DL6ER in #2181
- Update dnsmasq to 2.91rc3 by @DL6ER in #2182
- Update dnsmasq to 2.91rc4 by @DL6ER in #2185
- Fix duplicate process detection by @DL6ER in #2184
- Add proper timeout handling to dhcp-dicsover feature by @DL6ER in #2186
- Update embedded dnsmasq by @DL6ER in #2187
- Update embedded SQLite3 to 3.49.1 by @DL6ER in #2188
- Pi-hole FTL v6.0 by @PromoFaux in #2153
New Contributors
- @NittanySeaLion made their first contribution in #1716
- @akordowski made their first contribution in #1846
- @mbooth101 made their first contribution in #1871
- @bungh0l10 made their first contribution in #1899
- @jacklul made their first contribution in #1961
- @oliv3r made their first contribution in #1956
- @kaechele made their first contribution in #2087
- @catch-error made their first contribution in #2144
Full Changelog: v5.25.2...v6.0