Skip to content

Releases: MichaIng/DietPi

v10.5

14 Jun 21:34
14ba587

Choose a tag to compare

Enhancements

  • Raspberry Pi | KMS/DRM is now enabled by default whenever a GUI application or desktop environment is installed via dietpi-software, and it can be toggled with a new dedicated dietpi-config display options entry. After several libraries for the legacy GPU firmware driver have been removed, using it has almost only downsides. Any application which made use of its features, like OpenMAX, DispmanX, and MMAL, cannot work anymore on any supported Raspberry Pi repository version.
  • Raspberry Pi | The RPi Camera setting in dietpi-config has been updated to toggle the modern camera stack with libcamera API, rather than the legacy one. The recent Linux 6.18 update removed support for the legacy MMAL camera stack, which also never worked with Camera Module 3.
  • DietPi-Config | The display menu has been reworked: dietpi-display is now the standard tool to configure display resolution/mode and rotation, the device-specific resolution menus for Raspberry Pi and Odroids have been removed, along with other legacy and dysfunctional options, namely RPi headless mode, HDMI rotation (now included in dietpi-display), and PSU noise reduction. Like possible only on VMs before, it is now additionally possible on any system with GRUB bootloader, to configure the GRUB terminal and early boot console resolution, before the KMS video mode configured via dietpi-display applies.
  • DietPi-Software | RustDesk Client: It has been enabled for the ARMv7 architecture after the latest release fixed package compatibility with Debian time64 transitioned packages.

Bug fixes

  • NanoPi K2 | Resolved an issue where setting a static Ethernet MAC address via ethaddr variable in /boot/dietpiEnv.txt did not work, since U-Boot assigned a random MAC earlier, causing the variable to be immutable. However, the U-Boot methods to assign a static MAC via efuse and OTP fallback reads both fail, hence the MAC address remains random, varying across boots, until ethaddr is set in /boot/dietpiEnv.txt. If you want a static MAC address, we suggest to use the one assigned on any boot, to assure it is a valid one. On upgraded systems, U-Boot needs to be flashed, e.g. via dietpi-config Advanced Options, for the change to take effect. Many thanks to @vatprcyq for reporting this issue: #8175
  • DietPi-Config | Resolved an issue where the RTC mode option within Advanced Options was never shown, because the presence of /dev/rtc* was checked incorrectly. Many thanks to @TheRaven500 for reporting this issue: #7721 (comment)
  • DietPi-Software | ownCloud Infinite Scale: Resolved a v10.4 regression where on fresh installs, login via intended password failed, since the command argument was falsely added. Many thanks to @tonosama for reporting this issue, and @JappeHallunken for fixing it: https://dietpi.com/forum/t/25235

v10.4

17 May 22:16
09e7849

Choose a tag to compare

New images

  • 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: #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: #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: #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: #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: #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: #8118

v10.3

18 Apr 23:28
c9b6273

Choose a tag to compare

New images

  • Orange Pi 4 LTS | Support and images for the LTS variant of this Orange Pi SBC with Rockchip RK3399 SoC have been added. Many thanks to @Gibbz for implementing this: #8057

New software

  • Prometheus | This open-source systems monitoring and alerting toolkit has been added to the DietPi software catalogue (ID 218).

Removed software

  • QuiteRSS | This package has been removed from Debian since Trixie, since it depends on an outdated library, and there was no development for over 5 years. We hence remove it as well from dietpi-software. It can be still installed manually on Bookworm systems with apt install quiterss (dietpi-software did nothing else), and similarly it can be removed with apt autopurge quiterss. Alternatively, RSS Guard can be used by installing it via apt install rssguard: https://github.com/martinrotter/rssguard

Enhancements

  • DietPi-AutoStart | An Amiberry-Lite autostart option has been added as ID 3, which enables the amiberry-lite.service to start it early at boot. This works like the Amiberry fast boot option. A "standard boot" option has not been added, since there should be no reason to use it. Many thanks to @thedaemon and @orbitalflower for opening the request: https://dietpi.com/forum/t/25025, #8061
  • DietPi-Drive_Manager | Using the drive manager does not recreate /etc/fstab anymore. Instead it will only change, add, or remove a particular entry, when drives are mounted, unmounted, or options changed respectively. That way it is compatible with custom mount options or types manually added to /etc/fstab, and does not overwrite admin intentions.
  • DietPi-Drive_Manager | A new USB auto-mount feature has been added. When enabled, a udev rule is installed that automatically mounts USB storage devices to /media/<uuid> when plugged in, and unmounts them on removal. Devices with an /etc/fstab entry are handled accordingly: entries with x-systemd.automount are left to systemd's lazy-mount mechanism, and entries with noauto are skipped entirely, respecting the admin's intention of manual-only mounting.
  • DietPi-Display | Support for Odroid C1 and XU4 with /boot/boot.ini has been added.
  • DietPi-Software | Home Assistant: We migrated from pyenv to uv for installing and managing the HA Python environment. That way, Python does not need to be compiled anymore, saving significant time and resources during (re)installs. Also, the existing Python environment is kept and updated as long as the Python version matches, so that a reinstall does not necessarily reinstall all Python modules. As alignment and to simplify the migration, the install directory has been moved from /home/homeassistant to /opt/homeassistant. The DietPi update does not enforce the Home Assistant migration. You can do this at your convenience via dietpi-software reinstall 157. As a consequential downside, support for ARMv6 has been removed, since uv's Python builds do not support this architecture, and it cannot be used to compile Python the way pyenv does.

Bug fixes

  • Allwinner H5/H6 | Resolved a regression with a recent U-Boot build, which caused that only a single CPU core was used on those SoCs. A fixed U-Boot build is flashed during this DietPi update. Many thanks to @eggypesela for reporting this issue, and credits to the Armbian team for the fix: #7974
  • Rockchip RK356x | Resolved an issue where PCIe devices were randomly not detected, like M.2 SSDs or 2.5 Gbit Ethernet adapters on NanoPi R5S/R5C. Many thanks to @InnovoDeveloper, @eggcllnt and others for reporting related issues: #7559, #7517
  • Orange Pi Zero 2W | Resolved an issue where the Ethernet adapter of the extension board stopped working after the upgrade to Linux 6.18, due to a missing driver. Many thanks to @Totof for reporting this issue: https://dietpi.com/forum/t/25125
  • DietPi-AutoStart | Resolved an issue where switching away from the Amiberry fast boot option did not disable the service as intended. Many thanks to @orbitalflower for reporting this issue: #8059
  • DietPi-Config | Resolved a DietPi v10.1 regression where WiFi SSID with spaces were only partially shown and applied. Many thanks to @Persie0 for reporting this issue: #8076
  • DietPi-Dashboard | Resolved an issue where the software install/uninstall pages were empty if non-English locales were used. The underlying reason was a bug in dietpi-software, which assumes English locales for parsing memory sizes. dietpi-software list calls however do not enforce English locales and do not require the memory size info either. Many thanks to @Colossus5000 and @3rink for reporting this issue: #8044, https://dietpi.com/forum/t/25065
  • DietPi-Software | Home Assistant: Resolved an issue where restoring backups failed, since /mnt/dietpi_userdata/homeassistant/deps was a symlink in our case, pointing to the pyenv Python environment, to deduplicate module installs. With uv, however, we use a venv now, which HA uses directly, hence /mnt/dietpi_userdata/homeassistant/deps is not needed anymore. It is hence removed when (re)installing Home Assistant, allowing to restore backups. Many thanks to @Dynamic5912 for reporting this issue: #7733
  • DietPi-Software | Worked around an issue where some services with an EnvironmentFile below /mnt/dietpi_userdata may have failed to start, if it has been moved to an external drive. Many thanks to @jcw for reporting this issue: #8070

v10.2

23 Mar 01:53
8a0400a

Choose a tag to compare

New software

  • Immich | This high performance self-hosted photo and video management solution has been added to our software catalogue. Available on x86_64 and ARMv8 only (ID 215).
  • Immich Machine Learning | The machine learning server for Immich, enabling facial recognition and smart search via CLIP embeddings, has been added as a separate software option. It can be installed on the same system as Immich or on a remote machine. Available on x86_64 and ARMv8 only (ID 216).
  • uv | This extremely fast Python package and project manager, written in Rust, has been added as a standalone software option (ID 217).
  • RustDesk Client | Client software for the RustDesk desktop sharing platform (ID 13). Fits perfect to our software package "RustDesk Server". X11 needs to be installed or will be installed during the RustDesk Client installation process.

Enhancements

  • DietPi-Benchmark | The benchmark script has been moved to /boot/dietpi/dietpi-benchmark and a shell alias has been added, so it can now be called directly from the console as dietpi-benchmark without having to browse through dietpi-config first.
  • DietPi-Servarr_to_RAM | The original script dietpi-arr_to_RAM was renamed to dietpi-servarr_to_ram, got Prowlarr support, and protection against malicious symlinks when creating files and directories.
  • DietPi-Config | The performance options were expanded by a menu to select the CPU temperature sensor used across our scripts. It affects the CPU temperature shown in performance options, in "cpu" command output, the DietPi login banner, and elsewhere within our scripts and menus. Since the sysfs nodes for temperature sensors are not consistent across devices, the hardcoded logic we use does not always pick the right one. Now you can select from a list of detected sensor paths with their returned temperatures, or enter a custom path to read from. A related dietpi.txt setting CONFIG_CPU_TEMP_PATH has been added as well. Many thanks to @N7-BADA for adding this feature: #8012
  • DietPi-Software | A desktop selection menu was added to make it clearer and easier to get started for those who require a graphical desktop environment. A new dietpi.txt setting AUTO_SETUP_DESKTOP allows to pre-select a desktop for first boot. It takes textual values like "lxde" and "xfce", and serves as better accessible alternative to numerical software ID selections like AUTO_SETUP_INSTALL_SOFTWARE_ID=23.
  • DietPi-Software | Home Assistant: The Python version for the pyenv has been raised to latest 3.14, needed since Home Assistant v2026.3. Many thanks to @lukaszsobala for reporting the missing update: #8003
  • DietPi-Software | myMPD/UrBackup: Support for ARMv6 from Trixie on has been enabled. The openSUSE Build Service does now provide a Raspbian 13 suite, and respective myMPD and UrBackup packages, distributed via OBS, are available.
  • DietPi-Software | Amiberry: Packages for the new Amiberry v8.0.0 with embedded SDL3 v3.4.2 are available. Note that this includes a bunch of major changes in both: Amiberry and the SDL backend library, hence expect some bugs and glitches. We patched some known issues our end, and Amiberry v8.0.1 will contain another a large number of fixes and polishing as well. You can always downgrade the package, if needed: apt install amiberry=7.1.1-dietpi1

Bug fixes

  • DietPi-Globals | G_AG_CHECK_INSTALL_PREREQ: Resolved an issue where the package installation was skipped even if the package was removed with only config files left. Many thanks to @Sympatron for reporting this issue: #7772
  • DietPi-Software | Resolved an issue where the check for the newest software version could have failed, since the GitHub API started to return the JSON response as a single line by times. We use now a parsing method that works for single-line and multi-line responses the same way. Many thanks to @luminosity-design for reporting this issue: #8009
  • DietPi-Software | phpBB: Resolved a DietPi v9.17 regression where the download failed since the URL was not forged correctly. Many thanks to @yetanotherlurkeree for reporting this issue: #7971
  • DietPi-Software | K3s: Resolved an issue there the the dietpi-k3s.yaml was not imported from the FAT partition of the image for an automated install on first boot. Many thanks to @grhawk for reporting this issue: #7985
  • DietPi-Software | MPD: Resolved an issue where systemctl restart mpd lead to a lost UNIX domain socket, since an active mpd.socket prevents mpd.service from recreating the socket on its own. The activation socket is now disabled and untied from the service. It has no purpose if the service is anyway started at boot, but causes mentioned issue. Many thanks to @k3ninho for reporting this issue, and enabling compatibility of our ympd package with a setup, that starts the MPD service only on demand (frontend/client access) via activation socket: #7986
  • DietPi-Software | LXQt: Resolved an issue where LXQt was installed without full icon theme (Adwaita is not accepted anymore), and an invisible panel start menu (the package default is now a "fancymenu"). Many thanks to @Redek for reporting this issue: https://dietpi.com/blog/?p=4014#comment-6172
  • DietPi-Software | PaperMC: Resolved an issue where on old build was installed because an old API endpoint was used to detect the latest version and build.
  • DietPi-Software | Node-RED: Resolved an issue where the node-red-node-pi-gpio plugin failed to function with python3-rpi-lgpio, since the library tries to create a notification pipe file in the current directory. The node-red.service will now start in /mnt/dietpi_userdata/node-red, where it is write access. Many thanks to @devifast for reporting this issue: https://discourse.nodered.org/t/100595/25
  • DietPi-Software | Moonlight (GUI): Resolved an issue where streaming switched back to the loading stream if the libgles2 was not installed. Many thanks to @daredevil2033 for reporting this issue: #7885
  • DietPi-Software | Home Assistant: Resolved an issue where the install could have failed on ARMv6 and RISC-V systems due to insufficient memory or /tmp tmpfs size, caused almost entirely by the grpcio wheel build. Parallel build jobs are now reduced and pip's temporary directory moved to disk if needed. Reduced swap space utilization usually speeds up the overall build, despite fewer parallel build processes and build dirs on disk. Many thanks to @frentemorao for reporting this issue: #7449

v10.1

22 Feb 00:14
7fbf072

Choose a tag to compare

New images

  • NanoPi Zero2 | Support for this headless FriendlyELEC SBC with Rockchip RK3528 SoC has been added to DietPi.

New software

  • WhoDB | This database management tool with AI-powered chat interface has been added to our software catalogue. Many thanks to @Joulinar for implementing this software option: #7818

Enhancements

  • NanoPi R5C | Resolved an issue where the Ethernet network interface names could have swapped on reboots. They are now assigned with eth0 as LAN port and eth1 as WAN port. Many thanks to @firebox for reporting this issue: https://dietpi.com/forum/t/24845/24
  • DietPi-Tools | DietPi-Banner: New option to output the Linux kernel version
  • DietPi-Software | Navidrome: Support for RISC-V has been unlocked, as official builds have been added with the v0.60.0 release on GitHub.
  • DietPi-Software | Python 3: All Python software options make now use of venvs, instead of being installed to the system site /usr/local/lib/python3.*/dist-packages. Recent pip has increasing issues managing modules there on distros which have own Python module packages. Modern setups almost require isolated environments like venv. Synapse, motionEye, and OctoPrint are reinstalled on DietPi update to perform the migration directly, preserving user data and plugins. The break-system-packages flag in /etc/pip.conf is consequently removed. If you need to manage packages via pip at the system site, add the --break-system-packages CLI flag to each call.
  • DietPi-Software | MinIO: The console client mc is now installed along with the server, to make up with the lost administration functionalities of the community server web UI. A shell alias is generated to invoke it as minio-user user, using a pre-generated config file /mnt/dietpi_userdata/minio-data/.mc/config.json. It adds the local MinIO server instance as local alias. Additionally, the default credentials have been changed to username (access key) "dietpi" and the default software password as secret key. Since MinIO requires the password to be at least 8 characters long, the default software password is concatenated until 8 characters are reached. E.g. if "test" was used, it will be "testtest" for MinIO. However, don't try it and use a secure default software password of 12 characters or more on production systems 😉. Change it afterwards for the MinIO server in /etc/default/minio, and for the console client mc accordingly in /mnt/dietpi_userdata/minio-data/.mc/config.json.
  • DietPi-Software | TigerVNC/RealVNC/XRDP: Those remote desktop servers do not actually require a desktop anymore, but just the X server. This allows lighter setups when using them to show an individual GUI application like Chromium only, instead of a full desktop. Many thanks to @fow0ryl for doing this suggestion: #7947

Bug fixes

  • ZeroPi | Resolved an issue where images failed to boot because of a faulty bootloader update. Many thanks to @TimoAbt and @dan-hughes for reporting this issue: #7715
  • DietPi-Software | BirdNET-Go: Resolved an issue where the install failed since the initial call tries to create the logs directory in the working directory as unprivileged user, rather than in its home directory. Many thanks to @shagr4th for implementing a fix: #7929
  • DietPi-Software | Chromium: Resolved a v10.0 regression where the kiosk mode dietpi-autostart option failed, since the script tried to call it with xinit/startx chromium, while it requires the full path xinit/startx /usr/bin/chromium. Many thanks to @PTXRM1980 and @binarypickle for reporting this issue: #7923
  • DietPi-Software | ADS-B Feeder: Resolved an issue where the setup could have failed on RISC-V and 32-bit ARM system due to missing dependencies for the Python cryptography module.
  • DietPi-Software | Gogs: Resolved an issue where ARMv8 systems were not able to detect the latest version due to a changed asset name suffix in the GitHub releases for this architecture. Many thanks to @deeejas for reporting this issue: #7945
  • DietPi-Software | Plex Media Server: Resolved an issue where APT was throwing errors and package installs/upgrades failed because of a faulty key rotation done at the Plex APT repository. The old repository has been since shut down and a new one set up, which we use now. The migration is done automatically on DietPi update. Many thanks to @Krouwndouwn for reporting this issue: #7925
  • DietPi-Software | microblog.pub: Resolved an issue where the install failed since pyenv Python 3.11 or older builds require the patch package now. Many thanks to @gilou for reporting this issue: https://dietpi.com/forum/t/24975/2
  • DietPi-Software | Pi-hole: Resolved an issue where Pi-hole's setup dialogs did print cryptic characters on input when selected for install during first run setup. dialog requires either STDOUT or STDOUT directly attached to a terminal, while dietpi-login calls dietpi-software with both streams piped into tee for login, on first login. Its STDOUT and STDERR are now redirected back to the parent shell file descriptors (terminal) via dialog wrapper function. Many thanks to @sheddyian for reporting this issue: https://dietpi.com/forum/t/24889

v10.0

25 Jan 22:40
41de708

Choose a tag to compare

Breaking

  • The minimum Debian version supported by our scripts has been raised to Debian 12 Bookworm. Debian 11 Bullseye systems will be migrated to a dedicated branch automatically. We highly recommend to upgrade affected systems to Debian 12 Bookworm, following our guide: https://dietpi.com/blog/?p=3128. Once the upgrade has been done, the update to DietPi v10 will be offered on next update check or when running dietpi-update.
  • The minimum DietPi version to support direct updates to DietPi v10 from has been raised to v8.0. Older systems will go through a two-stage process, being upgraded to DietPi v9.20 on a separate branch, and afterwards further to DietPi v10 via master branch, if the Debian version requirement is met as well.

New software

  • ownCloud Infinite Scale | This successor of the classic ownCloud file sync and share platform has been added to our software catalogue.
  • Uptime Kuma | This self-hosted monitoring tool has been added to our software catalogue. Many thanks to @JappeHallunken for implementing this software option: #7888

Removed SBC support

  • The removed of support for Debian 11 Bullseye implies the removal of support for the Sparky SBC, NanoPi M2/T2/Fire2, and NanoPi M3/T3/Fire3 families. Images for those SBCs ship with very old vendor Linux versions, which cannot run Debian 13 Trixie. They already had issues which Debian 12 Bookworm, which is the reason we provided only Bullseye images for those. If anyone finds functional mainline-based Linux and U-Boot sources, or is able to rebase the needed drivers and device trees, we are happy to re-implement support.

Removed software

  • The removal of support for Debian 11 Bullseye implies the removal of the RPi Cam Web Interface software option. It depends on the legacy MMAL camera interface, while the related userspace libraries have been removed from the Bookworm packages of the Raspberry Pi repository. Maintenance for this project stalled since several years, and there is no active fork. We are focusing on motionEye and mjpg-streamer as generic camera and motion detection web interfaces, which both support libcamera indirectly via libcamerify, and have native support in view. To uninstall RPi Cam Web Interface remains on DietPi v10.x, follow these steps: #7912
  • The removal of support for Debian 11 Bullseye implies the removal of the classic ownCloud software option. It does not support PHP 8.x, and development stalled. Instead we integrated support for the actively developed ownCloud Infinite Scale (see above), and a migration to Nextcloud is alternatively possible: #7886
  • The removal of support for Debian 11 Bullseye implies the removal of the classic Pydio 8 software option. It does not support PHP 8.x, with Pydio Cells as its successor. We will add Pydio Cells with DietPi v10.1. A migration of data is possible, but has limitations and requires some preparation: https://docs.pydio.com/cells-v4/admin-guide/advanced/migrate-pydio-8-to-cells/. Please let us know if you require a possibility to migrate your Pydio 8 to Pydio Cells after reading the related docs. Depending on interest, we can backport Pydio Cells to a DietPi v9.20.x release on the dedicated compat branch, so that it can be installed alongside Pydio 8 to allow a direct migration. To uninstall Pydio 8 remains on DietPi v10.x, follow these steps: #7912

Enhancement

  • Raspberry Pi | DietPi can now be selected within the Raspberry Pi Imager below "Other general-purpose OS" for all Raspberry Pi models.
  • Quartz64 | The new Linux Rocket NPU driver has been enabled for this SBC family.
  • DietPi-LetsEncrypt | For Nginx from Debian Trixie on, the HTTP/2 syntax has been updated and HTTP/3 with QUIC is enabled. The change can be applied retrospectively by re-running dietpi-letsencrypt. Many thanks to @JappeHallunken for implementing this enhancement: #7860

Bug fixes

  • Radxa ZERO 3 | Resolved an issue where onboard WiFi on the 3W did not work with the new kernel. Many thanks to @lsx285 and others for reporting this issue and testing fixed kernel builds: #7867. The kernel has been updated on our AP repository, hence the issue won't appear anymore when updating DietPi or the package.
  • Orange Pi 3/3 LTS | Resolved an issue where WiFi and Bluetooth did not work without manually loading the related UNISOC/Spreadtrum kernel modules sprdwl_ng and sprdbt_tty respectively. This is now done when toggling WiFi and Bluetooth via dietpi-config or dietpi.txt. Many thanks to @iMagz for reporting this issue: #7878
  • Orange Pi 3/3 LTS/3B | Resolved an issue where loading the UNISOC/Spreadtrum WiFi driver at boot could cause a crash when the CPUFreq driver cpufreq_dt was loaded afterwards. The config /etc/modules-load.d/dietpi-enable_wifi.conf has been updated to load cpufreq_dt first explicitly. On Orange Pi 3B v2.1, the driver is not needed as the board uses a different chip, hence the config is removed. Many thanks to @techplayz32, @Girb826, and @iMagz for reporting this issue: #7728, #7878
  • RK3328 | Resolved an issue where Ethernet on NanoPi R2S and the USB3 port on NanoPi NEO3 and ROCK64 did not work, due to an experimental Innosilicon Rockchip USB3 PHY driver patched into the kernel, promising better transfer speeds. It might have worked before, but seems to be broken since Linux 6.18. Many thanks to @GodChryz and @josemahj for reporting this issue: https://dietpi.com/forum/t/24864/3, #7908
  • DietPi-Software | Home Assistant: Resolved an issue where the installation could have failed on RISC-V and ARMv6/7 Bookworm systems due to missing dependencies.
  • DietPi-Software | Home Assistant: Worked around an issue where the installation and service start failed due to a missing upper dependency declaration. The issue has been solved at Home Assistant for their upcoming release, which will make our workaround obsolete.
  • DietPi-Software | BirdNET-Go: The latest (pre-)release will now be detected and installed instead of a hardcoded version, which solves an upstream bug where reviewing bird detections did not work. Many thanks to @Sonnenfleck and @oturn for reporting the issue and testing newer versions, as well as @JappeHallunken for implementing the dynamic release download: #7861, #7889
  • DietPi-Software | Mopidy: Resolved an issue where fetching remote streams failed due to an incompatibility between Mopidy and GStreamer on Debian Trixie. Many thanks to @miloit for reporting this issue: #7866

v9.20

14 Dec 20:05
c2311a2

Choose a tag to compare

New software

  • RustDesk Server | The signalling and relay server component for the RustDesk remote desktop system has been added to our software catalogue. Many thanks to @JappeHallunken for implementing this software option: #7842

Enhancement

  • Orange Pi 5/Max/Ultra | Our images ship now with all USB-A ports and, depending on model, one USB-C port enabled in host mode, making them functional for USB devices. This is done with a device tree overlay "dwc3-host". Removing it from /boot/dietpiEnv.txt reverts the affected port(s), which share one controller, to their default OTG mode, in which case attached USB devices are not detected or even powered. For existing instances, add dwc3-host to the overlays= line in /boot/dietpiEnv.txt to apply this change. Many thanks to @DiegoBM and @pavel-kamaev for reporting this issue: #7738
  • Radxa ZERO 3 | New images will ship with Linux 6.12 mainline LTS kernel now, and the DietPi update migrates systems with legacy and vendor kernel to mainline LTS as well.
  • DietPi-Backup | A workaround for ACLs applied at an NFSv4 mount target has been applied. If ACLs are applied e.g. recursively at the NFS server, they are translated and exposed as special NFSv4 ACLs at the client, which is incompatible with POSIX ACLs. The cp -a/--archive used to special handle /etc/debian_version tries and hence fails to preserve them. rsync -a/--archive does not imply ACLs, hence does not suffer from the issue. It may be able to handle them better using its -A/--acls flag. However, ACLs applied at the NFS server of course must not be applied at the restored OS anyway, hence we just skip the cp -a flag now. The default root:root 0644 mode is anyway what /etc/debian_version is intended to be, and an updated mtime does not hurt. Preserving ACLs and xattr for system backups would be actually a good feature, but at least doing this for backups to NFS mounts hence is risky. For this, we'd first need to implement an option to create and transfer a tarball of the backup at the client, and compression as logical addition with it. tar has an --acls option as well. Many thanks to @miloit for reporting the related error: #7825
  • DietPi-Drive_Manager | Some output, dialogue and menu texts have been revised. Notably, the main menu now shows the device nodes on the left side as primary selector, and the mount target, only for mounted drives, on the right side. The partition or drive capacity is now additionally shown for unmounted or unformatted drives as well.
  • DietPi-Software | Portainer: On (re)installs, existing Portainer BE (Business Edition) instances are now detected and updated correctly. When entering a license key in Portainer CE (Community Edition), it upgrades itself to BE. dietpi-software however detected and updated CE instances only, causing a failure if it was upgraded to BE. Many thanks to @salieri for reporting this issue: https://dietpi.com/forum/t/24696
  • DietPi-Software | Aria2: File logging to /var/log/aria2.log is disabled. It is redundant, since Aria2 logs to console hence journalctl -u aria2 in any case, even with a higher default log level. Of course it can be re-enabled manually if you need logs in a plain text file.
  • DietPi-Software | Allo GUI: A new major version has been released with raised minimum PHP 7.4, updated dependencies with solved security vulnerabilities, and a major cleanup: https://github.com/MichaIng/DietPi-AlloGUI/releases/tag/v14.5, https://github.com/MichaIng/DietPi-AlloGUI/releases/tag/v15.0. The DietPi update will upgrade the Allo GUI automatically.

Bug fixes

  • Orange Pi 5 | Resolved an issue where USB and M.2 SSD boots took very long or failed, and reboots failed, at least in some cases. Credits go to @efectn from Armbian for switching from vendor U-Boot to mainline U-Boot, which solved all issues. Many thanks to @Renoria for reporting this issue: https://dietpi.com/forum/t/24613
  • DietPi-Drive_Manager | Resolved a serious bug where a false partition or drive could have been formatted if a currently mounted drive was selected to be formatted. Many thanks to @Arimodu for reporting this issue: #7852
  • DietPi-Drive_Manager | Resolved an issue where a doubled unmount attempt could have failed on full drive formats, if a currently mounted partition was selected.
  • DietPi-Software | BirdNET-Go: Resolved an issue where local sound cards were not detected due to too strict permissions. Many thanks to @miloit for reporting this issue: #7828
  • DietPi-Software | ProFTPD: Resolved an issue where the service might have failed to start if the activation socket was enabled. Since we install a config with ProFTPD in standalone mode, the activation socket must be disabled, else both try to bind to the same port 21. Many thanks to @mdr92 for reporting this issue: #7750
  • DietPi-Software | LazyLibrarian: Resolved an issue where using the web UI "Restart" button stopped the service to never come back up. Many thanks to @JappeHallunken for reporting this issue: https://dietpi.com/forum/t/24699/9
  • DietPi-Software | Fail2Ban: From Debian Trixie on, /etc/fail2ban/jail.d/defaults-debian.conf overrides the default ban action with nftables. This makes sense if otherwise the upstream default iptables was used, but it must not override any explicit admin choice or the dietpi-software default route action. More importantly, nftables requires the userland tools to be installed, otherwise bans cannot be applied. Installs via dietpi-software will now remove the config, all its other content is redundant, one change even a regression. Next DietPi update and our Trixie upgrade script will either remove the config, if it overrides an explicit choice, or will otherwise assure that nftables userland tools are installed, if it reasonably replaces the legacy iptables ban action.
  • DietPi-Software | Radarr: Resolved an issue on Bullseye systems where the service fails due to an incompatible embedded SQLite library, same as with Lidarr and Prowlarr earlier: https://wiki.servarr.com/radarr/faq#radarr-wont-start-on-debian-11-or-older-systems-due-to-sqlite-version. Many thanks to @tundrablasen for reporting this issue: #7837
  • DietPi-Software | Portainer: Resolved an issue where with Docker 29.1.0 the CLI changed a way that our container image detection failed, so that dietpi-software reinstall 185 did not update Portainer anymore. Coincidentally, the Portainer BE support we previously added solves this issue as well. Many thanks to @Pi-Rate for reporting this issue: https://dietpi.com/forum/t/24688/12

v9.19

15 Nov 23:16
73ebc90

Choose a tag to compare

New software

  • BirdNET-Go | This continuous avian monitoring and identification system has been added to our software catalogue. Many thanks to @mtekman for implementing this software option: #7770

Enhancement

  • DietPi-Banner | An option to wrap the banner output for smaller terminals/screens has been added. Run dietpi-banner from console to configure its output, and find the new option at the bottom of the list. Many thanks to @mtekman for implementing this feature: #7779
  • DietPi-Software | UrBackup: Packages are now installed via official APT repository: https://download.opensuse.org/repositories/home:/uroni/. Aside of the benefit of updates via apt upgrade, this allowed us to unlock support for Debian Trixie and above. Also support for ARMv6 has been added, but only until Debian Bookworm for now. A Raspbian Trixie suite does not exist yet
  • DietPi-Software | NAA Daemon: Support for Debian Trixie and above on ARMv6/7 systems has been unlocked.
  • DietPi-Software | Moonlight (GUI): Support for Debian Trixie and above on ARMv7 systems has been unlocked.
  • DietPi-Software | Medusa: Support for Debian Trixie has been unlocked thanks to Python 3.13 support with v1.0.25: https://github.com/pymedusa/Medusa/releases/tag/v1.0.25
  • DietPi-Software | Mosquitto: The official https://repo.mosquitto.org/debian/ APT repository is now used as well on Debian Trixie.

Bug fixes

  • Raspberry Pi | We updated our raspberrypi-sys-mods package to be compatible with the new kernel stack and Raspberry Pi 5. This solves several issues like missing serial console access on first boot, missing device nodes or permissions to access them with gpio/i2c/spi/video system groups.
  • Allwinner H3/H5 SBCs | Resolved an issue where using an RTC with Allwinner H3 and H5 SoC SBCs was difficult, since the the SoC-embedded one was enabled and assigned /dev/rtc0 node. However, only the NanoPi R1 has an actual RTC battery socket, in all other cases that embedded RTC is unusable. An external RTC, e.g. attached via I2C, was assigned to /dev/rtc1. The kernel however reads and assigns to system clock only /dev/rtc0, and worse, that factory timestamp is synced back to /dev/rtc1 (if present) at a very early boot stage, making even manual hwclock --hctosys --rtc /dev/rtc1 calls from userland a race condition. The SoC-embedded RTC is now disabled for all Allwinner H3/H5 boards but the NanoPi R1. If you were fiddling with this, for I2C RTCs, the device usually still needs to be created manually, or via device tree overlay. We can add such our kernel builds, just let us know which I2C RTC you use. Many thanks to @kevinds for reporting this issue: https://dietpi.com/forum/t/5116/12
  • DietPi-Update | Resolved an issue on Debian Trixie systems with ZeroTier installed, where the update from DietPi v9.17 to v9.18 updated the ZeroTier APT repo falsely, leading to an apt update error. Many thanks to @randell1993 for reporting this issue: https://dietpi.com/forum/t/24580
  • DietPi-Software | Jellyfin: Resolved an issue where the service start failed due to new strict space requirements for logging (512 MiB) and temporary directories (2 GiB). To support low RAM devices, we use /mnt/dietpi_userdata/jellyfin/log for log files, and a subdirectory in /mnt/dietpi_userdata/jellyfin/cache for temporary files, restoring behaviour from Jellyfin before v10.10. This can be adjusted in /etc/default/jellyfin.
  • DietPi-Software | Node.js: Resolved an issue where usage could have failed, including Node-RED, Blynk Server, and MineOS installation, since it requires libatomic now for all architectures. Many thanks to @devifast for reporting this issue: https://dietpi.com/forum/t/24574
  • DietPi-Software | Lidarr/Prowlarr: Resolved an issue on Bullseye systems where the service fails due to an incompatible embedded SQLite library: https://wiki.servarr.com/lidarr/faq#lidarr-wont-start-on-debian-11-or-older-systems-due-to-sqlite-version, https://wiki.servarr.com/prowlarr/faq#prowlarr-wont-start-on-debian-11-or-older-systems-due-to-sqlite-version
  • DietPi-Software | SABnzbd: Resolved an issue where the installation could have finished with an incomplete config file. Many thanks to @DealsBeam for resolving this issue: #7797
  • DietPi-Software | Bazarr: Resolved an issue where configuring Sonarr and Radarr usage automatically if installed did not work, because Bazarr switched from bazarr.ini to bazarr.yaml as its config file. Many thanks to @Joulinar for reporting this issue: #7185
  • DietPi-Software | Medusa: Resolved an issue where the service failed to start because it tries to lift sandboxing for a directory that does not exist. We create our own systemd service from now on, instead of using and altering the template, which implies tailored sandboxing, better startup ordering, and a meaningful system log identifier.

v9.18

19 Oct 23:12
4b14e2c

Choose a tag to compare

New images

  • NanoPi R3S (LTS) | Support and images for the LTS and non-LTS variant of this FriendlyELEC SBC with Rockchip RK3566 and two Gbit Ethernet ports has been added. The LTS variant comes with an HDMI port, the non-LTS variant without. Kernel device tree and userland setup for the non-LTS variant is tailored for headless usage, hence be sure to use the correct image.
  • NanoPi R76S/M5 | Support and images for these two FriendlyELEC SBCs with the new Rockchip RK3576 SoC has been added.

New software

  • LazyLibrarian | This ebook and audiobook collection manager has been added to our software catalogue. It can server as a replacement for Readarr, which is not developed anymore. Many thanks to @JappeHallunken for implementing this software option: #7747

Enhancements

  • DietPi-Dashboard | A reworked version of the dashboard has been implemented, with better default security, fixed and more flexible frontend/backend node handling and maintainability. The look&feel and features are mostly the same, but under the hood a lot has changed. For now, on reinstall, the old dashboard is disabled but not removed, so one can switch by disabling the new services and enabling the old one. TLS is now enabled by default with auto-generated self-signed certificates. Frontend and backend are two dedicated services. Backends connect at port 5253 by default, while the web UI is accessible at port 5252 by default, like before. While security is generally better, the rework has not been battle-tested thoroughly, hence the general recommendations for such kind of admin interfaces apply especially in this case: Do not open any of the two ports to the Internet directly, use a firewall if there is no router/NAT in between, and use a VPN if remote access is required for some reason. Many thanks to @ravenclaw900 for the huge efforts of this major rework: nonnorm/DietPi-Dashboard#1100
  • DietPi-Drive_Manager/DietPi-FS_partition_resize | Support for Xen virtual block devices has been added, which follow the scheme /dev/xvd[a-z][1-9]. Many thanks to @jr551 for implementing this compatibility enhancement: #7755
  • DietPi-Config | The SPI bootloader update option and method has been made more generic, to be shown whenever the installed U-Boot package provides a related function and any SPI storage device node exists. The function call has been adjusted to not fail if the function supports both: flashing via mtd-utils/flashcp to /dev/mtd0 as well as flashing via dd to the block device node /dev/mtdblock0. In some cases, the wrong device node was passed to the function. Many thanks to @mlanner for reporting this issue: #7761

Bug fixes

  • DietPi-FS_partition_resize | Resolved an issue where the first reboot could have resulted in a hanging system, requiring a power cycle. On systems with ext4 root filesystem but without filesystem journal, it is generated on first boot. If an initramfs is used and performs an fsck, it imports the journal from /.journal to a hidden inode 8. For some reason, it then fails to mount that filesystem, requiring another reboot where fsck regenerates the journal, after which everything works fine. To avoid this, right after our script generates the journal, it triggers a reboot with forced fsck. fsck then does not only import the journal from /.journal to a hidden inode 8, but repairs whichever quirk this causes immediately, so that mounting the roofs succeeds right away.
  • DietPi-AutoStart | Fixed a typo which prevents KMS/DRM from being enabled on Raspberry Pi Trixie systems if a LightDM-based autostart option is selected: LightDM login mask or automatic desktop login as non-root user. Many thanks to @TheRaven500 for reporting this issue: #7644 (comment)
  • DietPi-LetsEncrypt | The OCSP toggle has been removed, since Let's Encrypt shut down their OCSP servers this summer. You may need to remove respective settings from your Apache (SSLUseStapling, SSLStaplingCache, and other directives starting with SSLStapling*) or Ginning config respectively. For details about why OCSP has been deprecated, see this article: https://letsencrypt.org/2024/12/05/ending-ocsp
  • DietPi-Software | GMediaRender: Resolved an issue on Debian Trixie and Forky images where the package from Debian was installed instead of our own, since there was an upstream release we missed, which changed the version string only. Many thanks to @eevan78 for reporting this issue: #7767

v9.17

20 Sep 22:17
80aec89

Choose a tag to compare

Enhancements

  • Images | Our images are now shipped without ext3/ext4 journal, and instead the dietpi-fs_partition_resize script creates it after the root filesystem has been expanded. This allows smaller images, but more importantly a properly located and sized journal, depending on the final root filesystem size and layout, potentially enhancing performance. Since the journal can often only be added if the filesystem expansion was successful, and is a critical element for data crash resilience on ext3/ext4, it is now checked on first login whether it exists, else a prompt is shown, to make aware and fix the underlying issue, before seriously using DietPi. Please report if you see this prompt. The script overall seems to run more stable due to other structural changes, but as always, there might be points of failure we could not identify via tests yet.
  • Raspberry Pi | Support for HiFiBerry sound cards in dietpi-config has been updated, to include recent models, and take into account the newly split overlays for DAC+/AMP2/AMP4 and DAC+ Pro/DAC2. If you run an older system with Linux 6.1 and migrate to the new Linux 6.12 kernel stack (with our dedicated script or dietpi-config Advanced Options), using one of these HiFiBerry sound cards, a prompt allows you to re-select the matching sound card to keep it functional. Many thanks to @Daoro for making us aware of this change: #7644 (comment)
  • DietPi-Backup | If multiple backups are created (and kept), the rsync --link-dest option is now used to create files which did not change between last and current backup iteration as hard links to the last iteration. This usually leads to massively reduced effective disk usage and backup speedups, since unchanged files do not need to be copied, while every backup iteration however remains fully self-contained. Many thanks to @nicojx for making us aware of rsnapshot, which uses the same technique: #7711
  • DietPi-Software | Navidrome: Our default config now follows the upstream default, fetching album art not only from images embedded in media files, but also from common dedicated directory names and online from Last.fm as last resort. The change, however, is not applied retrospectively. If needed, remove the CoverArtPriority line from /mnt/dietpi_userdata/navidrome/navidrome.toml, or adjust it to your needs: https://www.navidrome.org/docs/usage/artwork/#albums. Many thanks to @ImNoExpertButOK for suggesting this enhancement: #7719
  • DietPi-Software | Roon Server: A new dialogue and related dietpi.txt setting SOFTWARE_ROONSERVER_EARLYACCESS allows to select and switch between stable and early access builds. Information about the Roon Early Access Program can be found here: https://help.roonlabs.com/portal/en/kb/articles/roon-early-access-program. Many thanks to @Wade_Oram for raising this topic: https://community.roonlabs.com/t/272420
  • DietPi-Software | NZBGet: Our default config does not apply the insecure and (hopefully) widely unsupported RC4-MD5 TLS cipher for news server connections anymore, and removes the setting as well on DietPi update, if it was not changed already. This enhances the security of news data transfers and solves connections throwing Could not select cipher for TLS: error:0A0000B9:SSL routines::no cipher match errors. Many thanks to @maartenlangeveld for reporting this issue: #7726

Bug fixes

  • General | Resolved an issue where in case of a /boot bind mount or Btrfs subvolume, the block device path of the mount source was falsely detected, containing a [/path] suffix. The findmnt -v/--nofsroot option is now consequently used when querying the mount SOURCE. Many thanks to @AnonymousMonkeyNo12 for reporting a related issue when our Quartz64 kernel package attempts to flash the bootloader: #7698
  • Raspberry Pi | Resolved an issue on Debian Trixie where the LightDM did not work without enabling KMS/DRM, and hence the related dietpi-autostart option, as well as desktop autologin as non-root user. It is strictly required for recent LightDM and is hence now done automatically. Many thanks to @TheRaven500 for reporting this issue: #7644 (comment)
  • Rockchip SoCs | Resolved an issue where flashing the SPI bootloader could fail, since dialog was called if multiple U-Boot images were available, e.g. to select between M.2 NVMe and SATA support. These calls are now replaced with whiptail, which is pre-installed on DietPi.
  • Rockchip SoCs | Resolved an issue where flashing the SPI bootloader could fail on Bullseye systems, since flashcp was called with the -p flag in some cases, supported only from Bookworm on. Many thanks to @Arkem for reporting this issue: https://dietpi.com/forum/t/23426/46
  • DietPi-Config | Resolved a v9.13 regression where setting CPU frequency limits was not possible. This has been solved for DietPi v9.16 as well via live patch. Many thanks to @gitlankford for reporting this issue: #7696
  • DietPi-Software | Resolved a v9.16 regression where installations failed if respective services were previously masked. Many thanks to @wiedehopf for reporting this issue: #7712
  • DietPi-Software | Portainer: Resolved a v9.16 regression where the installation could not manage the local Docker environment since the Docker socket was mounted to a wrong path. This has been solved for DietPi v9.16 as well via live patch. Many thanks to @pappv-dd for reporting this issue: #7691
  • DietPi-Software | Home Assistant: Resolved an issue where the first start setup failed because of a missing new dependency. Many thanks to @mike1 and @Dynamic5912 for reporting this issue: https://dietpi.com/forum/t/24135, #7731
  • DietPi-Software | Icecast: Resolved an issue where using & or < as default software password resulted in a failing service start, since those characters have a special meaning in XML. They are now automatically HTML-encoded, which is treated correctly by the web UI for authentication. Many thanks to @gilou for reporting this issue: https://dietpi.com/forum/t/24175