]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - RELNOTES
bhyve: validate e82545 checksum offset field
[FreeBSD/FreeBSD.git] / RELNOTES
1 Release notes for FreeBSD 13.0.
2
3 This file describes new user-visible features, changes and updates relevant to
4 users of binary FreeBSD releases.  Each entry should describe the change in no
5 more than several sentences and should reference manual pages where an
6 interested user can find more information.  Entries should wrap after 80
7 columns.  Each entry should begin with one or more commit IDs on one line,
8 specified as a comma separated list and/or range, followed by a colon and a
9 newline.  Entries should be separated by a newline.
10
11 Changes to this file should not be MFCed.
12
13 3ee882bf21af:
14         Change handling of the lowest address on an IPv4 (sub)net so that
15         packets are not sent as a broadcast unless this has been set as the 
16         broadcast address.  This makes the lowest address usable for a host.
17         The old behavior can be restored with the net.inet.ip.broadcast_lowest
18         sysctl.  For more information, see
19         https://datatracker.ietf.org/doc/draft-schoen-intarea-lowest-address/.
20
21 33ff39796ffe,8719e8a951b7:
22         A new rc(8) service script zfskeys allows for automatic decryption
23         of ZFS datasets encrypted with ZFS native encryption during boot.
24         See the rc.conf(5) manual page for more information.
25
26 b7a2cf0d9102 - eae02d959363:
27         Upgrade bhyve's emulation to version 1.4 of the NVMe specification
28
29 0a6760a1de32, 3f3676a71266, 580c04df4db6:
30         Add WiFi 6 support.
31
32 various:
33         Add support for the HiFive Unmatched RISC-V board.
34
35 9fb6e613373c:
36         Add a sysctl called vfs.nfsd.srvmaxio that can be used to
37         increase the NFS server's maximum I/O size from 128Kbytes
38         to any power of 2 up to 1Mbyte.  It can only be set when
39         the nfsd threads are not running and will normally require
40         an increase in kern.ipc.maxsockbuf to at least the value
41         recommended by the console log message generated when
42         setting vfs.nfsd.srvmaxio is first attempted.
43
44 9ec7dbf46b0a:
45         Add a new NFSv4.1/4.2 mount option "nconnect" that can
46         be used to specify the number of TCP connections that
47         will be used for the mount, up to a maximum of 16.
48         The first (default) TCP connection will be used for
49         all RPCs that consist of small RPC messages.
50         The RPCs that can consist of large RPC messages
51         (Read/Readdir/ReaddirPlus/Write) will be sent on the
52         additional TCP connections in a round robin fashion.
53         If either the NFS client or NFS server have multiple
54         network interfaces aggregated together or a network
55         interface that uses multiple queues, this can increase
56         NFS performance for the mount.
57
58 various:
59         One True Awk has been updated to the latest from upstream
60         (20210215). All the FreeBSD patches, but one, have now been
61         either up streamed or discarded.  Notable changes include:
62                 o Locale is no longer used for ranges
63                 o Various bugs fixed
64                 o Better compatibility with gawk and mawk
65
66         The one FreeBSD change, likely to be removed in FreeBSD 14, is that
67         we still allow hex numbers, prefixed with 0x, to be parsed and
68         interpreted as hex numbers while all other awks (including one
69         true awk now) interpret them as 0 in line with awk's historic
70         behavior.
71
72 8a04edfdcbd2:
73         Change the default minor version used for an NFSv4 mount
74         to the highest minor version supported by the NFSv4 server.
75         This default can be overridden by using the "minorversion"
76         mount option.
77
78 2c76eebca71b, 59f6f5e23c1a:
79         Add two daemons rpc.tlsclntd(8) and rpc.tlsservd(8) that provide
80         support for NFS-over-TLS as described in the Internet Draft titled
81         "Towards Remote Procedure Call Encryption By Default".
82         These daemons are only built when WITH_OPENSSL_KTLS is specified
83         and are only tested on amd64 at this time.
84         They use KTLS to encrypt/decrypt all NFS RPC message traffic, plus
85         optional verification of machine identity via X.509 certificates.
86
87 f76393a6305b6:
88         Add AES-GCM support to armv8crypto(4) providing accelerated
89         support for KTLS, IPsec, and other crypto API consumers.
90
91 074a91f746bd:
92         The aesni(4) and armv8crypto(4) devices are now included in
93         GENERIC on amd64, i386, and arm64.
94
95 2e1c94aa1fd5:
96         Add support for enforcing W^X mapping policy for user
97         processes.  The policy is not enforced by default but can be
98         enabled by setting the kern.elf32.allow_wx and
99         kern.elf64.allow_wx sysctls to 0.  Individual binaries can be
100         exempted from the policy by elfctl(1) via the wxneeded
101         feature.
102
103 4979620ece98:
104         Add AES-XTS support to armv8crypto(4) providing accelerated
105         software support for the default GELI cipher on arm64 systems.
106
107 022ca2fc7fe0:
108         Add aio_writev(2) and aio_readv(2), vectored analogues of aio_write(2)
109         and aio_read(2).
110
111 92bbfe1f0d1f:
112         The fusefs(5) protocol has been updated to 7.28.  Support for
113         FUSE_COPY_FILE_RANGE and FUSE_LSEEK is added.
114
115 r368667:
116         GDB 6.1.1 was removed.  Users of crashinfo(8) should install the
117         gdb package or devel/gdb port.
118
119 r368559:
120         The hme(4) driver was removed.
121
122 r367660:
123         Fixes the case where gssd will not startup because /usr is a separate
124         local file system that is not yet mounted.  It does not fix the case
125         where /usr is a separately mounted remote file system (such as NFS).
126         This latter case can be fixed by adding mountcritremote to the
127         REQUIRED line.  Unfortunately doing so implies that all Kerberized
128         NFS mounts in /etc/fstab will need the "late" mount option.
129         This was not done, since the requirement for "late" would introduce
130         a POLA violation.
131
132 r367423:
133         This commit added a new startup scripts variable called
134         nfsv4_server_only which uses the -R option on mountd added by r367026.
135         When nfsv4_server_only is set to "YES" in /etc/rc.conf, the NFS server
136         only handles NFSv4 and does not register with rpcbind.  As such, rpcbind
137         does not need to be running.  Useful for sites which consider rpcbind a
138         security issue.
139
140 r366267:
141         Kernel option ACPI_DMAR was renamed to IOMMU.  amd64's IOMMU subsystem
142         was split out from amd64 DMAR support and is now generic, i.e., it can
143         be used by all architectures.
144
145 r364896:
146         A series of commits ending with r364896 added NFS over TLS
147         to the kernel.  This is believed to be compatible with
148         the Internet Draft titled "Towards Remote Procedure Call Encryption
149         By Default" (expected to soon become an RFC).
150         The mount_nfs(8) and exports(5) man pages describe the mount and
151         export option(s) related to NFS over TLS.
152         For NFS over TLS to work, the rpctlscd(8) { client } or rpctlssd(8)
153         { server } must be running on a kernel built with "options KERN_TLS"
154         on an architecture where PMAP_HAS_DMAP != 0.
155
156 r364725:
157         Changes to one obscure devd event generated on resume need to
158         be documented. The old form will still be generated in 13, but not
159         in 14.
160
161 r363679:
162         Applications using regex(3), e.g. sed/grep, will no longer accept
163         redundant escapes for most ordinary characters.
164
165 r363253:
166         SCTP support has been removed from GENERIC kernel configurations.
167         The SCTP stack is now built as sctp.ko and can be dynamically loaded.
168
169 r363233:
170         Merge sendmail 8.16.1: See contrib/sendmail/RELEASE_NOTES for details.
171
172 r363180:
173         The safexcel(4) crypto offload driver has been added.
174
175 r363084:
176         nc(1) now implements SCTP mode, enabled by specifying the --sctp option.
177
178 r362681:
179         A new implementation of bc and dc has been imported. It offers
180         better standards compliance, performance, localization and comes
181         with extensive test cases that are optionally installed.
182         Use WITHOUT_GH_BC=yes to build and install the world with the
183         previous version instead of the new one, if required.
184
185 r362158, r362163:
186         struct export_args has changed so that the "user" specified for
187         the -maproot and -mapall exports(5) options may be in more than
188         16 groups.
189
190 r361884:
191         sed(1) has learned about hex escapes (e.g. \x27) and will now do the
192         right thing with them, removing the need for printf magic or obnoxious
193         escaping in many scenarios.
194
195 r361238, r361798, r361799:
196         ZFS will now unconditionally reject read(2) of a directory with EISDIR.
197         Additionally, read(2) of a directory is now rejected with EISDIR by
198         default and may be re-enabled for non-ZFS filesystems that allow it with
199         the sysctl(8) MIB 'security.bsd.allow_read_dir'.
200
201         Aliases for grep to default to '-d skip' may be desired if commonly
202         non-recursively grepping a list that includes directories and the
203         possibility of EISDIR errors in stderr is not tolerable.  Example
204         aliases, commented out, have been installed in /root/.cshrc and
205         /root/.shrc.
206
207 r361066:
208         Add exec.prepare and exec.release hooks for jail(8) and jail.conf(5).
209         exec.prepare runs before mounts, so can be used to populate new jails.
210         exec.release runs after unmounts, so can be used to remove ephemeral
211         jails.
212
213 r360920,r360923,r360924,r360927,r360928,r360931,r360933,r360936:
214         Remove support for ARC4, Blowfish, Cast, DES, Triple DES, MD5,
215         MD5-KPDK, MD5-HMAC, SHA1-KPDK, and Skipjack algorithms from
216         the kernel open cryptographic framework (OCF).
217
218 r360562:
219         Remove support for ARC4, Blowfish, Cast, DES, Triple DES,
220         MD5-HMAC, and Skipjack algorithms from /dev/crypto.
221
222 r360557:
223         Remove support for DES, Triple DES, Blowfish, Cast, and
224         Camellia ciphers from IPsec(4).  Remove support for MD5-HMAC,
225         Keyed MD5, Keyed SHA1, and RIPEMD160-HMAC from IPsec(4).
226
227 r359945:
228         Remove support for Triple DES, Blowfish, and MD5 HMAC from
229         geli(4).
230
231 r359786-r359787:
232         Remove support for DES, Triple DES, and RC4 from in-kernel GSS
233         authentication.
234
235 r357627:
236         remove elf2aout.
237
238 r357560-r357565:
239         init(8), service(8), and cron(8) will now adopt user/class environment
240         variables (excluding PATH, by default, which will be overwritten) by
241         default.  Notably, environment variables for all cron jobs and rc
242         services can now be set via login.conf(5).
243
244 r357455:
245         sparc64 has been removed from FreeBSD.
246
247 r355677:
248         Adds support for NFSv4.2 (RFC-7862) and Extended Attributes
249         (RFC-8276) to the NFS client and server.
250         NFSv4.2 is comprised of several optional features that can be supported
251         in addition to NFSv4.1. This patch adds the following optional features:
252         - posix_fadvise(POSIX_FADV_WILLNEED/POSIX_FADV_DONTNEED)
253         - posix_fallocate()
254         - intra server file range copying via the copy_file_range(2) syscall
255         --> Avoiding data tranfer over the wire to/from the NFS client.
256         - lseek(SEEK_DATA/SEEK_HOLE)
257         - Extended attribute syscalls for "user" namespace attributes as defined
258           by RFC-8276.
259         
260         For the client, NFSv4.2 is only used if the mount command line option
261         minorversion=2 is specified.
262         For the server, two new sysctls called vfs.nfsd.server_min_minorversion4
263         and vfs.nfsd.server_max_minorversion4 have been added that allow
264         sysadmins to limit the minor versions of NFSv4 supported by the nfsd
265         server.
266         Setting vfs.nfsd.server_max_minorversion4 to 0 or 1 will disable NFSv4.2
267         on the server.
268
269 r356263:
270         armv5 support has been removed from FreeBSD.
271
272 r354517:
273         iwm(4) now supports most Intel 9260, 9460 and 9560 Wi-Fi devices.
274
275 r354269:
276         sqlite3 is updated to sqlite3-3.30.1.
277
278 r352668:
279         cron(8) now supports the -n (suppress mail on succesful run) and -q
280         (suppress logging of command execution) options in the crontab format.
281         See the crontab(5) manpage for details.
282
283 r352304:
284         ntpd is no longer by default locked in memory. rlimit memlock 32
285         or rlimit memlock 0 can be used to restore this behaviour.
286
287 r351863:
288         rc.subr(8) now honors ${name}_env in all rc(8) scripts.  Previously,
289         environment variables set by a user via ${name}_env were ignored
290         if the service defined a custom *_cmd variable to control the behavior
291         of the run_rc_command function, e.g., start_cmd, instead of relying on
292         the variables like command and command_args,
293
294 r351770,r352920,r352922,r352923:
295         dd(1) now supports conv=fsync, conv=fdatasync, oflag=fsync, oflag=sync,
296         and iflag=fullblock flags, compatible with illumos and GNU.
297
298 r351522:
299         Add kernel-side support for in-kernel Transport Layer Security
300         (KTLS).  KTLS permits using sendfile(2) over sockets using
301         TLS.
302
303 r351397:
304         WPA is updated from 2.8 to 2.9.
305
306 r351361:
307         Add probes for lockmgr(9) to the lockstat DTrace provider, add
308         corresponding lockstat(1) events, and document the new probes in
309         dtrace_lockstat.4.
310
311 r351356:
312         Intel RST is a new 'feature' that remaps NVMe devices from
313         their normal location to part of the AHCI bar space.  This
314         will eliminate the need to set the BIOS SATA setting from RST
315         to AHCI causing the nvme drive to be erased before FreeBSD
316         will see the nvme drive. FreeBSD will now be able to see the
317         nvme drive now in the default config.
318
319 r351201, r351372:
320         Add a vop_stdioctl() call, so that file systems that do not support
321         holes will have a trivial implementation of lseek(SEEK_DATA/SEEK_HOLE).
322         The algorithm appears to be compatible with the POSIX draft and
323         the implementation in Linux for the case of a file system that
324         does not support holes.  Prior to this patch, lseek(2) would reply
325         -1 with errno set to ENOTTY for SEEK_DATA/SEEK_HOLE on files in
326         file systems that do not support holes.
327         r351372 maps ENOTTY to EINVAL for lseek(SEEK_DATA/SEEK_HOLE) for
328         any other cases, such as a ENOTTY return from vn_bmap_seekhole().
329
330 r350665:
331         The fuse driver has been renamed to fusefs(5) and been substantially
332         rewritten.  The new driver includes many bug fixes and performance
333         enhancements, as well as the following user-visible features:
334         * Optional kernel-side permissions checks (-o default_permissions)
335         * mknod(2), socket(2), and pipe(2) support
336         * server side locking with fcntl(2)
337         * FUSE operations are now interruptible when mounted with -o intr
338         * server side handling of UTIME_NOW during utimensat(2)
339         * mount options may be updated with "mount -u"
340         * fusefs file system may now be exported over NFS
341         * RLIMIT_FSIZE support
342         * support for fuse file systems using protocols as old as 7.4
343         
344         FUSE file system developers should also take note of the following new
345         features:
346         * The protocol level has been raised from 7.8 to 7.23
347         * kqueue support on /dev/fuse
348         * server-initiated cache invalidation via FUSE_NOTIFY_REPLY
349
350 r350471:
351         gnop(8) can now configure a delay to be applied to read and write
352         request delays.  See the -d, -q and -x parameters.
353
354 r350315, r350316:
355         Adds a Linux compatible copy_file_range(2) syscall.
356
357 r350307:
358         libcap_random(3) has been removed.  Applications can use native
359         APIs to get random data in capability mode.
360
361 r349529,r349530:
362         Add support for using unmapped mbufs with sendfile(2).
363
364 r349352:
365         nand(4) and related components have been removed.
366
367 r349349:
368         The UEFI loader now supports HTTP boot.
369
370 r349335:
371         bhyve(8) now implements a High Definition Audio (HDA) driver, allowing
372         guests to play to and record audio data from the host.
373
374 r349286:
375         swapon(8) can now erase a swap device immediately before enabling it,
376         similar to newfs(8)'s -E option.  This behaviour can be specified by
377         adding -E to swapon(8)'s command-line parameters, or by adding the
378         "trimonce" option to a swap device's /etc/fstab entry.
379
380 r347908-r347923:
381         The following network drivers have been removed: bm(4), cs(4), de(4),
382         ed(4), ep(4), ex(4), fe(4), pcn(4), sf(4), sn(4), tl(4), tx(4), txp(4),
383         vx(4), wb(4), xe(4).
384
385 r347532:
386         Wired page accounting has been split into kernel wirings and user
387         wirings (e.g., by mlock(2)).  Kernel wirings no long count towards
388         the global limit, which is renamed to vm.max_user_wired.  bhyve -S
389         allocates user-wired memory and is now subject to that limit.
390
391 $FreeBSD$