xref: /freebsd/RELNOTES (revision 03ca6dbdb80da79408f135d823fbd9a00fd4f25b)
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
13b92b9da33006, 13d3bd165e22:
14	This patch allows vfs.nfsd.srvmaxio to be set to
15	a value as high as 4Mbytes.  It is usually set
16	via the nfs_server_maxio variable in /etc/rc.conf.
17
184c486fe40267:
19	The multicast routing modules, ip_mroute and ip6_mroute, are now FIB-aware.
20	That is, there is a multicast routing table per FIB, rather than a global
21	table.  One can run a multicast routing daemon within each FIB; the FIB of
22	the routing socket determines the corresponding multicast routing table.
23
245c2186b99254,628d7a3270b6:
25	When the sector size for an NVMe namespace changes, nda(4) now
26	reports this as a media change rather than a disk resize
27	event.  nda(4) also no longer reports a disk resize event in
28	some cases when the namespace's size had not changed.  nda(4)
29	also reprobes NVMe namespaces each time they are opened to
30	check for a new sector size or namespace size.
31
327a323f873662:
33	Remove the le(4) driver.  This driver supported older 10Mbps
34	and 100Mbps Ethernet adapters.  True hardware devices have not
35	been used in FreeBSD systems in many years, but the driver was
36	previously retained for use with MIPS QEMU virtual machines.
37
38e51ef8ae490f:
39	Add initial support for instruction-based sampling (IBS)
40	performance counters on AMD processors to hwpmc(4).
41
42d69fc3a9dc71:
43	The EFI boot loader now tries all ZFS pools found during
44	probing when looking for a boot pool.  Previously it would try
45	only the first pool found.
46
474d5c434ed16e:
48	Use the BSD-licensed implementation of diff3 instead of GNU diff3
49	by default.
50
517f54c65abc67:
52	Update the smartpqi(4) driver to vendor version 14.4690.0.2008
53	- 15.2.0.2008.  This includes support for new controllers and
54	renaming Microsemi to Microchip.
55
56350c1232a57a:
57	nvmecontrol(8)'s telemetry-log now works reliably.
58
59d14e018024bb,b125c4d13095,1322760fd127,0730a05cd383:
60	Permit both SCHED_ULE and SCHED_4BSD to be compiled into the
61	same kernel.  The scheduler can be selected at boot time by
62	setting the kern.sched_name tunable to the scheduler name
63	("4BSD" or "ULE").  The default scheduler is ULE.  This is
64	currently enabled in amd64 kernels by default.
65
6690a7728cd890:
67	Update nuageinit to request configuration on all network
68	interfaces.  nuageinit will now issue DHCP requests on all
69	network interfaces and request configuration data from the
70	first interface which successfully obtains a lease.
71
7292ba9b2fe589:
73	Add RoCE support for Broadcom BCM576xx controllers.
74
75fb4b0c911951:
76	Add a facility to witness(4) to provide more detailed information
77	about lock order reversals detailing when initial lock orders were
78	established.
79
8065f5dd42f11c:
81	sh(1) add -l option which makes sh act as a login shell and read the profile.
82
83beab8b1ddf86:
84	bintrans(1) now supports the RFC2047 variant of quoted print
85
869dc96d8bc3f2:
87	libusb(3) hotplug event are now really hotplugged using either
88	nlsysevent or devd(9) if available.
89
90d64db8892f85:
91	sh(1) is the default shell in the release media.
92
9368ad2b0d7af2:
94	ncurses has been updated to 6.6
95
9652d19df19ed6:
97	nvi(1) has been update to 2.2.2
98
994d5c434ed16e, 2cfca8e710f2:
100	diff3(1) has replaced GNU diff3 and is now fully compatible.
101
102625dc44832cd:
103	tr(1) is now UTF-8 compliant.
104
10562fba0054d9e:
106	ee(1) is now UTF-8 compliant.
107
1085df6aca10906:
109	ed(1) is now UTF-8 compliant.
110
11128ff4d35f8b9:
112	Update libedit to 2026-04-03.
113
114b42e852e89cb:
115	Add a new pkg-serve(8) to serve packages over TCP via inetd.
116
1178b9775912cbc, 53b4ae3bf0f7:
118	Add support for an NFSv4 root file system.
119	Note that NFSv3 is still used for bootstrapping. See
120	"Diskless Operation with PXE" under "Advanced Networking" in the
121	FreeBSD Handbook.  To configure an NFSv4 root fs, you will need
122	a line in /boot/loader.conf like boot.nfsroot.options="nfsv4" and
123	either a line in /etc/sysctl.conf like vfs.nfs.enable_uidtostring=1
124	or an additional line in /boot/loader.conf like
125	boot.nfsroot.user_domain="<user-domain>",
126	if you are running nfsuserd(8).
127
128ab9257599a5:
129	The src.conf(5) options WITHOUT_BZIP2 and WITHOUT_BZIP2_SUPPORT
130	have been removed.
131
132af099eaa5ec:
133	Users belonging to the new vmm group can now create bhyve VMs.  See the
134	vmm(4) man page for details.
135
136c71354030a2:
137	Users wishing to use bhyve PCI passthrough in jails must create the
138	jail with the allow.vmm_ppt option configured.
139
1404d707825bf62:
141	The pdwait(2) system call was added.  It provides wait(2)-like
142	functionality for a process descriptor (see procdesc(4)).
143
1445c2ee618d5ec:
145	The pdrfork(2) system call was added.  It behaves like rfork(2) but
146	additionally returns a process descriptor (see procdesc(4)).
147
14841ccf82b29f3, 591c7a08bf8a:
149	On arm64, memcpy(3), memmove(3) and memset(3) are now implemented using
150	the MOPS (Memory Operations) feature instructions when they are
151	implemented by the system.
152
1533f0aea09689f:
154	posix_spawnattr_getexecfd_np(3) and posix_spawnattr_setexecfd_np(3)
155	functions were added to libc.  The latter causes posix_spawn(3) to
156	call fexecve(2) on the specified file descriptor rather than executing
157	the file at the provided path.
158
159fb4b0c911951:
160	witness(4) now prints additional information to the system console when
161	a lock order reversal is detected, making debugging such issues easier.
162
1631322760fd127:
164	It is now possible to compile both the 4BSD and ULE schedulers into the
165	same kernel.  The scheduler is selectable at boot-time using a tunable.
166	See the SCHEDULERS section of the tuning(7) man page for details.
167
168627e126dbb07:
169	The default value of the net.inet6.ip6.connect_in6addr_wild has changed
170	to 0.  This means that connecting to the all-zeroes IPv6 address no longer
171	implicitly results in a loopback connection.
172
173afa70a8496e9:
174	The pthread_tryjoin_np(3) function was added to libthr(3).  It provides
175	the same functionality as pthread_join(3) but returns instead of
176	blocking if the target thread has not yet exited.
177
178ecc039be7fdd:
179	NanoBSD images can now be built as a non-root user.
180
1817f54c65abc67:
182        Update smartpqi(4) to vendor version 14.4690.0.2008 - 15.2.0.2008
183        for the SmartArray storage controllers.  This adds support for new
184        controllers, adds code that utilizes the new BIG_IOCTL_Command_struct
185        and allows the I/O buffer size for a single passthrough ioctl to be
186        stored as a 32 bit integer instead of the original 16 bit integer.
187
188b0d997095022:
189	The pf firewall now supports passing IPv6 packets to divert(4)
190	sockets via divert-to actions.
191
1920fa7b3bee72e, c71f18998e0b, 4162a419a475, f5a77dc8f8df:
193	LinuxKPI based wireless drivers, especially iwlwifi(4) are now
194	supported on RISC-V.
195
1968254b0dec02b3, bd55cbb50c588:
197	The mac(4) framework has been extended to support jail operations,
198	allowing a policy to constrain jail creation, modification, removal, and
199	attachment.  Jails have additionally been made a first-class mac(4)
200	object, and a mac.label jail(8) property has been added to facilitate
201	administration of their labels.
202
203c558eca47970:
204	The smartpqi(4) driver was updated to vendor version 4660.0.2002
205	for the SmartArry storage controllers.
206
207493d26c58e73:
208	The aq(4) driver was added, imported from the vendor repository.
209	This provides support for Aquantia / Marvell PCIe 1/2.5/5/10 Gigabit
210	Ethernet adapters (AQC107, AQC108, AQC109, AQC111, AQC112).
211
2121a7151f79664:
213	A new CAM provider was added to dtrace.  This enables tracing of I/O
214	requests through the CAM layer without relying on fragile function
215	boundary tracing.  See dtrace_cam(4) for details.
216
217b8c99e7d912f:
218	The tdestroy(3) function was added to libc.  The tdestroy() function
219	destroys a whole search tree, freeing all allocated nodes.
220
2214bf8ce037dc8:
222	The rge(4) driver was added, ported from OpenBSD.  This provides
223	support for RealTek RTL8125, RTL8126 and RTL8127 PCIe Ethernet
224	controllers.
225
226cbc6f7e941e4:
227	bhyve(8)'s VNC device can now listen on a unix(4) socket for VNC client
228	connections.
229
23039ee24182b92:
231	An rc(8) service can now be started as a specific user for auditing
232	purposes by setting the <service>_audit_user rc.conf(5) variable.
233
234dcb0790bad43:
235	A setaudit(8) utility was added to the base system.  This provides a
236	simple command-line wrapper for the setaudit(2) and setaudit_addr(2)
237	system calls.
238
2398e3fd450cc53, 949cff4dceff, 0e724de9ed6f, 9f49f436a9ec, e35191ccf3b3:
240	Add support for an extension to NFSv4.2 (RFCnnnn) that
241	supports handling of POSIX draft ACLs via getfacl(1)/setfacl(1).
242
243dbac191956f9, fe21dbf70aa8:
244	Support for the kcmp(2) system call and fcntl(F_DUPFD_QUERY) for Linux
245	binaries.
246
247a86dc94b84d1:
248	tzdata2025c was imported.
249
250a98e5d785001:
251	Add strdupa(3) and strndupa(3) macros for compatability with glibc.
252
253e967a2a03677:
254	divert socket compat removal, consumers must use PF_DIVERT instead of
255	PF_INET.
256
2574453ec5b8716b, 2a3b1641756a:
258	The reboot(8) and halt(8) commands now perform a graceful shutdown similar
259	to the shutdown(8) command including invoking rc.d scripts to shutdown
260	services.  The fastboot(8) and fasthalt(8) commands still perform a "fast"
261	reboot or shutdown.
262
263d9788eabffa4:
264	ipfilter cannot be used in a jail by default.
265
2660ff0c19e7f70:
267	ipfs(8) is no longer built by default.
268
269575efcfff22f:
270	sendfile(2)'s SF_SYNC flag was removed.
271
272057dae35ffc6, 51a01f3debff, ca3e47b0ea68:
273	hwpmc(4) support for Intel Alder Lake 6-B7, 6-BA, and 6-BF CPU
274	hwpmc(4) support for Intel Emerald Rapids CPUs
275	hwpmc(4) support for Intel Alder Lake-N CPUs
276
2771ecf01065b45:
278	New library libuvmem provides the vmem(9) API to userspace applications.
279
280b6cad334e64:
281	Make game controller devices accessible by members of the "game" group
282	by default.
283
284791c531402bd:
285	Add driver for Feature Integration Technology Inc. (aka Fintek) F81232
286	USB to serial devices.
287
288ec0cd287f55f:
289	Support for NVMe/TCP offload on Chelsio T7 adapters.  The nvmf_che(4)
290	module enables T7 adapters to process NVMe/TCP PDUs directly similar to
291	the PDU offload provided by cxgbei(4) for iSCSI.
292