xref: /freebsd/RELNOTES (revision 7f7e9584cb9dbff7f74faf5589c9154d2c6eef3f)
1Release notes for FreeBSD 16.0.
2
3This file describes new user-visible features, changes and updates relevant to
4users of binary FreeBSD releases.  Each entry should describe the change in no
5more than several sentences and should reference manual pages where an
6interested user can find more information.  Entries should wrap after 80
7columns.  Each entry should begin with one or more commit IDs on one line,
8specified as a comma separated list and/or range, followed by a colon and a
9newline.  Entries should be separated by a newline.
10
11Changes to this file should not be MFCed.
12
134523eebc6c18:
14	less(1) has been updated to version 710.  The obsolete lesskey(1)
15	utility has been removed; less(1) reads plain-text lesskey files
16	such as ~/.lesskey and /etc/syslesskey directly, and the file format
17	is now documented in lesskey(5).  New features in this release
18	include the || command, the right-limit-scroll command, underlining
19	of OSC 8 hyperlinks, -DO for coloring them, and LESSMSG, which
20	allows less(1) messages to be translated into other languages.
21
223fe5961a0b70:
23	sysconf(8) and libbsdconf(3) have been added.  sysconf(8) queries
24	and edits loader.conf(5), sysctl.conf(5), and the make.conf(5)
25	family (make.conf, src.conf, and src-env.conf) in the style of
26	sysrc(8).  The rc target passes through to sysrc(8).
27
287144a1d58c5c, a311bd18a6fb, 884ee8d6c9b4:
29	These three patches add the required "glue" so that the
30	nfsrdma.ko and nfsclrdma.ko modules can be loaded.
31	These modules provide server and client support for
32	NFS over RDMA.
33
3434bb38445b07:
35    libusb has been updated to upstream 1.0.27 compatible.
36    All missing part is implemented and version tag is bumped.
37
386563dcb6b1f5:
39	It is now possible to use connectat(2) to connect to a unix(4) socket
40	directly, i.e., without having to specify a name in the sockaddr.
41
4272e57bc26417, 3dfbbe8586bb, d8e8f9251975:
43	These patches provide improvements for the pNFS server
44	configuration.  New optional features include:
45	- Support for striped Flexible File Layouts (RFC8435).
46	- Support for pre-creation of files, allowing the
47	  Open/Create to be done without communicating with
48	  any DSs, so long as the cache of pre-created files
49	  is not depleted.
50
51b92b9da33006, 13d3bd165e22:
52	This patch allows vfs.nfsd.srvmaxio to be set to
53	a value as high as 4Mbytes.  It is usually set
54	via the nfs_server_maxio variable in /etc/rc.conf.
55
564c486fe40267:
57	The multicast routing modules, ip_mroute and ip6_mroute, are now FIB-aware.
58	That is, there is a multicast routing table per FIB, rather than a global
59	table.  One can run a multicast routing daemon within each FIB; the FIB of
60	the routing socket determines the corresponding multicast routing table.
61
625c2186b99254,628d7a3270b6:
63	When the sector size for an NVMe namespace changes, nda(4) now
64	reports this as a media change rather than a disk resize
65	event.  nda(4) also no longer reports a disk resize event in
66	some cases when the namespace's size had not changed.  nda(4)
67	also reprobes NVMe namespaces each time they are opened to
68	check for a new sector size or namespace size.
69
707a323f873662:
71	Remove the le(4) driver.  This driver supported older 10Mbps
72	and 100Mbps Ethernet adapters.  True hardware devices have not
73	been used in FreeBSD systems in many years, but the driver was
74	previously retained for use with MIPS QEMU virtual machines.
75
76e51ef8ae490f:
77	Add initial support for instruction-based sampling (IBS)
78	performance counters on AMD processors to hwpmc(4).
79
80d69fc3a9dc71:
81	The EFI boot loader now tries all ZFS pools found during
82	probing when looking for a boot pool.  Previously it would try
83	only the first pool found.
84
854d5c434ed16e:
86	Use the BSD-licensed implementation of diff3 instead of GNU diff3
87	by default.
88
897f54c65abc67:
90	Update the smartpqi(4) driver to vendor version 14.4690.0.2008
91	- 15.2.0.2008.  This includes support for new controllers and
92	renaming Microsemi to Microchip.
93
94350c1232a57a:
95	nvmecontrol(8)'s telemetry-log now works reliably.
96
97d14e018024bb,b125c4d13095,1322760fd127,0730a05cd383:
98	Permit both SCHED_ULE and SCHED_4BSD to be compiled into the
99	same kernel.  The scheduler can be selected at boot time by
100	setting the kern.sched_name tunable to the scheduler name
101	("4BSD" or "ULE").  The default scheduler is ULE.  This is
102	currently enabled in amd64 kernels by default.
103
10490a7728cd890:
105	Update nuageinit to request configuration on all network
106	interfaces.  nuageinit will now issue DHCP requests on all
107	network interfaces and request configuration data from the
108	first interface which successfully obtains a lease.
109
11092ba9b2fe589:
111	Add RoCE support for Broadcom BCM576xx controllers.
112
113fb4b0c911951:
114	Add a facility to witness(4) to provide more detailed information
115	about lock order reversals detailing when initial lock orders were
116	established.
117
11865f5dd42f11c:
119	sh(1) add -l option which makes sh act as a login shell and read the profile.
120
121beab8b1ddf86:
122	bintrans(1) now supports the RFC2047 variant of quoted print
123
1249dc96d8bc3f2:
125	libusb(3) hotplug event are now really hotplugged using either
126	nlsysevent or devd(9) if available.
127
128d64db8892f85:
129	sh(1) is the default shell in the release media.
130
13168ad2b0d7af2:
132	ncurses has been updated to 6.6
133
13452d19df19ed6:
135	nvi(1) has been update to 2.2.2
136
1374d5c434ed16e, 2cfca8e710f2:
138	diff3(1) has replaced GNU diff3 and is now fully compatible.
139
140625dc44832cd:
141	tr(1) is now UTF-8 compliant.
142
14362fba0054d9e:
144	ee(1) is now UTF-8 compliant.
145
1465df6aca10906:
147	ed(1) is now UTF-8 compliant.
148
14928ff4d35f8b9:
150	Update libedit to 2026-04-03.
151
152b42e852e89cb:
153	Add a new pkg-serve(8) to serve packages over TCP via inetd.
154
1558b9775912cbc, 53b4ae3bf0f7:
156	Add support for an NFSv4 root file system.
157	Note that NFSv3 is still used for bootstrapping. See
158	"Diskless Operation with PXE" under "Advanced Networking" in the
159	FreeBSD Handbook.  To configure an NFSv4 root fs, you will need
160	a line in /boot/loader.conf like boot.nfsroot.options="nfsv4" and
161	either a line in /etc/sysctl.conf like vfs.nfs.enable_uidtostring=1
162	or an additional line in /boot/loader.conf like
163	boot.nfsroot.user_domain="<user-domain>",
164	if you are running nfsuserd(8).
165
166ab9257599a5:
167	The src.conf(5) options WITHOUT_BZIP2 and WITHOUT_BZIP2_SUPPORT
168	have been removed.
169
170af099eaa5ec:
171	Users belonging to the new vmm group can now create bhyve VMs.  See the
172	vmm(4) man page for details.
173
174c71354030a2:
175	Users wishing to use bhyve PCI passthrough in jails must create the
176	jail with the allow.vmm_ppt option configured.
177
1784d707825bf62:
179	The pdwait(2) system call was added.  It provides wait(2)-like
180	functionality for a process descriptor (see procdesc(4)).
181
1825c2ee618d5ec:
183	The pdrfork(2) system call was added.  It behaves like rfork(2) but
184	additionally returns a process descriptor (see procdesc(4)).
185
18641ccf82b29f3, 591c7a08bf8a:
187	On arm64, memcpy(3), memmove(3) and memset(3) are now implemented using
188	the MOPS (Memory Operations) feature instructions when they are
189	implemented by the system.
190
1913f0aea09689f:
192	posix_spawnattr_getexecfd_np(3) and posix_spawnattr_setexecfd_np(3)
193	functions were added to libc.  The latter causes posix_spawn(3) to
194	call fexecve(2) on the specified file descriptor rather than executing
195	the file at the provided path.
196
197fb4b0c911951:
198	witness(4) now prints additional information to the system console when
199	a lock order reversal is detected, making debugging such issues easier.
200
2011322760fd127:
202	It is now possible to compile both the 4BSD and ULE schedulers into the
203	same kernel.  The scheduler is selectable at boot-time using a tunable.
204	See the SCHEDULERS section of the tuning(7) man page for details.
205
206627e126dbb07:
207	The default value of the net.inet6.ip6.connect_in6addr_wild has changed
208	to 0.  This means that connecting to the all-zeroes IPv6 address no longer
209	implicitly results in a loopback connection.
210
211afa70a8496e9:
212	The pthread_tryjoin_np(3) function was added to libthr(3).  It provides
213	the same functionality as pthread_join(3) but returns instead of
214	blocking if the target thread has not yet exited.
215
216ecc039be7fdd:
217	NanoBSD images can now be built as a non-root user.
218
2197f54c65abc67:
220        Update smartpqi(4) to vendor version 14.4690.0.2008 - 15.2.0.2008
221        for the SmartArray storage controllers.  This adds support for new
222        controllers, adds code that utilizes the new BIG_IOCTL_Command_struct
223        and allows the I/O buffer size for a single passthrough ioctl to be
224        stored as a 32 bit integer instead of the original 16 bit integer.
225
226b0d997095022:
227	The pf firewall now supports passing IPv6 packets to divert(4)
228	sockets via divert-to actions.
229
2300fa7b3bee72e, c71f18998e0b, 4162a419a475, f5a77dc8f8df:
231	LinuxKPI based wireless drivers, especially iwlwifi(4) are now
232	supported on RISC-V.
233
2348254b0dec02b3, bd55cbb50c588:
235	The mac(4) framework has been extended to support jail operations,
236	allowing a policy to constrain jail creation, modification, removal, and
237	attachment.  Jails have additionally been made a first-class mac(4)
238	object, and a mac.label jail(8) property has been added to facilitate
239	administration of their labels.
240
241c558eca47970:
242	The smartpqi(4) driver was updated to vendor version 4660.0.2002
243	for the SmartArry storage controllers.
244
245493d26c58e73:
246	The aq(4) driver was added, imported from the vendor repository.
247	This provides support for Aquantia / Marvell PCIe 1/2.5/5/10 Gigabit
248	Ethernet adapters (AQC107, AQC108, AQC109, AQC111, AQC112).
249
2501a7151f79664:
251	A new CAM provider was added to dtrace.  This enables tracing of I/O
252	requests through the CAM layer without relying on fragile function
253	boundary tracing.  See dtrace_cam(4) for details.
254
255b8c99e7d912f:
256	The tdestroy(3) function was added to libc.  The tdestroy() function
257	destroys a whole search tree, freeing all allocated nodes.
258
2594bf8ce037dc8:
260	The rge(4) driver was added, ported from OpenBSD.  This provides
261	support for RealTek RTL8125, RTL8126 and RTL8127 PCIe Ethernet
262	controllers.
263
264cbc6f7e941e4:
265	bhyve(8)'s VNC device can now listen on a unix(4) socket for VNC client
266	connections.
267
26839ee24182b92:
269	An rc(8) service can now be started as a specific user for auditing
270	purposes by setting the <service>_audit_user rc.conf(5) variable.
271
272dcb0790bad43:
273	A setaudit(8) utility was added to the base system.  This provides a
274	simple command-line wrapper for the setaudit(2) and setaudit_addr(2)
275	system calls.
276
2778e3fd450cc53, 949cff4dceff, 0e724de9ed6f, 9f49f436a9ec, e35191ccf3b3:
278	Add support for an extension to NFSv4.2 (RFCnnnn) that
279	supports handling of POSIX draft ACLs via getfacl(1)/setfacl(1).
280
281dbac191956f9, fe21dbf70aa8:
282	Support for the kcmp(2) system call and fcntl(F_DUPFD_QUERY) for Linux
283	binaries.
284
285a86dc94b84d1:
286	tzdata2025c was imported.
287
288a98e5d785001:
289	Add strdupa(3) and strndupa(3) macros for compatability with glibc.
290
291e967a2a03677:
292	divert socket compat removal, consumers must use PF_DIVERT instead of
293	PF_INET.
294
2954453ec5b8716b, 2a3b1641756a:
296	The reboot(8) and halt(8) commands now perform a graceful shutdown similar
297	to the shutdown(8) command including invoking rc.d scripts to shutdown
298	services.  The fastboot(8) and fasthalt(8) commands still perform a "fast"
299	reboot or shutdown.
300
301d9788eabffa4:
302	ipfilter cannot be used in a jail by default.
303
3040ff0c19e7f70:
305	ipfs(8) is no longer built by default.
306
307575efcfff22f:
308	sendfile(2)'s SF_SYNC flag was removed.
309
310057dae35ffc6, 51a01f3debff, ca3e47b0ea68:
311	hwpmc(4) support for Intel Alder Lake 6-B7, 6-BA, and 6-BF CPU
312	hwpmc(4) support for Intel Emerald Rapids CPUs
313	hwpmc(4) support for Intel Alder Lake-N CPUs
314
3151ecf01065b45:
316	New library libuvmem provides the vmem(9) API to userspace applications.
317
318b6cad334e64:
319	Make game controller devices accessible by members of the "game" group
320	by default.
321
322791c531402bd:
323	Add driver for Feature Integration Technology Inc. (aka Fintek) F81232
324	USB to serial devices.
325
326ec0cd287f55f:
327	Support for NVMe/TCP offload on Chelsio T7 adapters.  The nvmf_che(4)
328	module enables T7 adapters to process NVMe/TCP PDUs directly similar to
329	the PDU offload provided by cxgbei(4) for iSCSI.
330