Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v7.0 #4126

Merged
merged 233 commits into from
Feb 28, 2021
Merged

Release v7.0 #4126

merged 233 commits into from
Feb 28, 2021

Conversation

MichaIng
Copy link
Owner

@MichaIng MichaIng commented Feb 19, 2021

v7.0

(2021-02-28)

Changes

  • DietPi-Update | A new update check system has been implemented, which checks for a minimum required Debian and DietPi version and migrates systems with either too old Debian version or too old DietPi version to a different Git branch automatically. This especially smoothens the migration of our code base to newer Debian versions and the alternative branch can be used to inform and support Debian distribution upgrades and to upgrade the DietPi code to an intermediate version from where the system can be migrated back to the regular stable/master branch. Since this change required a new repository version file, we took the chance and incremented the DietPi core version to v7.0. This however has no further meaning, all previously supported DietPi and Debian versions remain supported and the change enables us to not require fresh image installs for major upgrades, like the upgrade from v159 to v6.0 did a few years ago.
  • Network | A change has been implemented on the order in which network-related systemd service targets are reached. "network.target" and "network-online.target" are now reach after all network interfaces have been configured, rather then already after only the loopback interface "lo" has been configured. This affects only systemd services which are not started by DietPi-Services, e.g. SSH/DNS/VPN/VNC servers, with the effect that they are assured to be able to bind to interfaces/IPs, where currently they would fail. The downside is, if one has an Ethernet adapter configured via dietpi-config or /etc/network/interfaces (as allow-hotplug device), but the cable not connected, affected services may be delayed until the interface bring-up timed out.
  • DietPi-Backup | Support for XFS and ZFS target file system types has been added, which fully support the required symlink and POSIX permissions capabilities.
  • DietPi-Backup | A new feature has been added which allows to automatically restore a dietpi-backup on first boot. For this set the new dietpi.txt option AUTO_SETUP_BACKUP_RESTORE=1, to get a list of found backups to select from (this does not work in combination with AUTO_SETUP_AUTOMATED=1). All attached drives are mounted temporarily and seached automatically. Set AUTO_SETUP_BACKUP_RESTORE=2 to have the first found backup restored non-interactively (this works in combination with AUTO_SETUP_AUTOMATED=1). The restore runs after the initial update, hence works with older images as well and can be done via SSH connection. Credits go to @ravenclaw900 for implementing this feature: DietPi-Backup | Add Option to Automatically Restore on First Boot #4112
  • DietPi-Config | RPi: An option has been added to toggle the SPI interface. Many thanks to @incanus for resurrecting this old feature request: DietPi-Config | Add i2c/spi and other hardware options for RPi's #98 (comment)
  • DietPi-Software | The mandatory reboot after installs has been removed. Installed services, which are not controlled by DietPi-Services, but would start automatically on reboot, are now started at the end of installs instead. A manual reboot is still a good idea, but strictly required only in rare cases. Many thanks to @Games-Crack for doing this suggesting: DietPi-Software | Remove mandatory reboot after installs #4032
  • DietPi-Software | Installs do not imply all APT package upgrades anymore. While we recommend to keep all APT packages upgraded regularly, the new daily APT check and info within the DietPi-Banner, helps to keep you informed to do the best decision youself whether and when to apply which package upgrade. On first run installs the full upgrade is however kept, to assure each image starts in fully upgraded state, and packages which are required for the actual software choices you're installing, are upgraded as well, when installed already.
  • DietPi-Software | Uninstalls do not stop other services anymore. E.g. your webserver or media streaming server will stay active while you uninstall that other software that you don't require anymore. Since uninstalls do not require much RAM or CPU resources, this is perfectly fine. Many thanks to @mrgreaper giving the hint: Medusa broken after update #4116
  • DietPi-Software | Unbound: On install in combination with Pi-hole, no additional configuration file will be created anymore but the adjusted interface binding and port will be applied to "/etc/unbound/unbound.conf.d/dietpi.conf". Declaring "interface" in two configuration files do not override each other but lead to two concurrent bindings, which is not intended. The two files, if present, will be merged as well on DietPi update. It is hence intended that admins change "dietpi.conf" directly, if required, and this file won't be overwritten on reinstalls to preserve local changes. Additionally, on new installs, the configuration file will be better sorted and contain comments to explain their purpose.
  • DietPi-Software | Unbound: On new installs, by default access is now granted to all private IPv4 and IPv6 address ranges instead of to the 192.168.0.0/16 subnet only, which includes VPNs, containers and cases of multiple local networks the server is attached to.
  • DietPi-Software | Unbound: A monthly cron job is now created to keep the root hints file updated. Many thanks to @APraxx for doing this suggestion: Unbound: Root Hints automatic update? #4077
  • DietPi-Software | Node-RED: New installs and reinstalls with setup Node-RED as local module for the "nodered" service user, rather than as global system module/command. This allows upgrading and removing all related Node modules through the web interface, instead of just the ones which were installed via web interface. Additionally a console alias for the "node-red-admin" CLI command has been added so that running this command with any user will call the local Node-RED instance as "nodered" service user.
  • DietPi-Software | Python 3 pip: pip and pip-based installs on ARMv6 and ARMv7 boards will have the piwheels.org repository for pre-compiled wheels added automatically, which can reduce build dependencies and compile time dramatically.
  • DietPi-Software | Docker: The Docker APT repository is now installed manually instead of using the official Docker installer. This allows us to enable the Docker install option for Debian Bullseye systems, if only to allow widened testing of this upcoming Debian release with DietPi.

Interface Changes

  • DietPi-Banner | Running the script without input argument will now open the menu instead of printing the banner. The console alias has been adjusted accordingly, so that it is now possible to run "dietpi-banner 0" and "dietpi-banner 1" from console to have full and short banner versions printed. The "dietpi-banner" console command remains opening the menu.

New Software

  • DietPi-Software | Docker Compose: A tool to define and run multi-container Docker applications can now be installed through our software selection. Docker will be pulled in as dependency automatically.
  • DietPi-Software | Box86: An x86 wrapper/emulator for ARMv7 systems is now available for install. Thanks to it's ability to wrap ARMv7 shared system libraries to be used with i386 binaries, often no additional libraries need to be installed. Thanks to binfmt, it will be invoked automatically when an i386 binary is executed.
  • DietPi-Software | Steam: By automatically pulling in Box86 as dependency, Steam can now be installed on ARMv7 boards. It won't run perfectly stable yet and has limited features and game support, but we're optimistic that further improvements will address this in the future. Check out our documentation about it: https://dietpi.com/docs/software/gaming/#steam
  • DietPi-Software | mjpg-streamer: Lightweight multi-source and multi-output plugin JPEG streamer, now available for install. By default your attached camera capture will be streamed to a custom HTTP port. When installed along with OctoPrint, both will be automatically configured to work together. The Raspberry Pi camera module support is enabled by default, when installed on Raspberry Pi.

Fixes

  • Audio | Resolved a bug with Debian Buster, where the ALSA state daemon was always running, even when it was not configured.
  • DietPi-Globals | G_OBTAIN_CPU_TEMP: Negative temperatures are not trusted anymore, "N/A" will be printed instead. This allows a generic approach to fix/allow temperature estimation on further SBC models. Many thanks to @Thanapat for reporting a related issue on Roseapple Pi: https://dietpi.com/phpbb/viewtopic.php?t=8677
  • DietPi-Set_swapfile | Resolve an issue where "zram"/"zram0" dietpi.txt path entries were dropped, when running the script without input arguments. This especially broke applying zram-swap on first boot. Many thanks to @Dr0bac for reporting this issue: DietPi-Set_swapfile | zram is not applied on first boot #4002
  • DietPi-Software | Bitwarden_RS: Resolved an issue where the self-signed TLS certificate could not be imported on iOS. To apply this fix to an existing instance, the configuration file "/mnt/dietpi_userdata/bitwarden_rs/bitwarden_rs.env" needs to be removed or moved to a different location, so "dietpi-software reinstall 183" will re-create the configuration and TLS certificate.
  • DietPi-Software | Unbound: Resolved an issue where during install in combination with Pi-hole the service restart could have failed. Many thanks to @Ernstian for reporting this issue: DietPi-Software | Unbound: Fixes and enhancements #2409 (comment)
  • DietPi-Software | Unbound: Resolved an issue where the service start failed if the host system had a local IP address outside of the 192.168.0.0/16 subnet. Many thanks to @faxesystem for reporting this issue: DietPi-Software | Unbound: Fixes and enhancements #2409 (comment)
  • DietPi-Software | ReadyMedia: Resolved an issue where the media library was not rescanned on service start. Many thanks to @AdamFarnsworth0 for reporting this issue: https://twitter.com/AdamFarnsworth0/status/1347977813635305475
  • DietPi-Software | WiFi Hotspot: Resolved an issue where the install on Armbian-based images with RTL8188C* WiFi chip failed. Many thanks to @smogan71 for reporting this issue: https://dietpi.com/phpbb/viewtopic.php?t=8523
  • DietPi-Software | Medusa: This software option has been disabled on Stretch systems, since it now requires Python >=3.6, which is not available in the Debian Stretch repository. If you run Medusa on a Stretch system, it will continue to work, but updating will either not be possible or break it. Many thanks to @aermak for reporting this issue: DietPi-Software | Medusa: Not compatible with Python 2 and 3.5 anymore #3991
  • DietPi-Software | WiringPi: Resolved an issue where the install failed, if the /usr/local/bin directory was not present. Many thanks to @bruz for reporting this issue: https://dietpi.com/phpbb/viewtopic.php?t=8609
  • DietPi-Software | PaperMC: Resolved an issue where the install failed due to changed download URLs and stabilised service start and config creation by setting the Java heap size and allowing more time for the startup on smaller SBCs. Many thanks to @omavoss for reporting this issue: https://dietpi.com/phpbb/viewtopic.php?p=30191#p30191
  • DietPi-Software | OpenTyrian: The install option has been disabled on x86_64, since the Debian package comes with a different file structure and it has been disabled on 64-bit RPi systems, since the binary has been compiled for armhf.
  • DietPi-Software | Domoticz: Resolved an issue where saving custom scripts and starting with a template did not work. Many thanks to @tec13 for reporting this issue: https://dietpi.com/phpbb/viewtopic.php?t=8627
  • DietPi-Software | Resolved an issue where for ruTorrent, Koel and Bitwarden_RS the automatic newest version detection failed and instead a possibly older fallback was used. Many thanks to @kelvmod for reporting this issue: bitwarden_rs/releases/latest tag_name detection #4105
  • DietPi-Software | LXQt: Resolved visual issues with our default configuration of Debian Buster, drastically simplified and cleaned up the files we ship.
  • DietPi-Software | SABnzbd: Resolved an issue on Stretch where the install failed due to raised minimum Python version with SABnzbd v3.2.0. If Python 3.5 is installed, SABnzbd v3.1.1 will be installed now to allow keeping the install option enabled for now. Many thanks to @19eighties for reporting this issue: DietPi-Software | SABnzbd: Install latest version via GitHub master branch #2762 (comment)

MichaIng and others added 30 commits December 20, 2020 20:37
+ META | Backwards merge
+ Prepare v6.35 development cycle
+ DietPi-Survey_report | Syntax fix
+ DietPi-Patch | Allow updating to v6.35 without endless loop xD
+ DietPi-PREP | Fix step headers, so that script name is on top of the HR and the step count and text below after "Step: "
+ DietPi-Software | Rename "Minio" => "MinIO": https://min.io/
+ DietPi-LetsEncrypt | Renamed "Minio" => "MinIO": https://min.io/
+ DietPi-Survey_report | Renamed "Minio" => "MinIO": https://min.io/
+ CHANGELOG | Renamed "Minio" => "MinIO": https://min.io/
+ DietPi-Patch | Renamed "Minio" => "MinIO": https://min.io/
+ DietPi-Patch | Dropbear: Do not create DSS host key anymore. It is pretty outdated and should not be used anymore. Since Bullseye it is not shipped by default, but Ed25519 instead.
+ DietPi-PREP | Remove obsolete zsh configs from user profiles
+ DietPi-Software | LXDE/LXQt: Allow configs to be pulled from custom GitHub repository owner instead of custom branch only
+ DietPi-Login | Create the "dietpi-nordvpn" alias unconditionally. The script handles a missing install gracefully and offers to do the install right away. It is especially unpleasing to not have the alias available after install, since it was needed to setup NordVPN server and credentials first, to have the service file created: #3998
+ DietPi-Software | Bitwarden_RS: Add CA flag to self-signed certificate, required for iOS to allow import into trusted CA store: #3724 (comment)
+ CHANGELOG | Bitwarden_RS: Resolved an issue where the self-signed TLS certificate could not be imported on iOS
+ DietPi-Set_swapfile | Resolve an issue where "zram"/"zram0" dietpi.txt path entries were dropped, when running the script without input arguments. This especially broke applying zram-swap on first boot.
+ CHANGELOG | DietPi-Set_swapfile: Resolve an issue where "zram"/"zram0" dietpi.txt path entries were dropped, when running the script without input arguments.
+ DietPi-Software | Portainer: Ensure that post- and pre-v2.0 image versions of Portainer are detected during installation or removal
+ DietPi-Patch | Do not create dietpi-usb-storage_quirks.conf, as we do not statically apply USB quicks anymore
+ DietPi-Patch | Do not apply obsolete "ui" component on RPi Buster systems
+ DietPi-Services | Stop controlling obsolete CloudPrint but start controlling PHP8.0-FPM. Start HTPC Manager later, as it is a web UI frontend for various other software titles
+ DietPi-Software | Pi-hole: Remove blocking page support, which will be removed from Pi-hole soon. It's implementation relies on fragile 404 handling, which means that actual 404 handling does not work. It means that every blocked request will instead be fully answered by the Pi-hole webserver, which means a massive overhead for both server and client. It cannot work on HTTPS resources since the certificate cannot match the domain which means that a shrinking minor part of the web is only supported anyway. Finally ads often open in small frames rather than full screen popups, which means that the blocking page is often practically not usable. Instead we revert to the Pi-hole developers recommended NULL blocking mode, which means that most clients won't even attempt to do any request to this domain, hence least overheads for clients, most time, battery and traffic savings.
+ DietPi-Software | Pi-hole: Remove blocking page support which will be removed from Pi-hole
+ DietPi-Software | Pi-hole: Remove blocking page support which will be removed from Pi-hole
+ DietPi-Software | Pi-hole: Remove blocking page support which will be removed from Pi-hole
+ DietPi-Software | Pi-hole: Tiny
+ DietPi-PREP | Make it clear that Odroid C4 and HC4 are cross-compatible
+ DietPi-Obtain_HW_model | Make it clear by name that Odroid C4 and HC4 are cross-compatible
+ DietPi-Software | Unbound: Add default config file as GitHub download
+ DietPi-Software | Unbound: Pre-configure Unbound before installing it to avoid port binding conflicts right from the start
+ DietPi-Software | Unbound: Install it before installing Pi-hole so that it can be used as upstream DNS directly
+ DietPi-Software | Unbound: Use port 5335 by default when configuring it for Pi-hole since port 5353 is used for mDNS (Multicast DNS)
+ DietPi-Software | Unbound: Whenever changing the Unbound port, assure that there is another upstream DNS server configured in /etc/resolv.conf
+ DietPi-Software | Unbound: Do not overwrite an existing configuration file. Config overrides do not in cases where the setting is allowed multiple times, hence in case of interface (IP bindings) private and allowed IP ranges, users might need to configure our base config, which must be preserved.
+ DietPi-Software | Pi-hole: When changing the upstream DNS, apply it directly via dnsmasq config and restart FTL to immediately use it.
+ DietPi-Software | Spotify Connect Web: Enhance uninstall
+ DietPi-Software | Unbound: Syntax
MichaIng and others added 15 commits February 27, 2021 02:54
+ DietPi-Config | Detect No-IP install based on binary and service file existence, which allows to do the configuration from within dietpi-software.
+ DietPi-Software | Add way to automatically restore from backup on first boot
+ DietPi-Software | Only reboot when backup restore succeeded, inform user about it for three seconds
+ DietPi-Software | Downgrade auto-restore =2 to =1 in every case
+ DietPi-Backup | Clear PATH cache after backup restore, in case commands are restored to a different locations
+ DietPi-Backup | Do not stop services before we definitely run the backup or restore. The rsync process check still needs to be done after stopping the services, which include the rsync daemon. But do not kill a running rsync process afterwards, better error out.
+ DietPi-Backup | Implement function when restoring a backup, to check whether the backup's UUIDs match the current drive's UUIDs, so that we do not restore a system that is not booting, because the bootloader and fstab do not find the configured drives. If the UUIDs seem to not match, check whether we are able to reliably make the system bootable by adjusting known bootloader configurations. Add function to restore UUIDs, in case, but content is on ToDo for now :).
+ DietPi-Globals | G_WHIP_YESNO: If the default is set to "yes", return "true" as well in case of non-interactive calls
+ DietPi-Backup | Add whiptail yes/no dialogues when storing a backup to a system with different UUIDs. Default to "yes", if we did find the boot configuration method, else default to "no", which is especially relevant for non-interactive first run setups with AUTO_SETUP_BACKUP_RESTORE=1 set.
+ DietPi-Software | Tiny
+ DietPi-Software | SABnzbd: Since v3.2.0 raised the minimum Python dependency to v3.6, on Stretch, v3.1.1 needs to be installed. However, check the actually installed Python version so that a custom Python install allows to install SABnzbd v3.2+ as well.
+ DietPi-Software | SABnzbd: Use the new Create_Config function to pre-create the config file
+ CHANGELOG | SABnzbd: Resolved an issue on Stretch where the install failed due to raised minimum Python version with SABnzbd v3.2.0
+ DietPi-Globals | Default RC up
+ RC up
+ CONTRIBUTING | Add a few more cross-references to docs and new contribution web page
DietPi-Software | Docker-Compose - adjust wording
+ DietPi-Software | Add missing space
+ DietPi-Software | Shorten some software descriptions so that they fit nicely into the optimised software menu
+ DietPi-Globals | Raise default RC version
+ RC up
+ CHANGELOG | Add release date
@MichaIng MichaIng marked this pull request as ready for review February 28, 2021 21:19
@MichaIng MichaIng removed the META Everything that is not code related, e.g. GitHub, Wiki, website, community label Feb 28, 2021
@Joulinar
Copy link
Collaborator

@MichaIng
I need to say, I did not test Steam as well as Box86 🙄

@MichaIng
Copy link
Owner Author

I need to say, I did not test Steam as well as Box86 🙄

I remember you did when we merged the related pull request.

@Joulinar
Copy link
Collaborator

Joulinar commented Mar 1, 2021

Yes but did not test in combination with latest changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Open Beta v7.0 | Please help testing and hardening the upcoming release
5 participants