1f9f848faSopenharmony_ci Updating Information for users of FreeBSD stable/13.
2f9f848faSopenharmony_ci
3f9f848faSopenharmony_ciThis file is maintained and copyrighted by M. Warner Losh <imp@freebsd.org>.
4f9f848faSopenharmony_ciSee end of file for further details.  For commonly done items, please see the
5f9f848faSopenharmony_ciCOMMON ITEMS: section later in the file.  These instructions assume that you
6f9f848faSopenharmony_cibasically know what you are doing.  If not, then please consult the FreeBSD
7f9f848faSopenharmony_cihandbook:
8f9f848faSopenharmony_ci
9f9f848faSopenharmony_ci    https://docs.freebsd.org/en/books/handbook/cutting-edge/#makeworld
10f9f848faSopenharmony_ci
11f9f848faSopenharmony_ciItems affecting the ports and packages system can be found in
12f9f848faSopenharmony_ci/usr/ports/UPDATING.  Please read that file before updating system packages
13f9f848faSopenharmony_ciand/or ports.
14f9f848faSopenharmony_ci
15f9f848faSopenharmony_ci20240305:
16f9f848faSopenharmony_ci	13.3-RELEASE.
17f9f848faSopenharmony_ci
18f9f848faSopenharmony_ci20240218:
19f9f848faSopenharmony_ci	Change 9b998db87c28 changed 'struct ieee80211vap' internals in net80211.
20f9f848faSopenharmony_ci	Given we do not have enough spares and the struct is allocated by
21f9f848faSopenharmony_ci	drivers, all wireless drivers have to be recompiled.
22f9f848faSopenharmony_ci	__FreeBSD_version is updated to 1303001 to track this change.
23f9f848faSopenharmony_ci
24f9f848faSopenharmony_ci20240207:
25f9f848faSopenharmony_ci	sendmail 8.18.1 has been imported and merged.  This version enforces
26f9f848faSopenharmony_ci	stricter RFC compliance by default, especially with respect to line
27f9f848faSopenharmony_ci	endings.  This may cause issues with receiving messages from
28f9f848faSopenharmony_ci	non-compliant MTAs; please see the first 8.18.1 release note in
29f9f848faSopenharmony_ci	contrib/sendmail/RELEASE_NOTES for mitigations.
30f9f848faSopenharmony_ci
31f9f848faSopenharmony_ci20230913:
32f9f848faSopenharmony_ci	Improvements to libtacplus(8) mean that tacplus.conf(5) now
33f9f848faSopenharmony_ci	follows POSIX shell syntax rules. This may cause TACACS+
34f9f848faSopenharmony_ci	authentication to fail if the shared secret contains a single
35f9f848faSopenharmony_ci	quote, double quote, or backslash character which isn't
36f9f848faSopenharmony_ci	already properly quoted or escaped.
37f9f848faSopenharmony_ci
38f9f848faSopenharmony_ci20230619:
39f9f848faSopenharmony_ci	To enable pf rdr rules for connections initiated from the host, pf
40f9f848faSopenharmony_ci	filter rules can be optionally enabled for packets delivered
41f9f848faSopenharmony_ci	locally. This can change the behavior of rules which match packets
42f9f848faSopenharmony_ci	delivered to lo0. To enable this feature:
43f9f848faSopenharmony_ci
44f9f848faSopenharmony_ci		sysctl net.pf.filter_local=1
45f9f848faSopenharmony_ci		service pf restart
46f9f848faSopenharmony_ci
47f9f848faSopenharmony_ci	When enabled, its best to ensure that packets delivered locally are not
48f9f848faSopenharmony_ci	filtered, e.g. by adding a 'skip on lo' rule.
49f9f848faSopenharmony_ci
50f9f848faSopenharmony_ci20230404:
51f9f848faSopenharmony_ci	llvm-objump is now always installed as objdump.  Previously there was
52f9f848faSopenharmony_ci	no /usr/bin/objdump unless the WITH_LLVM_BINUTILS knob was used.
53f9f848faSopenharmony_ci
54f9f848faSopenharmony_ci	Some LLVM objdump options have a different output format compared to
55f9f848faSopenharmony_ci	GNU objdump; readelf is available for inspecting ELF files, and GNU
56f9f848faSopenharmony_ci	objdump is available from the devel/binutils port or package.
57f9f848faSopenharmony_ci
58f9f848faSopenharmony_ci20230217:
59f9f848faSopenharmony_ci	Bump __FreeBSD_verion after various changes to LinuxKPI pci and 802.11
60f9f848faSopenharmony_ci	in order to help out-of-tree consumers to deal accordingly.
61f9f848faSopenharmony_ci
62f9f848faSopenharmony_ci20220701:
63f9f848faSopenharmony_ci	LinuxKPI pm.h changes require an update to the latest drm-kmod version
64f9f848faSopenharmony_ci	before re-compiling to avoid errors.
65f9f848faSopenharmony_ci
66f9f848faSopenharmony_ci20220327:
67f9f848faSopenharmony_ci	Bump __FreeBSD_verion to 1301501 after merging LinuxKPI and
68f9f848faSopenharmony_ci	net80211 changes in order to help out-of-tree consumers to deal
69f9f848faSopenharmony_ci	accordingly.
70f9f848faSopenharmony_ci
71f9f848faSopenharmony_ci20220123:
72f9f848faSopenharmony_ci	For 64-bit architectures the base system is now built with Position
73f9f848faSopenharmony_ci	Independent Executable (PIE) support enabled by default.  It may be
74f9f848faSopenharmony_ci	disabled using the WITHOUT_PIE knob.  A clean build is required.
75f9f848faSopenharmony_ci
76f9f848faSopenharmony_ci20220114:
77f9f848faSopenharmony_ci	The macros provided for the manipulation of CPU sets (e.g. CPU_AND)
78f9f848faSopenharmony_ci	have been modified to take 2 source arguments instead of only 1.
79f9f848faSopenharmony_ci	Externally maintained sources that use these macros will have to
80f9f848faSopenharmony_ci	be adapted. The FreeBSD version has been bumped to 1300524 to
81f9f848faSopenharmony_ci	reflect this change.
82f9f848faSopenharmony_ci
83f9f848faSopenharmony_ci20211218:
84f9f848faSopenharmony_ci	Commit 18f5b477ee66 adds two arguments to VOP_ALLOCATE().
85f9f848faSopenharmony_ci	Normally changes to VOP calls are not MFC'd, but a
86f9f848faSopenharmony_ci	discussion on freebsd-current@ seemed to agree that
87f9f848faSopenharmony_ci	it was acceptable in this case, to fix the NFSv4.2 server.
88f9f848faSopenharmony_ci	Any out of source tree file system with a custom
89f9f848faSopenharmony_ci	VOP_ALLOCATE() call will need to be modified.
90f9f848faSopenharmony_ci	Bump __FreeBSD_version to 1300523 since the NFS modules need
91f9f848faSopenharmony_ci	to be rebuilt from sources.
92f9f848faSopenharmony_ci
93f9f848faSopenharmony_ci20211124:
94f9f848faSopenharmony_ci	Commit 6e8e261f0d4e changed the internal KAPI between the NFS
95f9f848faSopenharmony_ci	modules.  As such, all the modules must be rebuilt from sources.
96f9f848faSopenharmony_ci	__FreeBSD_version has been bumped to 1300522.
97f9f848faSopenharmony_ci
98f9f848faSopenharmony_ci20211119:
99f9f848faSopenharmony_ci	Bump __FreeBSD_version to 1300521 after merging LinuxKPI and
100f9f848faSopenharmony_ci	net80211 changes in order to support building various wireless
101f9f848faSopenharmony_ci	drivers.  This is to help other external consumers of LinuxKPI
102f9f848faSopenharmony_ci	and net80211 to deal accordingly.
103f9f848faSopenharmony_ci
104f9f848faSopenharmony_ci20211003:
105f9f848faSopenharmony_ci	Commit a599f9f7620b deleted the variable called nfs_maxcopyrange
106f9f848faSopenharmony_ci	from nfscommon.ko, since it no longer needs to be global.  As such,
107f9f848faSopenharmony_ci	the other nfs modules must be rebuilt from up to date sources.
108f9f848faSopenharmony_ci	Bump __FreeBSD_version to 1300516 for this.
109f9f848faSopenharmony_ci
110f9f848faSopenharmony_ci20210823:
111f9f848faSopenharmony_ci	As of commit 622809b0868f OpenSSL no longer enables kernel TLS
112f9f848faSopenharmony_ci	by default.  Users can enable kernel TLS via the "KTLS" SSL
113f9f848faSopenharmony_ci	option.  This can be enabled globally by using a custom
114f9f848faSopenharmony_ci	OpenSSL config file via OPENSSL_CONF or via an
115f9f848faSopenharmony_ci	application-specific configuration option for applications
116f9f848faSopenharmony_ci	which permit setting SSL options via SSL_CONF_cmd(3).
117f9f848faSopenharmony_ci
118f9f848faSopenharmony_ci20210803:
119f9f848faSopenharmony_ci	Commits 9fb6e613373c and 9ec7dbf46b0a both changed the internal
120f9f848faSopenharmony_ci	KAPI between the NFS modules.  Bump __FreeBSD_version to 1300514.
121f9f848faSopenharmony_ci	All NFS modules must be rebuilt from sources.
122f9f848faSopenharmony_ci
123f9f848faSopenharmony_ci20210730:
124f9f848faSopenharmony_ci	Commit b69019c14cd8 removes pf's DIOCGETSTATESNV ioctl.
125f9f848faSopenharmony_ci	As of be70c7a50d32 it is no longer used by userspace, but it does mean
126f9f848faSopenharmony_ci	users may not be able to enumerate pf states if they update the kernel
127f9f848faSopenharmony_ci	past c021ff986e2b without first updating userspace past be70c7a50d32.
128f9f848faSopenharmony_ci
129f9f848faSopenharmony_ci20210718:
130f9f848faSopenharmony_ci	Bump __FreeBSD_version to 1300512 after merging LinuxKPI, OFED,
131f9f848faSopenharmony_ci	net80211, and driver changes in order to support building
132f9f848faSopenharmony_ci	Intel wireless iwlwifi drivers.  This is especially needed for
133f9f848faSopenharmony_ci	drm-kmod which needs updates after this.
134f9f848faSopenharmony_ci
135f9f848faSopenharmony_ci20210715:
136f9f848faSopenharmony_ci	The 20210707 awk update brought in a change in behavior. This has
137f9f848faSopenharmony_ci	been corrected as of d4d252c49976. Between these dates, if you
138f9f848faSopenharmony_ci	installed a new awk binary, you may not be able to build a new
139f9f848faSopenharmony_ci	kernel because the change in behavior affected the genoffset
140f9f848faSopenharmony_ci	script used to build the kernel. If you did update, the fix is
141f9f848faSopenharmony_ci	to update your sources past the above hash and do
142f9f848faSopenharmony_ci		% cd usr.bin/awk
143f9f848faSopenharmony_ci		% make clean all
144f9f848faSopenharmony_ci		% sudo -E make install
145f9f848faSopenharmony_ci	to enable building kernels again.
146f9f848faSopenharmony_ci
147f9f848faSopenharmony_ci20210711:
148f9f848faSopenharmony_ci	Commit 8a04edfdcbd2 changes the default minor version
149f9f848faSopenharmony_ci	used for NFSv4 mounts to the highest minor version supported
150f9f848faSopenharmony_ci	by the NFSv4 server.  This default can be overridden by using
151f9f848faSopenharmony_ci	the "minorversion" mount option.
152f9f848faSopenharmony_ci	The consensus of a discussion on freebsd-current@ indicated
153f9f848faSopenharmony_ci	that this would be acceptable to do and would not be considered
154f9f848faSopenharmony_ci	a POLA violation.
155f9f848faSopenharmony_ci
156f9f848faSopenharmony_ci20210710:
157f9f848faSopenharmony_ci	awk has been updated to the latest one-true-awk version 20210215.
158f9f848faSopenharmony_ci	This contains a number of minor bug fixes.
159f9f848faSopenharmony_ci
160f9f848faSopenharmony_ci20210630:
161f9f848faSopenharmony_ci        Commit ca179c4d74f2/632e3f2f3a66 changed the package in which
162f9f848faSopenharmony_ci	the OpenSSL libraries and utilities are packaged.
163f9f848faSopenharmony_ci        It is recommended for pkgbase user to do:
164f9f848faSopenharmony_ci        pkg install -f FreeBSD-openssl
165f9f848faSopenharmony_ci        before pkg upgrade otherwise some dependencies might not be met
166f9f848faSopenharmony_ci        and pkg will stop working as libssl will not be present anymore
167f9f848faSopenharmony_ci        on the system.
168f9f848faSopenharmony_ci
169f9f848faSopenharmony_ci20210626:
170f9f848faSopenharmony_ci	Commit 841006678745 changed the internal KAPI between the krpc
171f9f848faSopenharmony_ci	and nfsd modules.  As such, they must both be rebuilt from
172f9f848faSopenharmony_ci	sources.
173f9f848faSopenharmony_ci	__FreeBSD_version is bumped to 1300510.
174f9f848faSopenharmony_ci
175f9f848faSopenharmony_ci20210510:
176f9f848faSopenharmony_ci	Commit 272f39942254 changed the internal KAPI between the
177f9f848faSopenharmony_ci	nscl.ko and nfscommon.ko modules, so they both need to be
178f9f848faSopenharmony_ci	rebuilt from sources.
179f9f848faSopenharmony_ci
180f9f848faSopenharmony_ci20210429:
181f9f848faSopenharmony_ci	Commit 5a45802b3c8c changed the internal KAPI between
182f9f848faSopenharmony_ci	the krpc and NFS.  As such, the krpc, nfscommon and
183f9f848faSopenharmony_ci	nfscl modules must all be rebuilt from sources.
184f9f848faSopenharmony_ci	Without this patch, NFSv4.1/4.2 mounts should not
185f9f848faSopenharmony_ci	be done with the nfscbd(8) daemon running, to avoid
186f9f848faSopenharmony_ci	needing a working back channel for server->client RPCs.
187f9f848faSopenharmony_ci
188f9f848faSopenharmony_ci20210202:
189f9f848faSopenharmony_ci	Various LinuxKPI functionality was added which conflicts with DRM.
190f9f848faSopenharmony_ci	Please update your drm-kmod port to after the __FreeBSD_verison 1300139
191f9f848faSopenharmony_ci	update.
192f9f848faSopenharmony_ci
193f9f848faSopenharmony_ci20210122:
194f9f848faSopenharmony_ci	The stable/13 branch has been created from main.
195f9f848faSopenharmony_ci
196f9f848faSopenharmony_ci20210108:
197f9f848faSopenharmony_ci	PC Card attachments for all devices have been removed. In the case of
198f9f848faSopenharmony_ci	wi and cmx, the entire drivers were removed because they were only
199f9f848faSopenharmony_ci	PC Card devices. FreeBSD_version 1300134 should be used for this
200f9f848faSopenharmony_ci	since it was bumped so recently.
201f9f848faSopenharmony_ci
202f9f848faSopenharmony_ci20210107:
203f9f848faSopenharmony_ci	Transport-independent parts of HID support have been split off the USB
204f9f848faSopenharmony_ci	code in to separate subsystem.  Kernel configs which include one of
205f9f848faSopenharmony_ci	ums, ukbd, uhid, atp, wsp, wmt, uaudio, ugold or ucycom drivers should
206f9f848faSopenharmony_ci	be updated with adding of "device hid" line.
207f9f848faSopenharmony_ci
208f9f848faSopenharmony_ci20210105:
209f9f848faSopenharmony_ci	ncurses installation has been modified to only keep the widechar
210f9f848faSopenharmony_ci	enabled version.  Incremental build is broken for that change, so it
211f9f848faSopenharmony_ci	requires a clean build.
212f9f848faSopenharmony_ci
213f9f848faSopenharmony_ci20201223:
214f9f848faSopenharmony_ci	The FreeBSD project has migrated from Subversion to Git. Temporary
215f9f848faSopenharmony_ci	instructions can be found at
216f9f848faSopenharmony_ci	https://github.com/bsdimp/freebsd-git-docs/blob/main/src-cvt.md
217f9f848faSopenharmony_ci	and other documents in that repo.
218f9f848faSopenharmony_ci
219f9f848faSopenharmony_ci20201216:
220f9f848faSopenharmony_ci	The services database has been updated to cover more of the basic
221f9f848faSopenharmony_ci	services expected in a modern system. The database is big enough
222f9f848faSopenharmony_ci	that it will cause issues in mergemaster in Releases previous to
223f9f848faSopenharmony_ci	12.2 and 11.3, or in very old current systems from before r358154.
224f9f848faSopenharmony_ci
225f9f848faSopenharmony_ci20201215:
226f9f848faSopenharmony_ci	Obsolete in-tree GDB 6.1.1 has been removed.  GDB (including kgdb)
227f9f848faSopenharmony_ci	may be installed from ports or packages.
228f9f848faSopenharmony_ci
229f9f848faSopenharmony_ci20201124:
230f9f848faSopenharmony_ci	ping6 has been merged into ping.  It can now be called as "ping -6".
231f9f848faSopenharmony_ci	See ping(8) for details.
232f9f848faSopenharmony_ci
233f9f848faSopenharmony_ci20201108:
234f9f848faSopenharmony_ci	Default value of net.add_addr_allfibs has been changed to 0.
235f9f848faSopenharmony_ci	If you have multi-fib configuration and rely on existence of all
236f9f848faSopenharmony_ci	interface routes in every fib, you need to set the above sysctl to 1.
237f9f848faSopenharmony_ci20201030:
238f9f848faSopenharmony_ci	The internal pre-processor in the calendar(1) program has been
239f9f848faSopenharmony_ci	extended to support more C pre-processor commands (e.g. #ifdef, #else,
240f9f848faSopenharmony_ci	and #undef) and to detect unbalanced conditional statements.
241f9f848faSopenharmony_ci	Error messages have been extended to include the filename and line
242f9f848faSopenharmony_ci	number if processing stops to help fixing malformed data files.
243f9f848faSopenharmony_ci
244f9f848faSopenharmony_ci20201026:
245f9f848faSopenharmony_ci	All the data files for the calendar(1) program, except calendar.freebsd,
246f9f848faSopenharmony_ci	have been moved to the deskutils/calendar-data port, much like the
247f9f848faSopenharmony_ci	jewish calendar entries were moved to deskutils/hebcal years ago. After
248f9f848faSopenharmony_ci	make delete-old-files, you need to install it to retain full
249f9f848faSopenharmony_ci	functionality. calendar(1) will issue a reminder for files it can't
250f9f848faSopenharmony_ci	find.
251f9f848faSopenharmony_ci
252f9f848faSopenharmony_ci20200923:
253f9f848faSopenharmony_ci	LINT files are no longer generated. We now include the relevant NOTES
254f9f848faSopenharmony_ci	files. Note: This may cause conflicts with updating in some cases.
255f9f848faSopenharmony_ci	        find sys -name LINT\* -delete
256f9f848faSopenharmony_ci	is suggested across this commit	to remove the generated	LINT files.
257f9f848faSopenharmony_ci
258f9f848faSopenharmony_ci	If you have tried to update with generated files there, the svn
259f9f848faSopenharmony_ci	command you want to un-auger the tree is
260f9f848faSopenharmony_ci		cd sys/amd64/conf
261f9f848faSopenharmony_ci		svn revert -R .
262f9f848faSopenharmony_ci	and then do the above find from the top level. Substitute 'amd64'
263f9f848faSopenharmony_ci	above with where the error message indicates a conflict.
264f9f848faSopenharmony_ci
265f9f848faSopenharmony_ci20200824:
266f9f848faSopenharmony_ci	OpenZFS support has been integrated. Do not upgrade root pools until
267f9f848faSopenharmony_ci	the loader is updated to support zstd. Furthermore, we caution against
268f9f848faSopenharmony_ci	'zpool upgrade' for the next few weeks. The change should be transparent
269f9f848faSopenharmony_ci	unless you  want to use new features.
270f9f848faSopenharmony_ci
271f9f848faSopenharmony_ci	Not all "NO_CLEAN" build scenarios work across these changes. Many
272f9f848faSopenharmony_ci	scenarios have been tested and fixed, but rebuilding kernels without
273f9f848faSopenharmony_ci	rebuilding world may fail.
274f9f848faSopenharmony_ci
275f9f848faSopenharmony_ci	The ZFS cache file has moved from /boot to /etc to match the OpenZFS
276f9f848faSopenharmony_ci	upstream default. A fallback to /boot has been added for mountroot.
277f9f848faSopenharmony_ci
278f9f848faSopenharmony_ci	Pool auto import behavior at boot has been moved from the kernel module
279f9f848faSopenharmony_ci	to an explicit "zpool import -a" in one of the rc scripts enabled by
280f9f848faSopenharmony_ci	zfs_enable=YES. This means your non-root zpools won't auto import until
281f9f848faSopenharmony_ci	you upgrade your /etc/rc.d files.
282f9f848faSopenharmony_ci
283f9f848faSopenharmony_ci20200824:
284f9f848faSopenharmony_ci	The resume code now notifies devd with the 'kernel' system
285f9f848faSopenharmony_ci	rather than the old 'kern' subsystem to be consistent with
286f9f848faSopenharmony_ci	other use. The old notification will be created as well, but
287f9f848faSopenharmony_ci	will be removed prior to FreeBSD 14.0.
288f9f848faSopenharmony_ci
289f9f848faSopenharmony_ci20200821:
290f9f848faSopenharmony_ci	r362275 changed the internal API between the kernel RPC and the
291f9f848faSopenharmony_ci	NFS modules. As such, all the modules must be recompiled from
292f9f848faSopenharmony_ci	sources.
293f9f848faSopenharmony_ci
294f9f848faSopenharmony_ci20200817:
295f9f848faSopenharmony_ci	r364330 modified the internal API used between the NFS modules.
296f9f848faSopenharmony_ci	As such, all the NFS modules must be re-compiled from sources.
297f9f848faSopenharmony_ci
298f9f848faSopenharmony_ci20200816:
299f9f848faSopenharmony_ci	Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have
300f9f848faSopenharmony_ci	been upgraded to 11.0.0.  Please see the 20141231 entry below for
301f9f848faSopenharmony_ci	information about prerequisites and upgrading, if you are not already
302f9f848faSopenharmony_ci	using clang 3.5.0 or higher.
303f9f848faSopenharmony_ci
304f9f848faSopenharmony_ci20200810:
305f9f848faSopenharmony_ci	r364092 modified the internal ABI used between the kernel NFS
306f9f848faSopenharmony_ci	modules.  As such, all of these modules need to be rebuilt
307f9f848faSopenharmony_ci	from sources, so a version bump was done.
308f9f848faSopenharmony_ci
309f9f848faSopenharmony_ci20200807:
310f9f848faSopenharmony_ci	Makefile.inc has been updated to work around the issue documented in
311f9f848faSopenharmony_ci	20200729. It was a case where the optimization of using symbolic links
312f9f848faSopenharmony_ci	to point to binaries created a situation where we'd run new binaries
313f9f848faSopenharmony_ci	with old libraries starting midway through the installworld process.
314f9f848faSopenharmony_ci
315f9f848faSopenharmony_ci20200729:
316f9f848faSopenharmony_ci	r363679 has redefined some undefined behavior in regcomp(3); notably,
317f9f848faSopenharmony_ci	extraneous escapes of most ordinary characters will no longer be
318f9f848faSopenharmony_ci	accepted.  An exp-run has identified all of the problems with this in
319f9f848faSopenharmony_ci	ports, but other non-ports software may need extra escapes removed to
320f9f848faSopenharmony_ci	continue to function.
321f9f848faSopenharmony_ci
322f9f848faSopenharmony_ci	Because of this change, installworld may encounter the following error
323f9f848faSopenharmony_ci	from rtld: Undefined symbol "regcomp@FBSD_1.6" -- It is imperative that
324f9f848faSopenharmony_ci	you do not halt installworld. Instead, let it run to completion (whether
325f9f848faSopenharmony_ci	successful or not) and run installworld once more.
326f9f848faSopenharmony_ci
327f9f848faSopenharmony_ci20200627:
328f9f848faSopenharmony_ci	A new implementation of bc and dc has been imported in r362681. This
329f9f848faSopenharmony_ci	implementation corrects non-conformant behavior of the previous bc
330f9f848faSopenharmony_ci	and adds GNU bc compatible options. It offers a number of extensions,
331f9f848faSopenharmony_ci	is much faster on large values, and has support for message catalogs
332f9f848faSopenharmony_ci	(a number of languages are already supported, contributions of further
333f9f848faSopenharmony_ci	languages welcome). The option WITHOUT_GH_BC can be used to build the
334f9f848faSopenharmony_ci	world with the previous versions of bc and dc.
335f9f848faSopenharmony_ci
336f9f848faSopenharmony_ci20200625:
337f9f848faSopenharmony_ci	r362639 changed the internal API used between the NFS kernel modules.
338f9f848faSopenharmony_ci	As such, they all need to be rebuilt from sources.
339f9f848faSopenharmony_ci
340f9f848faSopenharmony_ci20200613:
341f9f848faSopenharmony_ci	r362158 changed the arguments for VFS_CHECKEXP().  As such, any
342f9f848faSopenharmony_ci	out of tree file systems need to be modified and rebuilt.
343f9f848faSopenharmony_ci	Also, any file systems that are modules must be rebuilt.
344f9f848faSopenharmony_ci
345f9f848faSopenharmony_ci20200604:
346f9f848faSopenharmony_ci	read(2) of a directory fd is now rejected by default.  root may
347f9f848faSopenharmony_ci	re-enable it for system root only on non-ZFS filesystems with the
348f9f848faSopenharmony_ci	security.bsd.allow_read_dir sysctl(8) MIB if
349f9f848faSopenharmony_ci	security.bsd.suser_enabled=1.
350f9f848faSopenharmony_ci
351f9f848faSopenharmony_ci	It may be advised to setup aliases for grep to default to `-d skip` if
352f9f848faSopenharmony_ci	commonly non-recursively grepping a list that includes directories and
353f9f848faSopenharmony_ci	the potential for the resulting stderr output is not tolerable.  Example
354f9f848faSopenharmony_ci	aliases are now installed, commented out, in /root/.cshrc and
355f9f848faSopenharmony_ci	/root/.shrc.
356f9f848faSopenharmony_ci
357f9f848faSopenharmony_ci20200523:
358f9f848faSopenharmony_ci	Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have
359f9f848faSopenharmony_ci	been upgraded to 10.0.1.  Please see the 20141231 entry below for
360f9f848faSopenharmony_ci	information about prerequisites and upgrading, if you are not already
361f9f848faSopenharmony_ci	using clang 3.5.0 or higher.
362f9f848faSopenharmony_ci
363f9f848faSopenharmony_ci20200512:
364f9f848faSopenharmony_ci	Support for obsolete compilers has been removed from the build system.
365f9f848faSopenharmony_ci	Clang 6 and GCC 6.4 are the minimum supported versions.
366f9f848faSopenharmony_ci
367f9f848faSopenharmony_ci20200424:
368f9f848faSopenharmony_ci	closefrom(2) has been moved under COMPAT12, and replaced in libc with a
369f9f848faSopenharmony_ci	stub that calls close_range(2).  If using a custom kernel configuration,
370f9f848faSopenharmony_ci	you may want to ensure that the COMPAT_FREEBSD12 option is included, as
371f9f848faSopenharmony_ci	a slightly older -CURRENT userland and older FreeBSD userlands may not
372f9f848faSopenharmony_ci	be functional without closefrom(2).
373f9f848faSopenharmony_ci
374f9f848faSopenharmony_ci20200414:
375f9f848faSopenharmony_ci	Upstream DTS from Linux 5.6 was merged and they now have the SID
376f9f848faSopenharmony_ci	and THS (Secure ID controller and THermal Sensor) node present.
377f9f848faSopenharmony_ci	The DTB overlays have now been removed from the tree for the H3/H5 and
378f9f848faSopenharmony_ci	A64 SoCs and the aw_sid and aw_thermal driver have been updated to
379f9f848faSopenharmony_ci	deal with upstream DTS. If you are using those overlays you need to
380f9f848faSopenharmony_ci	remove them from loader.conf and update the DTBs on the FAT partition.
381f9f848faSopenharmony_ci
382f9f848faSopenharmony_ci20200310:
383f9f848faSopenharmony_ci	Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have
384f9f848faSopenharmony_ci	been upgraded to 10.0.0.  Please see the 20141231 entry below for
385f9f848faSopenharmony_ci	information about prerequisites and upgrading, if you are not already
386f9f848faSopenharmony_ci	using clang 3.5.0 or higher.
387f9f848faSopenharmony_ci
388f9f848faSopenharmony_ci20200309:
389f9f848faSopenharmony_ci	The amd(8) automount daemon has been removed from the source tree.
390f9f848faSopenharmony_ci	As of FreeBSD 10.1 autofs(5) is the preferred tool for automounting.
391f9f848faSopenharmony_ci	amd is still available in the sysutils/am-utils port.
392f9f848faSopenharmony_ci
393f9f848faSopenharmony_ci20200301:
394f9f848faSopenharmony_ci	Removed brooktree driver (bktr.4) from the tree.
395f9f848faSopenharmony_ci
396f9f848faSopenharmony_ci20200229:
397f9f848faSopenharmony_ci	The WITH_GPL_DTC option has been removed.  The BSD-licenced device tree
398f9f848faSopenharmony_ci	compiler in usr.bin/dtc is used on all architectures which use dtc, and
399f9f848faSopenharmony_ci	the GPL dtc is available (if needed) from the sysutils/dtc port.
400f9f848faSopenharmony_ci
401f9f848faSopenharmony_ci20200229:
402f9f848faSopenharmony_ci	The WITHOUT_LLVM_LIBUNWIND option has been removed.  LLVM's libunwind
403f9f848faSopenharmony_ci	is used by all supported CPU architectures.
404f9f848faSopenharmony_ci
405f9f848faSopenharmony_ci20200229:
406f9f848faSopenharmony_ci	GCC 4.2.1 has been removed from the tree.  The WITH_GCC,
407f9f848faSopenharmony_ci	WITH_GCC_BOOTSTRAP, and WITH_GNUCXX options are no longer available.
408f9f848faSopenharmony_ci	Users who wish to build FreeBSD with GCC must use the external toolchain
409f9f848faSopenharmony_ci	ports or packages.
410f9f848faSopenharmony_ci
411f9f848faSopenharmony_ci20200220:
412f9f848faSopenharmony_ci	ncurses has been updated to a newer version (6.2-20200215). Given the ABI
413f9f848faSopenharmony_ci	has changed, users will have to rebuild all the ports that are linked to
414f9f848faSopenharmony_ci	ncurses.
415f9f848faSopenharmony_ci
416f9f848faSopenharmony_ci20200217:
417f9f848faSopenharmony_ci	The size of struct vnet and the magic cookie have changed.
418f9f848faSopenharmony_ci	Users need to recompile libkvm and all modules using VIMAGE
419f9f848faSopenharmony_ci	together with their new kernel.
420f9f848faSopenharmony_ci
421f9f848faSopenharmony_ci20200212:
422f9f848faSopenharmony_ci	Defining the long deprecated NO_CTF, NO_DEBUG_FILES, NO_INSTALLLIB,
423f9f848faSopenharmony_ci	NO_MAN, NO_PROFILE, and NO_WARNS variables is now an error.  Update
424f9f848faSopenharmony_ci	your Makefiles and scripts to define MK_<var>=no instead as required.
425f9f848faSopenharmony_ci
426f9f848faSopenharmony_ci	One exception to this is that program or library Makefiles should
427f9f848faSopenharmony_ci	define MAN to empty rather than setting MK_MAN=no.
428f9f848faSopenharmony_ci
429f9f848faSopenharmony_ci20200108:
430f9f848faSopenharmony_ci	Clang/LLVM is now the default compiler and LLD the default
431f9f848faSopenharmony_ci	linker for riscv64.
432f9f848faSopenharmony_ci
433f9f848faSopenharmony_ci20200107:
434f9f848faSopenharmony_ci	make universe no longer uses GCC 4.2.1 on any architectures.
435f9f848faSopenharmony_ci	Architectures not supported by in-tree Clang/LLVM require an
436f9f848faSopenharmony_ci	external toolchain package.
437f9f848faSopenharmony_ci
438f9f848faSopenharmony_ci20200104:
439f9f848faSopenharmony_ci	GCC 4.2.1 is now not built by default, as part of the GCC 4.2.1
440f9f848faSopenharmony_ci	retirement plan.  Specifically, the GCC, GCC_BOOTSTRAP, and GNUCXX
441f9f848faSopenharmony_ci	options default to off for all supported CPU architectures.  As a
442f9f848faSopenharmony_ci	short-term transition aid they may be enabled via WITH_* options.
443f9f848faSopenharmony_ci	GCC 4.2.1 is expected to be removed from the tree on 2020-03-31.
444f9f848faSopenharmony_ci
445f9f848faSopenharmony_ci20200102:
446f9f848faSopenharmony_ci	Support for armv5 has been disconnected and is being removed. The
447f9f848faSopenharmony_ci	machine combination MACHINE=arm MACHINE_ARCH=arm is no longer valid.
448f9f848faSopenharmony_ci	You must now use a MACHINE_ARCH of armv6 or armv7. The default
449f9f848faSopenharmony_ci	MACHINE_ARCH for MACHINE=arm is now armv7.
450f9f848faSopenharmony_ci
451f9f848faSopenharmony_ci20191226:
452f9f848faSopenharmony_ci	Clang/LLVM is now the default compiler for all powerpc architectures.
453f9f848faSopenharmony_ci	LLD is now the default linker for powerpc64.  The change for powerpc64
454f9f848faSopenharmony_ci	also includes a change to the ELFv2 ABI, incompatible with the existing
455f9f848faSopenharmony_ci	ABI.
456f9f848faSopenharmony_ci
457f9f848faSopenharmony_ci20191226:
458f9f848faSopenharmony_ci	Kernel-loadable random(4) modules are no longer unloadable.
459f9f848faSopenharmony_ci
460f9f848faSopenharmony_ci20191222:
461f9f848faSopenharmony_ci	Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have
462f9f848faSopenharmony_ci	been upgraded to 9.0.1.  Please see the 20141231 entry below for
463f9f848faSopenharmony_ci	information about prerequisites and upgrading, if you are not already
464f9f848faSopenharmony_ci	using clang 3.5.0 or higher.
465f9f848faSopenharmony_ci
466f9f848faSopenharmony_ci20191212:
467f9f848faSopenharmony_ci	r355677 has modified the internal interface used between the
468f9f848faSopenharmony_ci	NFS modules in the kernel. As such, they must all be upgraded
469f9f848faSopenharmony_ci	simultaneously. I will do a version bump for this.
470f9f848faSopenharmony_ci
471f9f848faSopenharmony_ci20191205:
472f9f848faSopenharmony_ci	The root certificates of the Mozilla CA Certificate Store have been
473f9f848faSopenharmony_ci	imported into the base system and can be managed with the certctl(8)
474f9f848faSopenharmony_ci	utility.  If you have installed the security/ca_root_nss port or package
475f9f848faSopenharmony_ci	with the ETCSYMLINK option (the default), be advised that there may be
476f9f848faSopenharmony_ci	differences between those included in the port and those included in
477f9f848faSopenharmony_ci	base due to differences in nss branch used as well as general update
478f9f848faSopenharmony_ci	frequency.  Note also that certctl(8) cannot manage certs in the
479f9f848faSopenharmony_ci	format used by the security/ca_root_nss port.
480f9f848faSopenharmony_ci
481f9f848faSopenharmony_ci20191120:
482f9f848faSopenharmony_ci	The amd(8) automount daemon has been disabled by default, and will be
483f9f848faSopenharmony_ci	removed in the future.  As of FreeBSD 10.1 the autofs(5) is available
484f9f848faSopenharmony_ci	for automounting.
485f9f848faSopenharmony_ci
486f9f848faSopenharmony_ci20191107:
487f9f848faSopenharmony_ci	The nctgpio and wbwd drivers have been moved to the superio bus.
488f9f848faSopenharmony_ci	If you have one of these drivers in a kernel configuration, then
489f9f848faSopenharmony_ci	you should add device superio to it.  If you use one of these drivers
490f9f848faSopenharmony_ci	as a module and you compile a custom set of modules, then you should
491f9f848faSopenharmony_ci	add superio to the set.
492f9f848faSopenharmony_ci
493f9f848faSopenharmony_ci20191021:
494f9f848faSopenharmony_ci	KPIs for network drivers to access interface addresses have changed.
495f9f848faSopenharmony_ci	Users need to recompile NIC driver modules together with kernel.
496f9f848faSopenharmony_ci
497f9f848faSopenharmony_ci20191021:
498f9f848faSopenharmony_ci	The net.link.tap.user_open sysctl no longer prevents user opening of
499f9f848faSopenharmony_ci	already created /dev/tapNN devices.  Access is still controlled by
500f9f848faSopenharmony_ci	node permissions, just like tun devices.  The net.link.tap.user_open
501f9f848faSopenharmony_ci	sysctl is now used only to allow users to perform devfs cloning of
502f9f848faSopenharmony_ci	tap devices, and the subsequent open may not succeed if the user is not
503f9f848faSopenharmony_ci	in the appropriate group.  This sysctl may be deprecated/removed
504f9f848faSopenharmony_ci	completely in the future.
505f9f848faSopenharmony_ci
506f9f848faSopenharmony_ci20191009:
507f9f848faSopenharmony_ci	mips, powerpc, and sparc64 are no longer built as part of
508f9f848faSopenharmony_ci	universe / tinderbox unless MAKE_OBSOLETE_GCC is defined. If
509f9f848faSopenharmony_ci	not defined, mips, powerpc, and sparc64 builds will look for
510f9f848faSopenharmony_ci	the xtoolchain binaries and if installed use them for universe
511f9f848faSopenharmony_ci	builds. As llvm 9.0 becomes vetted for these architectures, they
512f9f848faSopenharmony_ci	will be removed from the list.
513f9f848faSopenharmony_ci
514f9f848faSopenharmony_ci20191009:
515f9f848faSopenharmony_ci	Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have
516f9f848faSopenharmony_ci	been upgraded to 9.0.0.  Please see the 20141231 entry below for
517f9f848faSopenharmony_ci	information about prerequisites and upgrading, if you are not already
518f9f848faSopenharmony_ci	using clang 3.5.0 or higher.
519f9f848faSopenharmony_ci
520f9f848faSopenharmony_ci20191003:
521f9f848faSopenharmony_ci	The hpt27xx, hptmv, hptnr, and hptrr drivers have been removed from
522f9f848faSopenharmony_ci	GENERIC.  They are available as modules and can be loaded by adding
523f9f848faSopenharmony_ci	to /boot/loader.conf hpt27xx_load="YES", hptmv_load="YES",
524f9f848faSopenharmony_ci	hptnr_load="YES", or hptrr_load="YES", respectively.
525f9f848faSopenharmony_ci
526f9f848faSopenharmony_ci20190913:
527f9f848faSopenharmony_ci	ntpd no longer by default locks its pages in memory, allowing them
528f9f848faSopenharmony_ci	to be paged out by the kernel. Use rlimit memlock to restore
529f9f848faSopenharmony_ci	historic BSD behaviour. For example, add "rlimit memlock 32"
530f9f848faSopenharmony_ci	to ntp.conf to lock up to 32 MB of ntpd address space in memory.
531f9f848faSopenharmony_ci
532f9f848faSopenharmony_ci20190823:
533f9f848faSopenharmony_ci	Several of ping6's options have been renamed for better consistency
534f9f848faSopenharmony_ci	with ping.  If you use any of -ARWXaghmrtwx, you must update your
535f9f848faSopenharmony_ci	scripts.  See ping6(8) for details.
536f9f848faSopenharmony_ci
537f9f848faSopenharmony_ci20190727:
538f9f848faSopenharmony_ci	The vfs.fusefs.sync_unmount and vfs.fusefs.init_backgrounded sysctls
539f9f848faSopenharmony_ci	and the "-o sync_unmount" and "-o init_backgrounded" mount options have
540f9f848faSopenharmony_ci	been removed from mount_fusefs(8).  You can safely remove them from
541f9f848faSopenharmony_ci	your scripts, because they had no effect.
542f9f848faSopenharmony_ci
543f9f848faSopenharmony_ci	The vfs.fusefs.fix_broken_io, vfs.fusefs.sync_resize,
544f9f848faSopenharmony_ci	vfs.fusefs.refresh_size, vfs.fusefs.mmap_enable,
545f9f848faSopenharmony_ci	vfs.fusefs.reclaim_revoked, and vfs.fusefs.data_cache_invalidate
546f9f848faSopenharmony_ci	sysctls have been removed.  If you felt the need to set any of them to
547f9f848faSopenharmony_ci	a non-default value, please tell asomers@FreeBSD.org why.
548f9f848faSopenharmony_ci
549f9f848faSopenharmony_ci20190713:
550f9f848faSopenharmony_ci	Default permissions on the /var/account/acct file (and copies of it
551f9f848faSopenharmony_ci	rotated by periodic daily scripts) are changed from 0644 to 0640
552f9f848faSopenharmony_ci	because the file contains sensitive information that should not be
553f9f848faSopenharmony_ci	world-readable.  If the /var/account directory must be created by
554f9f848faSopenharmony_ci	rc.d/accounting, the mode used is now 0750.  Admins who use the
555f9f848faSopenharmony_ci	accounting feature are encouraged to change the mode of an existing
556f9f848faSopenharmony_ci	/var/account directory to 0750 or 0700.
557f9f848faSopenharmony_ci
558f9f848faSopenharmony_ci20190620:
559f9f848faSopenharmony_ci	Entropy collection and the /dev/random device are no longer optional
560f9f848faSopenharmony_ci	components.  The "device random" option has been removed.
561f9f848faSopenharmony_ci	Implementations of distilling algorithms can still be made loadable
562f9f848faSopenharmony_ci	with "options RANDOM_LOADABLE" (e.g., random_fortuna.ko).
563f9f848faSopenharmony_ci
564f9f848faSopenharmony_ci20190612:
565f9f848faSopenharmony_ci	Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have
566f9f848faSopenharmony_ci	been upgraded to 8.0.1.  Please see the 20141231 entry below for
567f9f848faSopenharmony_ci	information about prerequisites and upgrading, if you are not already
568f9f848faSopenharmony_ci	using clang 3.5.0 or higher.
569f9f848faSopenharmony_ci
570f9f848faSopenharmony_ci20190608:
571f9f848faSopenharmony_ci	A fix was applied to i386 kernel modules to avoid panics with
572f9f848faSopenharmony_ci	dpcpu or vnet.  Users need to recompile i386 kernel modules
573f9f848faSopenharmony_ci	having pcpu or vnet sections or they will refuse to load.
574f9f848faSopenharmony_ci
575f9f848faSopenharmony_ci20190513:
576f9f848faSopenharmony_ci	User-wired pages now have their own counter,
577f9f848faSopenharmony_ci	vm.stats.vm.v_user_wire_count.  The vm.max_wired sysctl was renamed
578f9f848faSopenharmony_ci	to vm.max_user_wired and changed from an unsigned int to an unsigned
579f9f848faSopenharmony_ci	long.  bhyve VMs wired with the -S are now subject to the user
580f9f848faSopenharmony_ci	wiring limit; the vm.max_user_wired sysctl may need to be tuned to
581f9f848faSopenharmony_ci	avoid running into the limit.
582f9f848faSopenharmony_ci
583f9f848faSopenharmony_ci20190507:
584f9f848faSopenharmony_ci	The IPSEC option has been removed from GENERIC.  Users requiring
585f9f848faSopenharmony_ci	ipsec(4) must now load the ipsec(4) kernel module.
586f9f848faSopenharmony_ci
587f9f848faSopenharmony_ci20190507:
588f9f848faSopenharmony_ci	The tap(4) driver has been folded into tun(4), and the module has been
589f9f848faSopenharmony_ci	renamed to tuntap.  You should update any kld_list="if_tap" or
590f9f848faSopenharmony_ci	kld_list="if_tun" entries in /etc/rc.conf, if_tap_load="YES" or
591f9f848faSopenharmony_ci	if_tun_load="YES" entries in /boot/loader.conf to load the if_tuntap
592f9f848faSopenharmony_ci	module instead, and "device tap" or "device tun" entries in kernel
593f9f848faSopenharmony_ci	config files to select the tuntap device instead.
594f9f848faSopenharmony_ci
595f9f848faSopenharmony_ci20190418:
596f9f848faSopenharmony_ci	The following knobs have been added related to tradeoffs between
597f9f848faSopenharmony_ci	safe use of the random device and availability in the absence of
598f9f848faSopenharmony_ci	entropy:
599f9f848faSopenharmony_ci
600f9f848faSopenharmony_ci	kern.random.initial_seeding.bypass_before_seeding: tunable; set
601f9f848faSopenharmony_ci	non-zero to bypass the random device prior to seeding, or zero to
602f9f848faSopenharmony_ci	block random requests until the random device is initially seeded.
603f9f848faSopenharmony_ci	For now, set to 1 (unsafe) by default to restore pre-r346250 boot
604f9f848faSopenharmony_ci	availability properties.
605f9f848faSopenharmony_ci
606f9f848faSopenharmony_ci	kern.random.initial_seeding.read_random_bypassed_before_seeding:
607f9f848faSopenharmony_ci	read-only diagnostic sysctl that is set when bypass is enabled and
608f9f848faSopenharmony_ci	read_random(9) is bypassed, to enable programmatic handling of this
609f9f848faSopenharmony_ci	initial condition, if desired.
610f9f848faSopenharmony_ci
611f9f848faSopenharmony_ci	kern.random.initial_seeding.arc4random_bypassed_before_seeding:
612f9f848faSopenharmony_ci	Similar to the above, but for arc4random(9) initial seeding.
613f9f848faSopenharmony_ci
614f9f848faSopenharmony_ci	kern.random.initial_seeding.disable_bypass_warnings: tunable; set
615f9f848faSopenharmony_ci	non-zero to disable warnings in dmesg when the same conditions are
616f9f848faSopenharmony_ci	met as for the diagnostic sysctls above.  Defaults to zero, i.e.,
617f9f848faSopenharmony_ci	produce warnings in dmesg when the conditions are met.
618f9f848faSopenharmony_ci
619f9f848faSopenharmony_ci20190416:
620f9f848faSopenharmony_ci	The loadable random module KPI has changed; the random_infra_init()
621f9f848faSopenharmony_ci	routine now requires a 3rd function pointer for a bool (*)(void)
622f9f848faSopenharmony_ci	method that returns true if the random device is seeded (and
623f9f848faSopenharmony_ci	therefore unblocked).
624f9f848faSopenharmony_ci
625f9f848faSopenharmony_ci20190404:
626f9f848faSopenharmony_ci	r345895 reverts r320698. This implies that an nfsuserd(8) daemon
627f9f848faSopenharmony_ci	built from head sources between r320757 (July 6, 2017) and
628f9f848faSopenharmony_ci	r338192 (Aug. 22, 2018) will not work unless the "-use-udpsock"
629f9f848faSopenharmony_ci	is added to the command line.
630f9f848faSopenharmony_ci	nfsuserd daemons built from head sources that are post-r338192 are
631f9f848faSopenharmony_ci	not affected and should continue to work.
632f9f848faSopenharmony_ci
633f9f848faSopenharmony_ci20190320:
634f9f848faSopenharmony_ci	The fuse(4) module has been renamed to fusefs(4) for consistency with
635f9f848faSopenharmony_ci	other filesystems.  You should update any kld_load="fuse" entries in
636f9f848faSopenharmony_ci	/etc/rc.conf, fuse_load="YES" entries in /boot/loader.conf, and
637f9f848faSopenharmony_ci	"options FUSE" entries in kernel config files.
638f9f848faSopenharmony_ci
639f9f848faSopenharmony_ci20190304:
640f9f848faSopenharmony_ci	Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to
641f9f848faSopenharmony_ci	8.0.0.  Please see the 20141231 entry below for information about
642f9f848faSopenharmony_ci	prerequisites and upgrading, if you are not already using clang 3.5.0
643f9f848faSopenharmony_ci	or higher.
644f9f848faSopenharmony_ci
645f9f848faSopenharmony_ci20190226:
646f9f848faSopenharmony_ci	geom_uzip(4) depends on the new module xz.  If geom_uzip is statically
647f9f848faSopenharmony_ci	compiled into your custom kernel, add 'device xz' statement to the
648f9f848faSopenharmony_ci	kernel config.
649f9f848faSopenharmony_ci
650f9f848faSopenharmony_ci20190219:
651f9f848faSopenharmony_ci	drm and drm2 have been removed from the tree. Please see
652f9f848faSopenharmony_ci	https://wiki.freebsd.org/Graphics for the latest information on
653f9f848faSopenharmony_ci	migrating to the drm ports.
654f9f848faSopenharmony_ci
655f9f848faSopenharmony_ci20190131:
656f9f848faSopenharmony_ci	Iflib is no longer unconditionally compiled into the kernel.  Drivers
657f9f848faSopenharmony_ci	using iflib and statically compiled into the kernel, now require
658f9f848faSopenharmony_ci	the 'device iflib' config option.  For the same drivers loaded as
659f9f848faSopenharmony_ci	modules on kernels not having 'device iflib', the iflib.ko module
660f9f848faSopenharmony_ci	is loaded automatically.
661f9f848faSopenharmony_ci
662f9f848faSopenharmony_ci20190125:
663f9f848faSopenharmony_ci	The IEEE80211_AMPDU_AGE and AH_SUPPORT_AR5416 kernel configuration
664f9f848faSopenharmony_ci	options no longer exist since r343219 and r343427 respectively;
665f9f848faSopenharmony_ci	nothing uses them, so they should be just removed from custom
666f9f848faSopenharmony_ci	kernel config files.
667f9f848faSopenharmony_ci
668f9f848faSopenharmony_ci20181230:
669f9f848faSopenharmony_ci	r342635 changes the way efibootmgr(8) works by requiring users to add
670f9f848faSopenharmony_ci	the -b (bootnum) parameter for commands where the bootnum was previously
671f9f848faSopenharmony_ci	specified with each option. For example 'efibootmgr -B 0001' is now
672f9f848faSopenharmony_ci	'efibootmgr -B -b 0001'.
673f9f848faSopenharmony_ci
674f9f848faSopenharmony_ci20181220:
675f9f848faSopenharmony_ci	r342286 modifies the NFSv4 server so that it obeys vfs.nfsd.nfs_privport
676f9f848faSopenharmony_ci	in the same as it is applied to NFSv2 and 3.  This implies that NFSv4
677f9f848faSopenharmony_ci	servers that have vfs.nfsd.nfs_privport set will only allow mounts
678f9f848faSopenharmony_ci	from clients using a reserved port#. Since both the FreeBSD and Linux
679f9f848faSopenharmony_ci	NFSv4 clients use reserved port#s by default, this should not affect
680f9f848faSopenharmony_ci	most NFSv4 mounts.
681f9f848faSopenharmony_ci
682f9f848faSopenharmony_ci20181219:
683f9f848faSopenharmony_ci	The XLP config has been removed. We can't support 64-bit atomics in this
684f9f848faSopenharmony_ci	kernel because it is running in 32-bit mode. XLP users must transition
685f9f848faSopenharmony_ci	to running a 64-bit kernel (XLP64 or XLPN32).
686f9f848faSopenharmony_ci
687f9f848faSopenharmony_ci	The mips GXEMUL support has been removed from FreeBSD. MALTA* + qemu is
688f9f848faSopenharmony_ci	the preferred emulator today and we don't need two different ones.
689f9f848faSopenharmony_ci
690f9f848faSopenharmony_ci	The old sibyte / swarm / Broadcom BCM1250 support has been
691f9f848faSopenharmony_ci	removed from the mips port.
692f9f848faSopenharmony_ci
693f9f848faSopenharmony_ci20181211:
694f9f848faSopenharmony_ci	Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to
695f9f848faSopenharmony_ci	7.0.1.  Please see the 20141231 entry below for information about
696f9f848faSopenharmony_ci	prerequisites and upgrading, if you are not already using clang 3.5.0
697f9f848faSopenharmony_ci	or higher.
698f9f848faSopenharmony_ci
699f9f848faSopenharmony_ci20181211:
700f9f848faSopenharmony_ci	Remove the timed and netdate programs from the base tree.  Setting
701f9f848faSopenharmony_ci	the time with these daemons has been obsolete for over a decade.
702f9f848faSopenharmony_ci
703f9f848faSopenharmony_ci20181126:
704f9f848faSopenharmony_ci	On amd64, arm64 and armv7 (architectures that install LLVM's ld.lld
705f9f848faSopenharmony_ci	linker as /usr/bin/ld) GNU ld is no longer installed as ld.bfd, as
706f9f848faSopenharmony_ci	it produces broken binaries when ifuncs are in use.  Users needing
707f9f848faSopenharmony_ci	GNU ld should install the binutils port or package.
708f9f848faSopenharmony_ci
709f9f848faSopenharmony_ci20181123:
710f9f848faSopenharmony_ci	The BSD crtbegin and crtend code has been enabled by default. It has
711f9f848faSopenharmony_ci	had extensive testing on amd64, arm64, and i386. It can be disabled
712f9f848faSopenharmony_ci	by building a world with -DWITHOUT_BSD_CRTBEGIN.
713f9f848faSopenharmony_ci
714f9f848faSopenharmony_ci20181115:
715f9f848faSopenharmony_ci	The set of CTM commands (ctm, ctm_smail, ctm_rmail, ctm_dequeue)
716f9f848faSopenharmony_ci	has been converted to a port (misc/ctm) and will be removed from
717f9f848faSopenharmony_ci	FreeBSD-13.  It is available as a package (ctm) for all supported
718f9f848faSopenharmony_ci	FreeBSD versions.
719f9f848faSopenharmony_ci
720f9f848faSopenharmony_ci20181110:
721f9f848faSopenharmony_ci	The default newsyslog.conf(5) file has been changed to only include
722f9f848faSopenharmony_ci	files in /etc/newsyslog.conf.d/ and /usr/local/etc/newsyslog.conf.d/ if
723f9f848faSopenharmony_ci	the filenames end in '.conf' and do not begin with a '.'.
724f9f848faSopenharmony_ci
725f9f848faSopenharmony_ci	You should check the configuration files in these two directories match
726f9f848faSopenharmony_ci	this naming convention. You can verify which configuration files are
727f9f848faSopenharmony_ci	being included using the command:
728f9f848faSopenharmony_ci		$ newsyslog -Nrv
729f9f848faSopenharmony_ci
730f9f848faSopenharmony_ci20181015:
731f9f848faSopenharmony_ci	Ports for the DRM modules have been simplified. Now, amd64 users should
732f9f848faSopenharmony_ci	just install the drm-kmod port. All others should install
733f9f848faSopenharmony_ci	drm-legacy-kmod.
734f9f848faSopenharmony_ci
735f9f848faSopenharmony_ci	Graphics hardware that's newer than about 2010 usually works with
736f9f848faSopenharmony_ci	drm-kmod.  For hardware older than 2013, however, some users will need
737f9f848faSopenharmony_ci	to use drm-legacy-kmod if drm-kmod doesn't work for them. Hardware older
738f9f848faSopenharmony_ci	than 2008 usually only works in drm-legacy-kmod. The graphics team can
739f9f848faSopenharmony_ci	only commit to hardware made since 2013 due to the complexity of the
740f9f848faSopenharmony_ci	market and difficulty to test all the older cards effectively. If you
741f9f848faSopenharmony_ci	have hardware supported by drm-kmod, you are strongly encouraged to use
742f9f848faSopenharmony_ci	that as you will get better support.
743f9f848faSopenharmony_ci
744f9f848faSopenharmony_ci	Other than KPI chasing, drm-legacy-kmod will not be updated. As outlined
745f9f848faSopenharmony_ci	elsewhere, the drm and drm2 modules will be eliminated from the src base
746f9f848faSopenharmony_ci	soon (with a limited exception for arm). Please update to the package
747f9f848faSopenharmony_ci	asap and report any issues to x11@freebsd.org.
748f9f848faSopenharmony_ci
749f9f848faSopenharmony_ci	Generally, anybody using the drm*-kmod packages should add
750f9f848faSopenharmony_ci	WITHOUT_DRM_MODULE=t and WITHOUT_DRM2_MODULE=t to avoid nasty
751f9f848faSopenharmony_ci	cross-threading surprises, especially with automatic driver
752f9f848faSopenharmony_ci	loading from X11 startup. These will become the defaults in 13-current
753f9f848faSopenharmony_ci	shortly.
754f9f848faSopenharmony_ci
755f9f848faSopenharmony_ci20181012:
756f9f848faSopenharmony_ci	The ixlv(4) driver has been renamed to iavf(4).  As a consequence,
757f9f848faSopenharmony_ci	custom kernel and module loading configuration files must be updated
758f9f848faSopenharmony_ci	accordingly.  Moreover, interfaces previous presented as ixlvN to the
759f9f848faSopenharmony_ci	system are now exposed as iavfN and network configuration files must
760f9f848faSopenharmony_ci	be adjusted as necessary.
761f9f848faSopenharmony_ci
762f9f848faSopenharmony_ci20181009:
763f9f848faSopenharmony_ci	OpenSSL has been updated to version 1.1.1.  This update included
764f9f848faSopenharmony_ci	additional various API changes throughout the base system.  It is
765f9f848faSopenharmony_ci	important to rebuild third-party software after upgrading.  The value
766f9f848faSopenharmony_ci	of __FreeBSD_version has been bumped accordingly.
767f9f848faSopenharmony_ci
768f9f848faSopenharmony_ci20181006:
769f9f848faSopenharmony_ci	The legacy DRM modules and drivers have now been added to the loader's
770f9f848faSopenharmony_ci	module blacklist, in favor of loading them with kld_list in rc.conf(5).
771f9f848faSopenharmony_ci	The module blacklist may be overridden with the loader.conf(5)
772f9f848faSopenharmony_ci	'module_blacklist' variable, but loading them via rc.conf(5) is strongly
773f9f848faSopenharmony_ci	encouraged.
774f9f848faSopenharmony_ci
775f9f848faSopenharmony_ci20181002:
776f9f848faSopenharmony_ci	The cam(4) based nda(4) driver will be used over nvd(4) by default on
777f9f848faSopenharmony_ci	powerpc64. You may set 'options NVME_USE_NVD=1' in your kernel conf or
778f9f848faSopenharmony_ci	loader tunable 'hw.nvme.use_nvd=1' if you wish to use the existing
779f9f848faSopenharmony_ci	driver.  Make sure to edit /boot/etc/kboot.conf and fstab to use the
780f9f848faSopenharmony_ci	nda device name.
781f9f848faSopenharmony_ci
782f9f848faSopenharmony_ci20180913:
783f9f848faSopenharmony_ci	Reproducible build mode is now on by default, in preparation for
784f9f848faSopenharmony_ci	FreeBSD 12.0.  This eliminates build metadata such as the user,
785f9f848faSopenharmony_ci	host, and time from the kernel (and uname), unless the working tree
786f9f848faSopenharmony_ci	corresponds to a modified checkout from a version control system.
787f9f848faSopenharmony_ci	The previous behavior can be obtained by setting the /etc/src.conf
788f9f848faSopenharmony_ci	knob WITHOUT_REPRODUCIBLE_BUILD.
789f9f848faSopenharmony_ci
790f9f848faSopenharmony_ci20180826:
791f9f848faSopenharmony_ci	The Yarrow CSPRNG has been removed from the kernel as it has not been
792f9f848faSopenharmony_ci	supported by its designers since at least 2003. Fortuna has been the
793f9f848faSopenharmony_ci	default since FreeBSD-11.
794f9f848faSopenharmony_ci
795f9f848faSopenharmony_ci20180822:
796f9f848faSopenharmony_ci	devctl freeze/thaw have gone into the tree, the rc scripts have been
797f9f848faSopenharmony_ci	updated to use them and devmatch has been changed.  You should update
798f9f848faSopenharmony_ci	kernel, userland and rc scripts all at the same time.
799f9f848faSopenharmony_ci
800f9f848faSopenharmony_ci20180818:
801f9f848faSopenharmony_ci	The default interpreter has been switched from 4th to Lua.
802f9f848faSopenharmony_ci	LOADER_DEFAULT_INTERP, documented in build(7), will override the default
803f9f848faSopenharmony_ci	interpreter.  If you have custom FORTH code you will need to set
804f9f848faSopenharmony_ci	LOADER_DEFAULT_INTERP=4th (valid values are 4th, lua or simp) in
805f9f848faSopenharmony_ci	src.conf for the build.  This will create default hard links between
806f9f848faSopenharmony_ci	loader and loader_4th instead of loader and loader_lua, the new default.
807f9f848faSopenharmony_ci	If you are using UEFI it will create the proper hard link to loader.efi.
808f9f848faSopenharmony_ci
809f9f848faSopenharmony_ci	bhyve uses userboot.so. It remains 4th-only until some issues are solved
810f9f848faSopenharmony_ci	regarding coexisting with multiple versions of FreeBSD are resolved.
811f9f848faSopenharmony_ci
812f9f848faSopenharmony_ci20180815:
813f9f848faSopenharmony_ci	ls(1) now respects the COLORTERM environment variable used in other
814f9f848faSopenharmony_ci	systems and software to indicate that a colored terminal is both
815f9f848faSopenharmony_ci	supported and desired.  If ls(1) is suddenly emitting colors, they may
816f9f848faSopenharmony_ci	be disabled again by either removing the unwanted COLORTERM from your
817f9f848faSopenharmony_ci	environment, or using `ls --color=never`.  The ls(1) specific CLICOLOR
818f9f848faSopenharmony_ci	may not be observed in a future release.
819f9f848faSopenharmony_ci
820f9f848faSopenharmony_ci20180808:
821f9f848faSopenharmony_ci	The default pager for most commands has been changed to "less".  To
822f9f848faSopenharmony_ci	restore the old behavior, set PAGER="more" and MANPAGER="more -s" in
823f9f848faSopenharmony_ci	your environment.
824f9f848faSopenharmony_ci
825f9f848faSopenharmony_ci20180731:
826f9f848faSopenharmony_ci	The jedec_ts(4) driver has been removed. A superset of its functionality
827f9f848faSopenharmony_ci	is available in the jedec_dimm(4) driver, and the manpage for that
828f9f848faSopenharmony_ci	driver includes migration instructions. If you have "device jedec_ts"
829f9f848faSopenharmony_ci	in your kernel configuration file, it must be removed.
830f9f848faSopenharmony_ci
831f9f848faSopenharmony_ci20180730:
832f9f848faSopenharmony_ci	amd64/GENERIC now has EFI runtime services, EFIRT, enabled by default.
833f9f848faSopenharmony_ci	This should have no effect if the kernel is booted via BIOS/legacy boot.
834f9f848faSopenharmony_ci	EFIRT may be disabled via a loader tunable, efi.rt.disabled, if a system
835f9f848faSopenharmony_ci	has a buggy firmware that prevents a successful boot due to use of
836f9f848faSopenharmony_ci	runtime services.
837f9f848faSopenharmony_ci
838f9f848faSopenharmony_ci20180727:
839f9f848faSopenharmony_ci	Atmel AT91RM9200 and AT91SAM9, Cavium CNS 11xx and XScale
840f9f848faSopenharmony_ci	support has been removed from the tree. These ports were
841f9f848faSopenharmony_ci	obsolete and/or known to be broken for many years.
842f9f848faSopenharmony_ci
843f9f848faSopenharmony_ci20180723:
844f9f848faSopenharmony_ci	loader.efi has been augmented to participate more fully in the
845f9f848faSopenharmony_ci	UEFI boot manager protocol. loader.efi will now look at the
846f9f848faSopenharmony_ci	BootXXXX environment variable to determine if a specific kernel
847f9f848faSopenharmony_ci	or root partition was specified. XXXX is derived from BootCurrent.
848f9f848faSopenharmony_ci	efibootmgr(8) manages these standard UEFI variables.
849f9f848faSopenharmony_ci
850f9f848faSopenharmony_ci20180720:
851f9f848faSopenharmony_ci	zfsloader's functionality has now been folded into loader.
852f9f848faSopenharmony_ci	zfsloader is no longer necessary once you've updated your
853f9f848faSopenharmony_ci	boot blocks. For a transition period, we will install a
854f9f848faSopenharmony_ci	hardlink for zfsloader to loader to allow a smooth transition
855f9f848faSopenharmony_ci	until the boot blocks can be updated (hard link because old
856f9f848faSopenharmony_ci	zfs boot blocks don't understand symlinks).
857f9f848faSopenharmony_ci
858f9f848faSopenharmony_ci20180719:
859f9f848faSopenharmony_ci	ARM64 now have efifb support, if you want to have serial console
860f9f848faSopenharmony_ci	on your arm64 board when an screen is connected and the bootloader
861f9f848faSopenharmony_ci	setup a frame buffer for us to use, just add :
862f9f848faSopenharmony_ci	boot_serial=YES
863f9f848faSopenharmony_ci	boot_multicons=YES
864f9f848faSopenharmony_ci	in /boot/loader.conf
865f9f848faSopenharmony_ci	For Raspberry Pi 3 (RPI) users, this is needed even if you don't have
866f9f848faSopenharmony_ci	an screen connected as the firmware will setup a frame buffer are that
867f9f848faSopenharmony_ci	u-boot will expose as an EFI frame buffer.
868f9f848faSopenharmony_ci
869f9f848faSopenharmony_ci20180719:
870f9f848faSopenharmony_ci	New uid:gid added, ntpd:ntpd (123:123).  Be sure to run mergemaster
871f9f848faSopenharmony_ci	or take steps to update /etc/passwd before doing installworld on
872f9f848faSopenharmony_ci	existing systems.  Do not skip the "mergemaster -Fp" step before
873f9f848faSopenharmony_ci	installworld, as described in the update procedures near the bottom
874f9f848faSopenharmony_ci	of this document.  Also, rc.d/ntpd now starts ntpd(8) as user ntpd
875f9f848faSopenharmony_ci	if the new mac_ntpd(4) policy is available, unless ntpd_flags or
876f9f848faSopenharmony_ci	the ntp config file contain options that change file/dir locations.
877f9f848faSopenharmony_ci	When such options (e.g., "statsdir" or "crypto") are used, ntpd can
878f9f848faSopenharmony_ci	still be run as non-root by setting ntpd_user=ntpd in rc.conf, after
879f9f848faSopenharmony_ci	taking steps to ensure that all required files/dirs are accessible
880f9f848faSopenharmony_ci	by the ntpd user.
881f9f848faSopenharmony_ci
882f9f848faSopenharmony_ci20180717:
883f9f848faSopenharmony_ci	Big endian arm support has been removed.
884f9f848faSopenharmony_ci
885f9f848faSopenharmony_ci20180711:
886f9f848faSopenharmony_ci	The static environment setup in kernel configs is no longer mutually
887f9f848faSopenharmony_ci	exclusive with the loader(8) environment by default.  In order to
888f9f848faSopenharmony_ci	restore the previous default behavior of disabling the loader(8)
889f9f848faSopenharmony_ci	environment if a static environment is present, you must specify
890f9f848faSopenharmony_ci	loader_env.disabled=1 in the static environment.
891f9f848faSopenharmony_ci
892f9f848faSopenharmony_ci20180705:
893f9f848faSopenharmony_ci	The ABI of syscalls used by management tools like sockstat and
894f9f848faSopenharmony_ci	netstat has been broken to allow 32-bit binaries to work on
895f9f848faSopenharmony_ci	64-bit kernels without modification.  These programs will need
896f9f848faSopenharmony_ci	to match the kernel in order to function.  External programs may
897f9f848faSopenharmony_ci	require minor modifications to accommodate a change of type in
898f9f848faSopenharmony_ci	structures from pointers to 64-bit virtual addresses.
899f9f848faSopenharmony_ci
900f9f848faSopenharmony_ci20180702:
901f9f848faSopenharmony_ci	On i386 and amd64 atomics are now inlined. Out of tree modules using
902f9f848faSopenharmony_ci	atomics will need to be rebuilt.
903f9f848faSopenharmony_ci
904f9f848faSopenharmony_ci20180701:
905f9f848faSopenharmony_ci	The '%I' format in the kern.corefile sysctl limits the number of
906f9f848faSopenharmony_ci	core files that a process can generate to the number stored in the
907f9f848faSopenharmony_ci	debug.ncores sysctl. The '%I' format is replaced by the single digit
908f9f848faSopenharmony_ci	index. Previously, if all indexes were taken the kernel would overwrite
909f9f848faSopenharmony_ci	only a core file with the highest index in a filename.
910f9f848faSopenharmony_ci	Currently the system will create a new core file if there is a free
911f9f848faSopenharmony_ci	index or if all slots are taken it will overwrite the oldest one.
912f9f848faSopenharmony_ci
913f9f848faSopenharmony_ci20180630:
914f9f848faSopenharmony_ci	Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to
915f9f848faSopenharmony_ci	6.0.1.  Please see the 20141231 entry below for information about
916f9f848faSopenharmony_ci	prerequisites and upgrading, if you are not already using clang 3.5.0
917f9f848faSopenharmony_ci	or higher.
918f9f848faSopenharmony_ci
919f9f848faSopenharmony_ci20180628:
920f9f848faSopenharmony_ci	r335753 introduced a new quoting method. However, etc/devd/devmatch.conf
921f9f848faSopenharmony_ci	needed to be changed to work with it. This change was made with r335763
922f9f848faSopenharmony_ci	and requires a mergemaster / etcupdate / etc to update the installed
923f9f848faSopenharmony_ci	file.
924f9f848faSopenharmony_ci
925f9f848faSopenharmony_ci20180612:
926f9f848faSopenharmony_ci	r334930 changed the interface between the NFS modules, so they all
927f9f848faSopenharmony_ci	need to be rebuilt.  r335018 did a __FreeBSD_version bump for this.
928f9f848faSopenharmony_ci
929f9f848faSopenharmony_ci20180530:
930f9f848faSopenharmony_ci	As of r334391 lld is the default amd64 system linker; it is installed
931f9f848faSopenharmony_ci	as /usr/bin/ld.  Kernel build workarounds (see 20180510 entry) are no
932f9f848faSopenharmony_ci	longer necessary.
933f9f848faSopenharmony_ci
934f9f848faSopenharmony_ci20180530:
935f9f848faSopenharmony_ci	The kernel / userland interface for devinfo changed, so you'll
936f9f848faSopenharmony_ci	need a new kernel and userland as a pair for it to work (rebuilding
937f9f848faSopenharmony_ci	lib/libdevinfo is all that's required). devinfo and devmatch will
938f9f848faSopenharmony_ci	not work, but everything else will when there's a mismatch.
939f9f848faSopenharmony_ci
940f9f848faSopenharmony_ci20180523:
941f9f848faSopenharmony_ci	The on-disk format for hwpmc callchain records has changed to include
942f9f848faSopenharmony_ci	threadid corresponding to a given record. This changes the field offsets
943f9f848faSopenharmony_ci	and thus requires that libpmcstat be rebuilt before using a kernel
944f9f848faSopenharmony_ci	later than r334108.
945f9f848faSopenharmony_ci
946f9f848faSopenharmony_ci20180517:
947f9f848faSopenharmony_ci	The vxge(4) driver has been removed.  This driver was introduced into
948f9f848faSopenharmony_ci	HEAD one week before the Exar left the Ethernet market and is not
949f9f848faSopenharmony_ci	known to be used.  If you have device vxge in your kernel config file
950f9f848faSopenharmony_ci	it must be removed.
951f9f848faSopenharmony_ci
952f9f848faSopenharmony_ci20180510:
953f9f848faSopenharmony_ci	The amd64 kernel now requires a ld that supports ifunc to produce a
954f9f848faSopenharmony_ci	working kernel, either lld or a newer binutils. lld is built by default
955f9f848faSopenharmony_ci	on amd64, and the 'buildkernel' target uses it automatically. However,
956f9f848faSopenharmony_ci	it is not the default linker, so building the kernel the traditional
957f9f848faSopenharmony_ci	way requires LD=ld.lld on the command line (or LD=/usr/local/bin/ld for
958f9f848faSopenharmony_ci	binutils port/package). lld will soon be default, and this requirement
959f9f848faSopenharmony_ci	will go away.
960f9f848faSopenharmony_ci
961f9f848faSopenharmony_ci	NOTE: As of r334391 lld is the default system linker on amd64, and no
962f9f848faSopenharmony_ci	workaround is necessary.
963f9f848faSopenharmony_ci
964f9f848faSopenharmony_ci20180508:
965f9f848faSopenharmony_ci	The nxge(4) driver has been removed.  This driver was for PCI-X 10g
966f9f848faSopenharmony_ci	cards made by s2io/Neterion.  The company was acquired by Exar and
967f9f848faSopenharmony_ci	no longer sells or supports Ethernet products.  If you have device
968f9f848faSopenharmony_ci	nxge in your kernel config file it must be removed.
969f9f848faSopenharmony_ci
970f9f848faSopenharmony_ci20180504:
971f9f848faSopenharmony_ci	The tz database (tzdb) has been updated to 2018e.  This version more
972f9f848faSopenharmony_ci	correctly models time stamps in time zones with negative DST such as
973f9f848faSopenharmony_ci	Europe/Dublin (from 1971 on), Europe/Prague (1946/7), and
974f9f848faSopenharmony_ci	Africa/Windhoek (1994/2017).  This does not affect the UT offsets, only
975f9f848faSopenharmony_ci	time zone abbreviations and the tm_isdst flag.
976f9f848faSopenharmony_ci
977f9f848faSopenharmony_ci20180502:
978f9f848faSopenharmony_ci	The ixgb(4) driver has been removed.  This driver was for an early and
979f9f848faSopenharmony_ci	uncommon legacy PCI 10GbE for a single ASIC, Intel 82597EX. Intel
980f9f848faSopenharmony_ci	quickly shifted to the long lived ixgbe family.  If you have device
981f9f848faSopenharmony_ci	ixgb in your kernel config file it must be removed.
982f9f848faSopenharmony_ci
983f9f848faSopenharmony_ci20180501:
984f9f848faSopenharmony_ci	The lmc(4) driver has been removed.  This was a WAN interface
985f9f848faSopenharmony_ci	card that was already reportedly rare in 2003, and had an ambiguous
986f9f848faSopenharmony_ci	license.  If you have device lmc in your kernel config file it must
987f9f848faSopenharmony_ci	be removed.
988f9f848faSopenharmony_ci
989f9f848faSopenharmony_ci20180413:
990f9f848faSopenharmony_ci	Support for Arcnet networks has been removed.  If you have device
991f9f848faSopenharmony_ci	arcnet or device cm in your kernel config file they must be
992f9f848faSopenharmony_ci	removed.
993f9f848faSopenharmony_ci
994f9f848faSopenharmony_ci20180411:
995f9f848faSopenharmony_ci	Support for FDDI networks has been removed.  If you have device
996f9f848faSopenharmony_ci	fddi or device fpa in your kernel config file they must be
997f9f848faSopenharmony_ci	removed.
998f9f848faSopenharmony_ci
999f9f848faSopenharmony_ci20180406:
1000f9f848faSopenharmony_ci	In addition to supporting RFC 3164 formatted messages, the
1001f9f848faSopenharmony_ci	syslogd(8) service is now capable of parsing RFC 5424 formatted
1002f9f848faSopenharmony_ci	log messages. The main benefit of using RFC 5424 is that clients
1003f9f848faSopenharmony_ci	may now send log messages with timestamps containing year numbers,
1004f9f848faSopenharmony_ci	microseconds and time zone offsets.
1005f9f848faSopenharmony_ci
1006f9f848faSopenharmony_ci	Similarly, the syslog(3) C library function has been altered to
1007f9f848faSopenharmony_ci	send RFC 5424 formatted messages to the local system logging
1008f9f848faSopenharmony_ci	daemon. On systems using syslogd(8), this change should have no
1009f9f848faSopenharmony_ci	negative impact, as long as syslogd(8) and the C library are
1010f9f848faSopenharmony_ci	updated at the same time. On systems using a different system
1011f9f848faSopenharmony_ci	logging daemon, it may be necessary to make configuration
1012f9f848faSopenharmony_ci	adjustments, depending on the software used.
1013f9f848faSopenharmony_ci
1014f9f848faSopenharmony_ci	When using syslog-ng, add the 'syslog-protocol' flag to local
1015f9f848faSopenharmony_ci	input sources to enable parsing of RFC 5424 formatted messages:
1016f9f848faSopenharmony_ci
1017f9f848faSopenharmony_ci		source src {
1018f9f848faSopenharmony_ci			unix-dgram("/var/run/log" flags(syslog-protocol));
1019f9f848faSopenharmony_ci		}
1020f9f848faSopenharmony_ci
1021f9f848faSopenharmony_ci	When using rsyslog, disable the 'SysSock.UseSpecialParser' option
1022f9f848faSopenharmony_ci	of the 'imuxsock' module to let messages be processed by the
1023f9f848faSopenharmony_ci	regular RFC 3164/5424 parsing pipeline:
1024f9f848faSopenharmony_ci
1025f9f848faSopenharmony_ci		module(load="imuxsock" SysSock.UseSpecialParser="off")
1026f9f848faSopenharmony_ci
1027f9f848faSopenharmony_ci	Do note that these changes only affect communication between local
1028f9f848faSopenharmony_ci	applications and syslogd(8). The format that syslogd(8) uses to
1029f9f848faSopenharmony_ci	store messages on disk or forward messages to other systems
1030f9f848faSopenharmony_ci	remains unchanged. syslogd(8) still uses RFC 3164 for these
1031f9f848faSopenharmony_ci	purposes. Options to customize this behaviour will be added in the
1032f9f848faSopenharmony_ci	future. Utilities that process log files stored in /var/log are
1033f9f848faSopenharmony_ci	thus expected to continue to function as before.
1034f9f848faSopenharmony_ci
1035f9f848faSopenharmony_ci	__FreeBSD_version has been incremented to 1200061 to denote this
1036f9f848faSopenharmony_ci	change.
1037f9f848faSopenharmony_ci
1038f9f848faSopenharmony_ci20180328:
1039f9f848faSopenharmony_ci	Support for token ring networks has been removed. If you
1040f9f848faSopenharmony_ci	have "device token" in your kernel config you should remove
1041f9f848faSopenharmony_ci	it. No device drivers supported token ring.
1042f9f848faSopenharmony_ci
1043f9f848faSopenharmony_ci20180323:
1044f9f848faSopenharmony_ci	makefs was modified to be able to tag ISO9660 El Torito boot catalog
1045f9f848faSopenharmony_ci	entries as EFI instead of overloading the i386 tag as done previously.
1046f9f848faSopenharmony_ci	The amd64 mkisoimages.sh script used to build amd64 ISO images for
1047f9f848faSopenharmony_ci	release was updated to use this. This may mean that makefs must be
1048f9f848faSopenharmony_ci	updated before "make cdrom" can be run in the release directory. This
1049f9f848faSopenharmony_ci	should be as simple as:
1050f9f848faSopenharmony_ci
1051f9f848faSopenharmony_ci		$ cd $SRCDIR/usr.sbin/makefs
1052f9f848faSopenharmony_ci		$ make depend all install
1053f9f848faSopenharmony_ci
1054f9f848faSopenharmony_ci20180212:
1055f9f848faSopenharmony_ci	FreeBSD boot loader enhanced with Lua scripting. It's purely opt-in for
1056f9f848faSopenharmony_ci	now by building WITH_LOADER_LUA and WITHOUT_FORTH in /etc/src.conf.
1057f9f848faSopenharmony_ci	Co-existence for the transition period will come shortly. Booting is a
1058f9f848faSopenharmony_ci	complex environment and test coverage for Lua-enabled loaders has been
1059f9f848faSopenharmony_ci	thin, so it would be prudent to assume it might not work and make
1060f9f848faSopenharmony_ci	provisions for backup boot methods.
1061f9f848faSopenharmony_ci
1062f9f848faSopenharmony_ci20180211:
1063f9f848faSopenharmony_ci	devmatch functionality has been turned on in devd. It will automatically
1064f9f848faSopenharmony_ci	load drivers for unattached devices. This may cause unexpected drivers
1065f9f848faSopenharmony_ci	to be loaded. Please report any problems to current@ and
1066f9f848faSopenharmony_ci	imp@freebsd.org.
1067f9f848faSopenharmony_ci
1068f9f848faSopenharmony_ci20180114:
1069f9f848faSopenharmony_ci	Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to
1070f9f848faSopenharmony_ci	6.0.0.  Please see the 20141231 entry below for information about
1071f9f848faSopenharmony_ci	prerequisites and upgrading, if you are not already using clang 3.5.0
1072f9f848faSopenharmony_ci	or higher.
1073f9f848faSopenharmony_ci
1074f9f848faSopenharmony_ci20180110:
1075f9f848faSopenharmony_ci	LLVM's lld linker is now used as the FreeBSD/amd64 bootstrap linker.
1076f9f848faSopenharmony_ci	This means it is used to link the kernel and userland libraries and
1077f9f848faSopenharmony_ci	executables, but is not yet installed as /usr/bin/ld by default.
1078f9f848faSopenharmony_ci
1079f9f848faSopenharmony_ci	To revert to ld.bfd as the bootstrap linker, in /etc/src.conf set
1080f9f848faSopenharmony_ci	WITHOUT_LLD_BOOTSTRAP=yes
1081f9f848faSopenharmony_ci
1082f9f848faSopenharmony_ci20180110:
1083f9f848faSopenharmony_ci	On i386, pmtimer has been removed. Its functionality has been folded
1084f9f848faSopenharmony_ci	into apm. It was a no-op on ACPI in current for a while now (but was
1085f9f848faSopenharmony_ci	still needed on i386 in FreeBSD 11 and earlier). Users may need to
1086f9f848faSopenharmony_ci	remove it from kernel config files.
1087f9f848faSopenharmony_ci
1088f9f848faSopenharmony_ci20180104:
1089f9f848faSopenharmony_ci	The use of RSS hash from the network card aka flowid has been
1090f9f848faSopenharmony_ci	disabled by default for lagg(4) as it's currently incompatible with
1091f9f848faSopenharmony_ci	the lacp and loadbalance protocols.
1092f9f848faSopenharmony_ci
1093f9f848faSopenharmony_ci	This can be re-enabled by setting the following in loader.conf:
1094f9f848faSopenharmony_ci	net.link.lagg.default_use_flowid="1"
1095f9f848faSopenharmony_ci
1096f9f848faSopenharmony_ci20180102:
1097f9f848faSopenharmony_ci	The SW_WATCHDOG option is no longer necessary to enable the
1098f9f848faSopenharmony_ci	hardclock-based software watchdog if no hardware watchdog is
1099f9f848faSopenharmony_ci	configured. As before, SW_WATCHDOG will cause the software
1100f9f848faSopenharmony_ci	watchdog to be enabled even if a hardware watchdog is configured.
1101f9f848faSopenharmony_ci
1102f9f848faSopenharmony_ci20171215:
1103f9f848faSopenharmony_ci	r326887 fixes the issue described in the 20171214 UPDATING entry.
1104f9f848faSopenharmony_ci	r326888 flips the switch back to building GELI support always.
1105f9f848faSopenharmony_ci
1106f9f848faSopenharmony_ci20171214:
1107f9f848faSopenharmony_ci	r362593 broke ZFS + GELI support for reasons unknown. However,
1108f9f848faSopenharmony_ci	it also broke ZFS support generally, so GELI has been turned off
1109f9f848faSopenharmony_ci	by default as the lesser evil in r326857. If you boot off ZFS and/or
1110f9f848faSopenharmony_ci	GELI, it might not be a good time to update.
1111f9f848faSopenharmony_ci
1112f9f848faSopenharmony_ci20171125:
1113f9f848faSopenharmony_ci	PowerPC users must update loader(8) by rebuilding world before
1114f9f848faSopenharmony_ci	installing a new kernel, as the protocol connecting them has
1115f9f848faSopenharmony_ci	changed. Without the update, loader metadata will not be passed
1116f9f848faSopenharmony_ci	successfully to the kernel and users will have to enter their
1117f9f848faSopenharmony_ci	root partition at the kernel mountroot prompt to continue booting.
1118f9f848faSopenharmony_ci	Newer versions of loader can boot old kernels without issue.
1119f9f848faSopenharmony_ci
1120f9f848faSopenharmony_ci20171110:
1121f9f848faSopenharmony_ci	The LOADER_FIREWIRE_SUPPORT build variable as been renamed to
1122f9f848faSopenharmony_ci	WITH/OUT_LOADER_FIREWIRE. LOADER_{NO_,}GELI_SUPPORT has been renamed
1123f9f848faSopenharmony_ci	to WITH/OUT_LOADER_GELI.
1124f9f848faSopenharmony_ci
1125f9f848faSopenharmony_ci20171106:
1126f9f848faSopenharmony_ci	The naive and non-compliant support of posix_fallocate(2) in ZFS
1127f9f848faSopenharmony_ci	has been removed as of r325320.  The system call now returns EINVAL
1128f9f848faSopenharmony_ci	when used on a ZFS file.  Although the new behavior complies with the
1129f9f848faSopenharmony_ci	standard, some consumers are not prepared to cope with it.
1130f9f848faSopenharmony_ci	One known victim is lld prior to r325420.
1131f9f848faSopenharmony_ci
1132f9f848faSopenharmony_ci20171102:
1133f9f848faSopenharmony_ci	Building in a FreeBSD src checkout will automatically create object
1134f9f848faSopenharmony_ci	directories now rather than store files in the current directory if
1135f9f848faSopenharmony_ci	'make obj' was not ran.  Calling 'make obj' is no longer necessary.
1136f9f848faSopenharmony_ci	This feature can be disabled by setting WITHOUT_AUTO_OBJ=yes in
1137f9f848faSopenharmony_ci	/etc/src-env.conf (not /etc/src.conf), or passing the option in the
1138f9f848faSopenharmony_ci	environment.
1139f9f848faSopenharmony_ci
1140f9f848faSopenharmony_ci20171101:
1141f9f848faSopenharmony_ci	The default MAKEOBJDIR has changed from /usr/obj/<srcdir> for native
1142f9f848faSopenharmony_ci	builds, and /usr/obj/<arch>/<srcdir> for cross-builds, to a unified
1143f9f848faSopenharmony_ci	/usr/obj/<srcdir>/<arch>.  This behavior can be changed to the old
1144f9f848faSopenharmony_ci	format by setting WITHOUT_UNIFIED_OBJDIR=yes in /etc/src-env.conf,
1145f9f848faSopenharmony_ci	the environment, or with -DWITHOUT_UNIFIED_OBJDIR when building.
1146f9f848faSopenharmony_ci	The UNIFIED_OBJDIR option is a transitional feature that will be
1147f9f848faSopenharmony_ci	removed for 12.0 release; please migrate to the new format for any
1148f9f848faSopenharmony_ci	tools by looking up the OBJDIR used by 'make -V .OBJDIR' means rather
1149f9f848faSopenharmony_ci	than hardcoding paths.
1150f9f848faSopenharmony_ci
1151f9f848faSopenharmony_ci20171028:
1152f9f848faSopenharmony_ci	The native-xtools target no longer installs the files by default to the
1153f9f848faSopenharmony_ci	OBJDIR.  Use the native-xtools-install target with a DESTDIR to install
1154f9f848faSopenharmony_ci	to ${DESTDIR}/${NXTP} where NXTP defaults to /nxb-bin.
1155f9f848faSopenharmony_ci
1156f9f848faSopenharmony_ci20171021:
1157f9f848faSopenharmony_ci	As part of the boot loader infrastructure cleanup, LOADER_*_SUPPORT
1158f9f848faSopenharmony_ci	options are changing from controlling the build if defined / undefined
1159f9f848faSopenharmony_ci	to controlling the build with explicit 'yes' or 'no' values. They will
1160f9f848faSopenharmony_ci	shift to WITH/WITHOUT options to match other options in the system.
1161f9f848faSopenharmony_ci
1162f9f848faSopenharmony_ci20171010:
1163f9f848faSopenharmony_ci	libstand has turned into a private library for sys/boot use only.
1164f9f848faSopenharmony_ci	It is no longer supported as a public interface outside of sys/boot.
1165f9f848faSopenharmony_ci
1166f9f848faSopenharmony_ci20171005:
1167f9f848faSopenharmony_ci	The arm port has split armv6 into armv6 and armv7. armv7 is now
1168f9f848faSopenharmony_ci	a valid TARGET_ARCH/MACHINE_ARCH setting. If you have an armv7 system
1169f9f848faSopenharmony_ci	and are running a kernel from before r324363, you will need to add
1170f9f848faSopenharmony_ci	MACHINE_ARCH=armv7 to 'make buildworld' to do a native build.
1171f9f848faSopenharmony_ci
1172f9f848faSopenharmony_ci20171003:
1173f9f848faSopenharmony_ci	When building multiple kernels using KERNCONF, non-existent KERNCONF
1174f9f848faSopenharmony_ci	files will produce an error and buildkernel will fail. Previously
1175f9f848faSopenharmony_ci	missing KERNCONF files silently failed giving no indication as to
1176f9f848faSopenharmony_ci	why, only to subsequently discover during installkernel that the
1177f9f848faSopenharmony_ci	desired kernel was never built in the first place.
1178f9f848faSopenharmony_ci
1179f9f848faSopenharmony_ci20170912:
1180f9f848faSopenharmony_ci	The default serial number format for CTL LUNs has changed.  This will
1181f9f848faSopenharmony_ci	affect users who use /dev/diskid/* device nodes, or whose FibreChannel
1182f9f848faSopenharmony_ci	or iSCSI clients care about their LUNs' serial numbers.  Users who
1183f9f848faSopenharmony_ci	require serial number stability should hardcode serial numbers in
1184f9f848faSopenharmony_ci	/etc/ctl.conf .
1185f9f848faSopenharmony_ci
1186f9f848faSopenharmony_ci20170912:
1187f9f848faSopenharmony_ci	For 32-bit arm compiled for hard-float support, soft-floating point
1188f9f848faSopenharmony_ci	binaries now always get their shared libraries from
1189f9f848faSopenharmony_ci	LD_SOFT_LIBRARY_PATH (in the past, this was only used if
1190f9f848faSopenharmony_ci	/usr/libsoft also existed). Only users with a hard-float ld.so, but
1191f9f848faSopenharmony_ci	soft-float everything else should be affected.
1192f9f848faSopenharmony_ci
1193f9f848faSopenharmony_ci20170826:
1194f9f848faSopenharmony_ci	The geli password typed at boot is now hidden.  To restore the previous
1195f9f848faSopenharmony_ci	behavior, see geli(8) for configuration options.
1196f9f848faSopenharmony_ci
1197f9f848faSopenharmony_ci20170825:
1198f9f848faSopenharmony_ci	Move PMTUD blackhole counters to TCPSTATS and remove them from bare
1199f9f848faSopenharmony_ci	sysctl values.  Minor nit, but requires a rebuild of both world/kernel
1200f9f848faSopenharmony_ci	to complete.
1201f9f848faSopenharmony_ci
1202f9f848faSopenharmony_ci20170814:
1203f9f848faSopenharmony_ci	"make check" behavior (made in ^/head@r295380) has been changed to
1204f9f848faSopenharmony_ci	execute from a limited sandbox, as opposed to executing from
1205f9f848faSopenharmony_ci	${TESTSDIR}.
1206f9f848faSopenharmony_ci
1207f9f848faSopenharmony_ci	Behavioral changes:
1208f9f848faSopenharmony_ci	- The "beforecheck" and "aftercheck" targets are now specified.
1209f9f848faSopenharmony_ci	- ${CHECKDIR} (added in commit noted above) has been removed.
1210f9f848faSopenharmony_ci	- Legacy behavior can be enabled by setting
1211f9f848faSopenharmony_ci	  WITHOUT_MAKE_CHECK_USE_SANDBOX in src.conf(5) or the environment.
1212f9f848faSopenharmony_ci
1213f9f848faSopenharmony_ci	If the limited sandbox mode is enabled, "make check" will execute
1214f9f848faSopenharmony_ci	"make distribution", then install, execute the tests, and clean up the
1215f9f848faSopenharmony_ci	sandbox if successful.
1216f9f848faSopenharmony_ci
1217f9f848faSopenharmony_ci	The "make distribution" and "make install" targets are typically run as
1218f9f848faSopenharmony_ci	root to set appropriate permissions and ownership at installation time.
1219f9f848faSopenharmony_ci	The end-user should set "WITH_INSTALL_AS_USER" in src.conf(5) or the
1220f9f848faSopenharmony_ci	environment if executing "make check" with limited sandbox mode using
1221f9f848faSopenharmony_ci	an unprivileged user.
1222f9f848faSopenharmony_ci
1223f9f848faSopenharmony_ci20170808:
1224f9f848faSopenharmony_ci	Since the switch to GPT disk labels, fsck for UFS/FFS has been
1225f9f848faSopenharmony_ci	unable to automatically find alternate superblocks. As of r322297,
1226f9f848faSopenharmony_ci	the information needed to find alternate superblocks has been
1227f9f848faSopenharmony_ci	moved to the end of the area reserved for the boot block.
1228f9f848faSopenharmony_ci	Filesystems created with a newfs of this vintage or later
1229f9f848faSopenharmony_ci	will create the recovery information. If you have a filesystem
1230f9f848faSopenharmony_ci	created prior to this change and wish to have a recovery block
1231f9f848faSopenharmony_ci	created for your filesystem, you can do so by running fsck in
1232f9f848faSopenharmony_ci	foreground mode (i.e., do not use the -p or -y options). As it
1233f9f848faSopenharmony_ci	starts, fsck will ask ``SAVE DATA TO FIND ALTERNATE SUPERBLOCKS''
1234f9f848faSopenharmony_ci	to which you should answer yes.
1235f9f848faSopenharmony_ci
1236f9f848faSopenharmony_ci20170728:
1237f9f848faSopenharmony_ci	As of r321665, an NFSv4 server configuration that services
1238f9f848faSopenharmony_ci	Kerberos mounts or clients that do not support the uid/gid in
1239f9f848faSopenharmony_ci	owner/owner_group string capability, must explicitly enable
1240f9f848faSopenharmony_ci	the nfsuserd daemon by adding nfsuserd_enable="YES" to the
1241f9f848faSopenharmony_ci	machine's /etc/rc.conf file.
1242f9f848faSopenharmony_ci
1243f9f848faSopenharmony_ci20170722:
1244f9f848faSopenharmony_ci	Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 5.0.0.
1245f9f848faSopenharmony_ci	Please see the 20141231 entry below for information about prerequisites
1246f9f848faSopenharmony_ci	and upgrading, if you are not already using clang 3.5.0 or higher.
1247f9f848faSopenharmony_ci
1248f9f848faSopenharmony_ci20170701:
1249f9f848faSopenharmony_ci	WITHOUT_RCMDS is now the default. Set WITH_RCMDS if you need the
1250f9f848faSopenharmony_ci	r-commands (rlogin, rsh, etc.) to be built with the base system.
1251f9f848faSopenharmony_ci
1252f9f848faSopenharmony_ci20170625:
1253f9f848faSopenharmony_ci	The FreeBSD/powerpc platform now uses a 64-bit type for time_t.  This is
1254f9f848faSopenharmony_ci	a very major ABI incompatible change, so users of FreeBSD/powerpc must
1255f9f848faSopenharmony_ci	be careful when performing source upgrades.  It is best to run
1256f9f848faSopenharmony_ci	'make installworld' from an alternate root system, either a live
1257f9f848faSopenharmony_ci	CD/memory stick, or a temporary root partition.  Additionally, all ports
1258f9f848faSopenharmony_ci	must be recompiled.  powerpc64 is largely unaffected, except in the case
1259f9f848faSopenharmony_ci	of 32-bit compatibility.  All 32-bit binaries will be affected.
1260f9f848faSopenharmony_ci
1261f9f848faSopenharmony_ci20170623:
1262f9f848faSopenharmony_ci	Forward compatibility for the "ino64" project have been committed. This
1263f9f848faSopenharmony_ci	will allow most new binaries to run on older kernels in a limited
1264f9f848faSopenharmony_ci	fashion.  This prevents many of the common foot-shooting actions in the
1265f9f848faSopenharmony_ci	upgrade as well as the limited ability to roll back the kernel across
1266f9f848faSopenharmony_ci	the ino64 upgrade. Complicated use cases may not work properly, though
1267f9f848faSopenharmony_ci	enough simpler ones work to allow recovery in most situations.
1268f9f848faSopenharmony_ci
1269f9f848faSopenharmony_ci20170620:
1270f9f848faSopenharmony_ci	Switch back to the BSDL dtc (Device Tree Compiler). Set WITH_GPL_DTC
1271f9f848faSopenharmony_ci	if you require the GPL compiler.
1272f9f848faSopenharmony_ci
1273f9f848faSopenharmony_ci20170618:
1274f9f848faSopenharmony_ci	The internal ABI used for communication between the NFS kernel modules
1275f9f848faSopenharmony_ci	was changed by r320085, so __FreeBSD_version was bumped to
1276f9f848faSopenharmony_ci	ensure all the NFS related modules are updated together.
1277f9f848faSopenharmony_ci
1278f9f848faSopenharmony_ci20170617:
1279f9f848faSopenharmony_ci	The ABI of struct event was changed by extending the data
1280f9f848faSopenharmony_ci	member to 64bit and adding ext fields.  For upgrade, same
1281f9f848faSopenharmony_ci	precautions as for the entry 20170523 "ino64" must be
1282f9f848faSopenharmony_ci	followed.
1283f9f848faSopenharmony_ci
1284f9f848faSopenharmony_ci20170531:
1285f9f848faSopenharmony_ci	The GNU roff toolchain has been removed from base. To render manpages
1286f9f848faSopenharmony_ci	which are not supported by mandoc(1), man(1) can fallback on GNU roff
1287f9f848faSopenharmony_ci	from ports (and recommends to install it).
1288f9f848faSopenharmony_ci	To render roff(7) documents, consider using GNU roff from ports or the
1289f9f848faSopenharmony_ci	heirloom doctools roff toolchain from ports via pkg install groff or
1290f9f848faSopenharmony_ci	via pkg install heirloom-doctools.
1291f9f848faSopenharmony_ci
1292f9f848faSopenharmony_ci20170524:
1293f9f848faSopenharmony_ci	The ath(4) and ath_hal(4) modules now build piecemeal to allow for
1294f9f848faSopenharmony_ci	smaller runtime footprint builds.  This is useful for embedded systems
1295f9f848faSopenharmony_ci	which only require one chipset support.
1296f9f848faSopenharmony_ci
1297f9f848faSopenharmony_ci	If you load it as a module, make sure this is in /boot/loader.conf:
1298f9f848faSopenharmony_ci
1299f9f848faSopenharmony_ci	if_ath_load="YES"
1300f9f848faSopenharmony_ci
1301f9f848faSopenharmony_ci	This will load the HAL, all chip/RF backends and if_ath_pci.
1302f9f848faSopenharmony_ci	If you have if_ath_pci in /boot/loader.conf, ensure it is after
1303f9f848faSopenharmony_ci	if_ath or it will not load any HAL chipset support.
1304f9f848faSopenharmony_ci
1305f9f848faSopenharmony_ci	If you want to selectively load things (eg on ye cheape ARM/MIPS
1306f9f848faSopenharmony_ci	platforms where RAM is at a premium) you should:
1307f9f848faSopenharmony_ci
1308f9f848faSopenharmony_ci	* load ath_hal
1309f9f848faSopenharmony_ci	* load the chip modules in question
1310f9f848faSopenharmony_ci	* load ath_rate, ath_dfs
1311f9f848faSopenharmony_ci	* load ath_main
1312f9f848faSopenharmony_ci	* load if_ath_pci and/or if_ath_ahb depending upon your particular
1313f9f848faSopenharmony_ci	  bus bind type - this is where probe/attach is done.
1314f9f848faSopenharmony_ci
1315f9f848faSopenharmony_ci	For further comments/feedback, poke adrian@ .
1316f9f848faSopenharmony_ci
1317f9f848faSopenharmony_ci20170523:
1318f9f848faSopenharmony_ci	The "ino64" 64-bit inode project has been committed, which extends
1319f9f848faSopenharmony_ci	a number of types to 64 bits.  Upgrading in place requires care and
1320f9f848faSopenharmony_ci	adherence to the documented upgrade procedure.
1321f9f848faSopenharmony_ci
1322f9f848faSopenharmony_ci	If using a custom kernel configuration ensure that the
1323f9f848faSopenharmony_ci	COMPAT_FREEBSD11 option is included (as during the upgrade the
1324f9f848faSopenharmony_ci	system will be running the ino64 kernel with the existing world).
1325f9f848faSopenharmony_ci
1326f9f848faSopenharmony_ci	For the safest in-place upgrade begin by removing previous build
1327f9f848faSopenharmony_ci	artifacts via "rm -rf /usr/obj/*".  Then, carefully follow the full
1328f9f848faSopenharmony_ci	procedure documented below under the heading "To rebuild everything and
1329f9f848faSopenharmony_ci	install it on the current system."  Specifically, a reboot is required
1330f9f848faSopenharmony_ci	after installing the new kernel before installing world. While an
1331f9f848faSopenharmony_ci	installworld normally works by accident from multiuser after rebooting
1332f9f848faSopenharmony_ci	the proper kernel, there are many cases where this will fail across this
1333f9f848faSopenharmony_ci	upgrade and installworld from single user is required.
1334f9f848faSopenharmony_ci
1335f9f848faSopenharmony_ci20170424:
1336f9f848faSopenharmony_ci	The NATM framework including the en(4), fatm(4), hatm(4), and
1337f9f848faSopenharmony_ci	patm(4) devices has been removed.  Consumers should plan a
1338f9f848faSopenharmony_ci	migration before the end-of-life date for FreeBSD 11.
1339f9f848faSopenharmony_ci
1340f9f848faSopenharmony_ci20170420:
1341f9f848faSopenharmony_ci	GNU diff has been replaced by a BSD licensed diff. Some features of GNU
1342f9f848faSopenharmony_ci	diff has not been implemented, if those are needed a newer version of
1343f9f848faSopenharmony_ci	GNU diff is available via the diffutils package under the gdiff name.
1344f9f848faSopenharmony_ci
1345f9f848faSopenharmony_ci20170413:
1346f9f848faSopenharmony_ci	As of r316810 for ipfilter, keep frags is no longer assumed when
1347f9f848faSopenharmony_ci	keep state is specified in a rule. r316810 aligns ipfilter with
1348f9f848faSopenharmony_ci	documentation in man pages separating keep frags from keep state.
1349f9f848faSopenharmony_ci	This allows keep state to be specified without forcing keep frags
1350f9f848faSopenharmony_ci	and allows keep frags to be specified independently of keep state.
1351f9f848faSopenharmony_ci	To maintain previous behaviour, also specify keep frags with
1352f9f848faSopenharmony_ci	keep state (as documented in ipf.conf.5).
1353f9f848faSopenharmony_ci
1354f9f848faSopenharmony_ci20170407:
1355f9f848faSopenharmony_ci	arm64 builds now use the base system LLD 4.0.0 linker by default,
1356f9f848faSopenharmony_ci	instead of requiring that the aarch64-binutils port or package be
1357f9f848faSopenharmony_ci	installed. To continue using aarch64-binutils, set
1358f9f848faSopenharmony_ci	CROSS_BINUTILS_PREFIX=/usr/local/aarch64-freebsd/bin .
1359f9f848faSopenharmony_ci
1360f9f848faSopenharmony_ci20170405:
1361f9f848faSopenharmony_ci	The UDP optimization in entry 20160818 that added the sysctl
1362f9f848faSopenharmony_ci	net.inet.udp.require_l2_bcast has been reverted.  L2 broadcast
1363f9f848faSopenharmony_ci	packets will no longer be treated as L3 broadcast packets.
1364f9f848faSopenharmony_ci
1365f9f848faSopenharmony_ci20170331:
1366f9f848faSopenharmony_ci	Binds and sends to the loopback addresses, IPv6 and IPv4, will now
1367f9f848faSopenharmony_ci	use any explicitly assigned loopback address available in the jail
1368f9f848faSopenharmony_ci	instead of using the first assigned address of the jail.
1369f9f848faSopenharmony_ci
1370f9f848faSopenharmony_ci20170329:
1371f9f848faSopenharmony_ci	The ctl.ko module no longer implements the iSCSI target frontend:
1372f9f848faSopenharmony_ci	cfiscsi.ko does instead.
1373f9f848faSopenharmony_ci
1374f9f848faSopenharmony_ci	If building cfiscsi.ko as a kernel module, the module can be loaded
1375f9f848faSopenharmony_ci	via one of the following methods:
1376f9f848faSopenharmony_ci	- `cfiscsi_load="YES"` in loader.conf(5).
1377f9f848faSopenharmony_ci	- Add `cfiscsi` to `$kld_list` in rc.conf(5).
1378f9f848faSopenharmony_ci	- ctladm(8)/ctld(8), when compiled with iSCSI support
1379f9f848faSopenharmony_ci	  (`WITH_ISCSI=yes` in src.conf(5))
1380f9f848faSopenharmony_ci
1381f9f848faSopenharmony_ci	Please see cfiscsi(4) for more details.
1382f9f848faSopenharmony_ci
1383f9f848faSopenharmony_ci20170316:
1384f9f848faSopenharmony_ci	The mmcsd.ko module now additionally depends on geom_flashmap.ko.
1385f9f848faSopenharmony_ci	Also, mmc.ko and mmcsd.ko need to be a matching pair built from the
1386f9f848faSopenharmony_ci	same source (previously, the dependency of mmcsd.ko on mmc.ko was
1387f9f848faSopenharmony_ci	missing, but mmcsd.ko now will refuse to load if it is incompatible
1388f9f848faSopenharmony_ci	with mmc.ko).
1389f9f848faSopenharmony_ci
1390f9f848faSopenharmony_ci20170315:
1391f9f848faSopenharmony_ci	The syntax of ipfw(8) named states was changed to avoid ambiguity.
1392f9f848faSopenharmony_ci	If you have used named states in the firewall rules, you need to modify
1393f9f848faSopenharmony_ci	them after installworld and before rebooting. Now named states must
1394f9f848faSopenharmony_ci	be prefixed with colon.
1395f9f848faSopenharmony_ci
1396f9f848faSopenharmony_ci20170311:
1397f9f848faSopenharmony_ci	The old drm (sys/dev/drm/) drivers for i915 and radeon have been
1398f9f848faSopenharmony_ci	removed as the userland we provide cannot use them. The KMS version
1399f9f848faSopenharmony_ci	(sys/dev/drm2) supports the same hardware.
1400f9f848faSopenharmony_ci
1401f9f848faSopenharmony_ci20170302:
1402f9f848faSopenharmony_ci	Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 4.0.0.
1403f9f848faSopenharmony_ci	Please see the 20141231 entry below for information about prerequisites
1404f9f848faSopenharmony_ci	and upgrading, if you are not already using clang 3.5.0 or higher.
1405f9f848faSopenharmony_ci
1406f9f848faSopenharmony_ci20170221:
1407f9f848faSopenharmony_ci	The code that provides support for ZFS .zfs/ directory functionality
1408f9f848faSopenharmony_ci	has been reimplemented.  It's not possible now to create a snapshot
1409f9f848faSopenharmony_ci	by mkdir under .zfs/snapshot/.  That should be the only user visible
1410f9f848faSopenharmony_ci	change.
1411f9f848faSopenharmony_ci
1412f9f848faSopenharmony_ci20170216:
1413f9f848faSopenharmony_ci	EISA bus support has been removed. The WITH_EISA option is no longer
1414f9f848faSopenharmony_ci	valid.
1415f9f848faSopenharmony_ci
1416f9f848faSopenharmony_ci20170215:
1417f9f848faSopenharmony_ci	MCA bus support has been removed.
1418f9f848faSopenharmony_ci
1419f9f848faSopenharmony_ci20170127:
1420f9f848faSopenharmony_ci	The WITH_LLD_AS_LD / WITHOUT_LLD_AS_LD build knobs have been renamed
1421f9f848faSopenharmony_ci	WITH_LLD_IS_LD / WITHOUT_LLD_IS_LD, for consistency with CLANG_IS_CC.
1422f9f848faSopenharmony_ci
1423f9f848faSopenharmony_ci20170112:
1424f9f848faSopenharmony_ci	The EM_MULTIQUEUE kernel configuration option is deprecated now that
1425f9f848faSopenharmony_ci	the em(4) driver conforms to iflib specifications.
1426f9f848faSopenharmony_ci
1427f9f848faSopenharmony_ci20170109:
1428f9f848faSopenharmony_ci	The igb(4), em(4) and lem(4) ethernet drivers are now implemented via
1429f9f848faSopenharmony_ci	IFLIB.  If you have a custom kernel configuration that excludes em(4)
1430f9f848faSopenharmony_ci	but you use igb(4), you need to re-add em(4) to your custom
1431f9f848faSopenharmony_ci	configuration.
1432f9f848faSopenharmony_ci
1433f9f848faSopenharmony_ci20161217:
1434f9f848faSopenharmony_ci	Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.9.1.
1435f9f848faSopenharmony_ci	Please see the 20141231 entry below for information about prerequisites
1436f9f848faSopenharmony_ci	and upgrading, if you are not already using clang 3.5.0 or higher.
1437f9f848faSopenharmony_ci
1438f9f848faSopenharmony_ci20161124:
1439f9f848faSopenharmony_ci	Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.9.0.
1440f9f848faSopenharmony_ci	Please see the 20141231 entry below for information about prerequisites
1441f9f848faSopenharmony_ci	and upgrading, if you are not already using clang 3.5.0 or higher.
1442f9f848faSopenharmony_ci
1443f9f848faSopenharmony_ci20161119:
1444f9f848faSopenharmony_ci	The layout of the pmap structure has changed for powerpc to put the pmap
1445f9f848faSopenharmony_ci	statistics at the front for all CPU variations.  libkvm(3) and all tools
1446f9f848faSopenharmony_ci	that link against it need to be recompiled.
1447f9f848faSopenharmony_ci
1448f9f848faSopenharmony_ci20161030:
1449f9f848faSopenharmony_ci	isl(4) and cyapa(4) drivers now require a new driver,
1450f9f848faSopenharmony_ci	chromebook_platform(4), to work properly on Chromebook-class hardware.
1451f9f848faSopenharmony_ci	On other types of hardware the drivers may need to be configured using
1452f9f848faSopenharmony_ci	device hints.  Please see the corresponding manual pages for details.
1453f9f848faSopenharmony_ci
1454f9f848faSopenharmony_ci20161017:
1455f9f848faSopenharmony_ci	The urtwn(4) driver was merged into rtwn(4) and now consists of
1456f9f848faSopenharmony_ci	rtwn(4) main module + rtwn_usb(4) and rtwn_pci(4) bus-specific
1457f9f848faSopenharmony_ci	parts.
1458f9f848faSopenharmony_ci	Also, firmware for RTL8188CE was renamed due to possible name
1459f9f848faSopenharmony_ci	conflict (rtwnrtl8192cU(B) -> rtwnrtl8192cE(B))
1460f9f848faSopenharmony_ci
1461f9f848faSopenharmony_ci20161015:
1462f9f848faSopenharmony_ci	GNU rcs has been removed from base.  It is available as packages:
1463f9f848faSopenharmony_ci	- rcs: Latest GPLv3 GNU rcs version.
1464f9f848faSopenharmony_ci	- rcs57: Copy of the latest version of GNU rcs (GPLv2) before it was
1465f9f848faSopenharmony_ci	removed from base.
1466f9f848faSopenharmony_ci
1467f9f848faSopenharmony_ci20161008:
1468f9f848faSopenharmony_ci	Use of the cc_cdg, cc_chd, cc_hd, or cc_vegas congestion control
1469f9f848faSopenharmony_ci	modules now requires that the kernel configuration contain the
1470f9f848faSopenharmony_ci	TCP_HHOOK option. (This option is included in the GENERIC kernel.)
1471f9f848faSopenharmony_ci
1472f9f848faSopenharmony_ci20161003:
1473f9f848faSopenharmony_ci	The WITHOUT_ELFCOPY_AS_OBJCOPY src.conf(5) knob has been retired.
1474f9f848faSopenharmony_ci	ELF Tool Chain's elfcopy is always installed as /usr/bin/objcopy.
1475f9f848faSopenharmony_ci
1476f9f848faSopenharmony_ci20160924:
1477f9f848faSopenharmony_ci	Relocatable object files with the extension of .So have been renamed
1478f9f848faSopenharmony_ci	to use an extension of .pico instead.  The purpose of this change is
1479f9f848faSopenharmony_ci	to avoid a name clash with shared libraries on case-insensitive file
1480f9f848faSopenharmony_ci	systems.  On those file systems, foo.So is the same file as foo.so.
1481f9f848faSopenharmony_ci
1482f9f848faSopenharmony_ci20160918:
1483f9f848faSopenharmony_ci	GNU rcs has been turned off by default.  It can (temporarily) be built
1484f9f848faSopenharmony_ci	again by adding WITH_RCS knob in src.conf.
1485f9f848faSopenharmony_ci	Otherwise, GNU rcs is available from packages:
1486f9f848faSopenharmony_ci	- rcs: Latest GPLv3 GNU rcs version.
1487f9f848faSopenharmony_ci	- rcs57: Copy of the latest version of GNU rcs (GPLv2) from base.
1488f9f848faSopenharmony_ci
1489f9f848faSopenharmony_ci20160918:
1490f9f848faSopenharmony_ci	The backup_uses_rcs functionality has been removed from rc.subr.
1491f9f848faSopenharmony_ci
1492f9f848faSopenharmony_ci20160908:
1493f9f848faSopenharmony_ci	The queue(3) debugging macro, QUEUE_MACRO_DEBUG, has been split into
1494f9f848faSopenharmony_ci	two separate components, QUEUE_MACRO_DEBUG_TRACE and
1495f9f848faSopenharmony_ci	QUEUE_MACRO_DEBUG_TRASH.  Define both for the original
1496f9f848faSopenharmony_ci	QUEUE_MACRO_DEBUG behavior.
1497f9f848faSopenharmony_ci
1498f9f848faSopenharmony_ci20160824:
1499f9f848faSopenharmony_ci	r304787 changed some ioctl interfaces between the iSCSI userspace
1500f9f848faSopenharmony_ci	programs and the kernel.  ctladm, ctld, iscsictl, and iscsid must be
1501f9f848faSopenharmony_ci	rebuilt to work with new kernels.  __FreeBSD_version has been bumped
1502f9f848faSopenharmony_ci	to 1200005.
1503f9f848faSopenharmony_ci
1504f9f848faSopenharmony_ci20160818:
1505f9f848faSopenharmony_ci	The UDP receive code has been updated to only treat incoming UDP
1506f9f848faSopenharmony_ci	packets that were addressed to an L2 broadcast address as L3
1507f9f848faSopenharmony_ci	broadcast packets.  It is not expected that this will affect any
1508f9f848faSopenharmony_ci	standards-conforming UDP application.  The new behaviour can be
1509f9f848faSopenharmony_ci	disabled by setting the sysctl net.inet.udp.require_l2_bcast to
1510f9f848faSopenharmony_ci	0.
1511f9f848faSopenharmony_ci
1512f9f848faSopenharmony_ci20160818:
1513f9f848faSopenharmony_ci	Remove the openbsd_poll system call.
1514f9f848faSopenharmony_ci	__FreeBSD_version has been bumped because of this.
1515f9f848faSopenharmony_ci
1516f9f848faSopenharmony_ci20160708:
1517f9f848faSopenharmony_ci	The stable/11 branch has been created from head@r302406.
1518f9f848faSopenharmony_ci
1519f9f848faSopenharmony_ci20160622:
1520f9f848faSopenharmony_ci	The libc stub for the pipe(2) system call has been replaced with
1521f9f848faSopenharmony_ci	a wrapper that calls the pipe2(2) system call and the pipe(2)
1522f9f848faSopenharmony_ci	system call is now only implemented by the kernels that include
1523f9f848faSopenharmony_ci	"options COMPAT_FREEBSD10" in their config file (this is the
1524f9f848faSopenharmony_ci	default).  Users should ensure that this option is enabled in
1525f9f848faSopenharmony_ci	their kernel or upgrade userspace to r302092 before upgrading their
1526f9f848faSopenharmony_ci	kernel.
1527f9f848faSopenharmony_ci
1528f9f848faSopenharmony_ci20160527:
1529f9f848faSopenharmony_ci	CAM will now strip leading spaces from SCSI disks' serial numbers.
1530f9f848faSopenharmony_ci	This will affect users who create UFS filesystems on SCSI disks using
1531f9f848faSopenharmony_ci	those disk's diskid device nodes.  For example, if /etc/fstab
1532f9f848faSopenharmony_ci	previously contained a line like
1533f9f848faSopenharmony_ci	"/dev/diskid/DISK-%20%20%20%20%20%20%20ABCDEFG0123456", you should
1534f9f848faSopenharmony_ci	change it to "/dev/diskid/DISK-ABCDEFG0123456".  Users of geom
1535f9f848faSopenharmony_ci	transforms like gmirror may also be affected.  ZFS users should
1536f9f848faSopenharmony_ci	generally be fine.
1537f9f848faSopenharmony_ci
1538f9f848faSopenharmony_ci20160523:
1539f9f848faSopenharmony_ci	The bitstring(3) API has been updated with new functionality and
1540f9f848faSopenharmony_ci	improved performance.  But it is binary-incompatible with the old API.
1541f9f848faSopenharmony_ci	Objects built with the new headers may not be linked against objects
1542f9f848faSopenharmony_ci	built with the old headers.
1543f9f848faSopenharmony_ci
1544f9f848faSopenharmony_ci20160520:
1545f9f848faSopenharmony_ci	The brk and sbrk functions have been removed from libc on arm64.
1546f9f848faSopenharmony_ci	Binutils from ports has been updated to not link to these
1547f9f848faSopenharmony_ci	functions and should be updated to the latest version before
1548f9f848faSopenharmony_ci	installing a new libc.
1549f9f848faSopenharmony_ci
1550f9f848faSopenharmony_ci20160517:
1551f9f848faSopenharmony_ci	The armv6 port now defaults to hard float ABI. Limited support
1552f9f848faSopenharmony_ci	for running both hardfloat and soft float on the same system
1553f9f848faSopenharmony_ci	is available using the libraries installed with -DWITH_LIBSOFT.
1554f9f848faSopenharmony_ci	This has only been tested as an upgrade path for installworld
1555f9f848faSopenharmony_ci	and packages may fail or need manual intervention to run. New
1556f9f848faSopenharmony_ci	packages will be needed.
1557f9f848faSopenharmony_ci
1558f9f848faSopenharmony_ci	To update an existing self-hosted armv6hf system, you must add
1559f9f848faSopenharmony_ci	TARGET_ARCH=armv6 on the make command line for both the build
1560f9f848faSopenharmony_ci	and the install steps.
1561f9f848faSopenharmony_ci
1562f9f848faSopenharmony_ci20160510:
1563f9f848faSopenharmony_ci	Kernel modules compiled outside of a kernel build now default to
1564f9f848faSopenharmony_ci	installing to /boot/modules instead of /boot/kernel.  Many kernel
1565f9f848faSopenharmony_ci	modules built this way (such as those in ports) already overrode
1566f9f848faSopenharmony_ci	KMODDIR explicitly to install into /boot/modules.  However,
1567f9f848faSopenharmony_ci	manually building and installing a module from /sys/modules will
1568f9f848faSopenharmony_ci	now install to /boot/modules instead of /boot/kernel.
1569f9f848faSopenharmony_ci
1570f9f848faSopenharmony_ci20160414:
1571f9f848faSopenharmony_ci	The CAM I/O scheduler has been committed to the kernel. There should be
1572f9f848faSopenharmony_ci	no user visible impact. This does enable NCQ Trim on ada SSDs. While the
1573f9f848faSopenharmony_ci	list of known rogues that claim support for this but actually corrupt
1574f9f848faSopenharmony_ci	data is believed to be complete, be on the lookout for data
1575f9f848faSopenharmony_ci	corruption. The known rogue list is believed to be complete:
1576f9f848faSopenharmony_ci
1577f9f848faSopenharmony_ci		o Crucial MX100, M550 drives with MU01 firmware.
1578f9f848faSopenharmony_ci		o Micron M510 and M550 drives with MU01 firmware.
1579f9f848faSopenharmony_ci		o Micron M500 prior to MU07 firmware
1580f9f848faSopenharmony_ci		o Samsung 830, 840, and 850 all firmwares
1581f9f848faSopenharmony_ci		o FCCT M500 all firmwares
1582f9f848faSopenharmony_ci
1583f9f848faSopenharmony_ci	Crucial has firmware http://www.crucial.com/usa/en/support-ssd-firmware
1584f9f848faSopenharmony_ci	with working NCQ TRIM. For Micron branded drives, see your sales rep for
1585f9f848faSopenharmony_ci	updated firmware. Black listed drives will work correctly because these
1586f9f848faSopenharmony_ci	drives work correctly so long as no NCQ TRIMs are sent to them. Given
1587f9f848faSopenharmony_ci	this list is the same as found in Linux, it's believed there are no
1588f9f848faSopenharmony_ci	other rogues in the market place. All other models from the above
1589f9f848faSopenharmony_ci	vendors work.
1590f9f848faSopenharmony_ci
1591f9f848faSopenharmony_ci	To be safe, if you are at all concerned, you can quirk each of your
1592f9f848faSopenharmony_ci	drives to prevent NCQ from being sent by setting:
1593f9f848faSopenharmony_ci		kern.cam.ada.X.quirks="0x2"
1594f9f848faSopenharmony_ci	in loader.conf. If the drive requires the 4k sector quirk, set the
1595f9f848faSopenharmony_ci	quirks entry to 0x3.
1596f9f848faSopenharmony_ci
1597f9f848faSopenharmony_ci20160330:
1598f9f848faSopenharmony_ci	The FAST_DEPEND build option has been removed and its functionality is
1599f9f848faSopenharmony_ci	now the one true way.  The old mkdep(1) style of 'make depend' has
1600f9f848faSopenharmony_ci	been removed.  See 20160311 for further details.
1601f9f848faSopenharmony_ci
1602f9f848faSopenharmony_ci20160317:
1603f9f848faSopenharmony_ci	Resource range types have grown from unsigned long to uintmax_t.  All
1604f9f848faSopenharmony_ci	drivers, and anything using libdevinfo, need to be recompiled.
1605f9f848faSopenharmony_ci
1606f9f848faSopenharmony_ci20160311:
1607f9f848faSopenharmony_ci	WITH_FAST_DEPEND is now enabled by default for in-tree and out-of-tree
1608f9f848faSopenharmony_ci	builds.  It no longer runs mkdep(1) during 'make depend', and the
1609f9f848faSopenharmony_ci	'make depend' stage can safely be skipped now as it is auto ran
1610f9f848faSopenharmony_ci	when building 'make all' and will generate all SRCS and DPSRCS before
1611f9f848faSopenharmony_ci	building anything else.  Dependencies are gathered at compile time with
1612f9f848faSopenharmony_ci	-MF flags kept in separate .depend files per object file.  Users should
1613f9f848faSopenharmony_ci	run 'make cleandepend' once if using -DNO_CLEAN to clean out older
1614f9f848faSopenharmony_ci	stale .depend files.
1615f9f848faSopenharmony_ci
1616f9f848faSopenharmony_ci20160306:
1617f9f848faSopenharmony_ci	On amd64, clang 3.8.0 can now insert sections of type AMD64_UNWIND into
1618f9f848faSopenharmony_ci	kernel modules.  Therefore, if you load any kernel modules at boot time,
1619f9f848faSopenharmony_ci	please install the boot loaders after you install the kernel, but before
1620f9f848faSopenharmony_ci	rebooting, e.g.:
1621f9f848faSopenharmony_ci
1622f9f848faSopenharmony_ci	make buildworld
1623f9f848faSopenharmony_ci	make buildkernel KERNCONF=YOUR_KERNEL_HERE
1624f9f848faSopenharmony_ci	make installkernel KERNCONF=YOUR_KERNEL_HERE
1625f9f848faSopenharmony_ci	make -C sys/boot install
1626f9f848faSopenharmony_ci	<reboot in single user>
1627f9f848faSopenharmony_ci
1628f9f848faSopenharmony_ci	Then follow the usual steps, described in the General Notes section,
1629f9f848faSopenharmony_ci	below.
1630f9f848faSopenharmony_ci
1631f9f848faSopenharmony_ci20160305:
1632f9f848faSopenharmony_ci	Clang, llvm, lldb and compiler-rt have been upgraded to 3.8.0.  Please
1633f9f848faSopenharmony_ci	see the 20141231 entry below for information about prerequisites and
1634f9f848faSopenharmony_ci	upgrading, if you are not already using clang 3.5.0 or higher.
1635f9f848faSopenharmony_ci
1636f9f848faSopenharmony_ci20160301:
1637f9f848faSopenharmony_ci	The AIO subsystem is now a standard part of the kernel.  The
1638f9f848faSopenharmony_ci	VFS_AIO kernel option and aio.ko kernel module have been removed.
1639f9f848faSopenharmony_ci	Due to stability concerns, asynchronous I/O requests are only
1640f9f848faSopenharmony_ci	permitted on sockets and raw disks by default.  To enable
1641f9f848faSopenharmony_ci	asynchronous I/O requests on all file types, set the
1642f9f848faSopenharmony_ci	vfs.aio.enable_unsafe sysctl to a non-zero value.
1643f9f848faSopenharmony_ci
1644f9f848faSopenharmony_ci20160226:
1645f9f848faSopenharmony_ci	The ELF object manipulation tool objcopy is now provided by the
1646f9f848faSopenharmony_ci	ELF Tool Chain project rather than by GNU binutils. It should be a
1647f9f848faSopenharmony_ci	drop-in replacement, with the addition of arm64 support. The
1648f9f848faSopenharmony_ci	(temporary) src.conf knob WITHOUT_ELFCOPY_AS_OBJCOPY knob may be set
1649f9f848faSopenharmony_ci	to obtain the GNU version if necessary.
1650f9f848faSopenharmony_ci
1651f9f848faSopenharmony_ci20160129:
1652f9f848faSopenharmony_ci	Building ZFS pools on top of zvols is prohibited by default.  That
1653f9f848faSopenharmony_ci	feature has never worked safely; it's always been prone to deadlocks.
1654f9f848faSopenharmony_ci	Using a zvol as the backing store for a VM guest's virtual disk will
1655f9f848faSopenharmony_ci	still work, even if the guest is using ZFS.  Legacy behavior can be
1656f9f848faSopenharmony_ci	restored by setting vfs.zfs.vol.recursive=1.
1657f9f848faSopenharmony_ci
1658f9f848faSopenharmony_ci20160119:
1659f9f848faSopenharmony_ci	The NONE and HPN patches has been removed from OpenSSH.  They are
1660f9f848faSopenharmony_ci	still available in the security/openssh-portable port.
1661f9f848faSopenharmony_ci
1662f9f848faSopenharmony_ci20160113:
1663f9f848faSopenharmony_ci	With the addition of ypldap(8), a new _ypldap user is now required
1664f9f848faSopenharmony_ci	during installworld. "mergemaster -p" can be used to add the user
1665f9f848faSopenharmony_ci	prior to installworld, as documented in the handbook.
1666f9f848faSopenharmony_ci
1667f9f848faSopenharmony_ci20151216:
1668f9f848faSopenharmony_ci	The tftp loader (pxeboot) now uses the option root-path directive. As a
1669f9f848faSopenharmony_ci	consequence it no longer looks for a pxeboot.4th file on the tftp
1670f9f848faSopenharmony_ci	server. Instead it uses the regular /boot infrastructure as with the
1671f9f848faSopenharmony_ci	other loaders.
1672f9f848faSopenharmony_ci
1673f9f848faSopenharmony_ci20151211:
1674f9f848faSopenharmony_ci	The code to start recording plug and play data into the modules has
1675f9f848faSopenharmony_ci	been committed. While the old tools will properly build a new kernel,
1676f9f848faSopenharmony_ci	a number of warnings about "unknown metadata record 4" will be produced
1677f9f848faSopenharmony_ci	for an older kldxref. To avoid such warnings, make sure to rebuild
1678f9f848faSopenharmony_ci	the kernel toolchain (or world). Make sure that you have r292078 or
1679f9f848faSopenharmony_ci	later when trying to build 292077 or later before rebuilding.
1680f9f848faSopenharmony_ci
1681f9f848faSopenharmony_ci20151207:
1682f9f848faSopenharmony_ci	Debug data files are now built by default with 'make buildworld' and
1683f9f848faSopenharmony_ci	installed with 'make installworld'. This facilitates debugging but
1684f9f848faSopenharmony_ci	requires more disk space both during the build and for the installed
1685f9f848faSopenharmony_ci	world. Debug files may be disabled by setting WITHOUT_DEBUG_FILES=yes
1686f9f848faSopenharmony_ci	in src.conf(5).
1687f9f848faSopenharmony_ci
1688f9f848faSopenharmony_ci20151130:
1689f9f848faSopenharmony_ci	r291527 changed the internal interface between the nfsd.ko and
1690f9f848faSopenharmony_ci	nfscommon.ko modules. As such, they must both be upgraded to-gether.
1691f9f848faSopenharmony_ci	__FreeBSD_version has been bumped because of this.
1692f9f848faSopenharmony_ci
1693f9f848faSopenharmony_ci20151108:
1694f9f848faSopenharmony_ci	Add support for unicode collation strings leads to a change of
1695f9f848faSopenharmony_ci	order of files listed by ls(1) for example. To get back to the old
1696f9f848faSopenharmony_ci	behaviour, set LC_COLLATE environment variable to "C".
1697f9f848faSopenharmony_ci
1698f9f848faSopenharmony_ci	Databases administrators will need to reindex their databases given
1699f9f848faSopenharmony_ci	collation results will be different.
1700f9f848faSopenharmony_ci
1701f9f848faSopenharmony_ci	Due to a bug in install(1) it is recommended to remove the ancient
1702f9f848faSopenharmony_ci	locales before running make installworld.
1703f9f848faSopenharmony_ci
1704f9f848faSopenharmony_ci	rm -rf /usr/share/locale/*
1705f9f848faSopenharmony_ci
1706f9f848faSopenharmony_ci20151030:
1707f9f848faSopenharmony_ci	The OpenSSL has been upgraded to 1.0.2d.  Any binaries requiring
1708f9f848faSopenharmony_ci	libcrypto.so.7 or libssl.so.7 must be recompiled.
1709f9f848faSopenharmony_ci
1710f9f848faSopenharmony_ci20151020:
1711f9f848faSopenharmony_ci	Qlogic 24xx/25xx firmware images were updated from 5.5.0 to 7.3.0.
1712f9f848faSopenharmony_ci	Kernel modules isp_2400_multi and isp_2500_multi were removed and
1713f9f848faSopenharmony_ci	should be replaced with isp_2400 and isp_2500 modules respectively.
1714f9f848faSopenharmony_ci
1715f9f848faSopenharmony_ci20151017:
1716f9f848faSopenharmony_ci	The build previously allowed using 'make -n' to not recurse into
1717f9f848faSopenharmony_ci	sub-directories while showing what commands would be executed, and
1718f9f848faSopenharmony_ci	'make -n -n' to recursively show commands.  Now 'make -n' will recurse
1719f9f848faSopenharmony_ci	and 'make -N' will not.
1720f9f848faSopenharmony_ci
1721f9f848faSopenharmony_ci20151012:
1722f9f848faSopenharmony_ci	If you specify SENDMAIL_MC or SENDMAIL_CF in make.conf, mergemaster
1723f9f848faSopenharmony_ci	and etcupdate will now use this file. A custom sendmail.cf is now
1724f9f848faSopenharmony_ci	updated via this mechanism rather than via installworld.  If you had
1725f9f848faSopenharmony_ci	excluded sendmail.cf in mergemaster.rc or etcupdate.conf, you may
1726f9f848faSopenharmony_ci	want to remove the exclusion or change it to "always install".
1727f9f848faSopenharmony_ci	/etc/mail/sendmail.cf is now managed the same way regardless of
1728f9f848faSopenharmony_ci	whether SENDMAIL_MC/SENDMAIL_CF is used.  If you are not using
1729f9f848faSopenharmony_ci	SENDMAIL_MC/SENDMAIL_CF there should be no change in behavior.
1730f9f848faSopenharmony_ci
1731f9f848faSopenharmony_ci20151011:
1732f9f848faSopenharmony_ci	Compatibility shims for legacy ATA device names have been removed.
1733f9f848faSopenharmony_ci	It includes ATA_STATIC_ID kernel option, kern.cam.ada.legacy_aliases
1734f9f848faSopenharmony_ci	and kern.geom.raid.legacy_aliases loader tunables, kern.devalias.*
1735f9f848faSopenharmony_ci	environment variables, /dev/ad* and /dev/ar* symbolic links.
1736f9f848faSopenharmony_ci
1737f9f848faSopenharmony_ci20151006:
1738f9f848faSopenharmony_ci	Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.7.0.
1739f9f848faSopenharmony_ci	Please see the 20141231 entry below for information about prerequisites
1740f9f848faSopenharmony_ci	and upgrading, if you are not already using clang 3.5.0 or higher.
1741f9f848faSopenharmony_ci
1742f9f848faSopenharmony_ci20150924:
1743f9f848faSopenharmony_ci	Kernel debug files have been moved to /usr/lib/debug/boot/kernel/,
1744f9f848faSopenharmony_ci	and renamed from .symbols to .debug. This reduces the size requirements
1745f9f848faSopenharmony_ci	on the boot partition or file system and provides consistency with
1746f9f848faSopenharmony_ci	userland debug files.
1747f9f848faSopenharmony_ci
1748f9f848faSopenharmony_ci	When using the supported kernel installation method the
1749f9f848faSopenharmony_ci	/usr/lib/debug/boot/kernel directory will be renamed (to kernel.old)
1750f9f848faSopenharmony_ci	as is done with /boot/kernel.
1751f9f848faSopenharmony_ci
1752f9f848faSopenharmony_ci	Developers wishing to maintain the historical behavior of installing
1753f9f848faSopenharmony_ci	debug files in /boot/kernel/ can set KERN_DEBUGDIR="" in src.conf(5).
1754f9f848faSopenharmony_ci
1755f9f848faSopenharmony_ci20150827:
1756f9f848faSopenharmony_ci	The wireless drivers had undergone changes that remove the 'parent
1757f9f848faSopenharmony_ci	interface' from the ifconfig -l output. The rc.d network scripts
1758f9f848faSopenharmony_ci	used to check presence of a parent interface in the list, so old
1759f9f848faSopenharmony_ci	scripts would fail to start wireless networking. Thus, etcupdate(3)
1760f9f848faSopenharmony_ci	or mergemaster(8) run is required after kernel update, to update your
1761f9f848faSopenharmony_ci	rc.d scripts in /etc.
1762f9f848faSopenharmony_ci
1763f9f848faSopenharmony_ci20150827:
1764f9f848faSopenharmony_ci	pf no longer supports 'scrub fragment crop' or 'scrub fragment drop-ovl'
1765f9f848faSopenharmony_ci	These configurations are now automatically interpreted as
1766f9f848faSopenharmony_ci	'scrub fragment reassemble'.
1767f9f848faSopenharmony_ci
1768f9f848faSopenharmony_ci20150817:
1769f9f848faSopenharmony_ci	Kernel-loadable modules for the random(4) device are back. To use
1770f9f848faSopenharmony_ci	them, the kernel must have
1771f9f848faSopenharmony_ci
1772f9f848faSopenharmony_ci	device	random
1773f9f848faSopenharmony_ci	options	RANDOM_LOADABLE
1774f9f848faSopenharmony_ci
1775f9f848faSopenharmony_ci	kldload(8) can then be used to load random_fortuna.ko
1776f9f848faSopenharmony_ci	or random_yarrow.ko. Please note that due to the indirect
1777f9f848faSopenharmony_ci	function calls that the loadable modules need to provide,
1778f9f848faSopenharmony_ci	the build-in variants will be slightly more efficient.
1779f9f848faSopenharmony_ci
1780f9f848faSopenharmony_ci	The random(4) kernel option RANDOM_DUMMY has been retired due to
1781f9f848faSopenharmony_ci	unpopularity. It was not all that useful anyway.
1782f9f848faSopenharmony_ci
1783f9f848faSopenharmony_ci20150813:
1784f9f848faSopenharmony_ci	The WITHOUT_ELFTOOLCHAIN_TOOLS src.conf(5) knob has been retired.
1785f9f848faSopenharmony_ci	Control over building the ELF Tool Chain tools is now provided by
1786f9f848faSopenharmony_ci	the WITHOUT_TOOLCHAIN knob.
1787f9f848faSopenharmony_ci
1788f9f848faSopenharmony_ci20150810:
1789f9f848faSopenharmony_ci	The polarity of Pulse Per Second (PPS) capture events with the
1790f9f848faSopenharmony_ci	uart(4) driver has been corrected.  Prior to this change the PPS
1791f9f848faSopenharmony_ci	"assert" event corresponded to the trailing edge of a positive PPS
1792f9f848faSopenharmony_ci	pulse and the "clear" event was the leading edge of the next pulse.
1793f9f848faSopenharmony_ci
1794f9f848faSopenharmony_ci	As the width of a PPS pulse in a typical GPS receiver is on the
1795f9f848faSopenharmony_ci	order of 1 millisecond, most users will not notice any significant
1796f9f848faSopenharmony_ci	difference with this change.
1797f9f848faSopenharmony_ci
1798f9f848faSopenharmony_ci	Anyone who has compensated for the historical polarity reversal by
1799f9f848faSopenharmony_ci	configuring a negative offset equal to the pulse width will need to
1800f9f848faSopenharmony_ci	remove that workaround.
1801f9f848faSopenharmony_ci
1802f9f848faSopenharmony_ci20150809:
1803f9f848faSopenharmony_ci	The default group assigned to /dev/dri entries has been changed
1804f9f848faSopenharmony_ci	from 'wheel' to 'video' with the id of '44'. If you want to have
1805f9f848faSopenharmony_ci	access to the dri devices please add yourself to the video group
1806f9f848faSopenharmony_ci	with:
1807f9f848faSopenharmony_ci
1808f9f848faSopenharmony_ci	# pw groupmod video -m $USER
1809f9f848faSopenharmony_ci
1810f9f848faSopenharmony_ci20150806:
1811f9f848faSopenharmony_ci	The menu.rc and loader.rc files will now be replaced during
1812f9f848faSopenharmony_ci	upgrades. Please migrate local changes to menu.rc.local and
1813f9f848faSopenharmony_ci	loader.rc.local instead.
1814f9f848faSopenharmony_ci
1815f9f848faSopenharmony_ci20150805:
1816f9f848faSopenharmony_ci	GNU Binutils versions of addr2line, c++filt, nm, readelf, size,
1817f9f848faSopenharmony_ci	strings and strip have been removed. The src.conf(5) knob
1818f9f848faSopenharmony_ci	WITHOUT_ELFTOOLCHAIN_TOOLS no longer provides the binutils tools.
1819f9f848faSopenharmony_ci
1820f9f848faSopenharmony_ci20150728:
1821f9f848faSopenharmony_ci	As ZFS requires more kernel stack pages than is the default on some
1822f9f848faSopenharmony_ci	architectures e.g. i386, it now warns if KSTACK_PAGES is less than
1823f9f848faSopenharmony_ci	ZFS_MIN_KSTACK_PAGES (which is 4 at the time of writing).
1824f9f848faSopenharmony_ci
1825f9f848faSopenharmony_ci	Please consider using 'options KSTACK_PAGES=X' where X is greater
1826f9f848faSopenharmony_ci	than or equal to ZFS_MIN_KSTACK_PAGES i.e. 4 in such configurations.
1827f9f848faSopenharmony_ci
1828f9f848faSopenharmony_ci20150706:
1829f9f848faSopenharmony_ci	sendmail has been updated to 8.15.2.  Starting with FreeBSD 11.0
1830f9f848faSopenharmony_ci	and sendmail 8.15, sendmail uses uncompressed IPv6 addresses by
1831f9f848faSopenharmony_ci	default, i.e., they will not contain "::".  For example, instead
1832f9f848faSopenharmony_ci	of ::1, it will be 0:0:0:0:0:0:0:1.  This permits a zero subnet
1833f9f848faSopenharmony_ci	to have a more specific match, such as different map entries for
1834f9f848faSopenharmony_ci	IPv6:0:0 vs IPv6:0.  This change requires that configuration
1835f9f848faSopenharmony_ci	data (including maps, files, classes, custom ruleset, etc.) must
1836f9f848faSopenharmony_ci	use the same format, so make certain such configuration data is
1837f9f848faSopenharmony_ci	upgrading.  As a very simple check search for patterns like
1838f9f848faSopenharmony_ci	'IPv6:[0-9a-fA-F:]*::' and 'IPv6::'.  To return to the old
1839f9f848faSopenharmony_ci	behavior, set the m4 option confUSE_COMPRESSED_IPV6_ADDRESSES or
1840f9f848faSopenharmony_ci	the cf option UseCompressedIPv6Addresses.
1841f9f848faSopenharmony_ci
1842f9f848faSopenharmony_ci20150630:
1843f9f848faSopenharmony_ci	The default kernel entropy-processing algorithm is now
1844f9f848faSopenharmony_ci	Fortuna, replacing Yarrow.
1845f9f848faSopenharmony_ci
1846f9f848faSopenharmony_ci	Assuming you have 'device random' in your kernel config
1847f9f848faSopenharmony_ci	file, the configurations allow a kernel option to override
1848f9f848faSopenharmony_ci	this default. You may choose *ONE* of:
1849f9f848faSopenharmony_ci
1850f9f848faSopenharmony_ci	options	RANDOM_YARROW	# Legacy /dev/random algorithm.
1851f9f848faSopenharmony_ci	options	RANDOM_DUMMY	# Blocking-only driver.
1852f9f848faSopenharmony_ci
1853f9f848faSopenharmony_ci	If you have neither, you get Fortuna.  For most people,
1854f9f848faSopenharmony_ci	read no further, Fortuna will give a /dev/random that works
1855f9f848faSopenharmony_ci	like it always used to, and the difference will be irrelevant.
1856f9f848faSopenharmony_ci
1857f9f848faSopenharmony_ci	If you remove 'device random', you get *NO* kernel-processed
1858f9f848faSopenharmony_ci	entropy at all. This may be acceptable to folks building
1859f9f848faSopenharmony_ci	embedded systems, but has complications. Carry on reading,
1860f9f848faSopenharmony_ci	and it is assumed you know what you need.
1861f9f848faSopenharmony_ci
1862f9f848faSopenharmony_ci	*PLEASE* read random(4) and random(9) if you are in the
1863f9f848faSopenharmony_ci	habit of tweaking kernel configs, and/or if you are a member
1864f9f848faSopenharmony_ci	of the embedded community, wanting specific and not-usual
1865f9f848faSopenharmony_ci	behaviour from your security subsystems.
1866f9f848faSopenharmony_ci
1867f9f848faSopenharmony_ci	NOTE!! If you use RANDOM_DUMMY and/or have no 'device
1868f9f848faSopenharmony_ci	random', you will NOT have a functioning /dev/random, and
1869f9f848faSopenharmony_ci	many cryptographic features will not work, including SSH.
1870f9f848faSopenharmony_ci	You may also find strange behaviour from the random(3) set
1871f9f848faSopenharmony_ci	of library functions, in particular sranddev(3), srandomdev(3)
1872f9f848faSopenharmony_ci	and arc4random(3). The reason for this is that the KERN_ARND
1873f9f848faSopenharmony_ci	sysctl only returns entropy if it thinks it has some to
1874f9f848faSopenharmony_ci	share, and with RANDOM_DUMMY or no 'device random' this
1875f9f848faSopenharmony_ci	will never happen.
1876f9f848faSopenharmony_ci
1877f9f848faSopenharmony_ci20150623:
1878f9f848faSopenharmony_ci	An additional fix for the issue described in the 20150614 sendmail
1879f9f848faSopenharmony_ci	entry below has been committed in revision 284717.
1880f9f848faSopenharmony_ci
1881f9f848faSopenharmony_ci20150616:
1882f9f848faSopenharmony_ci	FreeBSD's old make (fmake) has been removed from the system. It is
1883f9f848faSopenharmony_ci	available as the devel/fmake port or via pkg install fmake.
1884f9f848faSopenharmony_ci
1885f9f848faSopenharmony_ci20150615:
1886f9f848faSopenharmony_ci	The fix for the issue described in the 20150614 sendmail entry
1887f9f848faSopenharmony_ci	below has been committed in revision 284436.  The work
1888f9f848faSopenharmony_ci	around described in that entry is no longer needed unless the
1889f9f848faSopenharmony_ci	default setting is overridden by a confDH_PARAMETERS configuration
1890f9f848faSopenharmony_ci	setting of '5' or pointing to a 512 bit DH parameter file.
1891f9f848faSopenharmony_ci
1892f9f848faSopenharmony_ci20150614:
1893f9f848faSopenharmony_ci	ALLOW_DEPRECATED_ATF_TOOLS/ATFFILE support has been removed from
1894f9f848faSopenharmony_ci	atf.test.mk (included from bsd.test.mk). Please upgrade devel/atf
1895f9f848faSopenharmony_ci	and devel/kyua to version 0.20+ and adjust any calling code to work
1896f9f848faSopenharmony_ci	with Kyuafile and kyua.
1897f9f848faSopenharmony_ci
1898f9f848faSopenharmony_ci20150614:
1899f9f848faSopenharmony_ci	The import of openssl to address the FreeBSD-SA-15:10.openssl
1900f9f848faSopenharmony_ci	security advisory includes a change which rejects handshakes
1901f9f848faSopenharmony_ci	with DH parameters below 768 bits.  sendmail releases prior
1902f9f848faSopenharmony_ci	to 8.15.2 (not yet released), defaulted to a 512 bit
1903f9f848faSopenharmony_ci	DH parameter setting for client connections.  To work around
1904f9f848faSopenharmony_ci	this interoperability, sendmail can be configured to use a
1905f9f848faSopenharmony_ci	2048 bit DH parameter by:
1906f9f848faSopenharmony_ci
1907f9f848faSopenharmony_ci	1. Edit /etc/mail/`hostname`.mc
1908f9f848faSopenharmony_ci	2. If a setting for confDH_PARAMETERS does not exist or
1909f9f848faSopenharmony_ci	   exists and is set to a string beginning with '5',
1910f9f848faSopenharmony_ci	   replace it with '2'.
1911f9f848faSopenharmony_ci	3. If a setting for confDH_PARAMETERS exists and is set to
1912f9f848faSopenharmony_ci	   a file path, create a new file with:
1913f9f848faSopenharmony_ci		openssl dhparam -out /path/to/file 2048
1914f9f848faSopenharmony_ci	4. Rebuild the .cf file:
1915f9f848faSopenharmony_ci		cd /etc/mail/; make; make install
1916f9f848faSopenharmony_ci	5. Restart sendmail:
1917f9f848faSopenharmony_ci		cd /etc/mail/; make restart
1918f9f848faSopenharmony_ci
1919f9f848faSopenharmony_ci	A sendmail patch is coming, at which time this file will be
1920f9f848faSopenharmony_ci	updated.
1921f9f848faSopenharmony_ci
1922f9f848faSopenharmony_ci20150604:
1923f9f848faSopenharmony_ci	Generation of legacy formatted entries have been disabled by default
1924f9f848faSopenharmony_ci	in pwd_mkdb(8), as all base system consumers of the legacy formatted
1925f9f848faSopenharmony_ci	entries were converted to use the new format by default when the new,
1926f9f848faSopenharmony_ci	machine independent format have been added and supported since FreeBSD
1927f9f848faSopenharmony_ci	5.x.
1928f9f848faSopenharmony_ci
1929f9f848faSopenharmony_ci	Please see the pwd_mkdb(8) manual page for further details.
1930f9f848faSopenharmony_ci
1931f9f848faSopenharmony_ci20150525:
1932f9f848faSopenharmony_ci	Clang and llvm have been upgraded to 3.6.1 release.  Please see the
1933f9f848faSopenharmony_ci	20141231 entry below for information about prerequisites and upgrading,
1934f9f848faSopenharmony_ci	if you are not already using 3.5.0 or higher.
1935f9f848faSopenharmony_ci
1936f9f848faSopenharmony_ci20150521:
1937f9f848faSopenharmony_ci	TI platform code switched to using vendor DTS files and this update
1938f9f848faSopenharmony_ci	may break existing systems running on Beaglebone, Beaglebone Black,
1939f9f848faSopenharmony_ci	and Pandaboard:
1940f9f848faSopenharmony_ci
1941f9f848faSopenharmony_ci	- dtb files should be regenerated/reinstalled. Filenames are the
1942f9f848faSopenharmony_ci	  same but content is different now
1943f9f848faSopenharmony_ci	- GPIO addressing was changed, now each GPIO bank (32 pins per bank)
1944f9f848faSopenharmony_ci	  has its own /dev/gpiocX device, e.g. pin 121 on /dev/gpioc0 in old
1945f9f848faSopenharmony_ci	  addressing scheme is now pin 25 on /dev/gpioc3.
1946f9f848faSopenharmony_ci	- Pandaboard: /etc/ttys should be updated, serial console device is
1947f9f848faSopenharmony_ci	  now /dev/ttyu2, not /dev/ttyu0
1948f9f848faSopenharmony_ci
1949f9f848faSopenharmony_ci20150501:
1950f9f848faSopenharmony_ci	soelim(1) from gnu/usr.bin/groff has been replaced by usr.bin/soelim.
1951f9f848faSopenharmony_ci	If you need the GNU extension from groff soelim(1), install groff
1952f9f848faSopenharmony_ci	from package: pkg install groff, or via ports: textproc/groff.
1953f9f848faSopenharmony_ci
1954f9f848faSopenharmony_ci20150423:
1955f9f848faSopenharmony_ci	chmod, chflags, chown and chgrp now affect symlinks in -R mode as
1956f9f848faSopenharmony_ci	defined in symlink(7); previously symlinks were silently ignored.
1957f9f848faSopenharmony_ci
1958f9f848faSopenharmony_ci20150415:
1959f9f848faSopenharmony_ci	The const qualifier has been removed from iconv(3) to comply with
1960f9f848faSopenharmony_ci	POSIX.  The ports tree is aware of this from r384038 onwards.
1961f9f848faSopenharmony_ci
1962f9f848faSopenharmony_ci20150416:
1963f9f848faSopenharmony_ci	Libraries specified by LIBADD in Makefiles must have a corresponding
1964f9f848faSopenharmony_ci	DPADD_<lib> variable to ensure correct dependencies.  This is now
1965f9f848faSopenharmony_ci	enforced in src.libnames.mk.
1966f9f848faSopenharmony_ci
1967f9f848faSopenharmony_ci20150324:
1968f9f848faSopenharmony_ci	From legacy ata(4) driver was removed support for SATA controllers
1969f9f848faSopenharmony_ci	supported by more functional drivers ahci(4), siis(4) and mvs(4).
1970f9f848faSopenharmony_ci	Kernel modules ataahci and ataadaptec were removed completely,
1971f9f848faSopenharmony_ci	replaced by ahci and mvs modules respectively.
1972f9f848faSopenharmony_ci
1973f9f848faSopenharmony_ci20150315:
1974f9f848faSopenharmony_ci	Clang, llvm and lldb have been upgraded to 3.6.0 release.  Please see
1975f9f848faSopenharmony_ci	the 20141231 entry below for information about prerequisites and
1976f9f848faSopenharmony_ci	upgrading, if you are not already using 3.5.0 or higher.
1977f9f848faSopenharmony_ci
1978f9f848faSopenharmony_ci20150307:
1979f9f848faSopenharmony_ci	The 32-bit PowerPC kernel has been changed to a position-independent
1980f9f848faSopenharmony_ci	executable. This can only be booted with a version of loader(8)
1981f9f848faSopenharmony_ci	newer than January 31, 2015, so make sure to update both world and
1982f9f848faSopenharmony_ci	kernel before rebooting.
1983f9f848faSopenharmony_ci
1984f9f848faSopenharmony_ci20150217:
1985f9f848faSopenharmony_ci	If you are running a -CURRENT kernel since r273872 (Oct 30th, 2014),
1986f9f848faSopenharmony_ci	but before r278950, the RNG was not seeded properly.  Immediately
1987f9f848faSopenharmony_ci	upgrade the kernel to r278950 or later and regenerate any keys (e.g.
1988f9f848faSopenharmony_ci	ssh keys or openssl keys) that were generated w/ a kernel from that
1989f9f848faSopenharmony_ci	range.  This does not affect programs that directly used /dev/random
1990f9f848faSopenharmony_ci	or /dev/urandom.  All userland uses of arc4random(3) are affected.
1991f9f848faSopenharmony_ci
1992f9f848faSopenharmony_ci20150210:
1993f9f848faSopenharmony_ci	The autofs(4) ABI was changed in order to restore binary compatibility
1994f9f848faSopenharmony_ci	with 10.1-RELEASE.  The automountd(8) daemon needs to be rebuilt to work
1995f9f848faSopenharmony_ci	with the new kernel.
1996f9f848faSopenharmony_ci
1997f9f848faSopenharmony_ci20150131:
1998f9f848faSopenharmony_ci	The powerpc64 kernel has been changed to a position-independent
1999f9f848faSopenharmony_ci	executable. This can only be booted with a new version of loader(8),
2000f9f848faSopenharmony_ci	so make sure to update both world and kernel before rebooting.
2001f9f848faSopenharmony_ci
2002f9f848faSopenharmony_ci20150118:
2003f9f848faSopenharmony_ci	Clang and llvm have been upgraded to 3.5.1 release.  This is a bugfix
2004f9f848faSopenharmony_ci	only release, no new features have been added.  Please see the 20141231
2005f9f848faSopenharmony_ci	entry below for information about prerequisites and upgrading, if you
2006f9f848faSopenharmony_ci	are not already using 3.5.0.
2007f9f848faSopenharmony_ci
2008f9f848faSopenharmony_ci20150107:
2009f9f848faSopenharmony_ci	ELF tools addr2line, elfcopy (strip), nm, size, and strings are now
2010f9f848faSopenharmony_ci	taken from the ELF Tool Chain project rather than GNU binutils. They
2011f9f848faSopenharmony_ci	should be drop-in replacements, with the addition of arm64 support.
2012f9f848faSopenharmony_ci	The WITHOUT_ELFTOOLCHAIN_TOOLS= knob may be used to obtain the
2013f9f848faSopenharmony_ci	binutils tools, if necessary. See 20150805 for updated information.
2014f9f848faSopenharmony_ci
2015f9f848faSopenharmony_ci20150105:
2016f9f848faSopenharmony_ci	The default Unbound configuration now enables remote control
2017f9f848faSopenharmony_ci	using a local socket.  Users who have already enabled the
2018f9f848faSopenharmony_ci	local_unbound service should regenerate their configuration
2019f9f848faSopenharmony_ci	by running "service local_unbound setup" as root.
2020f9f848faSopenharmony_ci
2021f9f848faSopenharmony_ci20150102:
2022f9f848faSopenharmony_ci	The GNU texinfo and GNU info pages have been removed.
2023f9f848faSopenharmony_ci	To be able to view GNU info pages please install texinfo from ports.
2024f9f848faSopenharmony_ci
2025f9f848faSopenharmony_ci20141231:
2026f9f848faSopenharmony_ci	Clang, llvm and lldb have been upgraded to 3.5.0 release.
2027f9f848faSopenharmony_ci
2028f9f848faSopenharmony_ci	As of this release, a prerequisite for building clang, llvm and lldb is
2029f9f848faSopenharmony_ci	a C++11 capable compiler and C++11 standard library.  This means that to
2030f9f848faSopenharmony_ci	be able to successfully build the cross-tools stage of buildworld, with
2031f9f848faSopenharmony_ci	clang as the bootstrap compiler, your system compiler or cross compiler
2032f9f848faSopenharmony_ci	should either be clang 3.3 or later, or gcc 4.8 or later, and your
2033f9f848faSopenharmony_ci	system C++ library should be libc++, or libdstdc++ from gcc 4.8 or
2034f9f848faSopenharmony_ci	later.
2035f9f848faSopenharmony_ci
2036f9f848faSopenharmony_ci	On any standard FreeBSD 10.x or 11.x installation, where clang and
2037f9f848faSopenharmony_ci	libc++ are on by default (that is, on x86 or arm), this should work out
2038f9f848faSopenharmony_ci	of the box.
2039f9f848faSopenharmony_ci
2040f9f848faSopenharmony_ci	On 9.x installations where clang is enabled by default, e.g. on x86 and
2041f9f848faSopenharmony_ci	powerpc, libc++ will not be enabled by default, so libc++ should be
2042f9f848faSopenharmony_ci	built (with clang) and installed first.  If both clang and libc++ are
2043f9f848faSopenharmony_ci	missing, build clang first, then use it to build libc++.
2044f9f848faSopenharmony_ci
2045f9f848faSopenharmony_ci	On 8.x and earlier installations, upgrade to 9.x first, and then follow
2046f9f848faSopenharmony_ci	the instructions for 9.x above.
2047f9f848faSopenharmony_ci
2048f9f848faSopenharmony_ci	Sparc64 and mips users are unaffected, as they still use gcc 4.2.1 by
2049f9f848faSopenharmony_ci	default, and do not build clang.
2050f9f848faSopenharmony_ci
2051f9f848faSopenharmony_ci	Many embedded systems are resource constrained, and will not be able to
2052f9f848faSopenharmony_ci	build clang in a reasonable time, or in some cases at all.  In those
2053f9f848faSopenharmony_ci	cases, cross building bootable systems on amd64 is a workaround.
2054f9f848faSopenharmony_ci
2055f9f848faSopenharmony_ci	This new version of clang introduces a number of new warnings, of which
2056f9f848faSopenharmony_ci	the following are most likely to appear:
2057f9f848faSopenharmony_ci
2058f9f848faSopenharmony_ci	-Wabsolute-value
2059f9f848faSopenharmony_ci
2060f9f848faSopenharmony_ci	This warns in two cases, for both C and C++:
2061f9f848faSopenharmony_ci	* When the code is trying to take the absolute value of an unsigned
2062f9f848faSopenharmony_ci	  quantity, which is effectively a no-op, and almost never what was
2063f9f848faSopenharmony_ci	  intended.  The code should be fixed, if at all possible.  If you are
2064f9f848faSopenharmony_ci	  sure that the unsigned quantity can be safely cast to signed, without
2065f9f848faSopenharmony_ci	  loss of information or undefined behavior, you can add an explicit
2066f9f848faSopenharmony_ci	  cast, or disable the warning.
2067f9f848faSopenharmony_ci
2068f9f848faSopenharmony_ci	* When the code is trying to take an absolute value, but the called
2069f9f848faSopenharmony_ci	  abs() variant is for the wrong type, which can lead to truncation.
2070f9f848faSopenharmony_ci	  If you want to disable the warning instead of fixing the code, please
2071f9f848faSopenharmony_ci	  make sure that truncation will not occur, or it might lead to unwanted
2072f9f848faSopenharmony_ci	  side-effects.
2073f9f848faSopenharmony_ci
2074f9f848faSopenharmony_ci	-Wtautological-undefined-compare and
2075f9f848faSopenharmony_ci	-Wundefined-bool-conversion
2076f9f848faSopenharmony_ci
2077f9f848faSopenharmony_ci	These warn when C++ code is trying to compare 'this' against NULL, while
2078f9f848faSopenharmony_ci	'this' should never be NULL in well-defined C++ code.  However, there is
2079f9f848faSopenharmony_ci	some legacy (pre C++11) code out there, which actively abuses this
2080f9f848faSopenharmony_ci	feature, which was less strictly defined in previous C++ versions.
2081f9f848faSopenharmony_ci
2082f9f848faSopenharmony_ci	Squid and openjdk do this, for example.  The warning can be turned off
2083f9f848faSopenharmony_ci	for C++98 and earlier, but compiling the code in C++11 mode might result
2084f9f848faSopenharmony_ci	in unexpected behavior; for example, the parts of the program that are
2085f9f848faSopenharmony_ci	unreachable could be optimized away.
2086f9f848faSopenharmony_ci
2087f9f848faSopenharmony_ci20141222:
2088f9f848faSopenharmony_ci	The old NFS client and server (kernel options NFSCLIENT, NFSSERVER)
2089f9f848faSopenharmony_ci	kernel sources have been removed. The .h files remain, since some
2090f9f848faSopenharmony_ci	utilities include them. This will need to be fixed later.
2091f9f848faSopenharmony_ci	If "mount -t oldnfs ..." is attempted, it will fail.
2092f9f848faSopenharmony_ci	If the "-o" option on mountd(8), nfsd(8) or nfsstat(1) is used,
2093f9f848faSopenharmony_ci	the utilities will report errors.
2094f9f848faSopenharmony_ci
2095f9f848faSopenharmony_ci20141121:
2096f9f848faSopenharmony_ci	The handling of LOCAL_LIB_DIRS has been altered to skip addition of
2097f9f848faSopenharmony_ci	directories to top level SUBDIR variable when their parent
2098f9f848faSopenharmony_ci	directory is included in LOCAL_DIRS.  Users with build systems with
2099f9f848faSopenharmony_ci	such hierarchies and without SUBDIR entries in the parent
2100f9f848faSopenharmony_ci	directory Makefiles should add them or add the directories to
2101f9f848faSopenharmony_ci	LOCAL_DIRS.
2102f9f848faSopenharmony_ci
2103f9f848faSopenharmony_ci20141109:
2104f9f848faSopenharmony_ci	faith(4) and faithd(8) have been removed from the base system. Faith
2105f9f848faSopenharmony_ci	has been obsolete for a very long time.
2106f9f848faSopenharmony_ci
2107f9f848faSopenharmony_ci20141104:
2108f9f848faSopenharmony_ci	vt(4), the new console driver, is enabled by default. It brings
2109f9f848faSopenharmony_ci	support for Unicode and double-width characters, as well as
2110f9f848faSopenharmony_ci	support for UEFI and integration with the KMS kernel video
2111f9f848faSopenharmony_ci	drivers.
2112f9f848faSopenharmony_ci
2113f9f848faSopenharmony_ci	You may need to update your console settings in /etc/rc.conf,
2114f9f848faSopenharmony_ci	most probably the keymap. During boot, /etc/rc.d/syscons will
2115f9f848faSopenharmony_ci	indicate what you need to do.
2116f9f848faSopenharmony_ci
2117f9f848faSopenharmony_ci	vt(4) still has issues and lacks some features compared to
2118f9f848faSopenharmony_ci	syscons(4). See the wiki for up-to-date information:
2119f9f848faSopenharmony_ci	  https://wiki.freebsd.org/Newcons
2120f9f848faSopenharmony_ci
2121f9f848faSopenharmony_ci	If you want to keep using syscons(4), you can do so by adding
2122f9f848faSopenharmony_ci	the following line to /boot/loader.conf:
2123f9f848faSopenharmony_ci	  kern.vty=sc
2124f9f848faSopenharmony_ci
2125f9f848faSopenharmony_ci20141102:
2126f9f848faSopenharmony_ci	pjdfstest has been integrated into kyua as an opt-in test suite.
2127f9f848faSopenharmony_ci	Please see share/doc/pjdfstest/README for more details on how to
2128f9f848faSopenharmony_ci	execute it.
2129f9f848faSopenharmony_ci
2130f9f848faSopenharmony_ci20141009:
2131f9f848faSopenharmony_ci	gperf has been removed from the base system for architectures
2132f9f848faSopenharmony_ci	that use clang. Ports that require gperf will obtain it from the
2133f9f848faSopenharmony_ci	devel/gperf port.
2134f9f848faSopenharmony_ci
2135f9f848faSopenharmony_ci20140923:
2136f9f848faSopenharmony_ci	pjdfstest has been moved from tools/regression/pjdfstest to
2137f9f848faSopenharmony_ci	contrib/pjdfstest .
2138f9f848faSopenharmony_ci
2139f9f848faSopenharmony_ci20140922:
2140f9f848faSopenharmony_ci	At svn r271982, The default linux compat kernel ABI has been adjusted
2141f9f848faSopenharmony_ci	to 2.6.18 in support of the linux-c6 compat ports infrastructure
2142f9f848faSopenharmony_ci	update.  If you wish to continue using the linux-f10 compat ports,
2143f9f848faSopenharmony_ci	add compat.linux.osrelease=2.6.16 to your local sysctl.conf.  Users are
2144f9f848faSopenharmony_ci	encouraged to update their linux-compat packages to linux-c6 during
2145f9f848faSopenharmony_ci	their next update cycle.
2146f9f848faSopenharmony_ci
2147f9f848faSopenharmony_ci20140729:
2148f9f848faSopenharmony_ci	The ofwfb driver, used to provide a graphics console on PowerPC when
2149f9f848faSopenharmony_ci	using vt(4), no longer allows mmap() of all physical memory. This
2150f9f848faSopenharmony_ci	will prevent Xorg on PowerPC with some ATI graphics cards from
2151f9f848faSopenharmony_ci	initializing properly unless x11-servers/xorg-server is updated to
2152f9f848faSopenharmony_ci	1.12.4_8 or newer.
2153f9f848faSopenharmony_ci
2154f9f848faSopenharmony_ci20140723:
2155f9f848faSopenharmony_ci	The xdev targets have been converted to using TARGET and
2156f9f848faSopenharmony_ci	TARGET_ARCH instead of XDEV and XDEV_ARCH.
2157f9f848faSopenharmony_ci
2158f9f848faSopenharmony_ci20140719:
2159f9f848faSopenharmony_ci	The default unbound configuration has been modified to address
2160f9f848faSopenharmony_ci	issues with reverse lookups on networks that use private
2161f9f848faSopenharmony_ci	address ranges.  If you use the local_unbound service, run
2162f9f848faSopenharmony_ci	"service local_unbound setup" as root to regenerate your
2163f9f848faSopenharmony_ci	configuration, then "service local_unbound reload" to load the
2164f9f848faSopenharmony_ci	new configuration.
2165f9f848faSopenharmony_ci
2166f9f848faSopenharmony_ci20140709:
2167f9f848faSopenharmony_ci	The GNU texinfo and GNU info pages are not built and installed
2168f9f848faSopenharmony_ci	anymore, WITH_INFO knob has been added to allow to built and install
2169f9f848faSopenharmony_ci	them again.
2170f9f848faSopenharmony_ci	UPDATE: see 20150102 entry on texinfo's removal
2171f9f848faSopenharmony_ci
2172f9f848faSopenharmony_ci20140708:
2173f9f848faSopenharmony_ci	The GNU readline library is now an INTERNALLIB - that is, it is
2174f9f848faSopenharmony_ci	statically linked into consumers (GDB and variants) in the base
2175f9f848faSopenharmony_ci	system, and the shared library is no longer installed.  The
2176f9f848faSopenharmony_ci	devel/readline port is available for third party software that
2177f9f848faSopenharmony_ci	requires readline.
2178f9f848faSopenharmony_ci
2179f9f848faSopenharmony_ci20140702:
2180f9f848faSopenharmony_ci	The Itanium architecture (ia64) has been removed from the list of
2181f9f848faSopenharmony_ci	known architectures. This is the first step in the removal of the
2182f9f848faSopenharmony_ci	architecture.
2183f9f848faSopenharmony_ci
2184f9f848faSopenharmony_ci20140701:
2185f9f848faSopenharmony_ci	Commit r268115 has added NFSv4.1 server support, merged from
2186f9f848faSopenharmony_ci	projects/nfsv4.1-server.  Since this includes changes to the
2187f9f848faSopenharmony_ci	internal interfaces between the NFS related modules, a full
2188f9f848faSopenharmony_ci	build of the kernel and modules will be necessary.
2189f9f848faSopenharmony_ci	__FreeBSD_version has been bumped.
2190f9f848faSopenharmony_ci
2191f9f848faSopenharmony_ci20140629:
2192f9f848faSopenharmony_ci	The WITHOUT_VT_SUPPORT kernel config knob has been renamed
2193f9f848faSopenharmony_ci	WITHOUT_VT.  (The other _SUPPORT knobs have a consistent meaning
2194f9f848faSopenharmony_ci	which differs from the behaviour controlled by this knob.)
2195f9f848faSopenharmony_ci
2196f9f848faSopenharmony_ci20140619:
2197f9f848faSopenharmony_ci	Maximal length of the serial number in CTL was increased from 16 to
2198f9f848faSopenharmony_ci	64 chars, that breaks ABI.  All CTL-related tools, such as ctladm
2199f9f848faSopenharmony_ci	and ctld, need to be rebuilt to work with a new kernel.
2200f9f848faSopenharmony_ci
2201f9f848faSopenharmony_ci20140606:
2202f9f848faSopenharmony_ci	The libatf-c and libatf-c++ major versions were downgraded to 0 and
2203f9f848faSopenharmony_ci	1 respectively to match the upstream numbers.  They were out of
2204f9f848faSopenharmony_ci	sync because, when they were originally added to FreeBSD, the
2205f9f848faSopenharmony_ci	upstream versions were not respected.  These libraries are private
2206f9f848faSopenharmony_ci	and not yet built by default, so renumbering them should be a
2207f9f848faSopenharmony_ci	non-issue.  However, unclean source trees will yield broken test
2208f9f848faSopenharmony_ci	programs once the operator executes "make delete-old-libs" after a
2209f9f848faSopenharmony_ci	"make installworld".
2210f9f848faSopenharmony_ci
2211f9f848faSopenharmony_ci	Additionally, the atf-sh binary was made private by moving it into
2212f9f848faSopenharmony_ci	/usr/libexec/.  Already-built shell test programs will keep the
2213f9f848faSopenharmony_ci	path to the old binary so they will break after "make delete-old"
2214f9f848faSopenharmony_ci	is run.
2215f9f848faSopenharmony_ci
2216f9f848faSopenharmony_ci	If you are using WITH_TESTS=yes (not the default), wipe the object
2217f9f848faSopenharmony_ci	tree and rebuild from scratch to prevent spurious test failures.
2218f9f848faSopenharmony_ci	This is only needed once: the misnumbered libraries and misplaced
2219f9f848faSopenharmony_ci	binaries have been added to OptionalObsoleteFiles.inc so they will
2220f9f848faSopenharmony_ci	be removed during a clean upgrade.
2221f9f848faSopenharmony_ci
2222f9f848faSopenharmony_ci20140512:
2223f9f848faSopenharmony_ci	Clang and llvm have been upgraded to 3.4.1 release.
2224f9f848faSopenharmony_ci
2225f9f848faSopenharmony_ci20140508:
2226f9f848faSopenharmony_ci	We bogusly installed src.opts.mk in /usr/share/mk. This file should
2227f9f848faSopenharmony_ci	be removed to avoid issues in the future (and has been added to
2228f9f848faSopenharmony_ci	ObsoleteFiles.inc).
2229f9f848faSopenharmony_ci
2230f9f848faSopenharmony_ci20140505:
2231f9f848faSopenharmony_ci	/etc/src.conf now affects only builds of the FreeBSD src tree. In the
2232f9f848faSopenharmony_ci	past, it affected all builds that used the bsd.*.mk files. The old
2233f9f848faSopenharmony_ci	behavior was a bug, but people may have relied upon it. To get this
2234f9f848faSopenharmony_ci	behavior back, you can .include /etc/src.conf from /etc/make.conf
2235f9f848faSopenharmony_ci	(which is still global and isn't changed). This also changes the
2236f9f848faSopenharmony_ci	behavior of incremental builds inside the tree of individual
2237f9f848faSopenharmony_ci	directories. Set MAKESYSPATH to ".../share/mk" to do that.
2238f9f848faSopenharmony_ci	Although this has survived make universe and some upgrade scenarios,
2239f9f848faSopenharmony_ci	other upgrade scenarios may have broken. At least one form of
2240f9f848faSopenharmony_ci	temporary breakage was fixed with MAKESYSPATH settings for buildworld
2241f9f848faSopenharmony_ci	as well... In cases where MAKESYSPATH isn't working with this
2242f9f848faSopenharmony_ci	setting, you'll need to set it to the full path to your tree.
2243f9f848faSopenharmony_ci
2244f9f848faSopenharmony_ci	One side effect of all this cleaning up is that bsd.compiler.mk
2245f9f848faSopenharmony_ci	is no longer implicitly included by bsd.own.mk. If you wish to
2246f9f848faSopenharmony_ci	use COMPILER_TYPE, you must now explicitly include bsd.compiler.mk
2247f9f848faSopenharmony_ci	as well.
2248f9f848faSopenharmony_ci
2249f9f848faSopenharmony_ci20140430:
2250f9f848faSopenharmony_ci	The lindev device has been removed since /dev/full has been made a
2251f9f848faSopenharmony_ci	standard device.  __FreeBSD_version has been bumped.
2252f9f848faSopenharmony_ci
2253f9f848faSopenharmony_ci20140424:
2254f9f848faSopenharmony_ci	The knob WITHOUT_VI was added to the base system, which controls
2255f9f848faSopenharmony_ci	building ex(1), vi(1), etc. Older releases of FreeBSD required ex(1)
2256f9f848faSopenharmony_ci	in order to reorder files share/termcap and didn't build ex(1) as a
2257f9f848faSopenharmony_ci	build tool, so building/installing with WITH_VI is highly advised for
2258f9f848faSopenharmony_ci	build hosts for older releases.
2259f9f848faSopenharmony_ci
2260f9f848faSopenharmony_ci	This issue has been fixed in stable/9 and stable/10 in r277022 and
2261f9f848faSopenharmony_ci	r276991, respectively.
2262f9f848faSopenharmony_ci
2263f9f848faSopenharmony_ci20140418:
2264f9f848faSopenharmony_ci	The YES_HESIOD knob has been removed. It has been obsolete for
2265f9f848faSopenharmony_ci	a decade. Please move to using WITH_HESIOD instead or your builds
2266f9f848faSopenharmony_ci	will silently lack HESIOD.
2267f9f848faSopenharmony_ci
2268f9f848faSopenharmony_ci20140405:
2269f9f848faSopenharmony_ci	The uart(4) driver has been changed with respect to its handling
2270f9f848faSopenharmony_ci	of the low-level console. Previously the uart(4) driver prevented
2271f9f848faSopenharmony_ci	any process from changing the baudrate or the CLOCAL and HUPCL
2272f9f848faSopenharmony_ci	control flags. By removing the restrictions, operators can make
2273f9f848faSopenharmony_ci	changes to the serial console port without having to reboot.
2274f9f848faSopenharmony_ci	However, when getty(8) is started on the serial device that is
2275f9f848faSopenharmony_ci	associated with the low-level console, a misconfigured terminal
2276f9f848faSopenharmony_ci	line in /etc/ttys will now have a real impact.
2277f9f848faSopenharmony_ci	Before upgrading the kernel, make sure that /etc/ttys has the
2278f9f848faSopenharmony_ci	serial console device configured as 3wire without baudrate to
2279f9f848faSopenharmony_ci	preserve the previous behaviour. E.g:
2280f9f848faSopenharmony_ci	    ttyu0  "/usr/libexec/getty 3wire"  vt100  on  secure
2281f9f848faSopenharmony_ci
2282f9f848faSopenharmony_ci20140306:
2283f9f848faSopenharmony_ci	Support for libwrap (TCP wrappers) in rpcbind was disabled by default
2284f9f848faSopenharmony_ci	to improve performance.  To re-enable it, if needed, run rpcbind
2285f9f848faSopenharmony_ci	with command line option -W.
2286f9f848faSopenharmony_ci
2287f9f848faSopenharmony_ci20140226:
2288f9f848faSopenharmony_ci	Switched back to the GPL dtc compiler due to updates in the upstream
2289f9f848faSopenharmony_ci	dts files not being supported by the BSDL dtc compiler. You will need
2290f9f848faSopenharmony_ci	to rebuild your kernel toolchain to pick up the new compiler. Core dumps
2291f9f848faSopenharmony_ci	may result while building dtb files during a kernel build if you fail
2292f9f848faSopenharmony_ci	to do so. Set WITHOUT_GPL_DTC if you require the BSDL compiler.
2293f9f848faSopenharmony_ci
2294f9f848faSopenharmony_ci20140216:
2295f9f848faSopenharmony_ci	Clang and llvm have been upgraded to 3.4 release.
2296f9f848faSopenharmony_ci
2297f9f848faSopenharmony_ci20140216:
2298f9f848faSopenharmony_ci	The nve(4) driver has been removed.  Please use the nfe(4) driver
2299f9f848faSopenharmony_ci	for NVIDIA nForce MCP Ethernet adapters instead.
2300f9f848faSopenharmony_ci
2301f9f848faSopenharmony_ci20140212:
2302f9f848faSopenharmony_ci	An ABI incompatibility crept into the libc++ 3.4 import in r261283.
2303f9f848faSopenharmony_ci	This could cause certain C++ applications using shared libraries built
2304f9f848faSopenharmony_ci	against the previous version of libc++ to crash.  The incompatibility
2305f9f848faSopenharmony_ci	has now been fixed, but any C++ applications or shared libraries built
2306f9f848faSopenharmony_ci	between r261283 and r261801 should be recompiled.
2307f9f848faSopenharmony_ci
2308f9f848faSopenharmony_ci20140204:
2309f9f848faSopenharmony_ci	OpenSSH will now ignore errors caused by kernel lacking of Capsicum
2310f9f848faSopenharmony_ci	capability mode support.  Please note that enabling the feature in
2311f9f848faSopenharmony_ci	kernel is still highly recommended.
2312f9f848faSopenharmony_ci
2313f9f848faSopenharmony_ci20140131:
2314f9f848faSopenharmony_ci	OpenSSH is now built with sandbox support, and will use sandbox as
2315f9f848faSopenharmony_ci	the default privilege separation method.  This requires Capsicum
2316f9f848faSopenharmony_ci	capability mode support in kernel.
2317f9f848faSopenharmony_ci
2318f9f848faSopenharmony_ci20140128:
2319f9f848faSopenharmony_ci	The libelf and libdwarf libraries have been updated to newer
2320f9f848faSopenharmony_ci	versions from upstream. Shared library version numbers for
2321f9f848faSopenharmony_ci	these two libraries were bumped. Any ports or binaries
2322f9f848faSopenharmony_ci	requiring these two libraries should be recompiled.
2323f9f848faSopenharmony_ci	__FreeBSD_version is bumped to 1100006.
2324f9f848faSopenharmony_ci
2325f9f848faSopenharmony_ci20140110:
2326f9f848faSopenharmony_ci	If a Makefile in a tests/ directory was auto-generating a Kyuafile
2327f9f848faSopenharmony_ci	instead of providing an explicit one, this would prevent such
2328f9f848faSopenharmony_ci	Makefile from providing its own Kyuafile in the future during
2329f9f848faSopenharmony_ci	NO_CLEAN builds.  This has been fixed in the Makefiles but manual
2330f9f848faSopenharmony_ci	intervention is needed to clean an objdir if you use NO_CLEAN:
2331f9f848faSopenharmony_ci	  # find /usr/obj -name Kyuafile | xargs rm -f
2332f9f848faSopenharmony_ci
2333f9f848faSopenharmony_ci20131213:
2334f9f848faSopenharmony_ci	The behavior of gss_pseudo_random() for the krb5 mechanism
2335f9f848faSopenharmony_ci	has changed, for applications requesting a longer random string
2336f9f848faSopenharmony_ci	than produced by the underlying enctype's pseudo-random() function.
2337f9f848faSopenharmony_ci	In particular, the random string produced from a session key of
2338f9f848faSopenharmony_ci	enctype aes256-cts-hmac-sha1-96 or aes256-cts-hmac-sha1-96 will
2339f9f848faSopenharmony_ci	be different at the 17th octet and later, after this change.
2340f9f848faSopenharmony_ci	The counter used in the PRF+ construction is now encoded as a
2341f9f848faSopenharmony_ci	big-endian integer in accordance with RFC 4402.
2342f9f848faSopenharmony_ci	__FreeBSD_version is bumped to 1100004.
2343f9f848faSopenharmony_ci
2344f9f848faSopenharmony_ci20131108:
2345f9f848faSopenharmony_ci	The WITHOUT_ATF build knob has been removed and its functionality
2346f9f848faSopenharmony_ci	has been subsumed into the more generic WITHOUT_TESTS.  If you were
2347f9f848faSopenharmony_ci	using the former to disable the build of the ATF libraries, you
2348f9f848faSopenharmony_ci	should change your settings to use the latter.
2349f9f848faSopenharmony_ci
2350f9f848faSopenharmony_ci20131025:
2351f9f848faSopenharmony_ci	The default version of mtree is nmtree which is obtained from
2352f9f848faSopenharmony_ci	NetBSD.  The output is generally the same, but may vary
2353f9f848faSopenharmony_ci	slightly.  If you found you need identical output adding
2354f9f848faSopenharmony_ci	"-F freebsd9" to the command line should do the trick.  For the
2355f9f848faSopenharmony_ci	time being, the old mtree is available as fmtree.
2356f9f848faSopenharmony_ci
2357f9f848faSopenharmony_ci20131014:
2358f9f848faSopenharmony_ci	libbsdyml has been renamed to libyaml and moved to /usr/lib/private.
2359f9f848faSopenharmony_ci	This will break ports-mgmt/pkg. Rebuild the port, or upgrade to pkg
2360f9f848faSopenharmony_ci	1.1.4_8 and verify bsdyml not linked in, before running "make
2361f9f848faSopenharmony_ci	delete-old-libs":
2362f9f848faSopenharmony_ci	  # make -C /usr/ports/ports-mgmt/pkg build deinstall install clean
2363f9f848faSopenharmony_ci	  or
2364f9f848faSopenharmony_ci	  # pkg install pkg; ldd /usr/local/sbin/pkg | grep bsdyml
2365f9f848faSopenharmony_ci
2366f9f848faSopenharmony_ci20131010:
2367f9f848faSopenharmony_ci	The stable/10 branch has been created in subversion from head
2368f9f848faSopenharmony_ci	revision r256279.
2369f9f848faSopenharmony_ci
2370f9f848faSopenharmony_ciCOMMON ITEMS:
2371f9f848faSopenharmony_ci
2372f9f848faSopenharmony_ci	General Notes
2373f9f848faSopenharmony_ci	-------------
2374f9f848faSopenharmony_ci	Sometimes, obscure build problems are the result of environment
2375f9f848faSopenharmony_ci	poisoning.  This can happen because the make utility reads its
2376f9f848faSopenharmony_ci	environment when searching for values for global variables.  To run
2377f9f848faSopenharmony_ci	your build attempts in an "environmental clean room", prefix all make
2378f9f848faSopenharmony_ci	commands with 'env -i '.  See the env(1) manual page for more details.
2379f9f848faSopenharmony_ci	Occasionally a build failure will occur with "make -j" due to a race
2380f9f848faSopenharmony_ci	condition.  If this happens try building again without -j, and please
2381f9f848faSopenharmony_ci	report a bug if it happens consistently.
2382f9f848faSopenharmony_ci
2383f9f848faSopenharmony_ci	When upgrading from one major version to another it is generally best to
2384f9f848faSopenharmony_ci	upgrade to the latest code in the currently installed branch first, then
2385f9f848faSopenharmony_ci	do an upgrade to the new branch. This is the best-tested upgrade path,
2386f9f848faSopenharmony_ci	and has the highest probability of being successful.  Please try this
2387f9f848faSopenharmony_ci	approach if you encounter problems with a major version upgrade.  Since
2388f9f848faSopenharmony_ci	the stable 4.x branch point, one has generally been able to upgrade from
2389f9f848faSopenharmony_ci	anywhere in the most recent stable branch to head / current (or even the
2390f9f848faSopenharmony_ci	last couple of stable branches). See the top of this file when there's
2391f9f848faSopenharmony_ci	an exception.
2392f9f848faSopenharmony_ci
2393f9f848faSopenharmony_ci	The update process will emit an error on an attempt to perform a build
2394f9f848faSopenharmony_ci	or install from a FreeBSD version below the earliest supported version.
2395f9f848faSopenharmony_ci	When updating from an older version the update should be performed one
2396f9f848faSopenharmony_ci	major release at a time, including running `make delete-old` at each
2397f9f848faSopenharmony_ci	step.
2398f9f848faSopenharmony_ci
2399f9f848faSopenharmony_ci	When upgrading a live system, having a root shell around before
2400f9f848faSopenharmony_ci	installing anything can help undo problems. Not having a root shell
2401f9f848faSopenharmony_ci	around can lead to problems if pam has changed too much from your
2402f9f848faSopenharmony_ci	starting point to allow continued authentication after the upgrade.
2403f9f848faSopenharmony_ci
2404f9f848faSopenharmony_ci	This file should be read as a log of events. When a later event changes
2405f9f848faSopenharmony_ci	information of a prior event, the prior event should not be deleted.
2406f9f848faSopenharmony_ci	Instead, a pointer to the entry with the new information should be
2407f9f848faSopenharmony_ci	placed in the old entry. Readers of this file should also sanity check
2408f9f848faSopenharmony_ci	older entries before relying on them blindly. Authors of new entries
2409f9f848faSopenharmony_ci	should write them with this in mind.
2410f9f848faSopenharmony_ci
2411f9f848faSopenharmony_ci	ZFS notes
2412f9f848faSopenharmony_ci	---------
2413f9f848faSopenharmony_ci	When upgrading the boot ZFS pool to a new version, always follow
2414f9f848faSopenharmony_ci	these two steps:
2415f9f848faSopenharmony_ci
2416f9f848faSopenharmony_ci	1.) recompile and reinstall the ZFS boot loader and boot block
2417f9f848faSopenharmony_ci	(this is part of "make buildworld" and "make installworld")
2418f9f848faSopenharmony_ci
2419f9f848faSopenharmony_ci	2.) update the ZFS boot block on your boot drive
2420f9f848faSopenharmony_ci
2421f9f848faSopenharmony_ci	The following example updates the ZFS boot block on the
2422f9f848faSopenharmony_ci	freebsd-boot partition of a GPT partitioned drive ada0:
2423f9f848faSopenharmony_ci	"gpart bootcode -p /boot/gptzfsboot -i $N ada0"
2424f9f848faSopenharmony_ci	The value $N will typically be 1 (if booting from BIOS) or 2 (if
2425f9f848faSopenharmony_ci	booting from EFI).
2426f9f848faSopenharmony_ci
2427f9f848faSopenharmony_ci	Non-boot pools do not need these updates.
2428f9f848faSopenharmony_ci
2429f9f848faSopenharmony_ci	To build a kernel
2430f9f848faSopenharmony_ci	-----------------
2431f9f848faSopenharmony_ci	If you are updating from a prior version of FreeBSD (even one just
2432f9f848faSopenharmony_ci	a few days old), you should follow this procedure.  It is the most
2433f9f848faSopenharmony_ci	failsafe as it uses a /usr/obj tree with a fresh mini-buildworld,
2434f9f848faSopenharmony_ci
2435f9f848faSopenharmony_ci	make kernel-toolchain
2436f9f848faSopenharmony_ci	make -DALWAYS_CHECK_MAKE buildkernel KERNCONF=YOUR_KERNEL_HERE
2437f9f848faSopenharmony_ci	make -DALWAYS_CHECK_MAKE installkernel KERNCONF=YOUR_KERNEL_HERE
2438f9f848faSopenharmony_ci
2439f9f848faSopenharmony_ci	To test a kernel once
2440f9f848faSopenharmony_ci	---------------------
2441f9f848faSopenharmony_ci	If you just want to boot a kernel once (because you are not sure
2442f9f848faSopenharmony_ci	if it works, or if you want to boot a known bad kernel to provide
2443f9f848faSopenharmony_ci	debugging information) run
2444f9f848faSopenharmony_ci	make installkernel KERNCONF=YOUR_KERNEL_HERE KODIR=/boot/testkernel
2445f9f848faSopenharmony_ci	nextboot -k testkernel
2446f9f848faSopenharmony_ci
2447f9f848faSopenharmony_ci	To rebuild everything and install it on the current system.
2448f9f848faSopenharmony_ci	-----------------------------------------------------------
2449f9f848faSopenharmony_ci	# Note: sometimes if you are running current you gotta do more than
2450f9f848faSopenharmony_ci	# is listed here if you are upgrading from a really old current.
2451f9f848faSopenharmony_ci
2452f9f848faSopenharmony_ci	<make sure you have good level 0 dumps>
2453f9f848faSopenharmony_ci	make buildworld
2454f9f848faSopenharmony_ci	make buildkernel KERNCONF=YOUR_KERNEL_HERE
2455f9f848faSopenharmony_ci	make installkernel KERNCONF=YOUR_KERNEL_HERE
2456f9f848faSopenharmony_ci							[1]
2457f9f848faSopenharmony_ci	<reboot in single user>				[3]
2458f9f848faSopenharmony_ci	mergemaster -Fp					[5]
2459f9f848faSopenharmony_ci	make installworld
2460f9f848faSopenharmony_ci	mergemaster -Fi					[4]
2461f9f848faSopenharmony_ci	make delete-old					[6]
2462f9f848faSopenharmony_ci	<reboot>
2463f9f848faSopenharmony_ci
2464f9f848faSopenharmony_ci	To cross-install current onto a separate partition
2465f9f848faSopenharmony_ci	--------------------------------------------------
2466f9f848faSopenharmony_ci	# In this approach we use a separate partition to hold
2467f9f848faSopenharmony_ci	# current's root, 'usr', and 'var' directories.   A partition
2468f9f848faSopenharmony_ci	# holding "/", "/usr" and "/var" should be about 2GB in
2469f9f848faSopenharmony_ci	# size.
2470f9f848faSopenharmony_ci
2471f9f848faSopenharmony_ci	<make sure you have good level 0 dumps>
2472f9f848faSopenharmony_ci	<boot into -stable>
2473f9f848faSopenharmony_ci	make buildworld
2474f9f848faSopenharmony_ci	make buildkernel KERNCONF=YOUR_KERNEL_HERE
2475f9f848faSopenharmony_ci	<maybe newfs current's root partition>
2476f9f848faSopenharmony_ci	<mount current's root partition on directory ${CURRENT_ROOT}>
2477f9f848faSopenharmony_ci	make installworld DESTDIR=${CURRENT_ROOT} -DDB_FROM_SRC
2478f9f848faSopenharmony_ci	make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd
2479f9f848faSopenharmony_ci	make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT}
2480f9f848faSopenharmony_ci	cp /etc/fstab ${CURRENT_ROOT}/etc/fstab 		   # if newfs'd
2481f9f848faSopenharmony_ci	<edit ${CURRENT_ROOT}/etc/fstab to mount "/" from the correct partition>
2482f9f848faSopenharmony_ci	<reboot into current>
2483f9f848faSopenharmony_ci	<do a "native" rebuild/install as described in the previous section>
2484f9f848faSopenharmony_ci	<maybe install compatibility libraries from ports/misc/compat*>
2485f9f848faSopenharmony_ci	<reboot>
2486f9f848faSopenharmony_ci
2487f9f848faSopenharmony_ci
2488f9f848faSopenharmony_ci	To upgrade in-place from stable to current
2489f9f848faSopenharmony_ci	----------------------------------------------
2490f9f848faSopenharmony_ci	<make sure you have good level 0 dumps>
2491f9f848faSopenharmony_ci	make buildworld					[9]
2492f9f848faSopenharmony_ci	make buildkernel KERNCONF=YOUR_KERNEL_HERE	[8]
2493f9f848faSopenharmony_ci	make installkernel KERNCONF=YOUR_KERNEL_HERE
2494f9f848faSopenharmony_ci							[1]
2495f9f848faSopenharmony_ci	<reboot in single user>				[3]
2496f9f848faSopenharmony_ci	mergemaster -Fp					[5]
2497f9f848faSopenharmony_ci	make installworld
2498f9f848faSopenharmony_ci	mergemaster -Fi					[4]
2499f9f848faSopenharmony_ci	make delete-old					[6]
2500f9f848faSopenharmony_ci	<reboot>
2501f9f848faSopenharmony_ci
2502f9f848faSopenharmony_ci	Make sure that you've read the UPDATING file to understand the
2503f9f848faSopenharmony_ci	tweaks to various things you need.  At this point in the life
2504f9f848faSopenharmony_ci	cycle of current, things change often and you are on your own
2505f9f848faSopenharmony_ci	to cope.  The defaults can also change, so please read ALL of
2506f9f848faSopenharmony_ci	the UPDATING entries.
2507f9f848faSopenharmony_ci
2508f9f848faSopenharmony_ci	Also, if you are tracking -current, you must be subscribed to
2509f9f848faSopenharmony_ci	freebsd-current@freebsd.org.  Make sure that before you update
2510f9f848faSopenharmony_ci	your sources that you have read and understood all the recent
2511f9f848faSopenharmony_ci	messages there.  If in doubt, please track -stable which has
2512f9f848faSopenharmony_ci	much fewer pitfalls.
2513f9f848faSopenharmony_ci
2514f9f848faSopenharmony_ci	[1] If you have third party modules, such as vmware, you should disable
2515f9f848faSopenharmony_ci	them at this point so they don't crash your system on
2516f9f848faSopenharmony_ci	reboot. Alternatively, you should rebuild all the modules you have in
2517f9f848faSopenharmony_ci	your system and install them as well.  If you are running -current, you
2518f9f848faSopenharmony_ci	should seriously consider placing all sources to all the modules for
2519f9f848faSopenharmony_ci	your system (or symlinks to them) in /usr/local/sys/modules so this
2520f9f848faSopenharmony_ci	happens automatically. If all your modules come from ports, then adding
2521f9f848faSopenharmony_ci	the port origin directories to PORTS_MODULES instead is also automatic
2522f9f848faSopenharmony_ci	and effective, eg:
2523f9f848faSopenharmony_ci	     PORTS_MODULES+=x11/nvidia-driver
2524f9f848faSopenharmony_ci
2525f9f848faSopenharmony_ci	[3] From the bootblocks, boot -s, and then do
2526f9f848faSopenharmony_ci		fsck -p
2527f9f848faSopenharmony_ci		mount -u /
2528f9f848faSopenharmony_ci		mount -a
2529f9f848faSopenharmony_ci		sh /etc/rc.d/zfs start	# mount zfs filesystem, if needed
2530f9f848faSopenharmony_ci		cd src			# full path to source
2531f9f848faSopenharmony_ci		adjkerntz -i		# if CMOS is wall time
2532f9f848faSopenharmony_ci	Also, when doing a major release upgrade, it is required that you boot
2533f9f848faSopenharmony_ci	into single user mode to do the installworld.
2534f9f848faSopenharmony_ci
2535f9f848faSopenharmony_ci	[4] Note: This step is non-optional.  Failure to do this step
2536f9f848faSopenharmony_ci	can result in a significant reduction in the functionality of the
2537f9f848faSopenharmony_ci	system.  Attempting to do it by hand is not recommended and those
2538f9f848faSopenharmony_ci	that pursue this avenue should read this file carefully, as well
2539f9f848faSopenharmony_ci	as the archives of freebsd-current and freebsd-hackers mailing lists
2540f9f848faSopenharmony_ci	for potential gotchas.  The -U option is also useful to consider.
2541f9f848faSopenharmony_ci	See mergemaster(8) for more information.
2542f9f848faSopenharmony_ci
2543f9f848faSopenharmony_ci	[5] Usually this step is a no-op.  However, from time to time
2544f9f848faSopenharmony_ci	you may need to do this if you get unknown user in the following
2545f9f848faSopenharmony_ci	step.  It never hurts to do it all the time.  You may need to
2546f9f848faSopenharmony_ci	install a new mergemaster (cd src/usr.sbin/mergemaster && make
2547f9f848faSopenharmony_ci	install) after the buildworld before this step if you last updated
2548f9f848faSopenharmony_ci	from current before 20130425 or from -stable before 20130430.
2549f9f848faSopenharmony_ci
2550f9f848faSopenharmony_ci	[6] This only deletes old files and directories. Old libraries
2551f9f848faSopenharmony_ci	can be deleted by "make delete-old-libs", but you have to make
2552f9f848faSopenharmony_ci	sure that no program is using those libraries anymore.
2553f9f848faSopenharmony_ci
2554f9f848faSopenharmony_ci	[8] The new kernel must be able to run existing binaries used by an
2555f9f848faSopenharmony_ci	installworld.  When upgrading across major versions, the new kernel's
2556f9f848faSopenharmony_ci	configuration must include the correct COMPAT_FREEBSD<n> option for
2557f9f848faSopenharmony_ci	existing binaries (e.g. COMPAT_FREEBSD11 to run 11.x binaries).  Failure
2558f9f848faSopenharmony_ci	to do so may leave you with a system that is hard to boot to recover. A
2559f9f848faSopenharmony_ci	GENERIC kernel will include suitable compatibility options to run
2560f9f848faSopenharmony_ci	binaries from older branches.  Note that the ability to run binaries
2561f9f848faSopenharmony_ci	from unsupported branches is not guaranteed.
2562f9f848faSopenharmony_ci
2563f9f848faSopenharmony_ci	Make sure that you merge any new devices from GENERIC since the
2564f9f848faSopenharmony_ci	last time you updated your kernel config file. Options also
2565f9f848faSopenharmony_ci	change over time, so you may need to adjust your custom kernels
2566f9f848faSopenharmony_ci	for these as well.
2567f9f848faSopenharmony_ci
2568f9f848faSopenharmony_ci	[9] If CPUTYPE is defined in your /etc/make.conf, make sure to use the
2569f9f848faSopenharmony_ci	"?=" instead of the "=" assignment operator, so that buildworld can
2570f9f848faSopenharmony_ci	override the CPUTYPE if it needs to.
2571f9f848faSopenharmony_ci
2572f9f848faSopenharmony_ci	MAKEOBJDIRPREFIX must be defined in an environment variable, and
2573f9f848faSopenharmony_ci	not on the command line, or in /etc/make.conf.  buildworld will
2574f9f848faSopenharmony_ci	warn if it is improperly defined.
2575f9f848faSopenharmony_ciFORMAT:
2576f9f848faSopenharmony_ci
2577f9f848faSopenharmony_ciThis file contains a list, in reverse chronological order, of major
2578f9f848faSopenharmony_cibreakages in tracking -current.  It is not guaranteed to be a complete
2579f9f848faSopenharmony_cilist of such breakages, and only contains entries since September 23, 2011.
2580f9f848faSopenharmony_ciIf you need to see UPDATING entries from before that date, you will need
2581f9f848faSopenharmony_cito fetch an UPDATING file from an older FreeBSD release.
2582f9f848faSopenharmony_ci
2583f9f848faSopenharmony_ciCopyright information:
2584f9f848faSopenharmony_ci
2585f9f848faSopenharmony_ciCopyright 1998-2009 M. Warner Losh <imp@FreeBSD.org>
2586f9f848faSopenharmony_ci
2587f9f848faSopenharmony_ciRedistribution, publication, translation and use, with or without
2588f9f848faSopenharmony_cimodification, in full or in part, in any form or format of this
2589f9f848faSopenharmony_cidocument are permitted without further permission from the author.
2590f9f848faSopenharmony_ci
2591f9f848faSopenharmony_ciTHIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR
2592f9f848faSopenharmony_ciIMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
2593f9f848faSopenharmony_ciWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
2594f9f848faSopenharmony_ciDISCLAIMED.  IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT,
2595f9f848faSopenharmony_ciINDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
2596f9f848faSopenharmony_ci(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
2597f9f848faSopenharmony_ciSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2598f9f848faSopenharmony_ciHOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
2599f9f848faSopenharmony_ciSTRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
2600f9f848faSopenharmony_ciIN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2601f9f848faSopenharmony_ciPOSSIBILITY OF SUCH DAMAGE.
2602f9f848faSopenharmony_ci
2603f9f848faSopenharmony_ciContact Warner Losh if you have any questions about your use of
2604f9f848faSopenharmony_cithis document.
2605