You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Orange Pi 5B | Dedicated images for the Orange Pi 5B are provided now. Previously, the Orange Pi 5 images could be used, but it was required to change the used device tree manually to enable board-specific features like WiFi.
Enhancements
General | Persistent DietPi log files have been moved from /var/tmp/dietpi/logs to /var/lib/dietpi/logs. Since Debian Trixie, content of /var/tmp older than 30 days is cleared, which renders this directory inappropriate for any persistent files. And to be honest: it was never meant to be used the way we did it. The DietPi update will copy files over, but it cannot remove /var/tmp/dietpi, since the v10.3 updater itself is logging to it while it runs. On Debian Trixie, systemd-tmpfiles will remove it 30 days later. On Debian Bookworm, you may remove it manually, but the size is small.
Linux security | The two recent major Linux vulnerabilities CVE-2026-31431 aka "Copy Fail", CVE-2026-43284 and CVE-2026-43500 aka "Dirty Frag", have been mitigated across all supported SBCs: Debian and Raspberry Pi Ltd pushed kernel updates containing the fix, and we did so for all kernel packages distributed with our APT repository. The DietPi update will upgrade kernel packages implicitly. Else please upgrade it yourself, or prevent the affected kernel modules from being loaded, as can be read here: Mitigating "Copy Fail" and "Dirty Frag" vulnerabilities on DietPi #8122
Allwinner/Amlogic/Rockchip SBCs | We merged the linux-dtb-* package into the linux-image-* package. You might have recognized that an apt upgrade held back two packages, and an apt full-upgrade removed the linux-dtb-* package while upgrading linux-image-*, which is hence intended. Along with some other changes in our Armbian build system fork, this makes switching between kernel branches easier and more robust, and allows to keep multiple kernel branches installed concurrently safe. The DietPi update will imply the kernel upgrade, if not done yet, unless it was explicitly marked hold by the admin.
NanoPi R76S | The network interface names for the two Ethernet ports are now persistent on reboot. They previously could randomly swap on reboot. Many thanks to @oxoocoffee for reporting this: NanoPi R76S - LAN ports switching on boot #7844
DietPi-Installer | Cases of GRUB BIOS images with GPT partition table, but without dedicated BIOS boot partition, are now handled gracefully. GRUB throws warnings in those cases, and by default fails, as flashing the bootloader to the gap between GPT header and first partition is considered unreliable. But obviously, the image worked that way before, and Debian's grub-pc package postinst script explicitly ignores the warnings, calling grub-install with the --force flag. The dietpi-installer will now do the same, if this exact case is detected: GPT partition table, no EFI partition => GRUB BIOS needed, but no BIOS boot partition either. Many thanks to @mews-se for reporting a related case of a VPS image: GRUB-issues with certain vps-providers #8030
DietPi-Software | soju: We migrated to the new official soju repository at Codeberg, after the its GitHub repository got archived. This implies some new releases, hence we recommend to update your soju instance with a dietpi-software reinstall 213.
DietPi-Software | Unbound: We push our own up-to-date Unbound packages via our APT server now. This means, that also users who did not install Unbound via dietpi-software get our default config and reduced Debian-only content. Please let us know if you face any issues.
DietPi-Software | Java: The version has been bumped to Java 26 for 64-bit systems. On ARMv7, Java 21 is the highest practically usable one: from Java 22 on, ARMv7 support for the HotSpot JVM is broken, hence the extremely slow Zero JVM is used. This causes e.g. Airsonic on the Odroid XU4 to require 1.5 hours to start. This limits the versions of some Java applications on ARMv7, like Minecraft to max v1.21.x. This bug is unlikely to be ever resolved, due to decreasing relevancy of 32-bit ARM architectures. The upstream bug is tracked here: https://bugs.openjdk.org/browse/JDK-8321125
Bug fixes
DietPi-Drive_Manager | Resolved a v10.3 regression where moving the rootfs on Raspberry Pi to a different drive caused an invalid /boot/firmware/cmdline.txt root entry, failing to boot. Many thanks to @TimH for reporting this issue: https://dietpi.com/forum/t/25154
DietPi-Software | Docker: Resolved a v10.3 regression where a fresh Docker installation failed, since --no-reload was used when unmasking docker.service, which prevents docker.socket from starting up as well. Many thanks to @peracchi for reporting this issue: DietPi-Login - [FAILED] Unknown install state/First run setup failed #8108
DietPi-Software | Home Assistant: Resolved an issue where the installation might have failed, when starting it from within a desktop session. As we used runuser, environment variables were passed through to uv, notably XDG_DATA_HOME, which was then used as install dir for Python, instead of the intended service user's home directory. All runuser calls have now been replaced by setpriv with the --reset-env flag, to guarantee a clean environment. Many thanks to @btuerk89 for reporting this issue: DietPi-Software | Failed to reinstall Home Assistant after DietPi update 10.3 #8116
DietPi-Software | Synapse: Resolved an issue where the installation might have failed, since dependencies were not installed as intended.
DietPi-Software | Immich/ownCloud Infinite Scale: Resolved a v10.3 regression, where the service failed to start, as it does not have the permissions to touch its environment file, to trigger the systemd automount, if needed. Instead of touch, automounts for environment files are now triggered with test -e, which does not require write access.
DietPi-Software | Prometheus Node Exporter: Resolved an issue on Raspberry Pi where the raspberrypi_exporter.service stored the CPU temperature in a wrong format, if a locale with comma (,) as decimal separator was selected on the host system. The service now enforces the C locale. The change is applied during the DietPi update as well. Many thanks to @Grip for reporting this issue: errors with prometheus raspberrypi_exporter on it_IT locale #8118
How to apply: https://github.com/MichaIng/DietPi/blob/master/BRANCH_SYSTEM.md
Related/solved issues: https://github.com/MichaIng/DietPi/issues?q=is%3Aissue+milestone%3Av10.4
Beta v10.4.1
(2026-05-16)
New images
Enhancements
/var/tmp/dietpi/logsto/var/lib/dietpi/logs. Since Debian Trixie, content of/var/tmpolder than 30 days is cleared, which renders this directory inappropriate for any persistent files. And to be honest: it was never meant to be used the way we did it. The DietPi update will copy files over, but it cannot remove/var/tmp/dietpi, since the v10.3 updater itself is logging to it while it runs. On Debian Trixie,systemd-tmpfileswill remove it 30 days later. On Debian Bookworm, you may remove it manually, but the size is small.linux-dtb-*package into thelinux-image-*package. You might have recognized that anapt upgradeheld back two packages, and anapt full-upgraderemoved thelinux-dtb-*package while upgradinglinux-image-*, which is hence intended. Along with some other changes in our Armbian build system fork, this makes switching between kernel branches easier and more robust, and allows to keep multiple kernel branches installed concurrently safe. The DietPi update will imply the kernel upgrade, if not done yet, unless it was explicitly marked hold by the admin.postinstscript explicitly ignores the warnings, callinggrub-installwith the--forceflag. Thedietpi-installerwill now do the same, if this exact case is detected: GPT partition table, no EFI partition => GRUB BIOS needed, but no BIOS boot partition either. Many thanks to @mews-se for reporting a related case of a VPS image: GRUB-issues with certain vps-providers #8030dietpi-software reinstall 213.dietpi-softwareget our default config and reduced Debian-only content. Please let us know if you face any issues.Bug fixes
/boot/firmware/cmdline.txtroot entry, failing to boot. Many thanks to@TimHfor reporting this issue: https://dietpi.com/forum/t/25154--no-reloadwas used when unmaskingdocker.service, which prevents docker.socket from starting up as well. Many thanks to @peracchi for reporting this issue: DietPi-Login - [FAILED] Unknown install state/First run setup failed #8108runuser, environment variables were passed through touv, notablyXDG_DATA_HOME, which was then used as install dir for Python, instead of the intended service user's home directory. All runuser calls have now been replaced bysetprivwith the--reset-envflag, to guarantee a clean environment. Many thanks to @btuerk89 for reporting this issue: DietPi-Software | Failed to reinstall Home Assistant after DietPi update 10.3 #8116touchits environment file, to trigger the systemd automount, if needed. Instead oftouch, automounts for environment files are now triggered withtest -e, which does not require write access.raspberrypi_exporter.servicestored the CPU temperature in a wrong format, if a locale with comma (,) as decimal separator was selected on the host system. The service now enforces the C locale. The change is applied during the DietPi update as well. Many thanks to @Grip for reporting this issue: errors with prometheus raspberrypi_exporter on it_IT locale #8118