Release Notes¶
August 2025 (version 9.16)¶
Overview¶
The August 23rd, 2025 release of DietPi v9.16 comes with support for the new Debian released on August 9th and many, many enhancements and fixes.
"DietPi goes Trixie and prepares Forky" by ChatGPT/DALL·E
Enhancements¶
- General The number of
apt update
calls within our script has been reduced: It is skipped in case the less than an hour ago, sources lists and architectures were not changed in between. This should speed up certain update and install processes, and reduce disk writes. The 1 hour however is taken somewhat arbitrary. If you ever face the issue that a package install of upgrade fails with 404, while it works after a freshapt update
, please let us know. - General Our scripts and
G_*
functions do now internally re-execute themselves with sudo if needed, which makes e.g.sudo dietpi-software
obsolete. This is especially helpful when using thefish
shell, wheresudo dietpi-software
cannot work, sincefish
does not support calling shell aliases with sudo as easily asbash
. It is however still possible to use sudo by yourself, of course. The internal root privileges checker, instead of exiting the script, runsexec sudo <script> <arguments>...
, replacing the parent script instance with the sudo wrapped call. It works as well for ourG_*
functions, likeG_AGUG
for non-interactive error-handled APT upgrades. Since sudo cannot run functions from the parent shell, we have another function which handles this, soG_SUDO G_AGUG
was needed. This is now internally handled as well, soG_AGUG
can be called directly from an unprivileged but sudo-capable user. In any case, of course, the calling user must be able to use sudo, with or without entering its password. In non-interactive shells, or whenG_INTERACTIVE=0
has been set, sudo will be called with-n
argument, which aborts the call with error, to avoid hanging processes. - DietPi-Globals | G_CHECK_ROOT_USER Related to above change, just in case anyone uses this function in own scripts: The previous CLI arguments have been removed, instead scripts can pass their positional arguments
$@
to this function, for automatic re-execution with sudo to work properly. SetG_INTERACTIVE=0
to avoid interactive sudo password inputs if you want to assure the script does not hang at this point. This is internally set if the shell’sSTDIN
is no terminal, like systemd services, cron jobs etc, but better be safe than sorry. IfG_CHECK_ROOT_USER
is called from within a function as part of an interactive shell session, previously the shell itself was exited if the check failed, unlessG_CHECK_ROOT_USER 1
was called. This argument does not exist anymore, but the function detects an interactive parent shell and only terminates the command sequence in that case, likeG_CHECK_ROOT_USER 1
did before. The automaticG_SUDO
call works only if the invoking function is one of ourG_*
functions, else it is not attempted. More details: MichaIng/DietPi!7686 - Raspberry Pi The primary UART adapter is now enabled on first boot. It was unintentionally disabled on our Raspberry Pi images.
- ROCK Pi S Device tree overlays have been added to switch the USB-C port to host or OTG mode. By default it is in peripheral mode. Many thanks to @starsoccer for doing this suggestion: MichaIng/DietPi#6611
- RISC-V The Docker Compose, Snapcast, and Amiberry
dietpi-software
options are now available on RISC-V systems. - Debian 14 (aka Forky) We added initial support to the new Debian 14 Forky testing version and next release expected for summer 2027. This means it is detected correctly by our scripts, included in our automated testing, images are generated and hosted at https://dietpi.com/downloads/images/. But note that due to regular changes on Debian testing, software installation options are expected to break regularly, and are tested much less frequently. Use it if you like to stay on edge, and are fine to tinker more frequently after APT package upgrades.
- DietPi-Software | Domoticz This software option has been enabled for all Debian versions and architectures. We build and distribute own packages via our own APT server for this purpose. All files in
/mnt/dietpi_userdata/domoticz
are treated asconffiles
, hence manual changes will never be overwritten by package upgrades. For fresh installs, however, the plain HTTP listener at port 8124 has been disabled, hence by default, access is possible via HTTPS on port 8424 only. Asudoers
config has been added to make the system shutdown and restart options from the web UI work. - DietPi-Software | Kodi On Raspberry Pi Bookworm systems, Kodi 21 is now installed, provided as separate package from the RPi APT repository. If you want to upgrade your previously installed instance:
sudo dietpi-software reinstall 31
- DietPi-Software | Kubo The
IPFS Node
install option has been renamed toKubo
. It has been renamed upstream a while ago: https://github.com/ipfs/helia/wiki/FAQ - DietPi-Software | Java Our implementation switched for 64-bit systems from Debian’s OpenJDK packages to
Adoptium's
Temurin Java
packages. This allows us and DietPi users to install any released Java version on any Debian version. Previously on older Debian version, some Java applications could not be used anymore, or only older versions. For now, Java 21 will be installed bydietpi-software
, which is the latest LTS version. But users can add any other version via APT: https://packages.adoptium.net/ui/native/deb/pool/main/t/. However, theAdoptium
repository does not support the 32-bit architecture anymore, hence those system will remain with Debian’s OpenJDK packages and the related restrictions. - DietPi-Software | Java The Raspberry Pi repository maintainers went through the efforts to provide ARMv6-compatible Java 17 packages. Thanks to this fact, we can re-enable the Java installation options for RPi 1/Zero models, however with the limitations Java 17 has compared to Java 21, at time of writing: Minecraft max v1.20.4 and openHAB max v4.
- DietPi-Software | PaperMC On 64-bit Debian Bullseye and Bookworm systems, PaperMC can be updated again to its latest version, using
Adoptium Temurin
Java 21. Previously, due to minimum Java requirements,PaperMC 1.20.4
was the latest supported version on these systems. - DietPi-Software | Nextcloud Talk / Synapse / WireGuard It is now possible to install these software options non-interactively, e.g. via automated first boot installs:
AUTO_SETUP_AUTOMATED=1
indietpi.txt
. For this, a newdietpi.txt
settingSOFTWARE_PUBLIC_DOMAIN_NAME
has been added to define the (planned) public domain name of the DietPi system, used as default for software options which require or benefit from it. For now, only these software options anddietpi-letsencrypt
will make use ofSOFTWARE_PUBLIC_DOMAIN_NAME
for non-interactive setups, while installs from an interactive terminal will still show a dialogue to change the default. - DietPi-Software | Synapse In addition to
SOFTWARE_PUBLIC_DOMAIN_NAME
, for Synapse installations, the newSOFTWARE_SYNAPSE_USERNAME
dietpi.txt
option can be set to define the initial admin username on non-interactive installs, which defaults to “dietpi”. Hence be sure to set this when usingAUTO_SETUP_AUTOMATED=1
andAUTO_SETUP_INSTALL_SOFTWARE_ID=125
. - DietPi-Software | WireGuard In addition to
SOFTWARE_PUBLIC_DOMAIN_NAME
, for WireGuard installations, the newSOFTWARE_WIREGUARD_MODE
andSOFTWARE_WIREGUARD_PORT
dietpi.txt
options can be set to define whether WireGuard will shall be installed as server or client, and in case which UDP port it shall listen to. The defaults are server mode and port 51820. - DietPi-Software | Portainer Fresh installs and reinstalls will now enable HTTPS access on port 9442. Plain HTTP access via port 9002 remains possible for now, but will be probably disabled in the future. Let us know if you face any issues accessing Portainer via HTTPS, aside of the fact that you need to accept the self-signed certificate in browsers once.
Bug fixes¶
- Raspberry Pi Resolved issues due to conflicting APT packages for the Raspberry Pi OS desktop. The related packages are now prevented via APT pins on all Raspberry Pi systems, added as well with this DietPi update. This was previously done only on LXDE install, since its base packages from the RPi repo are highly customized for the RPi OS desktop. But e.g. related GTK packages with conflicting dependencies are pulled in by other desktop and GUI packages as well. Many thanks to @anijatsu and others for reporting related issues: MichaIng/DietPi#6959
- NanoPi 4/5/6 series Resolved an issue where the DietPi APT repo entry could have been malformed so that kernel upgrades were missing.
- Debian Trixie The install of Xfce and GNUstep desktops, as well as enabling Amiberry standard boot via
dietpi-autostart
failed, due the attempt to install thepolicykit-1
package, which is a dummy transitional on Bookworm and has been removed on Trixie. Instead, from Bookworm on, the successorpolkitd
package is installed, which provides the same features to elevate privileges for e.g. poweroff/reboot from desktop andsystemctl
execution. Many thanks to @0xB33r for reporting this issue: MichaIng/DietPi#7650 - DietPi-Tools | DietPi-BugReport Resolved an issue where generating a bug report failed on recent images if
(p)7zip
was not installed. This became an issue since we stopped to pre-install it on our images. Bug reports are not compress withxz
if present, elsegzip
. Many thanks to @0xB33r for reporting this issue: MichaIng/DietPi#7650 - DietPi-Tools | DietPi-Display Resolved an issue where display with once stored settings were always shown as disabled, when starting the script again.
- DietPi-Software | VSCodium This software options has been disabled on 32-bit ARM systems, since the project stopped distribution packages for those architectures with their APT repository.
- DietPi-Software | Koel Resolved an issue where the installation failed on 32-bit systems from Debian Bookworm on, due to a pre-installed dependency which strictly requires 64-bit. The dependency is now downgraded on accepted systems via PHP Composer.
- DietPi-Software | Kavita Resolved an issue where the installer tried to exit a non-existing config file, so that the daemon was not listening on port 2036 as expected, but port 5000 instead.
- DietPi-Software | Docker Compose This software option has been enabled for the RISC-V architecture.
- DietPi-Software | Syncthing Resolved an issue where the installation failed due to CLI changes in the latest release v2.0.0.
- DietPi-Software | Raspotify Resolved an issue where Raspotify could cause and endless failure loop on shutdown, effectively preventing the shutdown procedure from ever finishing.
- DietPi-Software | openHAB Resolved an issue where the latest package could not run anymore on Debian Bullseye and Bookworm systems, since the minimum Java version requirement raised to Java 21 with openHAB 5. This is now possible on 64-bit systems, as we moved to
Adoptium Temurin
Java packages. On 32-bit Bullseye and Bookworm systems, the latest openHAB 4 will be installed instead, and the DietPi update performs a downgrade if needed. Many thanks to @MDAR for reporting this issue: MichaIng/DietPi#7657 - DietPi-Software | Nukkit Resolved an issue where a reinstall/update overwrote the config file. It is now never overwritten if present.
- DietPi-Software | Node.js Resolved an issue where the installed
Node.js
on ARMv6 Bullseye systems was not functional, since it required a newer C++ ABI version than provided by Raspbian Bullseye. - DietPi-Software | ADS-B Feeder Resolved an issue on
non-usr-merged
Bullseye systems where the service startup failed due to explicit/usr/bin/bash
usage. - DietPi-Software | MicroK8s Resolved an issue where the installation could have failed on Debian Bullseye and Bookworm, due to too old
snapd
.snapd
is updated with its own snap in the process anyway, so we do this now before installing the actual MicroK8s snap, just changing the order of things to fix it.
As always, many smaller code performance and stability improvements, visual and spelling fixes have been done, too much to list all of them here. Check out all code changes of this release on GitHub: MichaIng/DietPi!7678