xref: /freebsd/RELNOTES (revision 7f7e9584cb9dbff7f74faf5589c9154d2c6eef3f)
1a16fdef5SMark JohnstonRelease notes for FreeBSD 16.0.
28dbc2b6eSMark Johnston
38dbc2b6eSMark JohnstonThis file describes new user-visible features, changes and updates relevant to
48dbc2b6eSMark Johnstonusers of binary FreeBSD releases.  Each entry should describe the change in no
58dbc2b6eSMark Johnstonmore than several sentences and should reference manual pages where an
68dbc2b6eSMark Johnstoninterested user can find more information.  Entries should wrap after 80
78dbc2b6eSMark Johnstoncolumns.  Each entry should begin with one or more commit IDs on one line,
8cda1f88dSWarner Loshspecified as a comma separated list and/or range, followed by a colon and a
9cda1f88dSWarner Loshnewline.  Entries should be separated by a newline.
108dbc2b6eSMark Johnston
118dbc2b6eSMark JohnstonChanges to this file should not be MFCed.
129734ca05SMark Johnston
13*7f7e9584SXin LI4523eebc6c18:
14*7f7e9584SXin LI	less(1) has been updated to version 710.  The obsolete lesskey(1)
15*7f7e9584SXin LI	utility has been removed; less(1) reads plain-text lesskey files
16*7f7e9584SXin LI	such as ~/.lesskey and /etc/syslesskey directly, and the file format
17*7f7e9584SXin LI	is now documented in lesskey(5).  New features in this release
18*7f7e9584SXin LI	include the || command, the right-limit-scroll command, underlining
19*7f7e9584SXin LI	of OSC 8 hyperlinks, -DO for coloring them, and LESSMSG, which
20*7f7e9584SXin LI	allows less(1) messages to be translated into other languages.
21*7f7e9584SXin LI
22a53aee1cSDevin Teske3fe5961a0b70:
23a53aee1cSDevin Teske	sysconf(8) and libbsdconf(3) have been added.  sysconf(8) queries
24a53aee1cSDevin Teske	and edits loader.conf(5), sysctl.conf(5), and the make.conf(5)
25a53aee1cSDevin Teske	family (make.conf, src.conf, and src-env.conf) in the style of
26a53aee1cSDevin Teske	sysrc(8).  The rc target passes through to sysrc(8).
27a53aee1cSDevin Teske
289bec8a95SRick Macklem7144a1d58c5c, a311bd18a6fb, 884ee8d6c9b4:
299bec8a95SRick Macklem	These three patches add the required "glue" so that the
309bec8a95SRick Macklem	nfsrdma.ko and nfsclrdma.ko modules can be loaded.
319bec8a95SRick Macklem	These modules provide server and client support for
329bec8a95SRick Macklem	NFS over RDMA.
339bec8a95SRick Macklem
3489d15536SShengYi Hung34bb38445b07:
3589d15536SShengYi Hung    libusb has been updated to upstream 1.0.27 compatible.
3689d15536SShengYi Hung    All missing part is implemented and version tag is bumped.
3789d15536SShengYi Hung
3846dc4af5SMark Johnston6563dcb6b1f5:
3946dc4af5SMark Johnston	It is now possible to use connectat(2) to connect to a unix(4) socket
4046dc4af5SMark Johnston	directly, i.e., without having to specify a name in the sockaddr.
4146dc4af5SMark Johnston
42575af5e2SRick Macklem72e57bc26417, 3dfbbe8586bb, d8e8f9251975:
43575af5e2SRick Macklem	These patches provide improvements for the pNFS server
44575af5e2SRick Macklem	configuration.  New optional features include:
45575af5e2SRick Macklem	- Support for striped Flexible File Layouts (RFC8435).
46575af5e2SRick Macklem	- Support for pre-creation of files, allowing the
47575af5e2SRick Macklem	  Open/Create to be done without communicating with
48575af5e2SRick Macklem	  any DSs, so long as the cache of pre-created files
49575af5e2SRick Macklem	  is not depleted.
50575af5e2SRick Macklem
51074c42adSRick Macklemb92b9da33006, 13d3bd165e22:
52074c42adSRick Macklem	This patch allows vfs.nfsd.srvmaxio to be set to
53074c42adSRick Macklem	a value as high as 4Mbytes.  It is usually set
54074c42adSRick Macklem	via the nfs_server_maxio variable in /etc/rc.conf.
55074c42adSRick Macklem
566c09b760SMark Johnston4c486fe40267:
576c09b760SMark Johnston	The multicast routing modules, ip_mroute and ip6_mroute, are now FIB-aware.
586c09b760SMark Johnston	That is, there is a multicast routing table per FIB, rather than a global
596c09b760SMark Johnston	table.  One can run a multicast routing daemon within each FIB; the FIB of
606c09b760SMark Johnston	the routing socket determines the corresponding multicast routing table.
615dc4da1aSBaptiste Daroussin
629823698aSJohn Baldwin5c2186b99254,628d7a3270b6:
639823698aSJohn Baldwin	When the sector size for an NVMe namespace changes, nda(4) now
649823698aSJohn Baldwin	reports this as a media change rather than a disk resize
659823698aSJohn Baldwin	event.  nda(4) also no longer reports a disk resize event in
669823698aSJohn Baldwin	some cases when the namespace's size had not changed.  nda(4)
679823698aSJohn Baldwin	also reprobes NVMe namespaces each time they are opened to
689823698aSJohn Baldwin	check for a new sector size or namespace size.
699823698aSJohn Baldwin
709823698aSJohn Baldwin7a323f873662:
719823698aSJohn Baldwin	Remove the le(4) driver.  This driver supported older 10Mbps
729823698aSJohn Baldwin	and 100Mbps Ethernet adapters.  True hardware devices have not
739823698aSJohn Baldwin	been used in FreeBSD systems in many years, but the driver was
749823698aSJohn Baldwin	previously retained for use with MIPS QEMU virtual machines.
759823698aSJohn Baldwin
769823698aSJohn Baldwine51ef8ae490f:
779823698aSJohn Baldwin	Add initial support for instruction-based sampling (IBS)
789823698aSJohn Baldwin	performance counters on AMD processors to hwpmc(4).
799823698aSJohn Baldwin
809823698aSJohn Baldwind69fc3a9dc71:
819823698aSJohn Baldwin	The EFI boot loader now tries all ZFS pools found during
829823698aSJohn Baldwin	probing when looking for a boot pool.  Previously it would try
839823698aSJohn Baldwin	only the first pool found.
849823698aSJohn Baldwin
859823698aSJohn Baldwin4d5c434ed16e:
869823698aSJohn Baldwin	Use the BSD-licensed implementation of diff3 instead of GNU diff3
879823698aSJohn Baldwin	by default.
889823698aSJohn Baldwin
899823698aSJohn Baldwin7f54c65abc67:
909823698aSJohn Baldwin	Update the smartpqi(4) driver to vendor version 14.4690.0.2008
919823698aSJohn Baldwin	- 15.2.0.2008.  This includes support for new controllers and
929823698aSJohn Baldwin	renaming Microsemi to Microchip.
939823698aSJohn Baldwin
949823698aSJohn Baldwin350c1232a57a:
959823698aSJohn Baldwin	nvmecontrol(8)'s telemetry-log now works reliably.
969823698aSJohn Baldwin
979823698aSJohn Baldwind14e018024bb,b125c4d13095,1322760fd127,0730a05cd383:
989823698aSJohn Baldwin	Permit both SCHED_ULE and SCHED_4BSD to be compiled into the
999823698aSJohn Baldwin	same kernel.  The scheduler can be selected at boot time by
1009823698aSJohn Baldwin	setting the kern.sched_name tunable to the scheduler name
1019823698aSJohn Baldwin	("4BSD" or "ULE").  The default scheduler is ULE.  This is
1029823698aSJohn Baldwin	currently enabled in amd64 kernels by default.
1039823698aSJohn Baldwin
1049823698aSJohn Baldwin90a7728cd890:
1059823698aSJohn Baldwin	Update nuageinit to request configuration on all network
1069823698aSJohn Baldwin	interfaces.  nuageinit will now issue DHCP requests on all
1079823698aSJohn Baldwin	network interfaces and request configuration data from the
1089823698aSJohn Baldwin	first interface which successfully obtains a lease.
1099823698aSJohn Baldwin
1109823698aSJohn Baldwin92ba9b2fe589:
1119823698aSJohn Baldwin	Add RoCE support for Broadcom BCM576xx controllers.
1129823698aSJohn Baldwin
1139823698aSJohn Baldwinfb4b0c911951:
1149823698aSJohn Baldwin	Add a facility to witness(4) to provide more detailed information
1159823698aSJohn Baldwin	about lock order reversals detailing when initial lock orders were
1169823698aSJohn Baldwin	established.
1179823698aSJohn Baldwin
1185dc4da1aSBaptiste Daroussin65f5dd42f11c:
1195dc4da1aSBaptiste Daroussin	sh(1) add -l option which makes sh act as a login shell and read the profile.
1205dc4da1aSBaptiste Daroussin
1215dc4da1aSBaptiste Daroussinbeab8b1ddf86:
1225dc4da1aSBaptiste Daroussin	bintrans(1) now supports the RFC2047 variant of quoted print
1235dc4da1aSBaptiste Daroussin
1245dc4da1aSBaptiste Daroussin9dc96d8bc3f2:
1255dc4da1aSBaptiste Daroussin	libusb(3) hotplug event are now really hotplugged using either
1265dc4da1aSBaptiste Daroussin	nlsysevent or devd(9) if available.
1275dc4da1aSBaptiste Daroussin
1285dc4da1aSBaptiste Daroussind64db8892f85:
1295dc4da1aSBaptiste Daroussin	sh(1) is the default shell in the release media.
1305dc4da1aSBaptiste Daroussin
1315dc4da1aSBaptiste Daroussin68ad2b0d7af2:
1325dc4da1aSBaptiste Daroussin	ncurses has been updated to 6.6
1335dc4da1aSBaptiste Daroussin
1345dc4da1aSBaptiste Daroussin52d19df19ed6:
1355dc4da1aSBaptiste Daroussin	nvi(1) has been update to 2.2.2
1365dc4da1aSBaptiste Daroussin
1375dc4da1aSBaptiste Daroussin4d5c434ed16e, 2cfca8e710f2:
1385dc4da1aSBaptiste Daroussin	diff3(1) has replaced GNU diff3 and is now fully compatible.
1395dc4da1aSBaptiste Daroussin
1405dc4da1aSBaptiste Daroussin625dc44832cd:
1415dc4da1aSBaptiste Daroussin	tr(1) is now UTF-8 compliant.
1425dc4da1aSBaptiste Daroussin
1435dc4da1aSBaptiste Daroussin62fba0054d9e:
1445dc4da1aSBaptiste Daroussin	ee(1) is now UTF-8 compliant.
1455dc4da1aSBaptiste Daroussin
1465dc4da1aSBaptiste Daroussin5df6aca10906:
1475dc4da1aSBaptiste Daroussin	ed(1) is now UTF-8 compliant.
1485dc4da1aSBaptiste Daroussin
1495dc4da1aSBaptiste Daroussin28ff4d35f8b9:
1505dc4da1aSBaptiste Daroussin	Update libedit to 2026-04-03.
1515dc4da1aSBaptiste Daroussin
1525dc4da1aSBaptiste Daroussinb42e852e89cb:
1535dc4da1aSBaptiste Daroussin	Add a new pkg-serve(8) to serve packages over TCP via inetd.
1545dc4da1aSBaptiste Daroussin
155dc752c26SRick Macklem8b9775912cbc, 53b4ae3bf0f7:
156dc752c26SRick Macklem	Add support for an NFSv4 root file system.
157cc2f8f37SRick Macklem	Note that NFSv3 is still used for bootstrapping. See
158cc2f8f37SRick Macklem	"Diskless Operation with PXE" under "Advanced Networking" in the
159cc2f8f37SRick Macklem	FreeBSD Handbook.  To configure an NFSv4 root fs, you will need
160cc2f8f37SRick Macklem	a line in /boot/loader.conf like boot.nfsroot.options="nfsv4" and
161cc2f8f37SRick Macklem	either a line in /etc/sysctl.conf like vfs.nfs.enable_uidtostring=1
162cc2f8f37SRick Macklem	or an additional line in /boot/loader.conf like
163cc2f8f37SRick Macklem	boot.nfsroot.user_domain="<user-domain>",
164cc2f8f37SRick Macklem	if you are running nfsuserd(8).
165dc752c26SRick Macklem
1662d843b7cSLexi Winterab9257599a5:
1672d843b7cSLexi Winter	The src.conf(5) options WITHOUT_BZIP2 and WITHOUT_BZIP2_SUPPORT
1682d843b7cSLexi Winter	have been removed.
1692d843b7cSLexi Winter
17083cf9b52SMark Johnstonaf099eaa5ec:
17183cf9b52SMark Johnston	Users belonging to the new vmm group can now create bhyve VMs.  See the
17283cf9b52SMark Johnston	vmm(4) man page for details.
17383cf9b52SMark Johnston
17483cf9b52SMark Johnstonc71354030a2:
17583cf9b52SMark Johnston	Users wishing to use bhyve PCI passthrough in jails must create the
17683cf9b52SMark Johnston	jail with the allow.vmm_ppt option configured.
17783cf9b52SMark Johnston
178997bfa20SMark Johnston4d707825bf62:
179997bfa20SMark Johnston	The pdwait(2) system call was added.  It provides wait(2)-like
180997bfa20SMark Johnston	functionality for a process descriptor (see procdesc(4)).
181997bfa20SMark Johnston
182997bfa20SMark Johnston5c2ee618d5ec:
183997bfa20SMark Johnston	The pdrfork(2) system call was added.  It behaves like rfork(2) but
184997bfa20SMark Johnston	additionally returns a process descriptor (see procdesc(4)).
185997bfa20SMark Johnston
186997bfa20SMark Johnston41ccf82b29f3, 591c7a08bf8a:
187997bfa20SMark Johnston	On arm64, memcpy(3), memmove(3) and memset(3) are now implemented using
188997bfa20SMark Johnston	the MOPS (Memory Operations) feature instructions when they are
189997bfa20SMark Johnston	implemented by the system.
190997bfa20SMark Johnston
191997bfa20SMark Johnston3f0aea09689f:
192997bfa20SMark Johnston	posix_spawnattr_getexecfd_np(3) and posix_spawnattr_setexecfd_np(3)
193997bfa20SMark Johnston	functions were added to libc.  The latter causes posix_spawn(3) to
194997bfa20SMark Johnston	call fexecve(2) on the specified file descriptor rather than executing
195997bfa20SMark Johnston	the file at the provided path.
196997bfa20SMark Johnston
197997bfa20SMark Johnstonfb4b0c911951:
198997bfa20SMark Johnston	witness(4) now prints additional information to the system console when
199997bfa20SMark Johnston	a lock order reversal is detected, making debugging such issues easier.
200997bfa20SMark Johnston
201997bfa20SMark Johnston1322760fd127:
202997bfa20SMark Johnston	It is now possible to compile both the 4BSD and ULE schedulers into the
203997bfa20SMark Johnston	same kernel.  The scheduler is selectable at boot-time using a tunable.
204997bfa20SMark Johnston	See the SCHEDULERS section of the tuning(7) man page for details.
205997bfa20SMark Johnston
206997bfa20SMark Johnston627e126dbb07:
207997bfa20SMark Johnston	The default value of the net.inet6.ip6.connect_in6addr_wild has changed
208997bfa20SMark Johnston	to 0.  This means that connecting to the all-zeroes IPv6 address no longer
209997bfa20SMark Johnston	implicitly results in a loopback connection.
210997bfa20SMark Johnston
211997bfa20SMark Johnstonafa70a8496e9:
212997bfa20SMark Johnston	The pthread_tryjoin_np(3) function was added to libthr(3).  It provides
213997bfa20SMark Johnston	the same functionality as pthread_join(3) but returns instead of
214997bfa20SMark Johnston	blocking if the target thread has not yet exited.
215997bfa20SMark Johnston
216997bfa20SMark Johnstonecc039be7fdd:
217997bfa20SMark Johnston	NanoBSD images can now be built as a non-root user.
218997bfa20SMark Johnston
21969f53556SJohn Hall7f54c65abc67:
22069f53556SJohn Hall        Update smartpqi(4) to vendor version 14.4690.0.2008 - 15.2.0.2008
22169f53556SJohn Hall        for the SmartArray storage controllers.  This adds support for new
22269f53556SJohn Hall        controllers, adds code that utilizes the new BIG_IOCTL_Command_struct
22369f53556SJohn Hall        and allows the I/O buffer size for a single passthrough ioctl to be
22469f53556SJohn Hall        stored as a 32 bit integer instead of the original 16 bit integer.
22569f53556SJohn Hall
2260dba3626SMark Johnstonb0d997095022:
2270dba3626SMark Johnston	The pf firewall now supports passing IPv6 packets to divert(4)
2280dba3626SMark Johnston	sockets via divert-to actions.
2290dba3626SMark Johnston
230c940f5c7SBjoern A. Zeeb0fa7b3bee72e, c71f18998e0b, 4162a419a475, f5a77dc8f8df:
231c940f5c7SBjoern A. Zeeb	LinuxKPI based wireless drivers, especially iwlwifi(4) are now
232c940f5c7SBjoern A. Zeeb	supported on RISC-V.
233c940f5c7SBjoern A. Zeeb
234c18631feSKyle Evans8254b0dec02b3, bd55cbb50c588:
235c18631feSKyle Evans	The mac(4) framework has been extended to support jail operations,
236c18631feSKyle Evans	allowing a policy to constrain jail creation, modification, removal, and
237c18631feSKyle Evans	attachment.  Jails have additionally been made a first-class mac(4)
238c18631feSKyle Evans	object, and a mac.label jail(8) property has been added to facilitate
239c18631feSKyle Evans	administration of their labels.
240c18631feSKyle Evans
2411971c31cSJohn Hallc558eca47970:
242a3f28d70SJohn Hall	The smartpqi(4) driver was updated to vendor version 4660.0.2002
243a3f28d70SJohn Hall	for the SmartArry storage controllers.
244a3f28d70SJohn Hall
245e3bfcf6bSMark Johnston493d26c58e73:
246e3bfcf6bSMark Johnston	The aq(4) driver was added, imported from the vendor repository.
247e3bfcf6bSMark Johnston	This provides support for Aquantia / Marvell PCIe 1/2.5/5/10 Gigabit
248e3bfcf6bSMark Johnston	Ethernet adapters (AQC107, AQC108, AQC109, AQC111, AQC112).
249e3bfcf6bSMark Johnston
250e3bfcf6bSMark Johnston1a7151f79664:
251e3bfcf6bSMark Johnston	A new CAM provider was added to dtrace.  This enables tracing of I/O
252e3bfcf6bSMark Johnston	requests through the CAM layer without relying on fragile function
253e3bfcf6bSMark Johnston	boundary tracing.  See dtrace_cam(4) for details.
254e3bfcf6bSMark Johnston
255e3bfcf6bSMark Johnstonb8c99e7d912f:
256e3bfcf6bSMark Johnston	The tdestroy(3) function was added to libc.  The tdestroy() function
257e3bfcf6bSMark Johnston	destroys a whole search tree, freeing all allocated nodes.
258e3bfcf6bSMark Johnston
259e3bfcf6bSMark Johnston4bf8ce037dc8:
260e3bfcf6bSMark Johnston	The rge(4) driver was added, ported from OpenBSD.  This provides
261e3bfcf6bSMark Johnston	support for RealTek RTL8125, RTL8126 and RTL8127 PCIe Ethernet
262e3bfcf6bSMark Johnston	controllers.
263e3bfcf6bSMark Johnston
264e3bfcf6bSMark Johnstoncbc6f7e941e4:
265e3bfcf6bSMark Johnston	bhyve(8)'s VNC device can now listen on a unix(4) socket for VNC client
266e3bfcf6bSMark Johnston	connections.
267e3bfcf6bSMark Johnston
268e3bfcf6bSMark Johnston39ee24182b92:
269e3bfcf6bSMark Johnston	An rc(8) service can now be started as a specific user for auditing
270e3bfcf6bSMark Johnston	purposes by setting the <service>_audit_user rc.conf(5) variable.
271e3bfcf6bSMark Johnston
272e3bfcf6bSMark Johnstondcb0790bad43:
273e3bfcf6bSMark Johnston	A setaudit(8) utility was added to the base system.  This provides a
274e3bfcf6bSMark Johnston	simple command-line wrapper for the setaudit(2) and setaudit_addr(2)
275e3bfcf6bSMark Johnston	system calls.
276e3bfcf6bSMark Johnston
277b94e4c70SRick Macklem8e3fd450cc53, 949cff4dceff, 0e724de9ed6f, 9f49f436a9ec, e35191ccf3b3:
278b94e4c70SRick Macklem	Add support for an extension to NFSv4.2 (RFCnnnn) that
279b94e4c70SRick Macklem	supports handling of POSIX draft ACLs via getfacl(1)/setfacl(1).
280b94e4c70SRick Macklem
2819734ca05SMark Johnstondbac191956f9, fe21dbf70aa8:
2829734ca05SMark Johnston	Support for the kcmp(2) system call and fcntl(F_DUPFD_QUERY) for Linux
2839734ca05SMark Johnston	binaries.
2849734ca05SMark Johnston
2859734ca05SMark Johnstona86dc94b84d1:
2869734ca05SMark Johnston	tzdata2025c was imported.
2879734ca05SMark Johnston
2889734ca05SMark Johnstona98e5d785001:
2899734ca05SMark Johnston	Add strdupa(3) and strndupa(3) macros for compatability with glibc.
2909734ca05SMark Johnston
2919734ca05SMark Johnstone967a2a03677:
2929734ca05SMark Johnston	divert socket compat removal, consumers must use PF_DIVERT instead of
2939734ca05SMark Johnston	PF_INET.
2949734ca05SMark Johnston
2959734ca05SMark Johnston4453ec5b8716b, 2a3b1641756a:
2969734ca05SMark Johnston	The reboot(8) and halt(8) commands now perform a graceful shutdown similar
2979734ca05SMark Johnston	to the shutdown(8) command including invoking rc.d scripts to shutdown
2989734ca05SMark Johnston	services.  The fastboot(8) and fasthalt(8) commands still perform a "fast"
2999734ca05SMark Johnston	reboot or shutdown.
3009734ca05SMark Johnston
3019734ca05SMark Johnstond9788eabffa4:
3029734ca05SMark Johnston	ipfilter cannot be used in a jail by default.
3039734ca05SMark Johnston
3049734ca05SMark Johnston0ff0c19e7f70:
3059734ca05SMark Johnston	ipfs(8) is no longer built by default.
3069734ca05SMark Johnston
3079734ca05SMark Johnston575efcfff22f:
3089734ca05SMark Johnston	sendfile(2)'s SF_SYNC flag was removed.
3099734ca05SMark Johnston
3109734ca05SMark Johnston057dae35ffc6, 51a01f3debff, ca3e47b0ea68:
3119734ca05SMark Johnston	hwpmc(4) support for Intel Alder Lake 6-B7, 6-BA, and 6-BF CPU
3129734ca05SMark Johnston	hwpmc(4) support for Intel Emerald Rapids CPUs
3139734ca05SMark Johnston	hwpmc(4) support for Intel Alder Lake-N CPUs
3149734ca05SMark Johnston
3159734ca05SMark Johnston1ecf01065b45:
3169734ca05SMark Johnston	New library libuvmem provides the vmem(9) API to userspace applications.
3179734ca05SMark Johnston
3189734ca05SMark Johnstonb6cad334e64:
3199734ca05SMark Johnston	Make game controller devices accessible by members of the "game" group
3209734ca05SMark Johnston	by default.
3219734ca05SMark Johnston
3229734ca05SMark Johnston791c531402bd:
3239734ca05SMark Johnston	Add driver for Feature Integration Technology Inc. (aka Fintek) F81232
3249734ca05SMark Johnston	USB to serial devices.
3259734ca05SMark Johnston
3269734ca05SMark Johnstonec0cd287f55f:
3279734ca05SMark Johnston	Support for NVMe/TCP offload on Chelsio T7 adapters.  The nvmf_che(4)
3289734ca05SMark Johnston	module enables T7 adapters to process NVMe/TCP PDUs directly similar to
3299734ca05SMark Johnston	the PDU offload provided by cxgbei(4) for iSCSI.
330