Skip to content

Beta v10.7.0 - #8262

Merged
MichaIng merged 49 commits into
betafrom
dev
Aug 23, 2026
Merged

Beta v10.7.0#8262
MichaIng merged 49 commits into
betafrom
dev

Conversation

@MichaIng

@MichaIng MichaIng commented Aug 23, 2026

Copy link
Copy Markdown
Owner

Beta v10.7.0

(2026-08-23)

New tools

  • dietpi-network | The DietPi network configuration has gone through a rework. A new tool dietpi-network allows to configure multiple Ethernet(-like) and WiFi interfaces. This allows to e.g. configure one interface with gateway for Internet access, and another one with static IP and without gateway for LAN access. This works independently of the interface name, i.e. it does not need to be eth[0-9] or wlan[0-9], but the type is detected in other ways, which adds support for systemd's "predictable interface names", as well as virtual interfaces as provided in container guests. A CLI has been added to add, remove, or adjust individual interfaces. Configurations are stored in per-interface /etc/network/interfaces.d/<name>.conf drop-in config files, and also automatically migrated from the previously used /etc/network/interfaces when applying changes. These changes are a basis to allow configuring more complex network setups, like bridges, NAT, and e.g. more flexible WiFi-to-WiFi hotspots.

Enhancements

  • DietPi-Banner | The Fail2Ban status now also counts bans for whole subnets in CIDR notation, which can be applied manually via fail2ban-client. The banner message now accordingly refers to "ban(s)" instead of "banned IP(s)".
  • DietPi-Software | Chromium: The low-end device mode flag and some other legacy flags, aiming to maximise Chromium performance at the cost of visual quality, have been removed from our config /etc/chromium.d/dietpi. These had some value at Raspberry Pi 1 times, but since some years, Chromium cannot be executed on ARMv6 SBCs anyway. For Chromium to be started as root, e.g. in some kind of minimal kiosk setup, the --no-sandbox flag is needed, and the --test-type flag hides a warning that skipping the sandbox is not recommended for security reasons. This is now applied only conditionally, if Chromium is really started as root user, otherwise sandboxing is used. Note that we generally do not recommend to start desktop sessions and GUI applications as root on a regular basis, and some, like Chromium and Mate, will throw respective warnings. Hence this is mainly aimed for direct Chromium starts from Linux console, where additional permissions are needed in any case, with trusted websites, like a fixed page in kiosk mode. Many thanks to @rmscode for making this a topic: https://dietpi.com/forum/t/25394

Bug fixes

  • Raspberry Pi | Resolved an issue where dtparam entries in config.txt were ineffective, if DRM/KMS was enabled. Any dtparam entry sorted after any dtoverlay entry, is gets applied to the overlay, rather than the base device tree, that way becoming ineffective, or change/break the overlay. This particularly started to cause issues since DietPi v10.5, when we added dtoverlay=vc4-kms-v3d as commented line into the display section of our default config.txt, above all dtparam lines. As fast as KMS/DRM is enabled, which uncomments the line, all dtparam entries become ineffective. Onboard HDMI audio on the first port couldn't be enabled along with KMS/DRM, since dtparam=audio=off (intended to disable the Broadcom analogue 3.5mm driver) got applied to dtoverlay=vc4-kms-v3d to become dtoverlay=vc4-kms-v3d,audio=off, which disables HDMI audio on the first HDMI port. Many thanks to @camrossi and @Infiltraitor for reporting this issue: RPI5 - 'dmas' DT property is missing or empty, no HDMI audio #8202, https://dietpi.com/forum/t/25411
  • Orange Pi 5/5B | Resolved a v10.5 regression where the USB 2.0 and Type-C ports were not functional, since we moved to mainline Linux where the respective device tree overlay changed its name. Without the overlay, they are running in OTG mode.
  • DietPi-Banner | Resolved an issue where the number of failed systemd services could not be obtained when logging in as non-root user, if D-Bus was not installed. Many thanks to @CA_Lobo for reporting this issue: https://dietpi.com/forum/t/25413
  • DietPi-Software | Ampache: Resolved an issue where detecting the latest version failed, since Ampache 8 requires PHP 8.5+. The latest version is now searched among all releases, so that latest Ampache 7 is downloaded on all supported Debian versions at time of writing.

MichaIng and others added 30 commits August 9, 2026 00:18
`--fstab` shows only mounts defined in `/etc/fstab`, which however should be fine. The benefit is that it shows also drives which are not currently mounted, or not mounted yet as of `x-systemd.automount`.

This also removes the unnecessary `-D` option from the other call.

An issue which still needs to be addressed, is to trigger `x-systemd.automount`s before obtaining usage stats. Otherwise no-yet mounted drives from patterns are missing, and explicit selections will show `???` placeholder values. A cheap/efficient but effective method to `test -e` or similar matching mountpoints, before the `findmnt` call, needs to be found.
It is compiled against qpdf from Raspbian, which seems to be ABI-incompatible with the one from Debian. The only RPi repo patch is preventing the `cups-browsed` service from the same-named package from being enabled and started on package install. Something which is not relevant for DietPi.
425 MiB only for WiFi firmware now, 70% of the overall disk usage, vs 303 MiB on Trixie ... I think we should switch to armbian-firmware, where our (reduced) builds are only 145 MiB, a much more selective set of firmware needed for onboard chips, M.2 modules, and USB dongles used on SBCs.
ChallengeResponseAuthentication appears as well in several comment lines. Just replace any occurance with KbdInteractiveAuthentication, to avoid confusion. Duplicates wouldn't cause issues either.

Other thing: Recognise the Raspberry Pi Compute Modul Zero. It uses the BCM2710 SoC, and has optional onboard WiFi. Need to check for other compute modules, whether we should set G_HW_ONBOARD_WIFI=1 there as well, so that onboard WiFi can be properly toggled, if present. Need to check as well whether it causes any issue, if onboard WiFi absent.
Apply also retrospectively, since "--no-sandbox" has security impacts, should hence not be used if it is not really the root user explicitly starting Chromium.
Also, the VirtualBox OVF did use %M where %m was intended, causing unintended and potentially invalid last state change timestamps (with however no real practical issues).
…tion (#8248)

and adjust ban messages accordingly ("IPs" => "bans")
* Correctly catch sudo error in Fail2Ban status, via PIPESTATUS[0], otherwise the exit code of "mawk" is checked.
* Use sudo as well for systemd status as non-root, if dbus is not active, needed for non-root users to call systemctl.
According to an RPi engineer, this is not needed on RPi 5 anymore for proper 4k support.

dietpi-globals: fix comment typo and print error to STDERR
Our dietpi-build.service controlling terminal is sometimes stolen by console-getty.service, which is Type=idle as well, causing an immediate shutdown. If ordering works between Type=idle services, and console-getty (which is Before=getty.target > multi-user.target > graphical.target) claims /dev/console before follow-up targets are reached, this should reliably solve the issue.

Otherwise a mask, as used before the general /dev/console issue on QEMU-emulated Forky systems was solved, solves it reliably. But late ordering of our service makes sense anyway to avoid mixing outputs etc, and we want to keep interference minimal.
It seems the more natural order, with the more important notifications right above the command prompt.
Otherwise systemd somehow seems an ordering cycle between dietpi-build.service, graphical.target, and multi-user.target. It seems, since the service is pulled in by multi-user.target (`/etc/systemd/system/multi-user.target.wants/dietpi-build.service`), this implies Before=multi-user.target, or so. Anyway, there is nothing between those two targets on a fresh Debian, hence it shouldn't make a difference. The `/etc/systemd/system/graphical.target.wants` dir does not exist OOTB, and we want to add as few stuff as possible.
Even when starting earlier, console-getty.service can take longer for the login prompt, after dietpi-build.service started, stealing its controlling terminal. Hence there is no way around masking it. The After=multi-user.target still makes sense for a cleaner output ordering.

Also, disable wpa_supplicant.service before booting, as it is doomed to fail, causing an ugly failure log, and is otherwise disabled by dietpi-installer anyway.
The additional ID list here has been forgotten, and the NanoPi Zero2 (ID 104) mainline Linux builds were overriding the vendor Linux builds, due to the missing suffix. The conditional here is redundant. Our CI uses the "--rk35xx-mainline" flag only where it actually expects a dedicated image.
The notifications app (a vendored dependency of it) started to throw an info log message whenever it is called, that it "strongly recommends" GMP or BCMath for better performance. GMP is needed for the SFTP storage backend as well, and recommended when using WebAuthn authentication. And it seems to perform better. So we're going with that one.
The overlay name which sets it to host mode is different in mainline Linux.
MichaIng and others added 13 commits August 17, 2026 23:05
The Kodi 20 package from the RPi Bookworm repo have a different file distribution between kodi and kodi-bin, which causes a conflict when dpkg tries to unpack files of the new kodi-bin package while the old kodi package is still installed. Purge it first, leaving dependencies in place, and let `apt-get dist-upgrade` reinstall it along with the other upgrades.
This is for Btrfs, not F2FS
The here string adds a trailing newline to empty variables. Use a process substitution with `echo -n`, to prevent a trailing newline.
curl received the --knownhosts option with v8.17.
The SSH library cannot parse a key passed via process substitution to curl. At least assure they exist as short as possible.
All overlays for these do now have a specific prefix.

Also switch to Ubuntu 26.04 GitHub runners for Quartz64 kernel builds.
* Extract network options from diepti-config into own dietpi-network script with per-interface menus and CLI
* Support non-classic interface names
* Make use of the new CLI across other DietPi scripts

Signed-off-by: MichaIng <micha@dietpi.com>
@MichaIng MichaIng added this to the v10.7 milestone Aug 23, 2026
@MichaIng MichaIng added the Beta 🧪 Issues specific to the Beta branch testing label Aug 23, 2026
The command did not touch the `allow-hotplug` line before, hence it should not actively enable interfaces now either. This keeps the current state, and only sets up new interfaces as enabled, which were not defined in any config file before.

Elso enhance readability a bit.
So it is possible to save changes to the config, without applying them now. That way, e.g. the IP address can be changed without loosing the current SSH connections. Changes become effective from next reboot on.

Remove the extra confirmation dialogs when applying changes or toggling states, and prevent hostapd and dietpi-wifi-monitor start/stop calls from exiting the script on failure.
@MichaIng
MichaIng merged commit 190294e into beta Aug 23, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Beta 🧪 Issues specific to the Beta branch testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Open Beta v10.7 | Please help testing and hardening our upcoming release

3 participants