diff --git a/website/content/en/releases/14.0R/relnotes.adoc b/website/content/en/releases/14.0R/relnotes.adoc --- a/website/content/en/releases/14.0R/relnotes.adoc +++ b/website/content/en/releases/14.0R/relnotes.adoc @@ -20,29 +20,45 @@ == Abstract [.abstract-title] -The release notes for FreeBSD {releaseCurrent} contain a summary of the changes made to the FreeBSD base system on the {releaseBranch} development line. This document lists applicable security advisories that were issued since the last release, as well as significant changes to the FreeBSD kernel and userland. Some brief remarks on upgrading are also presented. +The release notes for FreeBSD {releaseCurrent} contain a summary of the changes made to the FreeBSD base system on the {releaseBranch} development line. +This document lists applicable security advisories that were issued since the last release, as well as significant changes to the FreeBSD kernel and userland. +Some brief remarks on upgrading are also presented. [[intro]] == Introduction -This document contains the release notes for FreeBSD {releaseCurrent}. It describes recently added, changed, or deleted features of FreeBSD. It also provides some notes on upgrading from previous versions of FreeBSD. +This document contains the release notes for FreeBSD {releaseCurrent}. +It describes recently added, changed, or deleted features of FreeBSD. +It also provides some notes on upgrading from previous versions of FreeBSD. -The {releaseType} distribution to which these release notes apply represents the latest point along the {releaseBranch} development branch since {releaseBranch} was created. Information regarding pre-built, binary {releaseType} distributions along this branch can be found at https://www.FreeBSD.org/releases/[https://www.FreeBSD.org/releases/]. +The {releaseType} distribution to which these release notes apply represents the latest point along the {releaseBranch} development branch since {releaseBranch} was created. +Information regarding pre-built, binary {releaseType} distributions along this branch can be found at https://www.FreeBSD.org/releases/[]. -The {releaseType} distribution to which these release notes apply represents a point along the {releaseBranch} development branch between {releasePrev} and the future {releaseNext}. Information regarding pre-built, binary {releaseType} distributions along this branch can be found at https://www.FreeBSD.org/releases/[https://www.FreeBSD.org/releases/]. +The {releaseType} distribution to which these release notes apply represents a point along the {releaseBranch} development branch between {releasePrev} and the future {releaseNext}. +Information regarding pre-built, binary {releaseType} distributions along this branch can be found at https://www.FreeBSD.org/releases/[]. -This distribution of FreeBSD {releaseCurrent} is a {releaseType} distribution. It can be found at https://www.FreeBSD.org/releases/[https://www.FreeBSD.org/releases/] or any of its mirrors. More information on obtaining this (or other) {releaseType} distributions of FreeBSD can be found in the link:{handbook}mirrors[Obtaining FreeBSD appendix] to the link:{handbook}[FreeBSD Handbook]. +This distribution of FreeBSD {releaseCurrent} is a {releaseType} distribution. +It can be found at https://www.FreeBSD.org/releases/[] or any of its mirrors. +More information on obtaining this (or other) {releaseType} distributions of FreeBSD can be found in the link:{handbook}mirrors[Obtaining FreeBSD appendix] to the link:{handbook}[FreeBSD Handbook]. -All users are encouraged to consult the release errata before installing FreeBSD. The errata document is updated with "late-breaking" information discovered late in the release cycle or after the release. Typically, it contains information on known bugs, security advisories, and corrections to documentation. An up-to-date copy of the errata for FreeBSD {releaseCurrent} can be found on the FreeBSD Web site. +All users are encouraged to consult the release errata before installing FreeBSD. +The errata document is updated with "late-breaking" information discovered late in the release cycle or after the release. +Typically, it contains information on known bugs, security advisories, and corrections to documentation. +An up-to-date copy of the errata for FreeBSD {releaseCurrent} can be found on the FreeBSD Web site. -This document describes the most user-visible new or changed features in FreeBSD since {releasePrev}. In general, changes described here are unique to the {releaseBranch} branch unless specifically marked as MERGED features. +This document describes the most user-visible new or changed features in FreeBSD since {releasePrev}. +In general, changes described here are unique to the {releaseBranch} branch unless specifically marked as MERGED features. -Typical release note items document recent security advisories issued after {releasePrev}, new drivers or hardware support, new commands or options, major bug fixes, or contributed software upgrades. They may also list changes to major ports/packages or release engineering practices. Clearly the release notes cannot list every single change made to FreeBSD between releases; this document focuses primarily on security advisories, user-visible changes, and major architectural improvements. +Typical release note items document recent security advisories issued after {releasePrev}, new drivers or hardware support, new commands or options, major bug fixes, or contributed software upgrades. +They may also list changes to major ports/packages or release engineering practices. +Clearly the release notes cannot list every single change made to FreeBSD between releases; this document focuses primarily on security advisories, user-visible changes, and major architectural improvements. [[upgrade]] == Upgrading from Previous Releases of FreeBSD -Binary upgrades between RELEASE versions (and snapshots of the various security branches) are supported using the man:freebsd-update[8] utility. The binary upgrade procedure will update unmodified userland utilities, as well as unmodified GENERIC kernels distributed as a part of an official FreeBSD release. The man:freebsd-update[8] utility requires that the host being upgraded have Internet connectivity. +Binary upgrades between RELEASE versions (and snapshots of the various security branches) are supported using the man:freebsd-update[8] utility. +The binary upgrade procedure will update unmodified userland utilities, as well as unmodified GENERIC kernels distributed as a part of an official FreeBSD release. +The man:freebsd-update[8] utility requires that the host being upgraded have Internet connectivity. Source-based upgrades (those based on recompiling the FreeBSD base system from source code) from previous versions are supported, according to the instructions in [.filename]#/usr/src/UPDATING#. @@ -64,7 +80,7 @@ The value in the `File` field in the `efibootmgr -v` output, `\EFI\freebsd\loader.efi` in this case, is the MS-DOS name for the boot loader in use on the ESP. If the mount point is `/boot/efi`, this file will translate to `/boot/efi/efi/freebsd/loader.efi`. (Case does not matter on MS-DOSFS file sytems; FreeBSD uses lower case.) -Another common value for File would be `\EFI\boot\bootXXX.efi`, where `XXX` is `x64` for amd64, `aa64` for aarch64, or `riscv64` for riscv64; this is the default bootstrap if none is configured. +Another common value for `File` would be `\EFI\boot\bootXXX.efi`, where `XXX` is `x64` for amd64, `aa64` for aarch64, or `riscv64` for riscv64; this is the default bootstrap if none is configured. Both the configured and default boot loaders should be updated by copying from [.filename]#/boot/loader.efi# to the correct path in `/boot/efi`. [IMPORTANT] @@ -107,11 +123,13 @@ | | - |=== +//// // Sample release notes entry. -//The man:fsck_msdosfs[8] utility includes a variety of enhancements, including reducing the memory footprint, a new flag, `-M`, which disables the use of man:mmap[2], and others. gitref:9708ba9f29[repository=src] +The man:fsck_msdosfs[8] utility includes a variety of enhancements, including reducing the memory footprint, a new flag, `-M`, which disables the use of man:mmap[2], and others. +gitref:9708ba9f29[repository=src] +//// [[userland]] == Userland @@ -121,21 +139,22 @@ [[userland-config]] === Userland Configuration Changes -The default shell for the root user is now man:sh[1], which now has many features for interactive use. +The default shell for the root user is now man:sh[1], which has many new features for interactive use. gitref:d410b585b6f0[repository=src] -The default mail transport agent is now the Dragonfly Mail Agent (man:dma[8]), replacing man:sendmail[8]. -Configuration of the mail transport agent is done via man:mailer.conf[5]. +The default mail transport agent (MTA) is now the Dragonfly Mail Agent (man:dma[8]) rather than man:sendmail[8]. +Configuration of the MTA is done via man:mailer.conf[5]. +man:sendmail[8] and its configuration remain available. gitref:a67b925ff3e5[repository=src] -The `mta_start_script` configuration variable has been retired in man:rc.conf[5], along with the `othermta` startup script. +The `mta_start_script` configuration variable has been retired from man:rc.conf[5], along with the `othermta` startup script. gitref:616f32ea6da7[repository=src] man:jail[8] now supports `.include` directives in man:jail.conf[5] files, with support for filename globbing. gitref:e82a62943529[repository=src] The one-time password facility OPIE, man:opie[4], has been removed from the base system. -If you still wish to use it, install the `security/opie` port. +If you still wish to use it, install the package:security/opie[] port. Otherwise, make sure to remove or comment out any mention of `pam_opie` and `pam_opieaccess` from your PAM policies. man:etcupdate[8] will normally take care of this for the stock policies. gitref:0aa2700123e2[repository=src] @@ -167,7 +186,7 @@ gitref:e4d63c5d5ff8[repository=src] A new man:fwget[8] utility inspects the system for peripherals that need firmware, and installs the appropriate packages for them. -For now only the PCI subsystem is supported, and only video firmware for Intel and AMD GPUs is known. +For now, only the PCI subsystem is supported, and only video firmware for Intel and AMD GPUs is known. gitref:d198b8774d2c[repository=src] gitref:d198b8774d2c[repository=src] (Sponsored by Beckhoff Automation GmbH & Co. KG) The usability of man:head[1] and man:tail[1] has been improved by consistently supporting the `-q` and `-h` options, allowing numbers with SI suffixes, and removing the 2^31 limit on lines for man:head[1]. @@ -184,7 +203,7 @@ gitref:bbb2d2ce4220[repository=src] (Sponsored by Dell EMC Isilon) The man:mixer[8] utility no longer tries to guess whether a volume is absolute or a percent. -It now accepts a percentage with a `%` appended, otherwise a volume is absolute. +It now accepts a percentage with `%` appended, otherwise a volume is absolute. gitref:4014365e4219[repository=src] The `netcat` utility man:nc[1] can now be an `if_tun` (man:tun[4]) broker. @@ -194,7 +213,7 @@ gitref:372e3d561d82[repository=src] The man:portsnap[8] utility has been removed. -Users are encouraged to fetch the ports tree by using `pkg install git` and then `git clone https://git.FreeBSD.org/ports.git /usr/ports`. +Users are encouraged to fetch the ports tree by using `pkg install git` and then `git clone \https://git.FreeBSD.org/ports.git /usr/ports`. gitref:df53ae0fdd98[repository=src] The man:pw[8] and man:bsdinstall[8] programs now create home directories for users in [.filename]#/home# by default rather than [.filename]#/usr/home#. @@ -214,7 +233,7 @@ gitref:881631a2a371[repository=src] (Sponsored by Netflix) The Telnet daemon, man:telnetd[8], has been removed. -A port is available if necessary, `net/freebsd-telnetd`. +A port is available if necessary, package:net/freebsd-telnetd[]. The client is not affected. gitref:0eea46fb1f83[repository=src] @@ -254,7 +273,7 @@ Full release notes are at https://www.openssh.com/txt/release-9.5[]. gitref:676824f5cdf9[repository=src] (Sponsored by The FreeBSD Foundation) -The man:scp[1] utility now defaults to the SFTP protocol by default rather than the legacy scp/rcp protocol. +The man:scp[1] utility now defaults to the SFTP protocol, rather than the legacy scp/rcp protocol. This removes the need for double-quoting wildcard expansion characters. gitref:fb5aabcb990b[repository=src] (Sponsored by The FreeBSD Foundation) @@ -262,8 +281,7 @@ It is possible to enable them on a per-host basis in a user's [.filename]#~/.ssh/config# file. gitref:8c22023ca5e1[repository=src] (Sponsored by The FreeBSD Foundation) -The `VerifyHostKeyDNS` option for man:ssh[1] now defaults to `no`, -following the OpenSSH distribution. +The `VerifyHostKeyDNS` option for man:ssh[1] now defaults to `no`, following the OpenSSH distribution. The `X11Forwarding` option also defaults to `no`. gitref:41ff5ea22cb9[repository=src] gitref:77934b7a1301[repository=src] (Sponsored by The FreeBSD Foundation) @@ -275,7 +293,7 @@ gitref:bffe60ead024[repository=src] (Sponsored by The FreeBSD Foundation) OpenSSL has been upgraded to version 3.0.11. -This is a major upgrade from version 1.1.1, which is nearing its end of life. +This is a major upgrade from version 1.1.1, which has reached its end of life. Many components of the base system use a backward-compatible API, but will be migrated later. gitref:aa7957345732[repository=src] gitref:b077aed33b7b[repository=src] (Sponsored by The FreeBSD Foundation) @@ -293,13 +311,12 @@ Its replacement is man:etcupdate[8]. gitref:398b12691b4f[repository=src] (Sponsored by The FreeBSD Foundation) - [[userland-libraries]] === Runtime Libraries and API The `libncursesw` library (see man:ncurses[3X]) has been split into `libtinfow` and `libncursesw`. Linker scripts should make this transparent for consumers. -`pkg-config` files are now installed to ease ports detecting the `ncurses` setup from base. +man:pkg-config[8] files are now installed, to ease ports detecting the `ncurses` setup from base. gitref:396851c20aeb[repository=src] The prototype of man:qsort_r[3] has been modified to match POSIX, which adopted the glibc-based interface. @@ -345,10 +362,10 @@ The introduction to the kernel internals manual pages, man:intro[9], has been rewritten and improved. gitref:84f9f2c5cf78[repository=src] (Sponsored by The FreeBSD Foundation) -Boottrace is a new kernel-userspace interface for capturing trace events during system boot and shutdown. +man:boottrace[4] is a new kernel-userspace interface for capturing trace events during system boot and shutdown. Event annotations are present in the boot and shutdown paths in the kernel; system utilities (man:init[8], man:shutdown[8], man:reboot[8]); and man:rc[8] scripts (via man:boottrace[8]). -Boottrace focuses on the ease of use and is aimed primarily at system administrators. -It is available in the default `GENERIC` kernel and can be enabled by toggling a single man:sysctl[8] variable. +`boottrace` focuses on ease of use and is aimed primarily at system administrators. +It is available in the default `GENERIC` kernel and can be enabled by toggling a man:sysctl[8] variable. See man:boottrace[4] for more details. gitref:da5b7e90e740[repository=src] gitref:5a8fceb3bd9f[repository=src] gitref:7b0a665d72c0[repository=src] gitref:13ec1e3155c7[repository=src] gitref:318d0db5fe8a[repository=src] gitref:1ae2c59bcf21[repository=src] (Sponsored by NetApp, Inc.) (Sponsored by Klara, Inc) @@ -402,7 +419,7 @@ It can be enabled with these commands: `sysctl kern.vt.enable_bell=1` and `kbdcontrol -b normal`. gitref:225639e7db68[repository=src] -Improvements have been made in DPAA2 (second generation Data Path Acceleration Architecture – a hardware-level networking architecture found in some NXP SoCs). +Improvements have been made in DPAA2 (second generation Data Path Acceleration Architecture -- a hardware-level networking architecture found in some NXP SoCs). It runs NXP-supplied firmware which provides DPAA2 objects as an abstraction layer, and provides a `dpni` network interface. Separation between DPAA2 channels has been improved significantly in order to isolate access to the DMA resources and cleanup operations, and avoid kernel panics under heavy network load (1 Gbit/s links). Other improvements include FDT/ACPI MDIO support, netboot over DPAA2 and separate command portals (DPMCP) support. @@ -413,7 +430,7 @@ The AHB bus front end has been removed from man:ath[4], as it was used only by MIPS. gitref:37c8ee8847fa[repository=src] -A fix has been implemented for frame buffer addressing that affects framebuffers mapped above 4 GB physical on i386 and Book-E powerpc. +A fix has been implemented for frame buffer addressing that affects frame buffers mapped above 4 GB physical on i386 and Book-E powerpc. gitref:a78bb831a17f[repository=src] //XXX this was in 13.2; remove/place in MERGED section? @@ -428,11 +445,11 @@ There have been stability fixes and enhancements to the KPI to support Linux device drivers, along with the net80211 layer for wireless drivers. (Sponsored by The FreeBSD Foundation) -The Microsoft Azure Network Adapter(MANA) VF (virtual function) is now supported. +The Microsoft Azure Network Adapter (MANA) VF (virtual function) is now supported. gitref:ce110ea12fce[repository=src] (Sponsored by Microsoft) -NVME disks are now `nda` devices by default, for example `nda0`; see man:nda[4]. -Symbolic links for the previous man:nvd[4] device names are created in `/dev`. +NVMe disks are now `nda` devices by default, for example `nda0`; see man:nda[4]. +Symbolic links for the previous man:nvd[4] device names are created in [.filename]#/dev#. However, configuration such as man:fstab[5] should be updated to refer to the new device names. Options to control the use of `nda` devices and symbolic links are described in man:nda[4]. gitref:bdc81eeda05d[repository=src] (Sponsored by Netflix) @@ -483,7 +500,7 @@ [[storage-general]] === General Storage -man:gconcat[8] and its kernel support now have the ability to append devices to the concatenated device that were not present at creation time. +man:gconcat[8] and its kernel support now have the ability to append devices to the concatenated device that were not present when the gconcat device was created. gitref:d575e81fbcfa[repository=src] A new man:gunion[8] utility tracks changes to a read-only disk on a writable disk. @@ -550,15 +567,15 @@ ZFS has been enabled on 32-bit `powerpc`/`powerpcspe`. gitref:63715498ac6b[repository=src] -[[boot-loader]] -=== Boot Loader Changes - [[boot]] -== Boot Loader Changes +== Boot Changes This section covers the boot loader, boot menu, and other boot-related changes. -The lua-flavored man:loader[8] will now interpret `.lua` files that appear in `loader_conf_files` as lua, and execute them in a sandbox. +[[boot-loader]] +=== Boot Loader Changes + +The lua-flavored man:loader[8] will now interpret [.filename]#.lua# files that appear in `loader_conf_files` as lua, and execute them in a sandbox. Existing loader environment variables are available as globals in the sandbox, and any global variable set, if not a table value, will be reflected in the loader environment upon successful execution of the configuration file. Environment variables with names that aren't valid lua names may be accessed as indices of `_ENV`; e.g., `_ENV['net.fibs']`. gitref:3cb2f5f369ec[repository=src] @@ -629,13 +646,11 @@ [[hardware]] == Hardware Support -This section covers general hardware support for physical machines, hypervisors, and virtualization environments, as well as hardware changes and updates that do not otherwise fit in other sections of this document. - +This section covers general hardware support for physical machines, hypervisors, and virtualization environments, as well as hardware changes and updates that do not fit in other sections of this document. [[hardware-virtualization]] === Virtualization Support - [[ports]] == Ports Collection and Package Infrastructure @@ -650,8 +665,8 @@ FreeBSD 15.0 is not expected to include support for 32-bit platforms. However, 64-bit systems will still be able to run older 32-bit binaries. -Support for executing 32-bit binaries on 64-bit platforms via the `COMPAT_FREEBSD32` option will remain supported for at least the stable/15 and stable/16 branches. -Support for compiling individual 32-bit applications via `cc -m32` will also be supported for at least the stable/15 branch, which includes suitable headers in [.filename]#/usr/include# and libraries in [.filename]#/usr/lib32#. +Support for executing 32-bit binaries on 64-bit platforms via the `COMPAT_FREEBSD32` option will continue for at least the stable/15 and stable/16 branches. +Support for compiling individual 32-bit applications via `cc -m32` will also continue for at least the stable/15 branch, which includes suitable headers in [.filename]#/usr/include# and libraries in [.filename]#/usr/lib32#. Support for 32-bit platforms in ports for FreeBSD 15.0 and later releases is also deprecated, and these future releases may not include binary packages for 32-bit platforms or support for building 32-bit applications from ports. @@ -659,10 +674,9 @@ Ports will retain existing support for building ports and packages for 32-bit systems on stable/14 and earlier branches as long as those branches are supported by the ports system. However, all 32-bit platforms are Tier-2 or Tier-3, and support for individual ports should be expected to degrade as upstreams deprecate 32-bit platforms. -With the current support schedule, stable/14 will be reach End of Life (EOL) 5 years after the release of FreeBSD {releaseCurrent}. -The EOL of stable/14 would mark the end of support for 32-bit platforms including source releases, pre-built packages, and support for building applications from ports. -Given an estimated release date of October 2023 for {releaseCurrent}, support for 32-bit platforms would end in October 2028. +With the current support schedule, stable/14 will reach end of life (EOL) 5 years after the release of FreeBSD {releaseCurrent}. +The EOL of stable/14 would mark the end of support for 32-bit platforms, including source releases, pre-built packages, and support for building applications from ports. +Given an estimated release date of November 2023 for {releaseCurrent}, support for 32-bit platforms would end in November 2028. The project may choose to alter this approach when FreeBSD 15.0 is released by extending some level of 32-bit support for one or more platforms in 15.0 or later. -Users should use the FreeBSD {releaseCurrent} and following releases or the stable/14 branch to migrate off of 32-bit platforms. - +Use FreeBSD {releaseCurrent} and following releases, or the stable/14 branch, to migrate off 32-bit platforms.