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