This selection is intended to include all important
and all user-visible changes.
For a complete record of all changes, please see the "source-changes"
mailing list, called "OpenBSD CVS"
in the archives,
or use CVS.
Added a create-vdisk command to ldomctl(8) analogous to amd64's vmctl(8) create.
Added uvm_objfree to uvm to efficiently free all pages from a uvm object, used in the buffer cache for considerable speedup when freeing pages.
Added rkemmcphy(4), a driver for the RK3399's eMMC PHY.
Added support for the RK3399's eMMC clock to rkclock(4).
Introduced msyscall(2), permitting system calls from selected code regions only: the main program, ld.so(1), libc.so and sigtramp. This is intended to harden against a mixture of W^X failures and JIT bugs allowing syscall misinterpretation.
Allowed use of mail-from and rctp-to as for and from parameters in smtpd.conf(5).
Computed RSSI on 9k iwm(4) devices as for previous generations, fixing spurious signal strength values of over 100%.
Added a tmux(1) p format modifier for padding to width.
Stored smtp(1) session usernames in an envelope, allowing the ruleset to match specific users or mailing addresses.
Added "no-touch-required" options to ssh-keygen(1) and sshd(8) to disable touch requirement for authorized_keys and certificates.
Added an sshd_config(5) PubkeyAuthOptions directive allowing specification of whether sshd(8) should check whether user presence was tested before a security key was made.
Withdrew all proposals on slaacd(8) startup to prevent indefinite retention of nameservers on interfaces no longer flagged for autoconf.
Prevented a timeout in ssh(1) when the server doesn't immediately send a banner, such as with multiplexers like sslh.
Introduced a "trusted" modifier to ntpd(8), for peers which should be on a local net, used in situations where https constraints cannot be used but auto settime is desired.
Stopped connecting to available open wifi networks when an interface is marked up. This behavior must now be explicitly enabled with ifconfig(8) join "".
Lowered the priority of APs which fail to connect in the ifconfig(8) join list, allowing switching wifi networks by moving between them without having to down/up the interface or suspend/resume.
Triggered a background scan when root runs the ifconfig(8) scan command, updating the list of cached APs for future scans and forcing a search for a better AP to roam to.
Switched 8260 and 8265 iwm(4) devices to -34 firmware.
Added initial infrastructure for U2F/FIDO support in ssh(1).
Constrained and corrected the routes being deleted when applying a new lease in dhclient(8) and corrected route comparison. This corrects a network failure with "arpresolve: ... route contains no information".
Added an ASR resolver type to unwind(8), using the libc asynchronous resolver directly with DHCP-provided nameservers. Switched to the ASR resolver rather than DHCP when behind a captive portal.
Made background scans less frequent when choosing the same AP.
Began marking stale prefixes in the Adj-RIB-out during graceful reload of bgpd(8) and fixed prefix_withdraw to check the correct prefix flags before removing a prefix from the update or withdraw tree.
Reverted change to nc(1) fixing the -N flag due to regress failures for tls.
Added sxisid(4), a driver to read the on-chip eFuses.
Added new -N name option to ftp(1), allowing calling scripts to change the progname and produce better error messages.
Updated timezone information to reflect DST changes for Fiji and Norfolk Island.
Rewrote the time validity check for mtfs in rpki-client(8) to correctly account for the timezone.
Added the system clock interface nanoboottime(9), returning the UTC time at which the system booted in seconds and nanoseconds.
Added sxipwm(4) and pwmbl(4), drivers which jointly add support for the backlight controller on the Pinebook.
On newer ThinkPads reporting HKEY version > 1, allowed acpivout(4) to claim backlight controls rather than wscons(4), allowing use of the fine-grained backlight BCL steps defined in acpi(4).
Changed acpivout(4) to increment and decrement screen brightness based only on brightness level changes of 5% or higher.
Prevented an infinite loop when aborting ulpt(4)'s pipe after an I/O error.
Implemented the "parallel boot" feature on compatible sparc64 firmware.
Corrected a memory leak in unwind(1) when the list of DHCP resolvers doesn't change.
Stopped checking whether the IPv6 source address of a neighbor advertisement is from a neighbor's address, not required in accordance with RFC 4861.
Added support for dynamic queue allocation (DQA) to iwm(4).
Corrected cache flush operations on arm64 which were being incorrectly treated as write operations. This fixes a bug where cache flushing caused Firefox to abort.
Fixed the -N flag for nc(1) to shut down the socket when input stops, or when tls is in use and either side of the socket goes away.
Fixed a potential NULL dereference for revoked hostkeys in ssh(1).
Added support for percentage sizes to tmux(1) resize-pane ("-x 10%") and changed split-window and join-pane -l to accept similar percentages, deprecating the -p option.
Made sparc64 autoconf(4) try to match the devid against the bootpath if link->port_wwn doesn't work, helping when booting off of an mpii(4) controller.