]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - UPDATING
Fix improper checking in SCTP-AUTH shared key update.
[FreeBSD/FreeBSD.git] / UPDATING
1 Updating Information for FreeBSD current users.
2
3 This file is maintained and copyrighted by M. Warner Losh <imp@freebsd.org>.
4 See end of file for further details.  For commonly done items, please see the
5 COMMON ITEMS: section later in the file.  These instructions assume that you
6 basically know what you are doing.  If not, then please consult the FreeBSD
7 handbook:
8
9     https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html
10
11 Items affecting the ports and packages system can be found in
12 /usr/ports/UPDATING.  Please read that file before running portupgrade.
13
14 NOTE: FreeBSD has switched from gcc to clang. If you have trouble bootstrapping
15 from older versions of FreeBSD, try WITHOUT_CLANG and WITH_GCC to bootstrap to
16 the tip of head, and then rebuild without this option. The bootstrap process
17 from older version of current across the gcc/clang cutover is a bit fragile.
18
19 20200421        p8      FreeBSD-EN-20:07.quotad
20                         FreeBSD-SA-20:10.ipfw
21
22         Fix regression in rpc.rquotad with certain NFS servers [EN-20:07.quotad]
23
24         Fix ipfw invalid mbuf handling [SA-20:10.ipfw]
25
26 20200319        p7      FreeBSD-EN-20:04.pfctl
27                         FreeBSD-EN-20:06.ipv6
28                         FreeBSD-SA-20:04.tcp
29                         FreeBSD-SA-20:05.if_oce_ioctl
30                         FreeBSD-SA-20:07.epair
31                         FreeBSD-SA-20:08.jail
32                         FreeBSD-SA-20:09.ntp
33
34         Fix missing pfctl(8) tunable [EN-20:04.pfctl]
35
36         Fix incorrect checksum calculations with IPv6 extension headers [EN-20:06.ipv6]
37
38         Fix TCP IPv6 SYN cache kernel information disclosure [SA-20:04.tcp]
39
40         Fix insufficient oce(4) ioctl(2) privilege checking [SA-20:05.if_oce_ioctl]
41
42         Fix incorrect user-controlled pointer use in epair [SA-20:07.epair]
43
44         Fix kernel memory disclosure with nested jails [SA-20:08.jail]
45
46         Fix multiple denial of service in ntpd [SA-20:09.ntp]
47
48 20200128        p6      FreeBSD-EN-20:01.ssp
49                         FreeBSD-EN-20:02.nmount
50                         FreeBSD-SA-20:01.libfetch
51                         FreeBSD-SA-20:03.thrmisc
52
53         Fix imprecise ordering of SSP canary initialization [EN-20:01.ssp]
54         
55         Fix nmount invalid pointer dereference [EN-20:02.nmount]
56         
57         Fix libfetch buffer overflow [SA-20:01.libfetch]
58
59         Fix kernel stack data disclosure [SA-20:03.thrmisc]
60         
61 20191112        p5      FreeBSD-SA-19:25.mcepsc
62
63         Fix Machine Check Exception on Page Size Change [SA-19:25.mcepsc]
64         
65 20191023        p4      FreeBSD-EN-19:18.tzdata
66
67         Import tzdata 2019c. [EN-19:18.tzdata]
68         
69 20190820        p3      FreeBSD-EN-19:16.bhyve
70                         FreeBSD-EN-19:17.ipfw
71                         FreeBSD-SA-19:22.mbuf
72                         FreeBSD-SA-19:23.midi
73                         FreeBSD-SA-19:24.mqueuefs
74
75         Bhyve instruction emulation improvements (opcode 03H and F7H).
76                                                 [EN-19:16.bhyve]
77
78         Fix ipfw(8) jail keyword prior to jail startup. [EN-19:17.ipfw]
79
80         Fix IPv6 remote denial of service. [SA-19:22.mbuf]
81
82         Fix kernel memory disclosure from /dev/midistat. [SA-19:23.midi]
83
84         Fix reference count overflow in mqueuefs. [SA-19:24.mqueuefs]
85
86 20190806        p2      FreeBSD-SA-19:18.bzip2
87                         FreeBSD-SA-19:19.mldv2
88                         FreeBSD-SA-19:20.bsnmp
89                         FreeBSD-SA-19:21.bhyve
90
91         Fix multiple vulnerabilities in bzip2. [SA-19:18.bzip2]
92
93         Fix ICMPv6 / MLDv2 out-of-bounds memory access. [SA-19:19.mldv2]
94
95         Fix insufficient message length validation in bsnmp library.
96                                                 [SA-19:20.bsnmp]
97
98         Fix insufficient validation of guest-supplied data (e1000 device).
99                                                 [SA-19:21.bhyve]
100
101 20190724        p1      FreeBSD-EN-19:13.mds
102                         FreeBSD-SA-19:12.telnet
103                         FreeBSD-SA-19:13.pts
104                         FreeBSD-SA-19:14.freebsd32
105                         FreeBSD-SA-19:15.mqueuefs
106                         FreeBSD-SA-19:16.bhyve
107                         FreeBSD-SA-19:17.fd
108
109         Fix panic from Intel CPU vulnerability mitigation. [EN-19:13.mds]
110
111         Fix multiple telnet client vulnerabilities. [SA-19:12.telnet]
112
113         Fix pts write-after-free. [SA-19:13.pts]
114
115         Fix kernel memory disclosure in freebsd32_ioctl. [SA-19:14.freebsd32]
116
117         Fix reference count overflow in mqueuefs. [SA-19:15.mqueuefs]
118
119         Fix byhve out-of-bounds read in XHCI device. [SA-19:16.bhyve]
120
121         Fix file descriptor reference count leak. [SA-19:17.fd]
122
123 20190709:
124         11.3-RELEASE.
125
126 20190702                FreeBSD-EN-19:12.tzdata
127                         FreeBSD-SA-19:09.iconv
128                         FreeBSD-SA-19:11.cd_ioctl
129
130         Import tzdata 2019b. [EN-19:12.tzdata]
131
132         Fix iconv buffer overflow. [SA-19:09.iconv]
133
134         Fix privilege escalation in cd(4) driver. [SA-19:11.cd_ioctl]
135
136 20190426:
137         CARP now sets DSCP value CS7(Network Traffic) in the flowlabel field
138         of packets by default instead of only setting TOS_LOWDELAY in IPv4,
139         which was deprecated in 1998.  Original behavior can be restored by
140         setting sysctl net.inet.carp.dscp=4.
141
142 20190416:
143         Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to
144         8.0.0.  Please see the 20141231 entry below for information about
145         prerequisites and upgrading, if you are not already using clang 3.5.0
146         or higher.
147
148 20190226:
149         geom_uzip(4) depends on the new module xz.  If geom_uzip is statically
150         compiled into your custom kernel, add 'device xz' statement to the
151         kernel config.
152
153 20190220:
154         Co-existance for Forth and Lua interpreters in bootloaders has now been
155         merged to ease testing of lualoader.  LOADER_DEFAULT_INTERP, documented
156         in build(7), may be used to control which interpreter flavor is used in
157         the default loader to be installed.  For systems where Lua and Forth
158         coexist, this switch can also be made on a running system by creating a
159         link from /boot/loader{,.efi} to /boot/loader_${flavor}{,.efi} rather
160         than requiring a rebuild.
161
162         The default flavor in this branch will remain Forth.  As indicated in
163         the 20190216 UPDATING entry, booting is a complex environment; it would
164         be prudent to assume that lualoader may not work for your setup and make
165         provisions for backup boot methods.
166
167 20190220:
168         zfsloader's functionality has now been folded into loader.
169         zfsloader is no longer necesasary once you've updated your
170         boot blocks. For a transition period, we will install a
171         hardlink for zfsloader to loader to allow a smooth transition
172         until the boot blocks can be updated (hard link because old
173         zfs boot blocks don't understand symlinks).
174
175 20190216:
176         Lualoader has been merged to facilitate testing on this branch.  It's
177         purely opt-in for now by building WITH_LOADER_LUA and WITHOUT_FORTH in
178         /etc/src.conf, but co-existance will come shortly.  Booting is a complex
179         environment and test coverage for Lua-enabled loaders has been thin, so
180         it would be prudent to assume it might not work and make provisions for
181         backup boot methods.
182
183 20190216:
184         Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to
185         7.0.1.  Please see the 20141231 entry below for information about
186         prerequisites and upgrading, if you are not already using clang 3.5.0
187         or higher.
188
189 20181228:
190         r342562 modifies the NFSv4 server so that it obeys vfs.nfsd.nfs_privport
191         in the same as it is applied to NFSv2 and 3.  This implies that NFSv4
192         servers that have vfs.nfsd.nfs_privport set will only allow mounts
193         from clients using a reserved port#. Since both the FreeBSD and Linux
194         NFSv4 clients use reserved port#s by default, this should not affect
195         most NFSv4 mounts.
196
197 20181107:
198         The '%I' format in the kern.corefile sysctl limits the number of
199         core files that a process can generate to the number stored in the
200         debug.ncores sysctl. The '%I' format is replaced by the single digit
201         index. Previously, if all indexes were taken the kernel would overwrite
202         only a core file with the highest index in a filename.
203         Currently the system will create a new core file if there is a free
204         index or if all slots are taken it will overwrite the oldest one.
205
206 20180818:
207         WITH_OFED option now only enables the build for the OFED libraries
208         and some fundamental client utilities.  OpenSM and rest of the
209         debugging tools are enabled by WITH_OFED_EXTRA build switch.
210         WITH_OFED is turned on by default on amd64.
211
212 20180714:
213         Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to
214         6.0.1.  Please see the 20141231 entry below for information about
215         prerequisites and upgrading, if you are not already using clang 3.5.0
216         or higher.
217
218 20180601:
219         The releng/11.2 branch has been created from stable/11@r334458.
220
221 20180504:
222         The tz database (tzdb) has been updated to 2018e.  This version more
223         correctly models time stamps in time zones with negative DST such as
224         Europe/Dublin (from 1971 on), Europe/Prague (1946/7), and
225         Africa/Windhoek (1994/2017).  This does not affect the UT offsets, only
226         time zone abbreviations and the tm_isdst flag.
227
228 20180409:
229         The use of RSS hash from the network card aka flowid has been
230         disabled by default for lagg(4) as it's currently incompatible with
231         the lacp and loadbalance protocols.
232
233         This can be re-enabled by setting the following in loader.conf:
234         net.link.lagg.default_use_flowid="1"
235
236 20180331:
237         Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to
238         6.0.0.  Please see the 20141231 entry below for information about
239         prerequisites and upgrading, if you are not already using clang 3.5.0
240         or higher.
241
242 20180211:
243         The LOADER_FIREWIRE_SUPPORT build variable as been renamed to
244         WITH/OUT_LOADER_FIREWIRE. LOADER_{NO_,}GELI_SUPPORT has been renamed
245         to WITH/OUT_LOADER_GELI.
246
247 20180210:
248         The geli password typed at boot is now hidden.  To restore the previous
249         behavior, see geli(8) for configuration options.
250
251         The SW_WATCHDOG option is no longer necessary to enable the
252         hardclock-based software watchdog if no hardware watchdog is
253         configured. As before, SW_WATCHDOG will cause the software
254         watchdog to be enabled even if a hardware watchdog is configured.
255
256 20180108:
257         lint(1) binaries and library are no longer built by default.  To
258         enable building them, define WITH_LINT in src.conf.  If you are using
259         a FreeBSD 12 or later system to build 11-stable, you may need to
260         install a lint(1) binary to use WITH_LINT.
261
262 20171003:
263         When building multiple kernels using KERNCONF, non-existent KERNCONF
264         files will produce an error and buildkernel will fail. Previously
265         missing KERNCONF files silently failed giving no indication as to
266         why, only to subsequently discover during installkernel that the
267         desired kernel was never built in the first place.
268
269 20170926:
270         Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 5.0.0.
271         Please see the 20141231 entry below for information about prerequisites
272         and upgrading, if you are not already using clang 3.5.0 or higher.
273
274 20170822:
275         Since the switch to GPT disk labels, fsck for UFS/FFS has been
276         unable to automatically find alternate superblocks. As of r322806,
277         the information needed to find alternate superblocks has been
278         moved to the end of the area reserved for the boot block.
279         Filesystems created with a newfs of this vintage or later
280         will create the recovery information. If you have a filesystem
281         created prior to this change and wish to have a recovery block
282         created for your filesystem, you can do so by running fsck in
283         forground mode (i.e., do not use the -p or -y options). As it
284         starts, fsck will ask ``SAVE DATA TO FIND ALTERNATE SUPERBLOCKS''
285         to which you should answer yes.
286
287 20170629:
288         The releng/11.1 branch has been created from stable/11@r320475.
289
290 20170518:
291         arm64 builds now use the base system LLD 4.0.0 linker by default,
292         instead of requiring that the aarch64-binutils port or package be
293         installed. To continue using aarch64-binutils, set
294         CROSS_BINUTILS_PREFIX=/usr/local/aarch64-freebsd/bin .
295
296 20170529:
297         The ctl.ko module no longer implements the iSCSI target frontend:
298         cfiscsi.ko does instead.
299
300         If building cfiscsi.ko as a kernel module, the module can be loaded
301         via one of the following methods:
302         - `cfiscsi_load="YES"` in loader.conf(5).
303         - Add `cfiscsi` to `$kld_list` in rc.conf(5).
304         - ctladm(8)/ctld(8), when compiled with iSCSI support
305           (`WITH_ISCSI=yes` in src.conf(5))
306
307         Please see cfiscsi(4) for more details.
308
309 20170511:
310         The mmcsd.ko module now additionally depends on geom_flashmap.ko.
311         Also, mmc.ko and mmcsd.ko need to be a matching pair built from the
312         same source (previously, the dependency of mmcsd.ko on mmc.ko was
313         missing, but mmcsd.ko now will refuse to load if it is incompatible
314         with mmc.ko).
315
316 20170414:
317         Binds and sends to the loopback addresses, IPv6 and IPv4, will now
318         use any explicitly assigned loopback address available in the jail
319         instead of using the first assigned address of the jail.
320
321 20170413:
322         As of r316810 for ipfilter, keep frags is no longer assumed when
323         keep state is specified in a rule. r316810 aligns ipfilter with
324         documentation in man pages separating keep frags from keep state.
325         This allows keep state to specified without forcing keep frags
326         and allows keep frags to be specified independently of keep state.
327         To maintain previous behaviour, also specify keep frags with
328         keep state (as documented in ipf.conf.5).
329
330 20170402:
331         Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 4.0.0.
332         Please see the 20141231 entry below for information about prerequisites
333         and upgrading, if you are not already using clang 3.5.0 or higher.
334
335 20170323:
336         The code that provides support for ZFS .zfs/ directory functionality
337         has been reimplemented.  It's not possible now to create a snapshot
338         by mkdir under .zfs/snapshot/.  That should be the only user visible
339         change.
340
341 20170319:
342         Many changes in the IPsec code have been merged from the FreeBSD-CURRENT
343         branch. The IPSEC_FILTERTUNNEL kernel option is removed in favour of
344         corresponding sysctl. The IPSEC_NAT_T kernel option is also removed,
345         and now NAT-T is supported by default. Security associations now use  
346         the single namespace for SPI allocation, so if you use several manually
347         configured security associations with the same SPI, this configuration
348         needs modification.
349
350 20161217:
351         Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.9.1.
352         Please see the 20141231 entry below for information about prerequisites
353         and upgrading, if you are not already using clang 3.5.0 or higher.
354
355 20161124:
356         Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.9.0.
357         Please see the 20141231 entry below for information about prerequisites
358         and upgrading, if you are not already using clang 3.5.0 or higher.
359
360 20161119:
361         The layout of the pmap structure has changed for powerpc to put the pmap
362         statistics at the front for all CPU variations.  libkvm(3) and all tools
363         that link against it need to be recompiled.
364
365 20161030:
366         isl(4) and cyapa(4) drivers now require a new driver,
367         chromebook_platform(4), to work properly on Chromebook-class hardware.
368         On other types of hardware the drivers may need to be configured using
369         device hints.  Please see the corresponding manual pages for details.
370
371 20161210:
372         Relocatable object files with the extension of .So have been renamed
373         to use an extension of .pico instead.  The purpose of this change is
374         to avoid a name clash with shared libraries on case-insensitive file
375         systems.  On those file systems, foo.So is the same file as foo.so.
376
377 20160811:
378         The releng/11.0 branch has been created from stable/11@r303970.
379
380 20160708:
381         The stable/11 branch has been created from head@r302406.
382
383 20160622:
384         The libc stub for the pipe(2) system call has been replaced with
385         a wrapper that calls the pipe2(2) system call and the pipe(2)
386         system call is now only implemented by the kernels that include
387         "options COMPAT_FREEBSD10" in their config file (this is the
388         default).  Users should ensure that this option is enabled in
389         their kernel or upgrade userspace to r302092 before upgrading their
390         kernel.
391
392 20160527:
393         CAM will now strip leading spaces from SCSI disks' serial numbers.
394         This will effect users who create UFS filesystems on SCSI disks using
395         those disk's diskid device nodes.  For example, if /etc/fstab
396         previously contained a line like
397         "/dev/diskid/DISK-%20%20%20%20%20%20%20ABCDEFG0123456", you should
398         change it to "/dev/diskid/DISK-ABCDEFG0123456".  Users of geom
399         transforms like gmirror may also be affected.  ZFS users should
400         generally be fine.
401
402 20160523:
403         The bitstring(3) API has been updated with new functionality and
404         improved performance.  But it is binary-incompatible with the old API.
405         Objects built with the new headers may not be linked against objects
406         built with the old headers.
407
408 20160520:
409         The brk and sbrk functions have been removed from libc on arm64.
410         Binutils from ports has been updated to not link to these
411         functions and should be updated to the latest version before
412         installing a new libc.
413
414 20160517:
415         The armv6 port now defaults to hard float ABI. Limited support
416         for running both hardfloat and soft float on the same system
417         is available using the libraries installed with -DWITH_LIBSOFT.
418         This has only been tested as an upgrade path for installworld
419         and packages may fail or need manual intervention to run. New
420         packages will be needed.
421
422         To update an existing self-hosted armv6hf system, you must add
423         TARGET_ARCH=armv6 on the make command line for both the build 
424         and the install steps.
425
426 20160510:
427         Kernel modules compiled outside of a kernel build now default to
428         installing to /boot/modules instead of /boot/kernel.  Many kernel
429         modules built this way (such as those in ports) already overrode
430         KMODDIR explicitly to install into /boot/modules.  However,
431         manually building and installing a module from /sys/modules will
432         now install to /boot/modules instead of /boot/kernel.
433
434 20160414:
435         The CAM I/O scheduler has been committed to the kernel. There should be
436         no user visible impact. This does enable NCQ Trim on ada SSDs. While the
437         list of known rogues that claim support for this but actually corrupt
438         data is believed to be complete, be on the lookout for data
439         corruption. The known rogue list is believed to be complete:
440
441                 o Crucial MX100, M550 drives with MU01 firmware.
442                 o Micron M510 and M550 drives with MU01 firmware.
443                 o Micron M500 prior to MU07 firmware
444                 o Samsung 830, 840, and 850 all firmwares
445                 o FCCT M500 all firmwares
446
447         Crucial has firmware http://www.crucial.com/usa/en/support-ssd-firmware
448         with working NCQ TRIM. For Micron branded drives, see your sales rep for
449         updated firmware. Black listed drives will work correctly because these
450         drives work correctly so long as no NCQ TRIMs are sent to them. Given
451         this list is the same as found in Linux, it's believed there are no
452         other rogues in the market place. All other models from the above
453         vendors work.
454
455         To be safe, if you are at all concerned, you can quirk each of your
456         drives to prevent NCQ from being sent by setting:
457                 kern.cam.ada.X.quirks="0x2"
458         in loader.conf. If the drive requires the 4k sector quirk, set the
459         quirks entry to 0x3.
460
461 20160330:
462         The FAST_DEPEND build option has been removed and its functionality is
463         now the one true way.  The old mkdep(1) style of 'make depend' has
464         been removed.  See 20160311 for further details.
465
466 20160317:
467         Resource range types have grown from unsigned long to uintmax_t.  All
468         drivers, and anything using libdevinfo, need to be recompiled.
469
470 20160311:
471         WITH_FAST_DEPEND is now enabled by default for in-tree and out-of-tree
472         builds.  It no longer runs mkdep(1) during 'make depend', and the
473         'make depend' stage can safely be skipped now as it is auto ran
474         when building 'make all' and will generate all SRCS and DPSRCS before
475         building anything else.  Dependencies are gathered at compile time with
476         -MF flags kept in separate .depend files per object file.  Users should
477         run 'make cleandepend' once if using -DNO_CLEAN to clean out older
478         stale .depend files.
479
480 20160306:
481         On amd64, clang 3.8.0 can now insert sections of type AMD64_UNWIND into
482         kernel modules.  Therefore, if you load any kernel modules at boot time,
483         please install the boot loaders after you install the kernel, but before
484         rebooting, e.g.:
485
486         make buildworld
487         make kernel KERNCONF=YOUR_KERNEL_HERE
488         make -C sys/boot install
489         <reboot in single user>
490
491         Then follow the usual steps, described in the General Notes section,
492         below.
493
494 20160305:
495         Clang, llvm, lldb and compiler-rt have been upgraded to 3.8.0.  Please
496         see the 20141231 entry below for information about prerequisites and
497         upgrading, if you are not already using clang 3.5.0 or higher.
498
499 20160301:
500         The AIO subsystem is now a standard part of the kernel.  The
501         VFS_AIO kernel option and aio.ko kernel module have been removed.
502         Due to stability concerns, asynchronous I/O requests are only
503         permitted on sockets and raw disks by default.  To enable
504         asynchronous I/O requests on all file types, set the
505         vfs.aio.enable_unsafe sysctl to a non-zero value.
506
507 20160226:
508         The ELF object manipulation tool objcopy is now provided by the
509         ELF Tool Chain project rather than by GNU binutils. It should be a
510         drop-in replacement, with the addition of arm64 support. The
511         (temporary) src.conf knob WITHOUT_ELFCOPY_AS_OBJCOPY knob may be set
512         to obtain the GNU version if necessary.
513
514 20160129:
515         Building ZFS pools on top of zvols is prohibited by default.  That
516         feature has never worked safely; it's always been prone to deadlocks.
517         Using a zvol as the backing store for a VM guest's virtual disk will
518         still work, even if the guest is using ZFS.  Legacy behavior can be
519         restored by setting vfs.zfs.vol.recursive=1.
520
521 20160119:
522         The NONE and HPN patches has been removed from OpenSSH.  They are
523         still available in the security/openssh-portable port.
524
525 20160113:
526         With the addition of ypldap(8), a new _ypldap user is now required
527         during installworld. "mergemaster -p" can be used to add the user
528         prior to installworld, as documented in the handbook.
529
530 20151216:
531         The tftp loader (pxeboot) now uses the option root-path directive. As a
532         consequence it no longer looks for a pxeboot.4th file on the tftp
533         server. Instead it uses the regular /boot infrastructure as with the
534         other loaders.
535
536 20151211:
537         The code to start recording plug and play data into the modules has
538         been committed. While the old tools will properly build a new kernel,
539         a number of warnings about "unknown metadata record 4" will be produced
540         for an older kldxref. To avoid such warnings, make sure to rebuild
541         the kernel toolchain (or world). Make sure that you have r292078 or
542         later when trying to build 292077 or later before rebuilding.
543
544 20151207:
545         Debug data files are now built by default with 'make buildworld' and
546         installed with 'make installworld'. This facilitates debugging but
547         requires more disk space both during the build and for the installed
548         world. Debug files may be disabled by setting WITHOUT_DEBUG_FILES=yes
549         in src.conf(5).
550
551 20151130:
552         r291527 changed the internal interface between the nfsd.ko and
553         nfscommon.ko modules. As such, they must both be upgraded to-gether.
554         __FreeBSD_version has been bumped because of this.
555
556 20151108:
557         Add support for unicode collation strings leads to a change of
558         order of files listed by ls(1) for example. To get back to the old
559         behaviour, set LC_COLLATE environment variable to "C".
560
561         Databases administrators will need to reindex their databases given
562         collation results will be different.
563
564         Due to a bug in install(1) it is recommended to remove the ancient
565         locales before running make installworld.
566
567         rm -rf /usr/share/locale/*
568
569 20151030:
570         The OpenSSL has been upgraded to 1.0.2d.  Any binaries requiring
571         libcrypto.so.7 or libssl.so.7 must be recompiled.
572
573 20151020:
574         Qlogic 24xx/25xx firmware images were updated from 5.5.0 to 7.3.0.
575         Kernel modules isp_2400_multi and isp_2500_multi were removed and
576         should be replaced with isp_2400 and isp_2500 modules respectively.
577
578 20151017:
579         The build previously allowed using 'make -n' to not recurse into
580         sub-directories while showing what commands would be executed, and
581         'make -n -n' to recursively show commands.  Now 'make -n' will recurse
582         and 'make -N' will not.
583
584 20151012:
585         If you specify SENDMAIL_MC or SENDMAIL_CF in make.conf, mergemaster
586         and etcupdate will now use this file. A custom sendmail.cf is now
587         updated via this mechanism rather than via installworld.  If you had
588         excluded sendmail.cf in mergemaster.rc or etcupdate.conf, you may
589         want to remove the exclusion or change it to "always install".
590         /etc/mail/sendmail.cf is now managed the same way regardless of
591         whether SENDMAIL_MC/SENDMAIL_CF is used.  If you are not using
592         SENDMAIL_MC/SENDMAIL_CF there should be no change in behavior.
593
594 20151011:
595         Compatibility shims for legacy ATA device names have been removed.
596         It includes ATA_STATIC_ID kernel option, kern.cam.ada.legacy_aliases
597         and kern.geom.raid.legacy_aliases loader tunables, kern.devalias.*
598         environment variables, /dev/ad* and /dev/ar* symbolic links.
599
600 20151006:
601         Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.7.0.
602         Please see the 20141231 entry below for information about prerequisites
603         and upgrading, if you are not already using clang 3.5.0 or higher.
604
605 20150924:
606         Kernel debug files have been moved to /usr/lib/debug/boot/kernel/,
607         and renamed from .symbols to .debug. This reduces the size requirements
608         on the boot partition or file system and provides consistency with
609         userland debug files.
610
611         When using the supported kernel installation method the
612         /usr/lib/debug/boot/kernel directory will be renamed (to kernel.old)
613         as is done with /boot/kernel.
614
615         Developers wishing to maintain the historical behavior of installing
616         debug files in /boot/kernel/ can set KERN_DEBUGDIR="" in src.conf(5).
617
618 20150827:
619         The wireless drivers had undergone changes that remove the 'parent
620         interface' from the ifconfig -l output. The rc.d network scripts
621         used to check presence of a parent interface in the list, so old
622         scripts would fail to start wireless networking. Thus, etcupdate(3)
623         or mergemaster(8) run is required after kernel update, to update your
624         rc.d scripts in /etc.
625
626 20150827:
627         pf no longer supports 'scrub fragment crop' or 'scrub fragment drop-ovl'
628         These configurations are now automatically interpreted as
629         'scrub fragment reassemble'.
630
631 20150817:
632         Kernel-loadable modules for the random(4) device are back. To use
633         them, the kernel must have
634
635         device  random
636         options RANDOM_LOADABLE
637
638         kldload(8) can then be used to load random_fortuna.ko
639         or random_yarrow.ko. Please note that due to the indirect
640         function calls that the loadable modules need to provide,
641         the build-in variants will be slightly more efficient.
642
643         The random(4) kernel option RANDOM_DUMMY has been retired due to
644         unpopularity. It was not all that useful anyway.
645
646 20150813:
647         The WITHOUT_ELFTOOLCHAIN_TOOLS src.conf(5) knob has been retired.
648         Control over building the ELF Tool Chain tools is now provided by
649         the WITHOUT_TOOLCHAIN knob.
650
651 20150810:
652         The polarity of Pulse Per Second (PPS) capture events with the
653         uart(4) driver has been corrected.  Prior to this change the PPS
654         "assert" event corresponded to the trailing edge of a positive PPS
655         pulse and the "clear" event was the leading edge of the next pulse.
656
657         As the width of a PPS pulse in a typical GPS receiver is on the
658         order of 1 millisecond, most users will not notice any significant
659         difference with this change.
660
661         Anyone who has compensated for the historical polarity reversal by
662         configuring a negative offset equal to the pulse width will need to
663         remove that workaround.
664
665 20150809:
666         The default group assigned to /dev/dri entries has been changed
667         from 'wheel' to 'video' with the id of '44'. If you want to have
668         access to the dri devices please add yourself to the video group
669         with:
670
671         # pw groupmod video -m $USER
672
673 20150806:
674         The menu.rc and loader.rc files will now be replaced during 
675         upgrades. Please migrate local changes to menu.rc.local and
676         loader.rc.local instead.
677
678 20150805:
679         GNU Binutils versions of addr2line, c++filt, nm, readelf, size,
680         strings and strip have been removed. The src.conf(5) knob
681         WITHOUT_ELFTOOLCHAIN_TOOLS no longer provides the binutils tools.
682
683 20150728:
684         As ZFS requires more kernel stack pages than is the default on some
685         architectures e.g. i386, it now warns if KSTACK_PAGES is less than
686         ZFS_MIN_KSTACK_PAGES (which is 4 at the time of writing).
687
688         Please consider using 'options KSTACK_PAGES=X' where X is greater
689         than or equal to ZFS_MIN_KSTACK_PAGES i.e. 4 in such configurations.
690
691 20150706:
692         sendmail has been updated to 8.15.2.  Starting with FreeBSD 11.0
693         and sendmail 8.15, sendmail uses uncompressed IPv6 addresses by
694         default, i.e., they will not contain "::".  For example, instead
695         of ::1, it will be 0:0:0:0:0:0:0:1.  This permits a zero subnet
696         to have a more specific match, such as different map entries for
697         IPv6:0:0 vs IPv6:0.  This change requires that configuration
698         data (including maps, files, classes, custom ruleset, etc.) must
699         use the same format, so make certain such configuration data is
700         upgrading.  As a very simple check search for patterns like
701         'IPv6:[0-9a-fA-F:]*::' and 'IPv6::'.  To return to the old
702         behavior, set the m4 option confUSE_COMPRESSED_IPV6_ADDRESSES or
703         the cf option UseCompressedIPv6Addresses.
704
705 20150630:
706         The default kernel entropy-processing algorithm is now
707         Fortuna, replacing Yarrow.
708
709         Assuming you have 'device random' in your kernel config
710         file, the configurations allow a kernel option to override
711         this default. You may choose *ONE* of:
712
713         options RANDOM_YARROW   # Legacy /dev/random algorithm.
714         options RANDOM_DUMMY    # Blocking-only driver.
715
716         If you have neither, you get Fortuna.  For most people,
717         read no further, Fortuna will give a /dev/random that works
718         like it always used to, and the difference will be irrelevant.
719
720         If you remove 'device random', you get *NO* kernel-processed
721         entropy at all. This may be acceptable to folks building
722         embedded systems, but has complications. Carry on reading,
723         and it is assumed you know what you need.
724
725         *PLEASE* read random(4) and random(9) if you are in the
726         habit of tweaking kernel configs, and/or if you are a member
727         of the embedded community, wanting specific and not-usual
728         behaviour from your security subsystems.
729
730         NOTE!! If you use RANDOM_DUMMY and/or have no 'device
731         random', you will NOT have a functioning /dev/random, and
732         many cryptographic features will not work, including SSH.
733         You may also find strange behaviour from the random(3) set
734         of library functions, in particular sranddev(3), srandomdev(3)
735         and arc4random(3). The reason for this is that the KERN_ARND
736         sysctl only returns entropy if it thinks it has some to
737         share, and with RANDOM_DUMMY or no 'device random' this
738         will never happen.
739
740 20150623:
741         An additional fix for the issue described in the 20150614 sendmail
742         entry below has been been committed in revision 284717.
743
744 20150616:
745         FreeBSD's old make (fmake) has been removed from the system. It is
746         available as the devel/fmake port or via pkg install fmake.
747
748 20150615:
749         The fix for the issue described in the 20150614 sendmail entry
750         below has been been committed in revision 284436.  The work
751         around described in that entry is no longer needed unless the
752         default setting is overridden by a confDH_PARAMETERS configuration
753         setting of '5' or pointing to a 512 bit DH parameter file.
754
755 20150614:
756         ALLOW_DEPRECATED_ATF_TOOLS/ATFFILE support has been removed from
757         atf.test.mk (included from bsd.test.mk). Please upgrade devel/atf
758         and devel/kyua to version 0.20+ and adjust any calling code to work
759         with Kyuafile and kyua.
760
761 20150614:
762         The import of openssl to address the FreeBSD-SA-15:10.openssl
763         security advisory includes a change which rejects handshakes
764         with DH parameters below 768 bits.  sendmail releases prior
765         to 8.15.2 (not yet released), defaulted to a 512 bit
766         DH parameter setting for client connections.  To work around
767         this interoperability, sendmail can be configured to use a
768         2048 bit DH parameter by:
769
770         1. Edit /etc/mail/`hostname`.mc
771         2. If a setting for confDH_PARAMETERS does not exist or
772            exists and is set to a string beginning with '5',
773            replace it with '2'.
774         3. If a setting for confDH_PARAMETERS exists and is set to
775            a file path, create a new file with:
776                 openssl dhparam -out /path/to/file 2048
777         4. Rebuild the .cf file:
778                 cd /etc/mail/; make; make install
779         5. Restart sendmail:
780                 cd /etc/mail/; make restart
781
782         A sendmail patch is coming, at which time this file will be
783         updated.
784
785 20150604:
786         Generation of legacy formatted entries have been disabled by default
787         in pwd_mkdb(8), as all base system consumers of the legacy formatted
788         entries were converted to use the new format by default when the new,
789         machine independent format have been added and supported since FreeBSD
790         5.x.
791
792         Please see the pwd_mkdb(8) manual page for further details.
793
794 20150525:
795         Clang and llvm have been upgraded to 3.6.1 release.  Please see the
796         20141231 entry below for information about prerequisites and upgrading,
797         if you are not already using 3.5.0 or higher.
798
799 20150521:
800         TI platform code switched to using vendor DTS files and this update
801         may break existing systems running on Beaglebone, Beaglebone Black,
802         and Pandaboard:
803
804         - dtb files should be regenerated/reinstalled. Filenames are the
805           same but content is different now
806         - GPIO addressing was changed, now each GPIO bank (32 pins per bank)
807           has its own /dev/gpiocX device, e.g. pin 121 on /dev/gpioc0 in old
808           addressing scheme is now pin 25 on /dev/gpioc3.
809         - Pandaboard: /etc/ttys should be updated, serial console device is
810           now /dev/ttyu2, not /dev/ttyu0
811
812 20150501:
813         soelim(1) from gnu/usr.bin/groff has been replaced by usr.bin/soelim.
814         If you need the GNU extension from groff soelim(1), install groff
815         from package: pkg install groff, or via ports: textproc/groff.
816
817 20150423:
818         chmod, chflags, chown and chgrp now affect symlinks in -R mode as
819         defined in symlink(7); previously symlinks were silently ignored.
820
821 20150415:
822         The const qualifier has been removed from iconv(3) to comply with
823         POSIX.  The ports tree is aware of this from r384038 onwards.
824
825 20150416:
826         Libraries specified by LIBADD in Makefiles must have a corresponding
827         DPADD_<lib> variable to ensure correct dependencies.  This is now
828         enforced in src.libnames.mk.
829
830 20150324:
831         From legacy ata(4) driver was removed support for SATA controllers
832         supported by more functional drivers ahci(4), siis(4) and mvs(4).
833         Kernel modules ataahci and ataadaptec were removed completely,
834         replaced by ahci and mvs modules respectively.
835
836 20150315:
837         Clang, llvm and lldb have been upgraded to 3.6.0 release.  Please see
838         the 20141231 entry below for information about prerequisites and
839         upgrading, if you are not already using 3.5.0 or higher.
840
841 20150307:
842         The 32-bit PowerPC kernel has been changed to a position-independent
843         executable. This can only be booted with a version of loader(8)
844         newer than January 31, 2015, so make sure to update both world and
845         kernel before rebooting.
846
847 20150217:
848         If you are running a -CURRENT kernel since r273872 (Oct 30th, 2014),
849         but before r278950, the RNG was not seeded properly.  Immediately
850         upgrade the kernel to r278950 or later and regenerate any keys (e.g.
851         ssh keys or openssl keys) that were generated w/ a kernel from that
852         range.  This does not affect programs that directly used /dev/random
853         or /dev/urandom.  All userland uses of arc4random(3) are affected.
854
855 20150210:
856         The autofs(4) ABI was changed in order to restore binary compatibility
857         with 10.1-RELEASE.  The automountd(8) daemon needs to be rebuilt to work
858         with the new kernel.
859
860 20150131:
861         The powerpc64 kernel has been changed to a position-independent
862         executable. This can only be booted with a new version of loader(8),
863         so make sure to update both world and kernel before rebooting.
864
865 20150118:
866         Clang and llvm have been upgraded to 3.5.1 release.  This is a bugfix
867         only release, no new features have been added.  Please see the 20141231
868         entry below for information about prerequisites and upgrading, if you
869         are not already using 3.5.0.
870
871 20150107:
872         ELF tools addr2line, elfcopy (strip), nm, size, and strings are now
873         taken from the ELF Tool Chain project rather than GNU binutils. They
874         should be drop-in replacements, with the addition of arm64 support.
875         The WITHOUT_ELFTOOLCHAIN_TOOLS= knob may be used to obtain the
876         binutils tools, if necessary. See 20150805 for updated information.
877
878 20150105:
879         The default Unbound configuration now enables remote control
880         using a local socket.  Users who have already enabled the
881         local_unbound service should regenerate their configuration
882         by running "service local_unbound setup" as root.
883
884 20150102:
885         The GNU texinfo and GNU info pages have been removed.
886         To be able to view GNU info pages please install texinfo from ports.
887
888 20141231:
889         Clang, llvm and lldb have been upgraded to 3.5.0 release.
890
891         As of this release, a prerequisite for building clang, llvm and lldb is
892         a C++11 capable compiler and C++11 standard library.  This means that to
893         be able to successfully build the cross-tools stage of buildworld, with
894         clang as the bootstrap compiler, your system compiler or cross compiler
895         should either be clang 3.3 or later, or gcc 4.8 or later, and your
896         system C++ library should be libc++, or libdstdc++ from gcc 4.8 or
897         later.
898
899         On any standard FreeBSD 10.x or 11.x installation, where clang and
900         libc++ are on by default (that is, on x86 or arm), this should work out
901         of the box.
902
903         On 9.x installations where clang is enabled by default, e.g. on x86 and
904         powerpc, libc++ will not be enabled by default, so libc++ should be
905         built (with clang) and installed first.  If both clang and libc++ are
906         missing, build clang first, then use it to build libc++.
907
908         On 8.x and earlier installations, upgrade to 9.x first, and then follow
909         the instructions for 9.x above.
910
911         Sparc64 and mips users are unaffected, as they still use gcc 4.2.1 by
912         default, and do not build clang.
913
914         Many embedded systems are resource constrained, and will not be able to
915         build clang in a reasonable time, or in some cases at all.  In those
916         cases, cross building bootable systems on amd64 is a workaround.
917
918         This new version of clang introduces a number of new warnings, of which
919         the following are most likely to appear:
920
921         -Wabsolute-value
922
923         This warns in two cases, for both C and C++:
924         * When the code is trying to take the absolute value of an unsigned
925           quantity, which is effectively a no-op, and almost never what was
926           intended.  The code should be fixed, if at all possible.  If you are
927           sure that the unsigned quantity can be safely cast to signed, without
928           loss of information or undefined behavior, you can add an explicit
929           cast, or disable the warning.
930
931         * When the code is trying to take an absolute value, but the called
932           abs() variant is for the wrong type, which can lead to truncation.
933           If you want to disable the warning instead of fixing the code, please
934           make sure that truncation will not occur, or it might lead to unwanted
935           side-effects.
936
937         -Wtautological-undefined-compare and
938         -Wundefined-bool-conversion
939
940         These warn when C++ code is trying to compare 'this' against NULL, while
941         'this' should never be NULL in well-defined C++ code.  However, there is
942         some legacy (pre C++11) code out there, which actively abuses this
943         feature, which was less strictly defined in previous C++ versions.
944
945         Squid and openjdk do this, for example.  The warning can be turned off
946         for C++98 and earlier, but compiling the code in C++11 mode might result
947         in unexpected behavior; for example, the parts of the program that are
948         unreachable could be optimized away.
949
950 20141222:
951         The old NFS client and server (kernel options NFSCLIENT, NFSSERVER)
952         kernel sources have been removed. The .h files remain, since some
953         utilities include them. This will need to be fixed later.
954         If "mount -t oldnfs ..." is attempted, it will fail.
955         If the "-o" option on mountd(8), nfsd(8) or nfsstat(1) is used,
956         the utilities will report errors.
957
958 20141121:
959         The handling of LOCAL_LIB_DIRS has been altered to skip addition of
960         directories to top level SUBDIR variable when their parent
961         directory is included in LOCAL_DIRS.  Users with build systems with
962         such hierarchies and without SUBDIR entries in the parent
963         directory Makefiles should add them or add the directories to
964         LOCAL_DIRS.
965
966 20141109:
967         faith(4) and faithd(8) have been removed from the base system. Faith
968         has been obsolete for a very long time.
969
970 20141104:
971         vt(4), the new console driver, is enabled by default. It brings
972         support for Unicode and double-width characters, as well as
973         support for UEFI and integration with the KMS kernel video
974         drivers.
975
976         You may need to update your console settings in /etc/rc.conf,
977         most probably the keymap. During boot, /etc/rc.d/syscons will
978         indicate what you need to do.
979
980         vt(4) still has issues and lacks some features compared to
981         syscons(4). See the wiki for up-to-date information:
982           https://wiki.freebsd.org/Newcons
983
984         If you want to keep using syscons(4), you can do so by adding
985         the following line to /boot/loader.conf:
986           kern.vty=sc
987
988 20141102:
989         pjdfstest has been integrated into kyua as an opt-in test suite.
990         Please see share/doc/pjdfstest/README for more details on how to
991         execute it.
992
993 20141009:
994         gperf has been removed from the base system for architectures
995         that use clang. Ports that require gperf will obtain it from the
996         devel/gperf port.
997
998 20140923:
999         pjdfstest has been moved from tools/regression/pjdfstest to
1000         contrib/pjdfstest .
1001
1002 20140922:
1003         At svn r271982, The default linux compat kernel ABI has been adjusted
1004         to 2.6.18 in support of the linux-c6 compat ports infrastructure
1005         update.  If you wish to continue using the linux-f10 compat ports,
1006         add compat.linux.osrelease=2.6.16 to your local sysctl.conf.  Users are
1007         encouraged to update their linux-compat packages to linux-c6 during
1008         their next update cycle.
1009
1010 20140729:
1011         The ofwfb driver, used to provide a graphics console on PowerPC when
1012         using vt(4), no longer allows mmap() of all physical memory. This
1013         will prevent Xorg on PowerPC with some ATI graphics cards from
1014         initializing properly unless x11-servers/xorg-server is updated to
1015         1.12.4_8 or newer.
1016
1017 20140723:
1018         The xdev targets have been converted to using TARGET and
1019         TARGET_ARCH instead of XDEV and XDEV_ARCH.
1020
1021 20140719:
1022         The default unbound configuration has been modified to address
1023         issues with reverse lookups on networks that use private
1024         address ranges.  If you use the local_unbound service, run
1025         "service local_unbound setup" as root to regenerate your
1026         configuration, then "service local_unbound reload" to load the
1027         new configuration.
1028
1029 20140709:
1030         The GNU texinfo and GNU info pages are not built and installed
1031         anymore, WITH_INFO knob has been added to allow to built and install
1032         them again.
1033         UPDATE: see 20150102 entry on texinfo's removal
1034
1035 20140708:
1036         The GNU readline library is now an INTERNALLIB - that is, it is
1037         statically linked into consumers (GDB and variants) in the base
1038         system, and the shared library is no longer installed.  The
1039         devel/readline port is available for third party software that
1040         requires readline.
1041
1042 20140702:
1043         The Itanium architecture (ia64) has been removed from the list of
1044         known architectures. This is the first step in the removal of the
1045         architecture.
1046
1047 20140701:
1048         Commit r268115 has added NFSv4.1 server support, merged from
1049         projects/nfsv4.1-server.  Since this includes changes to the
1050         internal interfaces between the NFS related modules, a full
1051         build of the kernel and modules will be necessary.
1052         __FreeBSD_version has been bumped.
1053
1054 20140629:
1055         The WITHOUT_VT_SUPPORT kernel config knob has been renamed
1056         WITHOUT_VT.  (The other _SUPPORT knobs have a consistent meaning
1057         which differs from the behaviour controlled by this knob.)
1058
1059 20140619:
1060         Maximal length of the serial number in CTL was increased from 16 to
1061         64 chars, that breaks ABI.  All CTL-related tools, such as ctladm
1062         and ctld, need to be rebuilt to work with a new kernel.
1063
1064 20140606:
1065         The libatf-c and libatf-c++ major versions were downgraded to 0 and
1066         1 respectively to match the upstream numbers.  They were out of
1067         sync because, when they were originally added to FreeBSD, the
1068         upstream versions were not respected.  These libraries are private
1069         and not yet built by default, so renumbering them should be a
1070         non-issue.  However, unclean source trees will yield broken test
1071         programs once the operator executes "make delete-old-libs" after a
1072         "make installworld".
1073
1074         Additionally, the atf-sh binary was made private by moving it into
1075         /usr/libexec/.  Already-built shell test programs will keep the
1076         path to the old binary so they will break after "make delete-old"
1077         is run.
1078
1079         If you are using WITH_TESTS=yes (not the default), wipe the object
1080         tree and rebuild from scratch to prevent spurious test failures.
1081         This is only needed once: the misnumbered libraries and misplaced
1082         binaries have been added to OptionalObsoleteFiles.inc so they will
1083         be removed during a clean upgrade.
1084
1085 20140512:
1086         Clang and llvm have been upgraded to 3.4.1 release.
1087
1088 20140508:
1089         We bogusly installed src.opts.mk in /usr/share/mk. This file should
1090         be removed to avoid issues in the future (and has been added to
1091         ObsoleteFiles.inc).
1092
1093 20140505:
1094         /etc/src.conf now affects only builds of the FreeBSD src tree. In the
1095         past, it affected all builds that used the bsd.*.mk files. The old
1096         behavior was a bug, but people may have relied upon it. To get this
1097         behavior back, you can .include /etc/src.conf from /etc/make.conf
1098         (which is still global and isn't changed). This also changes the
1099         behavior of incremental builds inside the tree of individual
1100         directories. Set MAKESYSPATH to ".../share/mk" to do that.
1101         Although this has survived make universe and some upgrade scenarios,
1102         other upgrade scenarios may have broken. At least one form of
1103         temporary breakage was fixed with MAKESYSPATH settings for buildworld
1104         as well... In cases where MAKESYSPATH isn't working with this
1105         setting, you'll need to set it to the full path to your tree.
1106
1107         One side effect of all this cleaning up is that bsd.compiler.mk
1108         is no longer implicitly included by bsd.own.mk. If you wish to
1109         use COMPILER_TYPE, you must now explicitly include bsd.compiler.mk
1110         as well.
1111
1112 20140430:
1113         The lindev device has been removed since /dev/full has been made a
1114         standard device.  __FreeBSD_version has been bumped.
1115
1116 20140424:
1117         The knob WITHOUT_VI was added to the base system, which controls
1118         building ex(1), vi(1), etc. Older releases of FreeBSD required ex(1)
1119         in order to reorder files share/termcap and didn't build ex(1) as a
1120         build tool, so building/installing with WITH_VI is highly advised for
1121         build hosts for older releases.
1122
1123         This issue has been fixed in stable/9 and stable/10 in r277022 and
1124         r276991, respectively.
1125
1126 20140418:
1127         The YES_HESIOD knob has been removed. It has been obsolete for
1128         a decade. Please move to using WITH_HESIOD instead or your builds
1129         will silently lack HESIOD.
1130
1131 20140405:
1132         The uart(4) driver has been changed with respect to its handling
1133         of the low-level console. Previously the uart(4) driver prevented
1134         any process from changing the baudrate or the CLOCAL and HUPCL
1135         control flags. By removing the restrictions, operators can make
1136         changes to the serial console port without having to reboot.
1137         However, when getty(8) is started on the serial device that is
1138         associated with the low-level console, a misconfigured terminal
1139         line in /etc/ttys will now have a real impact.
1140         Before upgrading the kernel, make sure that /etc/ttys has the
1141         serial console device configured as 3wire without baudrate to
1142         preserve the previous behaviour. E.g:
1143             ttyu0  "/usr/libexec/getty 3wire"  vt100  on  secure
1144
1145 20140306:
1146         Support for libwrap (TCP wrappers) in rpcbind was disabled by default
1147         to improve performance.  To re-enable it, if needed, run rpcbind
1148         with command line option -W.
1149
1150 20140226:
1151         Switched back to the GPL dtc compiler due to updates in the upstream
1152         dts files not being supported by the BSDL dtc compiler. You will need
1153         to rebuild your kernel toolchain to pick up the new compiler. Core dumps
1154         may result while building dtb files during a kernel build if you fail
1155         to do so. Set WITHOUT_GPL_DTC if you require the BSDL compiler.
1156
1157 20140216:
1158         Clang and llvm have been upgraded to 3.4 release.
1159
1160 20140216:
1161         The nve(4) driver has been removed.  Please use the nfe(4) driver
1162         for NVIDIA nForce MCP Ethernet adapters instead.
1163
1164 20140212:
1165         An ABI incompatibility crept into the libc++ 3.4 import in r261283.
1166         This could cause certain C++ applications using shared libraries built
1167         against the previous version of libc++ to crash.  The incompatibility
1168         has now been fixed, but any C++ applications or shared libraries built
1169         between r261283 and r261801 should be recompiled.
1170
1171 20140204:
1172         OpenSSH will now ignore errors caused by kernel lacking of Capsicum
1173         capability mode support.  Please note that enabling the feature in
1174         kernel is still highly recommended.
1175
1176 20140131:
1177         OpenSSH is now built with sandbox support, and will use sandbox as
1178         the default privilege separation method.  This requires Capsicum
1179         capability mode support in kernel.
1180
1181 20140128:
1182         The libelf and libdwarf libraries have been updated to newer
1183         versions from upstream. Shared library version numbers for
1184         these two libraries were bumped. Any ports or binaries
1185         requiring these two libraries should be recompiled.
1186         __FreeBSD_version is bumped to 1100006.
1187
1188 20140110:
1189         If a Makefile in a tests/ directory was auto-generating a Kyuafile
1190         instead of providing an explicit one, this would prevent such
1191         Makefile from providing its own Kyuafile in the future during
1192         NO_CLEAN builds.  This has been fixed in the Makefiles but manual
1193         intervention is needed to clean an objdir if you use NO_CLEAN:
1194           # find /usr/obj -name Kyuafile | xargs rm -f
1195
1196 20131213:
1197         The behavior of gss_pseudo_random() for the krb5 mechanism
1198         has changed, for applications requesting a longer random string
1199         than produced by the underlying enctype's pseudo-random() function.
1200         In particular, the random string produced from a session key of
1201         enctype aes256-cts-hmac-sha1-96 or aes256-cts-hmac-sha1-96 will
1202         be different at the 17th octet and later, after this change.
1203         The counter used in the PRF+ construction is now encoded as a
1204         big-endian integer in accordance with RFC 4402.
1205         __FreeBSD_version is bumped to 1100004.
1206
1207 20131108:
1208         The WITHOUT_ATF build knob has been removed and its functionality
1209         has been subsumed into the more generic WITHOUT_TESTS.  If you were
1210         using the former to disable the build of the ATF libraries, you
1211         should change your settings to use the latter.
1212
1213 20131025:
1214         The default version of mtree is nmtree which is obtained from
1215         NetBSD.  The output is generally the same, but may vary
1216         slightly.  If you found you need identical output adding
1217         "-F freebsd9" to the command line should do the trick.  For the
1218         time being, the old mtree is available as fmtree.
1219
1220 20131014:
1221         libbsdyml has been renamed to libyaml and moved to /usr/lib/private.
1222         This will break ports-mgmt/pkg. Rebuild the port, or upgrade to pkg
1223         1.1.4_8 and verify bsdyml not linked in, before running "make
1224         delete-old-libs":
1225           # make -C /usr/ports/ports-mgmt/pkg build deinstall install clean
1226           or
1227           # pkg install pkg; ldd /usr/local/sbin/pkg | grep bsdyml
1228
1229 20131010:
1230         The stable/10 branch has been created in subversion from head
1231         revision r256279.
1232
1233 20131010:
1234         The rc.d/jail script has been updated to support jail(8)
1235         configuration file.  The "jail_<jname>_*" rc.conf(5) variables
1236         for per-jail configuration are automatically converted to
1237         /var/run/jail.<jname>.conf before the jail(8) utility is invoked.
1238         This is transparently backward compatible.  See below about some
1239         incompatibilities and rc.conf(5) manual page for more details.
1240
1241         These variables are now deprecated in favor of jail(8) configuration
1242         file.  One can use "rc.d/jail config <jname>" command to generate
1243         a jail(8) configuration file in /var/run/jail.<jname>.conf without
1244         running the jail(8) utility.   The default pathname of the
1245         configuration file is /etc/jail.conf and can be specified by
1246         using $jail_conf or $jail_<jname>_conf variables.
1247
1248         Please note that jail_devfs_ruleset accepts an integer at
1249         this moment.  Please consider to rewrite the ruleset name
1250         with an integer.
1251
1252 20130930:
1253         BIND has been removed from the base system.  If all you need
1254         is a local resolver, simply enable and start the local_unbound
1255         service instead.  Otherwise, several versions of BIND are
1256         available in the ports tree.   The dns/bind99 port is one example.
1257
1258         With this change, nslookup(1) and dig(1) are no longer in the base
1259         system.  Users should instead use host(1) and drill(1) which are
1260         in the base system.  Alternatively, nslookup and dig can
1261         be obtained by installing the dns/bind-tools port.
1262
1263 20130916:
1264         With the addition of unbound(8), a new unbound user is now
1265         required during installworld.  "mergemaster -p" can be used to
1266         add the user prior to installworld, as documented in the handbook.
1267
1268 20130911:
1269         OpenSSH is now built with DNSSEC support, and will by default
1270         silently trust signed SSHFP records.  This can be controlled with
1271         the VerifyHostKeyDNS client configuration setting.  DNSSEC support
1272         can be disabled entirely with the WITHOUT_LDNS option in src.conf.
1273
1274 20130906:
1275         The GNU Compiler Collection and C++ standard library (libstdc++)
1276         are no longer built by default on platforms where clang is the system
1277         compiler.  You can enable them with the WITH_GCC and WITH_GNUCXX
1278         options in src.conf.
1279
1280 20130905:
1281         The PROCDESC kernel option is now part of the GENERIC kernel
1282         configuration and is required for the rwhod(8) to work.
1283         If you are using custom kernel configuration, you should include
1284         'options PROCDESC'.
1285
1286 20130905:
1287         The API and ABI related to the Capsicum framework was modified
1288         in backward incompatible way. The userland libraries and programs
1289         have to be recompiled to work with the new kernel. This includes the
1290         following libraries and programs, but the whole buildworld is
1291         advised: libc, libprocstat, dhclient, tcpdump, hastd, hastctl,
1292         kdump, procstat, rwho, rwhod, uniq.
1293
1294 20130903:
1295         AES-NI intrinsic support has been added to gcc.  The AES-NI module
1296         has been updated to use this support.  A new gcc is required to build
1297         the aesni module on both i386 and amd64.
1298
1299 20130821:
1300         The PADLOCK_RNG and RDRAND_RNG kernel options are now devices.
1301         Thus "device padlock_rng" and "device rdrand_rng" should be
1302         used instead of "options PADLOCK_RNG" & "options RDRAND_RNG".
1303
1304 20130813:
1305         WITH_ICONV has been split into two feature sets.  WITH_ICONV now
1306         enables just the iconv* functionality and is now on by default.
1307         WITH_LIBICONV_COMPAT enables the libiconv api and link time
1308         compatibility.  Set WITHOUT_ICONV to build the old way.
1309         If you have been using WITH_ICONV before, you will very likely
1310         need to turn on WITH_LIBICONV_COMPAT.
1311
1312 20130806:
1313         INVARIANTS option now enables DEBUG for code with OpenSolaris and
1314         Illumos origin, including ZFS.  If you have INVARIANTS in your
1315         kernel configuration, then there is no need to set DEBUG or ZFS_DEBUG
1316         explicitly.
1317         DEBUG used to enable witness(9) tracking of OpenSolaris (mostly ZFS)
1318         locks if WITNESS option was set.  Because that generated a lot of
1319         witness(9) reports and all of them were believed to be false
1320         positives, this is no longer done.  New option OPENSOLARIS_WITNESS
1321         can be used to achieve the previous behavior.
1322
1323 20130806:
1324         Timer values in IPv6 data structures now use time_uptime instead
1325         of time_second.  Although this is not a user-visible functional
1326         change, userland utilities which directly use them---ndp(8),
1327         rtadvd(8), and rtsold(8) in the base system---need to be updated
1328         to r253970 or later.
1329
1330 20130802:
1331         find -delete can now delete the pathnames given as arguments,
1332         instead of only files found below them or if the pathname did
1333         not contain any slashes. Formerly, the following error message
1334         would result:
1335
1336         find: -delete: <path>: relative path potentially not safe
1337
1338         Deleting the pathnames given as arguments can be prevented
1339         without error messages using -mindepth 1 or by changing
1340         directory and passing "." as argument to find. This works in the
1341         old as well as the new version of find.
1342
1343 20130726:
1344         Behavior of devfs rules path matching has been changed.
1345         Pattern is now always matched against fully qualified devfs
1346         path and slash characters must be explicitly matched by
1347         slashes in pattern (FNM_PATHNAME). Rulesets involving devfs
1348         subdirectories must be reviewed.
1349
1350 20130716:
1351         The default ARM ABI has changed to the ARM EABI. The old ABI is
1352         incompatible with the ARM EABI and all programs and modules will
1353         need to be rebuilt to work with a new kernel.
1354
1355         To keep using the old ABI ensure the WITHOUT_ARM_EABI knob is set.
1356
1357         NOTE: Support for the old ABI will be removed in the future and
1358         users are advised to upgrade.
1359
1360 20130709:
1361         pkg_install has been disconnected from the build if you really need it
1362         you should add WITH_PKGTOOLS in your src.conf(5).
1363
1364 20130709:
1365         Most of network statistics structures were changed to be able
1366         keep 64-bits counters. Thus all tools, that work with networking
1367         statistics, must be rebuilt (netstat(1), bsnmpd(1), etc.)
1368
1369 20130618:
1370         Fix a bug that allowed a tracing process (e.g. gdb) to write
1371         to a memory-mapped file in the traced process's address space
1372         even if neither the traced process nor the tracing process had
1373         write access to that file.
1374
1375 20130615:
1376         CVS has been removed from the base system.  An exact copy
1377         of the code is available from the devel/cvs port.
1378
1379 20130613:
1380         Some people report the following error after the switch to bmake:
1381
1382                 make: illegal option -- J
1383                 usage: make [-BPSXeiknpqrstv] [-C directory] [-D variable]
1384                         ...
1385                 *** [buildworld] Error code 2
1386
1387         this likely due to an old instance of make in
1388         ${MAKEPATH} (${MAKEOBJDIRPREFIX}${.CURDIR}/make.${MACHINE})
1389         which src/Makefile will use that blindly, if it exists, so if
1390         you see the above error:
1391
1392                 rm -rf `make -V MAKEPATH`
1393
1394         should resolve it.
1395
1396 20130516:
1397         Use bmake by default.
1398         Whereas before one could choose to build with bmake via
1399         -DWITH_BMAKE one must now use -DWITHOUT_BMAKE to use the old
1400         make. The goal is to remove these knobs for 10-RELEASE.
1401
1402         It is worth noting that bmake (like gmake) treats the command
1403         line as the unit of failure, rather than statements within the
1404         command line.  Thus '(cd some/where && dosomething)' is safer
1405         than 'cd some/where; dosomething'. The '()' allows consistent
1406         behavior in parallel build.
1407
1408 20130429:
1409         Fix a bug that allows NFS clients to issue READDIR on files.
1410
1411 20130426:
1412         The WITHOUT_IDEA option has been removed because
1413         the IDEA patent expired.
1414
1415 20130426:
1416         The sysctl which controls TRIM support under ZFS has been renamed
1417         from vfs.zfs.trim_disable -> vfs.zfs.trim.enabled and has been
1418         enabled by default.
1419
1420 20130425:
1421         The mergemaster command now uses the default MAKEOBJDIRPREFIX
1422         rather than creating it's own in the temporary directory in
1423         order allow access to bootstrapped versions of tools such as
1424         install and mtree.  When upgrading from version of FreeBSD where
1425         the install command does not support -l, you will need to
1426         install a new mergemaster command if mergemaster -p is required.
1427         This can be accomplished with the command (cd src/usr.sbin/mergemaster
1428         && make install).
1429
1430 20130404:
1431         Legacy ATA stack, disabled and replaced by new CAM-based one since
1432         FreeBSD 9.0, completely removed from the sources.  Kernel modules
1433         atadisk and atapi*, user-level tools atacontrol and burncd are
1434         removed.  Kernel option `options ATA_CAM` is now permanently enabled
1435         and removed.
1436
1437 20130319:
1438         SOCK_CLOEXEC and SOCK_NONBLOCK flags have been added to socket(2)
1439         and socketpair(2). Software, in particular Kerberos, may
1440         automatically detect and use these during building. The resulting
1441         binaries will not work on older kernels.
1442
1443 20130308:
1444         CTL_DISABLE has also been added to the sparc64 GENERIC (for further
1445         information, see the respective 20130304 entry).
1446
1447 20130304:
1448         Recent commits to callout(9) changed the size of struct callout,
1449         so the KBI is probably heavily disturbed. Also, some functions
1450         in callout(9)/sleep(9)/sleepqueue(9)/condvar(9) KPIs were replaced
1451         by macros. Every kernel module using it won't load, so rebuild
1452         is requested.
1453
1454         The ctl device has been re-enabled in GENERIC for i386 and amd64,
1455         but does not initialize by default (because of the new CTL_DISABLE
1456         option) to save memory.  To re-enable it, remove the CTL_DISABLE
1457         option from the kernel config file or set kern.cam.ctl.disable=0
1458         in /boot/loader.conf.
1459
1460 20130301:
1461         The ctl device has been disabled in GENERIC for i386 and amd64.
1462         This was done due to the extra memory being allocated at system
1463         initialisation time by the ctl driver which was only used if
1464         a CAM target device was created.  This makes a FreeBSD system
1465         unusable on 128MB or less of RAM.
1466
1467 20130208:
1468         A new compression method (lz4) has been merged to -HEAD.  Please
1469         refer to zpool-features(7) for more information.
1470
1471         Please refer to the "ZFS notes" section of this file for information
1472         on upgrading boot ZFS pools.
1473
1474 20130129:
1475         A BSD-licensed patch(1) variant has been added and is installed
1476         as bsdpatch, being the GNU version the default patch.
1477         To inverse the logic and use the BSD-licensed one as default,
1478         while having the GNU version installed as gnupatch, rebuild
1479         and install world with the WITH_BSD_PATCH knob set.
1480
1481 20130121:
1482         Due to the use of the new -l option to install(1) during build
1483         and install, you must take care not to directly set the INSTALL
1484         make variable in your /etc/make.conf, /etc/src.conf, or on the
1485         command line.  If you wish to use the -C flag for all installs
1486         you may be able to add INSTALL+=-C to /etc/make.conf or
1487         /etc/src.conf.
1488
1489 20130118:
1490         The install(1) option -M has changed meaning and now takes an
1491         argument that is a file or path to append logs to.  In the
1492         unlikely event that -M was the last option on the command line
1493         and the command line contained at least two files and a target
1494         directory the first file will have logs appended to it.  The -M
1495         option served little practical purpose in the last decade so its
1496         use is expected to be extremely rare.
1497
1498 20121223:
1499         After switching to Clang as the default compiler some users of ZFS
1500         on i386 systems started to experience stack overflow kernel panics.
1501         Please consider using 'options KSTACK_PAGES=4' in such configurations.
1502
1503 20121222:
1504         GEOM_LABEL now mangles label names read from file system metadata.
1505         Mangling affect labels containing spaces, non-printable characters,
1506         '%' or '"'. Device names in /etc/fstab and other places may need to
1507         be updated.
1508
1509 20121217:
1510         By default, only the 10 most recent kernel dumps will be saved.  To
1511         restore the previous behaviour (no limit on the number of kernel dumps
1512         stored in the dump directory) add the following line to /etc/rc.conf:
1513
1514                 savecore_flags=""
1515
1516 20121201:
1517         With the addition of auditdistd(8), a new auditdistd user is now
1518         required during installworld.  "mergemaster -p" can be used to
1519         add the user prior to installworld, as documented in the handbook.
1520
1521 20121117:
1522         The sin6_scope_id member variable in struct sockaddr_in6 is now
1523         filled by the kernel before passing the structure to the userland via
1524         sysctl or routing socket.  This means the KAME-specific embedded scope
1525         id in sin6_addr.s6_addr[2] is always cleared in userland application.
1526         This behavior can be controlled by net.inet6.ip6.deembed_scopeid.
1527         __FreeBSD_version is bumped to 1000025.
1528
1529 20121105:
1530         On i386 and amd64 systems WITH_CLANG_IS_CC is now the default.
1531         This means that the world and kernel will be compiled with clang
1532         and that clang will be installed as /usr/bin/cc, /usr/bin/c++,
1533         and /usr/bin/cpp.  To disable this behavior and revert to building
1534         with gcc, compile with WITHOUT_CLANG_IS_CC. Really old versions
1535         of current may need to bootstrap WITHOUT_CLANG first if the clang
1536         build fails (its compatibility window doesn't extend to the 9 stable
1537         branch point).
1538
1539 20121102:
1540         The IPFIREWALL_FORWARD kernel option has been removed. Its
1541         functionality now turned on by default.
1542
1543 20121023:
1544         The ZERO_COPY_SOCKET kernel option has been removed and
1545         split into SOCKET_SEND_COW and SOCKET_RECV_PFLIP.
1546         NB: SOCKET_SEND_COW uses the VM page based copy-on-write
1547         mechanism which is not safe and may result in kernel crashes.
1548         NB: The SOCKET_RECV_PFLIP mechanism is useless as no current
1549         driver supports disposeable external page sized mbuf storage.
1550         Proper replacements for both zero-copy mechanisms are under
1551         consideration and will eventually lead to complete removal
1552         of the two kernel options.
1553
1554 20121023:
1555         The IPv4 network stack has been converted to network byte
1556         order. The following modules need to be recompiled together
1557         with kernel: carp(4), divert(4), gif(4), siftr(4), gre(4),
1558         pf(4), ipfw(4), ng_ipfw(4), stf(4).
1559
1560 20121022:
1561         Support for non-MPSAFE filesystems was removed from VFS. The
1562         VFS_VERSION was bumped, all filesystem modules shall be
1563         recompiled.
1564
1565 20121018:
1566         All the non-MPSAFE filesystems have been disconnected from
1567         the build. The full list includes: codafs, hpfs, ntfs, nwfs,
1568         portalfs, smbfs, xfs.
1569
1570 20121016:
1571         The interface cloning API and ABI has changed. The following
1572         modules need to be recompiled together with kernel:
1573         ipfw(4), pfsync(4), pflog(4), usb(4), wlan(4), stf(4),
1574         vlan(4), disc(4), edsc(4), if_bridge(4), gif(4), tap(4),
1575         faith(4), epair(4), enc(4), tun(4), if_lagg(4), gre(4).
1576
1577 20121015:
1578         The sdhci driver was split in two parts: sdhci (generic SD Host
1579         Controller logic) and sdhci_pci (actual hardware driver).
1580         No kernel config modifications are required, but if you
1581         load sdhc as a module you must switch to sdhci_pci instead.
1582
1583 20121014:
1584         Import the FUSE kernel and userland support into base system.
1585
1586 20121013:
1587         The GNU sort(1) program has been removed since the BSD-licensed
1588         sort(1) has been the default for quite some time and no serious
1589         problems have been reported.  The corresponding WITH_GNU_SORT
1590         knob has also gone.
1591
1592 20121006:
1593         The pfil(9) API/ABI for AF_INET family has been changed. Packet
1594         filtering modules: pf(4), ipfw(4), ipfilter(4) need to be recompiled
1595         with new kernel.
1596
1597 20121001:
1598         The net80211(4) ABI has been changed to allow for improved driver
1599         PS-POLL and power-save support.  All wireless drivers need to be
1600         recompiled to work with the new kernel.
1601
1602 20120913:
1603         The random(4) support for the VIA hardware random number
1604         generator (`PADLOCK') is no longer enabled unconditionally.
1605         Add the padlock_rng device in the custom kernel config if
1606         needed.  The GENERIC kernels on i386 and amd64 do include the
1607         device, so the change only affects the custom kernel
1608         configurations.
1609
1610 20120908:
1611         The pf(4) packet filter ABI has been changed. pfctl(8) and
1612         snmp_pf module need to be recompiled to work with new kernel.
1613
1614 20120828:
1615         A new ZFS feature flag "com.delphix:empty_bpobj" has been merged
1616         to -HEAD. Pools that have empty_bpobj in active state can not be
1617         imported read-write with ZFS implementations that do not support
1618         this feature. For more information read the zpool-features(5)
1619         manual page.
1620
1621 20120727:
1622         The sparc64 ZFS loader has been changed to no longer try to auto-
1623         detect ZFS providers based on diskN aliases but now requires these
1624         to be explicitly listed in the OFW boot-device environment variable.
1625
1626 20120712:
1627         The OpenSSL has been upgraded to 1.0.1c.  Any binaries requiring
1628         libcrypto.so.6 or libssl.so.6 must be recompiled.  Also, there are
1629         configuration changes.  Make sure to merge /etc/ssl/openssl.cnf.
1630
1631 20120712:
1632         The following sysctls and tunables have been renamed for consistency
1633         with other variables:
1634           kern.cam.da.da_send_ordered   -> kern.cam.da.send_ordered
1635           kern.cam.ada.ada_send_ordered -> kern.cam.ada.send_ordered
1636
1637 20120628:
1638         The sort utility has been replaced with BSD sort.  For now, GNU sort
1639         is also available as "gnusort" or the default can be set back to
1640         GNU sort by setting WITH_GNU_SORT.  In this case, BSD sort will be
1641         installed as "bsdsort".
1642
1643 20120611:
1644         A new version of ZFS (pool version 5000) has been merged to -HEAD.
1645         Starting with this version the old system of ZFS pool versioning
1646         is superseded by "feature flags". This concept enables forward
1647         compatibility against certain future changes in functionality of ZFS
1648         pools. The first read-only compatible "feature flag" for ZFS pools
1649         is named "com.delphix:async_destroy". For more information
1650         read the new zpool-features(5) manual page.
1651         Please refer to the "ZFS notes" section of this file for information
1652         on upgrading boot ZFS pools.
1653
1654 20120417:
1655         The malloc(3) implementation embedded in libc now uses sources imported
1656         as contrib/jemalloc.  The most disruptive API change is to
1657         /etc/malloc.conf.  If your system has an old-style /etc/malloc.conf,
1658         delete it prior to installworld, and optionally re-create it using the
1659         new format after rebooting.  See malloc.conf(5) for details
1660         (specifically the TUNING section and the "opt.*" entries in the MALLCTL
1661         NAMESPACE section).
1662
1663 20120328:
1664         Big-endian MIPS TARGET_ARCH values no longer end in "eb".  mips64eb
1665         is now spelled mips64.  mipsn32eb is now spelled mipsn32.  mipseb is
1666         now spelled mips.  This is to aid compatibility with third-party
1667         software that expects this naming scheme in uname(3).  Little-endian
1668         settings are unchanged. If you are updating a big-endian mips64 machine
1669         from before this change, you may need to set MACHINE_ARCH=mips64 in
1670         your environment before the new build system will recognize your machine.
1671
1672 20120306:
1673         Disable by default the option VFS_ALLOW_NONMPSAFE for all supported
1674         platforms.
1675
1676 20120229:
1677         Now unix domain sockets behave "as expected" on nullfs(5). Previously
1678         nullfs(5) did not pass through all behaviours to the underlying layer,
1679         as a result if we bound to a socket on the lower layer we could connect
1680         only to the lower path; if we bound to the upper layer we could connect
1681         only to the upper path. The new behavior is one can connect to both the
1682         lower and the upper paths regardless what layer path one binds to.
1683
1684 20120211:
1685         The getifaddrs upgrade path broken with 20111215 has been restored.
1686         If you have upgraded in between 20111215 and 20120209 you need to
1687         recompile libc again with your kernel.  You still need to recompile
1688         world to be able to configure CARP but this restriction already
1689         comes from 20111215.
1690
1691 20120114:
1692         The set_rcvar() function has been removed from /etc/rc.subr.  All
1693         base and ports rc.d scripts have been updated, so if you have a
1694         port installed with a script in /usr/local/etc/rc.d you can either
1695         hand-edit the rcvar= line, or reinstall the port.
1696
1697         An easy way to handle the mass-update of /etc/rc.d:
1698         rm /etc/rc.d/* && mergemaster -i
1699
1700 20120109:
1701         panic(9) now stops other CPUs in the SMP systems, disables interrupts
1702         on the current CPU and prevents other threads from running.
1703         This behavior can be reverted using the kern.stop_scheduler_on_panic
1704         tunable/sysctl.
1705         The new behavior can be incompatible with kern.sync_on_panic.
1706
1707 20111215:
1708         The carp(4) facility has been changed significantly. Configuration
1709         of the CARP protocol via ifconfig(8) has changed, as well as format
1710         of CARP events submitted to devd(8) has changed. See manual pages
1711         for more information. The arpbalance feature of carp(4) is currently
1712         not supported anymore.
1713
1714         Size of struct in_aliasreq, struct in6_aliasreq has changed. User
1715         utilities using SIOCAIFADDR, SIOCAIFADDR_IN6, e.g. ifconfig(8),
1716         need to be recompiled.
1717
1718 20111122:
1719         The acpi_wmi(4) status device /dev/wmistat has been renamed to
1720         /dev/wmistat0.
1721
1722 20111108:
1723         The option VFS_ALLOW_NONMPSAFE option has been added in order to
1724         explicitely support non-MPSAFE filesystems.
1725         It is on by default for all supported platform at this present
1726         time.
1727
1728 20111101:
1729         The broken amd(4) driver has been replaced with esp(4) in the amd64,
1730         i386 and pc98 GENERIC kernel configuration files.
1731
1732 20110930:
1733         sysinstall has been removed
1734
1735 20110923:
1736         The stable/9 branch created in subversion.  This corresponds to the
1737         RELENG_9 branch in CVS.
1738
1739 COMMON ITEMS:
1740
1741         General Notes
1742         -------------
1743         Avoid using make -j when upgrading.  While generally safe, there are
1744         sometimes problems using -j to upgrade.  If your upgrade fails with
1745         -j, please try again without -j.  From time to time in the past there
1746         have been problems using -j with buildworld and/or installworld.  This
1747         is especially true when upgrading between "distant" versions (eg one
1748         that cross a major release boundary or several minor releases, or when
1749         several months have passed on the -current branch).
1750
1751         Sometimes, obscure build problems are the result of environment
1752         poisoning.  This can happen because the make utility reads its
1753         environment when searching for values for global variables.  To run
1754         your build attempts in an "environmental clean room", prefix all make
1755         commands with 'env -i '.  See the env(1) manual page for more details.
1756
1757         When upgrading from one major version to another it is generally best
1758         to upgrade to the latest code in the currently installed branch first,
1759         then do an upgrade to the new branch. This is the best-tested upgrade
1760         path, and has the highest probability of being successful.  Please try
1761         this approach before reporting problems with a major version upgrade.
1762
1763         When upgrading a live system, having a root shell around before
1764         installing anything can help undo problems. Not having a root shell
1765         around can lead to problems if pam has changed too much from your
1766         starting point to allow continued authentication after the upgrade.
1767
1768         This file should be read as a log of events. When a later event changes
1769         information of a prior event, the prior event should not be deleted.
1770         Instead, a pointer to the entry with the new information should be
1771         placed in the old entry. Readers of this file should also sanity check
1772         older entries before relying on them blindly. Authors of new entries
1773         should write them with this in mind.
1774
1775         ZFS notes
1776         ---------
1777         When upgrading the boot ZFS pool to a new version, always follow
1778         these two steps:
1779
1780         1.) recompile and reinstall the ZFS boot loader and boot block
1781         (this is part of "make buildworld" and "make installworld")
1782
1783         2.) update the ZFS boot block on your boot drive
1784
1785         The following example updates the ZFS boot block on the first
1786         partition (freebsd-boot) of a GPT partitioned drive ada0:
1787         "gpart bootcode -p /boot/gptzfsboot -i 1 ada0"
1788
1789         Non-boot pools do not need these updates.
1790
1791         To build a kernel
1792         -----------------
1793         If you are updating from a prior version of FreeBSD (even one just
1794         a few days old), you should follow this procedure.  It is the most
1795         failsafe as it uses a /usr/obj tree with a fresh mini-buildworld,
1796
1797         make kernel-toolchain
1798         make -DALWAYS_CHECK_MAKE buildkernel KERNCONF=YOUR_KERNEL_HERE
1799         make -DALWAYS_CHECK_MAKE installkernel KERNCONF=YOUR_KERNEL_HERE
1800
1801         To test a kernel once
1802         ---------------------
1803         If you just want to boot a kernel once (because you are not sure
1804         if it works, or if you want to boot a known bad kernel to provide
1805         debugging information) run
1806         make installkernel KERNCONF=YOUR_KERNEL_HERE KODIR=/boot/testkernel
1807         nextboot -k testkernel
1808
1809         To just build a kernel when you know that it won't mess you up
1810         --------------------------------------------------------------
1811         This assumes you are already running a CURRENT system.  Replace
1812         ${arch} with the architecture of your machine (e.g. "i386",
1813         "arm", "amd64", "ia64", "pc98", "sparc64", "powerpc", "mips", etc).
1814
1815         cd src/sys/${arch}/conf
1816         config KERNEL_NAME_HERE
1817         cd ../compile/KERNEL_NAME_HERE
1818         make depend
1819         make
1820         make install
1821
1822         If this fails, go to the "To build a kernel" section.
1823
1824         To rebuild everything and install it on the current system.
1825         -----------------------------------------------------------
1826         # Note: sometimes if you are running current you gotta do more than
1827         # is listed here if you are upgrading from a really old current.
1828
1829         <make sure you have good level 0 dumps>
1830         make buildworld
1831         make kernel KERNCONF=YOUR_KERNEL_HERE
1832                                                         [1]
1833         <reboot in single user>                         [3]
1834         mergemaster -Fp                                 [5]
1835         make installworld
1836         mergemaster -Fi                                 [4]
1837         make delete-old                                 [6]
1838         <reboot>
1839
1840         To cross-install current onto a separate partition
1841         --------------------------------------------------
1842         # In this approach we use a separate partition to hold
1843         # current's root, 'usr', and 'var' directories.   A partition
1844         # holding "/", "/usr" and "/var" should be about 2GB in
1845         # size.
1846
1847         <make sure you have good level 0 dumps>
1848         <boot into -stable>
1849         make buildworld
1850         make buildkernel KERNCONF=YOUR_KERNEL_HERE
1851         <maybe newfs current's root partition>
1852         <mount current's root partition on directory ${CURRENT_ROOT}>
1853         make installworld DESTDIR=${CURRENT_ROOT} -DDB_FROM_SRC
1854         make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd
1855         make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT}
1856         cp /etc/fstab ${CURRENT_ROOT}/etc/fstab                    # if newfs'd
1857         <edit ${CURRENT_ROOT}/etc/fstab to mount "/" from the correct partition>
1858         <reboot into current>
1859         <do a "native" rebuild/install as described in the previous section>
1860         <maybe install compatibility libraries from ports/misc/compat*>
1861         <reboot>
1862
1863
1864         To upgrade in-place from stable to current
1865         ----------------------------------------------
1866         <make sure you have good level 0 dumps>
1867         make buildworld                                 [9]
1868         make kernel KERNCONF=YOUR_KERNEL_HERE           [8]
1869                                                         [1]
1870         <reboot in single user>                         [3]
1871         mergemaster -Fp                                 [5]
1872         make installworld
1873         mergemaster -Fi                                 [4]
1874         make delete-old                                 [6]
1875         <reboot>
1876
1877         Make sure that you've read the UPDATING file to understand the
1878         tweaks to various things you need.  At this point in the life
1879         cycle of current, things change often and you are on your own
1880         to cope.  The defaults can also change, so please read ALL of
1881         the UPDATING entries.
1882
1883         Also, if you are tracking -current, you must be subscribed to
1884         freebsd-current@freebsd.org.  Make sure that before you update
1885         your sources that you have read and understood all the recent
1886         messages there.  If in doubt, please track -stable which has
1887         much fewer pitfalls.
1888
1889         [1] If you have third party modules, such as vmware, you
1890         should disable them at this point so they don't crash your
1891         system on reboot.
1892
1893         [3] From the bootblocks, boot -s, and then do
1894                 fsck -p
1895                 mount -u /
1896                 mount -a
1897                 cd src
1898                 adjkerntz -i            # if CMOS is wall time
1899         Also, when doing a major release upgrade, it is required that
1900         you boot into single user mode to do the installworld.
1901
1902         [4] Note: This step is non-optional.  Failure to do this step
1903         can result in a significant reduction in the functionality of the
1904         system.  Attempting to do it by hand is not recommended and those
1905         that pursue this avenue should read this file carefully, as well
1906         as the archives of freebsd-current and freebsd-hackers mailing lists
1907         for potential gotchas.  The -U option is also useful to consider.
1908         See mergemaster(8) for more information.
1909
1910         [5] Usually this step is a noop.  However, from time to time
1911         you may need to do this if you get unknown user in the following
1912         step.  It never hurts to do it all the time.  You may need to
1913         install a new mergemaster (cd src/usr.sbin/mergemaster && make
1914         install) after the buildworld before this step if you last updated
1915         from current before 20130425 or from -stable before 20130430.
1916
1917         [6] This only deletes old files and directories. Old libraries
1918         can be deleted by "make delete-old-libs", but you have to make
1919         sure that no program is using those libraries anymore.
1920
1921         [8] The new kernel must be able to run existing binaries used by
1922         an installworld.  When upgrading across major versions, the new
1923         kernel's configuration must include the correct COMPAT_FREEBSD<n>
1924         option for existing binaries (e.g. COMPAT_FREEBSD11 to run 11.x
1925         binaries).  Failure to do so may leave you with a system that is
1926         hard to boot to recover.  A GENERIC kernel will include suitable
1927         compatibility options to run binaries from older branches.
1928
1929         Make sure that you merge any new devices from GENERIC since the
1930         last time you updated your kernel config file.
1931
1932         [9] When checking out sources, you must include the -P flag to have
1933         cvs prune empty directories.
1934
1935         If CPUTYPE is defined in your /etc/make.conf, make sure to use the
1936         "?=" instead of the "=" assignment operator, so that buildworld can
1937         override the CPUTYPE if it needs to.
1938
1939         MAKEOBJDIRPREFIX must be defined in an environment variable, and
1940         not on the command line, or in /etc/make.conf.  buildworld will
1941         warn if it is improperly defined.
1942 FORMAT:
1943
1944 This file contains a list, in reverse chronological order, of major
1945 breakages in tracking -current.  It is not guaranteed to be a complete
1946 list of such breakages, and only contains entries since September 23, 2011.
1947 If you need to see UPDATING entries from before that date, you will need
1948 to fetch an UPDATING file from an older FreeBSD release.
1949
1950 Copyright information:
1951
1952 Copyright 1998-2009 M. Warner Losh.  All Rights Reserved.
1953
1954 Redistribution, publication, translation and use, with or without
1955 modification, in full or in part, in any form or format of this
1956 document are permitted without further permission from the author.
1957
1958 THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR
1959 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1960 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1961 DISCLAIMED.  IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT,
1962 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
1963 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1964 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1965 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
1966 STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
1967 IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1968 POSSIBILITY OF SUCH DAMAGE.
1969
1970 Contact Warner Losh if you have any questions about your use of
1971 this document.
1972
1973 $FreeBSD$