2021.09
Previously, we have picked a version number of one of the internal components (most recently, FTL) and applied that to the docker container's tag. However, this sometimes causes confusion between users, but also developers (when we are not sure what to tag a docker release if FTL's version number has not changed)
Going forward, we will use a year.month[.revision]
to tag docker releases with. To tag a new image, it is as simple as looking at the calendar to decide what the tag name should be. We will always try to leave any major changes until a new month rolls over. e.g if Pi-hole v6 were to be released in 2 weeks time, it would not be in the docker image until 2021.10
(that said, we can also tag pre-release versions for those that are itching to get onto the bleeding edge. This also gives us chance to make sure that none of the core Pi-hole changes break how the container operates.
There will always be a :nightly
tag, which is built every night based on the dev
branch of this repo, and the development
/devel
branches of the three components, for those who really want to live on the edge - but we don't recommend running this in production.
We have also noticed that a lot of people use Watchtower or Portainer to keep their Pi-hole containers up to date. For the same reason we don't provide an auto-update feature on a bare metal install, you should not have a system automatically update your Pi-hole container. Especially unattended. As much as we try to ensure nothing will go wrong, sometimes things do go wrong - and you need to set aside time to manually pull and update to the version of the container you wish to run. The upgrade process should be along the lines of:
- Important: Read the release notes. Sometimes you will need to make changes other than just updating the image
- Pull the new image
- Stop and remove the running Pi-hole container
- If you care about your data (logs/customizations), make sure you have it volume-mapped or it will be deleted in this step.
- Recreate the container using the new image
Pi-hole is an integral part of your network, don't let it fall over because of an unattended update in the middle of the night.
Breaking Changes:
- None
Docker Specific Changes:
- 3865e77 - Introduce internal
PIHOLE_TAG
variable so that we can see what tag the container is... - 388f0f0 - Disable some more pihole functions when run from within docker, Inject a message into the debug output that lets us know it's been run in a docker container
- 88518b0 & 56f4933 - Inject the container tag into the web interface footer
- Set FTL REPLY addresses instead of setupVars.conf. #902
- Improve Docker Healthcheck: Shorten dig output #905
Pi-hole Core Changes:
- Enable PHP8 support for Debian/Ubuntu pi-hole/pi-hole#4135
- Cosmetic change to pihole -v -c output pi-hole/pi-hole#4143
- Re-remove wget from dependencies pi-hole/pi-hole#4153
- Added docker to README pi-hole/pi-hole#4175
- Be explicit in IPv6 RA values. pi-hole/pi-hole#4206
- Don't overwrite existing logrotate pi-hole/pi-hole#4207
- Fix typo pi-hole/pi-hole#4199
- Add new tests to ensure dependencies are available to the OS pi-hole/pi-hole#4215
- Filter pihole -t pi-hole/pi-hole#4191
- Add missing sed anchors when deleting lines. pi-hole/pi-hole#4178
- Remove false statement about dependency removal on Raspbian pi-hole/pi-hole#4158
- Add tail of pihole.log to debug output pi-hole/pi-hole#4162
- Debug Log bugfix pi-hole/pi-hole#4216
- Handle pi.hole and hostname in FTL instead of local.list pi-hole/pi-hole#4131
- Remove mod_compress (mod_deflate) from lighttpd to provide backwards compatible support for Debian Bullseye (11) pi-hole/pi-hole#4221
- Remove mod_compress from lighttpd config on fedora/centos pi-hole/pi-hole#4222
- Support and test Debian Bullsye (11) and Ubuntu 21.04 pi-hole/pi-hole#4126
- Delete supportedos.txt - it is not actually used anywhere can can cause confusion pi-hole/pi-hole#4228
- Fix coloring of pihole -t pi-hole/pi-hole#4230
- Add -t (teleporter) option to Admin Console help dialog pi-hole/pi-hole#4233
- Guard for logrotate func non-zero return pi-hole/pi-hole#4242
- Make output of SHM dir human readable pi-hole/pi-hole#4244
- Remove extra failure display when installation of logrotate file is skipped because the file already exists pi-hole/pi-hole#4247
- Fix error on checking interfaces that are not dual-stack pi-hole/pi-hole#4248
- Increase width of ID column in adlist and domain table in debug script pi-hole/pi-hole#4262
- Give pihole its own logrotate state file pi-hole/pi-hole#4225
- Remove comparison of IP addresses with setupVars.conf pi-hole/pi-hole#4246
- Some tweaks to how packages are installed, plus removal of dhcpd5 dependency (Option 1) pi-hole/pi-hole#4260
- Add uptime to debug log pi-hole/pi-hole#4265
- Add switching 'to...from' message to ftl checkout output pi-hole/pi-hole#4266
- On enabling/disabeling only reload-lists instead of reload pi-hole/pi-hole#4264
- Fix Splashpage not appearing properly on non-root directories pi-hole/pi-hole#4271
- Conditional forwarding: Also forward unqualified host names pi-hole/pi-hole#4287
- Add sudo to apt-get recommendation pi-hole/pi-hole#4292
- Fix pipe to pihole tricorder pi-hole/pi-hole#4304
- Add content of /etc/resolv.conf to debug output pi-hole/pi-hole#4311
- Use --no-progress-meter instead of --silent so error reasons are printed pi-hole/pi-hole#4305
- Forward unqualified names to the CF target only when the "Never forward non-FQDN" option is NOT ticked pi-hole/pi-hole#4317
- Remove ineffective Access-Control-Allow-Origin header pi-hole/pi-hole#4275
- Add content of /etc/dnsmasq.conf to debug output pi-hole/pi-hole#4312
- Add possibly missing capabilities pi-hole/pi-hole#4314
- Install RFC6761 config file pi-hole/pi-hole#4282
Pi-hole Web changes:
- Password autocompletion pi-hole/web#1785
- Try to obtain hostname for MAC clients pi-hole/web#1793
- Improvement to readability of footer "update" command text pi-hole/web#1797
- Added the option for an automatic dark mode based on the device status pi-hole/web#1836
- Add reply type DNSSEC pi-hole/web#1837
- Adding CORS support via environment variable pi-hole/web#1822
- Fix domain validation method pi-hole/web#1852
- Fix require func.php pi-hole/web#1855
- Add interpretation for Pi-hole message type RATE_LIMIT pi-hole/web#1859
- Stop timer when user reenabled blocking early pi-hole/web#1863
- Fix TypeError if no extended DNS error is available pi-hole/web#1862
- Import two fixes pi-hole/web#1867
- Add new blocked by database status and NONE reply type pi-hole/web#1869
- Add httponly = true to persistent login cookie pi-hole/web#1875
- Apply htmlentities in a couple of places to prevent xss pi-hole/web#1876
- Clarify how and when UQDN are forwarded with conditional forwarding pi-hole/web#1873
- Less color for the Query Log pi-hole/web#1872
- Add BLOB reply type pi-hole/web#1871
- footer.php: move FTL before Web Interface pi-hole/web#1854
Pi-hole FTL changes:
- Customizable locking while database is busy pi-hole/FTL#1156
- Regex extension: Specify
reply
type pi-hole/FTL#1159 - Update embedded
dnsmasq
to version 2.86 - Improve locking during heavy TCP forking pi-hole/FTL#1134
- Log when listening on the wildcard address pi-hole/FTL#1135
- Improve warning messages for defect hwclocks pi-hole/FTL#1136
- Fix crash when bind-address is used pi-hole/FTL#1132
- Plus a lot more smaller changes that came up during our beta testing. See the Pi-hole release blog post for all the details.