xref: /freebsd/RELNOTES (revision 95b4436e989df29f6368f13832cb13d7cbc52eac)
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
134c486fe40267:
14	The multicast routing modules, ip_mroute and ip6_mroute, are now FIB-aware.
15	That is, there is a multicast routing table per FIB, rather than a global
16	table.  One can run a multicast routing daemon within each FIB; the FIB of
17	the routing socket determines the corresponding multicast routing table.
18
1965f5dd42f11c:
20	sh(1) add -l option which makes sh act as a login shell and read the profile.
21
22beab8b1ddf86:
23	bintrans(1) now supports the RFC2047 variant of quoted print
24
259dc96d8bc3f2:
26	libusb(3) hotplug event are now really hotplugged using either
27	nlsysevent or devd(9) if available.
28
29d64db8892f85:
30	sh(1) is the default shell in the release media.
31
3268ad2b0d7af2:
33	ncurses has been updated to 6.6
34
3552d19df19ed6:
36	nvi(1) has been update to 2.2.2
37
384d5c434ed16e, 2cfca8e710f2:
39	diff3(1) has replaced GNU diff3 and is now fully compatible.
40
41625dc44832cd:
42	tr(1) is now UTF-8 compliant.
43
4462fba0054d9e:
45	ee(1) is now UTF-8 compliant.
46
475df6aca10906:
48	ed(1) is now UTF-8 compliant.
49
5028ff4d35f8b9:
51	Update libedit to 2026-04-03.
52
53b42e852e89cb:
54	Add a new pkg-serve(8) to serve packages over TCP via inetd.
55
568b9775912cbc, 53b4ae3bf0f7:
57	Add support for an NFSv4 root file system.
58	Note that NFSv3 is still used for bootstrapping. See
59	"Diskless Operation with PXE" under "Advanced Networking" in the
60	FreeBSD Handbook.  To configure an NFSv4 root fs, you will need
61	a line in /boot/loader.conf like boot.nfsroot.options="nfsv4" and
62	either a line in /etc/sysctl.conf like vfs.nfs.enable_uidtostring=1
63	or an additional line in /boot/loader.conf like
64	boot.nfsroot.user_domain="<user-domain>",
65	if you are running nfsuserd(8).
66
67ab9257599a5:
68	The src.conf(5) options WITHOUT_BZIP2 and WITHOUT_BZIP2_SUPPORT
69	have been removed.
70
71af099eaa5ec:
72	Users belonging to the new vmm group can now create bhyve VMs.  See the
73	vmm(4) man page for details.
74
75c71354030a2:
76	Users wishing to use bhyve PCI passthrough in jails must create the
77	jail with the allow.vmm_ppt option configured.
78
794d707825bf62:
80	The pdwait(2) system call was added.  It provides wait(2)-like
81	functionality for a process descriptor (see procdesc(4)).
82
835c2ee618d5ec:
84	The pdrfork(2) system call was added.  It behaves like rfork(2) but
85	additionally returns a process descriptor (see procdesc(4)).
86
8741ccf82b29f3, 591c7a08bf8a:
88	On arm64, memcpy(3), memmove(3) and memset(3) are now implemented using
89	the MOPS (Memory Operations) feature instructions when they are
90	implemented by the system.
91
923f0aea09689f:
93	posix_spawnattr_getexecfd_np(3) and posix_spawnattr_setexecfd_np(3)
94	functions were added to libc.  The latter causes posix_spawn(3) to
95	call fexecve(2) on the specified file descriptor rather than executing
96	the file at the provided path.
97
98fb4b0c911951:
99	witness(4) now prints additional information to the system console when
100	a lock order reversal is detected, making debugging such issues easier.
101
1021322760fd127:
103	It is now possible to compile both the 4BSD and ULE schedulers into the
104	same kernel.  The scheduler is selectable at boot-time using a tunable.
105	See the SCHEDULERS section of the tuning(7) man page for details.
106
107627e126dbb07:
108	The default value of the net.inet6.ip6.connect_in6addr_wild has changed
109	to 0.  This means that connecting to the all-zeroes IPv6 address no longer
110	implicitly results in a loopback connection.
111
112afa70a8496e9:
113	The pthread_tryjoin_np(3) function was added to libthr(3).  It provides
114	the same functionality as pthread_join(3) but returns instead of
115	blocking if the target thread has not yet exited.
116
117ecc039be7fdd:
118	NanoBSD images can now be built as a non-root user.
119
1207f54c65abc67:
121        Update smartpqi(4) to vendor version 14.4690.0.2008 - 15.2.0.2008
122        for the SmartArray storage controllers.  This adds support for new
123        controllers, adds code that utilizes the new BIG_IOCTL_Command_struct
124        and allows the I/O buffer size for a single passthrough ioctl to be
125        stored as a 32 bit integer instead of the original 16 bit integer.
126
127b0d997095022:
128	The pf firewall now supports passing IPv6 packets to divert(4)
129	sockets via divert-to actions.
130
1310fa7b3bee72e, c71f18998e0b, 4162a419a475, f5a77dc8f8df:
132	LinuxKPI based wireless drivers, especially iwlwifi(4) are now
133	supported on RISC-V.
134
1358254b0dec02b3, bd55cbb50c588:
136	The mac(4) framework has been extended to support jail operations,
137	allowing a policy to constrain jail creation, modification, removal, and
138	attachment.  Jails have additionally been made a first-class mac(4)
139	object, and a mac.label jail(8) property has been added to facilitate
140	administration of their labels.
141
142c558eca47970:
143	The smartpqi(4) driver was updated to vendor version 4660.0.2002
144	for the SmartArry storage controllers.
145
146493d26c58e73:
147	The aq(4) driver was added, imported from the vendor repository.
148	This provides support for Aquantia / Marvell PCIe 1/2.5/5/10 Gigabit
149	Ethernet adapters (AQC107, AQC108, AQC109, AQC111, AQC112).
150
1511a7151f79664:
152	A new CAM provider was added to dtrace.  This enables tracing of I/O
153	requests through the CAM layer without relying on fragile function
154	boundary tracing.  See dtrace_cam(4) for details.
155
156b8c99e7d912f:
157	The tdestroy(3) function was added to libc.  The tdestroy() function
158	destroys a whole search tree, freeing all allocated nodes.
159
1604bf8ce037dc8:
161	The rge(4) driver was added, ported from OpenBSD.  This provides
162	support for RealTek RTL8125, RTL8126 and RTL8127 PCIe Ethernet
163	controllers.
164
165cbc6f7e941e4:
166	bhyve(8)'s VNC device can now listen on a unix(4) socket for VNC client
167	connections.
168
16939ee24182b92:
170	An rc(8) service can now be started as a specific user for auditing
171	purposes by setting the <service>_audit_user rc.conf(5) variable.
172
173dcb0790bad43:
174	A setaudit(8) utility was added to the base system.  This provides a
175	simple command-line wrapper for the setaudit(2) and setaudit_addr(2)
176	system calls.
177
1788e3fd450cc53, 949cff4dceff, 0e724de9ed6f, 9f49f436a9ec, e35191ccf3b3:
179	Add support for an extension to NFSv4.2 (RFCnnnn) that
180	supports handling of POSIX draft ACLs via getfacl(1)/setfacl(1).
181
182dbac191956f9, fe21dbf70aa8:
183	Support for the kcmp(2) system call and fcntl(F_DUPFD_QUERY) for Linux
184	binaries.
185
186a86dc94b84d1:
187	tzdata2025c was imported.
188
189a98e5d785001:
190	Add strdupa(3) and strndupa(3) macros for compatability with glibc.
191
192e967a2a03677:
193	divert socket compat removal, consumers must use PF_DIVERT instead of
194	PF_INET.
195
1964453ec5b8716b, 2a3b1641756a:
197	The reboot(8) and halt(8) commands now perform a graceful shutdown similar
198	to the shutdown(8) command including invoking rc.d scripts to shutdown
199	services.  The fastboot(8) and fasthalt(8) commands still perform a "fast"
200	reboot or shutdown.
201
202d9788eabffa4:
203	ipfilter cannot be used in a jail by default.
204
2050ff0c19e7f70:
206	ipfs(8) is no longer built by default.
207
208575efcfff22f:
209	sendfile(2)'s SF_SYNC flag was removed.
210
211057dae35ffc6, 51a01f3debff, ca3e47b0ea68:
212	hwpmc(4) support for Intel Alder Lake 6-B7, 6-BA, and 6-BF CPU
213	hwpmc(4) support for Intel Emerald Rapids CPUs
214	hwpmc(4) support for Intel Alder Lake-N CPUs
215
2161ecf01065b45:
217	New library libuvmem provides the vmem(9) API to userspace applications.
218
219b6cad334e64:
220	Make game controller devices accessible by members of the "game" group
221	by default.
222
223791c531402bd:
224	Add driver for Feature Integration Technology Inc. (aka Fintek) F81232
225	USB to serial devices.
226
227ec0cd287f55f:
228	Support for NVMe/TCP offload on Chelsio T7 adapters.  The nvmf_che(4)
229	module enables T7 adapters to process NVMe/TCP PDUs directly similar to
230	the PDU offload provided by cxgbei(4) for iSCSI.
231