]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - NEWS
man: clarify that ExecStop= is always called
[thirdparty/systemd.git] / NEWS
diff --git a/NEWS b/NEWS
index f61262fd570c6c2777663b0f412a0afee2c5ee91..eefe5fef5c57b38434a7c1290682b8f95300a946 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,152 @@
 systemd System and Service Manager
 
+CHANGES WITH 242 in spe:
+
+        * In .link files, MACAddressPolicy=persistent (the default) is changed
+          to cover more devices. For devices like bridges, tun, tap, bond, and
+          similar interfaces that do not have other identifying information,
+          the interface name is used as the basis for persistent seed for MAC
+          and IPv4LL addresses. The way that devices that were handled
+          previously is not changed, and this change is about covering devices
+          then previously by the "persistent" policy.
+
+          MACAddressPolicy=random may be used to force randomized MACs and
+          IPv4LL addresses for a device if desired.
+
+          Hint: the log output from udev (at debug level) was enhanced to
+          clarify what policy is followed and which attributes are used.
+          `SYSTEMD_LOG_LEVEL=debug udevadm test-builtin net_setup_link /sys/class/net/<name>`
+          may be used to view this.
+
+        * The .device units generated by systemd-fstab-generator and other
+          generators do not automatically pull in the corresponding .mount unit
+          as a Wants= dependency. This means that simply plugging in the device
+          will not cause the mount unit to be started automatically. But please
+          note that the mount unit may be started for other reasons, in particular
+          if it is part of local-fs.target, and any unit which (transitively)
+          depends on local-fs.target is started.
+
+        * $PIDFILE is set to point the absolute path configured with PIDFile=
+          for processes of that service.
+
+        * The fallback DNS server list was augmented with Cloudflare public DNS
+          servers. Use `-Ddns-servers=` to set a different fallback.
+
+        * A new special target usb-gadget.target will be started automatically
+          when a USB Device Controller is detected (which means that the system
+          is a USB peripheral).
+
+        * A new unit setting CPUQuotaPeriodSec= assigns the CPU time quota
+          specified by CPUQuota= is measured.
+
+          A new unit setting ProtectHostname= may be used to prevent services
+          from modifying hostname information (even if they otherwise would
+          have privileges to do so).
+
+          A new unit setting NetworkNamespacePath= may be used to specify a
+          namespace for service or socket units through a path referring to a
+          Linux network namespace pseudo-file.
+
+        * systemd-networkd recognizes a new operation state 'enslaved',
+          used (instead of 'degraded' or 'carrier') for interfaces which form
+          a bridge, bond, or similar, and an new 'degraded-carrier'
+          operational state used for the bond or bridge master interface
+          when one of the enslaved devices is not operational.
+
+          The RequiredForOnline= setting in .network files may now specify a
+          minimum operational state required for the interface to be considered
+          "online" by systemd-networkd-wait-online.
+
+        * systemd-networkd now implements L2TP tunnels.
+
+        * Two new .network settings UseAutonomousPrefix= and UseOnLinkPrefix= may
+          be used to cause autonomous and onlink prefixes received in IPv6
+          Router Advertisements to be ignored.
+
+          New MulticastFlood=, NeighborSuppression=, and Learning= settings
+          may be used to tweak bridge behaviour.
+
+        * A new .netdev setting PrivateKeyFile= may be used to point to private
+          key for a WireGuard interface.
+
+        * crypttab now supports the same-cpu-crypt and submit-from-crypt-cpus
+          to tweak encryption work scheduling details.
+
+        * systemd-tmpfiles will now take a BSD file lock before operating on a
+          contents of directory. This may be used to temporarily exclude
+          directories from aging by taking the same lock (useful for example
+          when extracting a tarball into /tmp or /var/tmp as a privileged user,
+          which might create files with really old timestamps, which
+          nevertheless should not be deleted).
+
+        * sd-boot and bootctl now implement support for an Extended Boot Loader
+          (XBOOTLDR) partition, that is intended to be mounted to /boot, in
+          addition to the ESP partition mounted to /efi or /boot/efi.
+          Configuration file fragments, kernels, initrds and other EFI images
+          to boot will be loaded from both the ESP and XBOOTLDR partitions.
+          The XBOOTLDR partition was previously described by the Boot Loader
+          Specification, but implementation was missing in sd-boot.
+
+        * A system may now be booted with systemd.volatile=overlay, which
+          causes the root file system to be set up an overlayfs mount combining
+          the root-only root directory with a writable tmpfs. In this setup,
+          the underlying root device is not modified, and any changes are lost
+          at reboot.
+
+        * systemd-nspawn can now create volatile overlays with overlayfs.
+
+        * systemd-nspawn can now consume OCI runtime bundles using a new
+          --oci-bundle= option. This implementation is fully usable, with most
+          features in the specification implemented, but since this a lot of
+          new code and functionality, this feature should most likely not
+          be used in production yet.
+
+          systmed-nspawn now supports various options described by the
+          OCI runtime specification on the command-line and in .nspawn files:
+          --inaccessible=/Inaccessible= may be used to mask parts of the file
+          system tree, --console/--pipe may be used to configure how standard
+          input, output, and error are set up.
+
+        * busctl learned the `emit` verb to generate D-Bus signals.
+
+        * systemd-analyze cat-config may be used to gather and display
+          configuration spread over multiple files, for example system and user
+          presets, tmpfiles.d, sysusers.d, udev rules, etc.
+
+        * journalctl learnt a new --cursor-file option that points to a file
+          from which a cursor should be loaded in the beginning and to which
+          the updated cursor should be stored at the end.
+
+        * ACRN hypervisor and Windows Subsystem for Linux (WSL) are now
+          detected by systemd-detect-virt (and may also be used in
+          ConditionVirtualization=).
+
+        * The behaviour of systemd-logind may now be modified with environment
+          variables $SYSTEMD_REBOOT_TO_FIRMWARE_SETUP,
+          $SYSTEMD_REBOOT_TO_BOOT_LOADER_MENU, and
+          $SYSTEMD_REBOOT_TO_BOOT_LOADER_ENTRY. They cause logind to either
+          skip the relevant operation completely (when set to false), or to
+          create a flag file in /run/systemd (when set to true), instead of
+          actually commencing the real operation when requested. The presence
+          of /run/systemd/reboot-to-firmware-setup,
+          /run/systemd/reboot-to-boot-loader-menu, and
+          /run/systemd/reboot-to-boot-loader-entry, may be used by alternative
+          boot loader implementations to replace some steps logind performs
+          during reboot with their own operations.
+
+        * systemctl can be used to request a reboot into the boot loader menu
+          or a specific boot loader entry with the new --boot-load-menu=
+          and --boot-loader-entry= options to a reboot command.
+
+        * kernel-install will no longer unconditionally create the output
+          directory (e.g. /efi/<machine-id>/<kernel-version>) for boot loader
+          snippets, but will do only if the machine-specific parent directory
+          (i.e. /efi/<machine-id>/) already exists. bootctl has been modified
+          to create this parent directory during sd-boot installation.
+
+          This makes it easier to use kernel-install with plugins which support
+          a different layout of the bootloader partitions (for example grub2).
+
 CHANGES WITH 241:
 
         * The default locale can now be configured at compile time. Otherwise,
@@ -1957,12 +2104,14 @@ CHANGES WITH 234:
           systemd-logind to be safe. See
           https://cgit.freedesktop.org/xorg/xserver/commit/?id=dc48bd653c7e101.)
 
-        * All kernel install plugins are called with the environment variable
+        * All kernel-install plugins are called with the environment variable
           KERNEL_INSTALL_MACHINE_ID which is set to the machine ID given by
-          /etc/machine-id. If the file is missing or empty, the variable is
-          empty and BOOT_DIR_ABS is the path of a temporary directory which is
-          removed after all the plugins exit. So, if KERNEL_INSTALL_MACHINE_ID
-          is empty, all plugins should not put anything in BOOT_DIR_ABS.
+          /etc/machine-id. If the machine ID could not be determined,
+          $KERNEL_INSTALL_MACHINE_ID will be empty. Plugins should not put
+          anything in the entry directory (passed as the second argument) if
+          $KERNEL_INSTALL_MACHINE_ID is empty. For backwards compatiblity, a
+          temporary directory is passed as the entry directory and removed
+          after all the plugins exit.
 
         Contributions from: Adrian Heine nĂ© Lang, Aggelos Avgerinos, Alexander
         Kurtz, Alexandros Frantzis, Alexey Brodkin, Alex Lu, Amir Pakdel, Amir
@@ -5746,7 +5895,7 @@ CHANGES WITH 214:
         * Socket units gained a new Symlinks= setting. It takes a list
           of symlinks to create to file system sockets or FIFOs
           created by the specific Unix sockets. This is useful to
-          manage symlinks to socket nodes with the same life-cycle as
+          manage symlinks to socket nodes with the same lifecycle as
           the socket itself.
 
         * The /dev/log socket and /dev/initctl FIFO have been moved to
@@ -6054,7 +6203,7 @@ CHANGES WITH 212:
           users who are logged out cannot continue to consume IPC
           resources. This covers SysV memory, semaphores and message
           queues as well as POSIX shared memory and message
-          queues. Traditionally, SysV and POSIX IPC had no life-cycle
+          queues. Traditionally, SysV and POSIX IPC had no lifecycle
           limits. With this functionality, that is corrected. This may
           be turned off by using the RemoveIPC= switch of logind.conf.
 
@@ -6204,7 +6353,7 @@ CHANGES WITH 211:
           systemd-networkd.
 
         * The sd-bus.h bus API gained a new sd_bus_track object for
-          tracking the life-cycle of bus peers. Note that sd-bus.h is
+          tracking the lifecycle of bus peers. Note that sd-bus.h is
           still not a public API though (unless you specify
           --enable-kdbus on the configure command line, which however
           voids your warranty and you get no API stability guarantee).