diff --git a/UPDATING b/UPDATING index 83e97246b964..3782692c2a49 100644 --- a/UPDATING +++ b/UPDATING @@ -275,6 +275,2181 @@ https://lists.freebsd.org/archives/freebsd-current/2021-June/000153.html Please update your drm-kmod port to after the __FreeBSD_version 1400003 update. +20210108: + PC Card attachments for all devices have been removed. In the case of + wi and cmx, the entire drivers were removed because they were only + PC Card devices. FreeBSD_version 1300134 should be used for this + since it was bumped so recently. + +20210107: + Transport-independent parts of HID support have been split off the USB + code in to separate subsystem. Kernel configs which include one of + ums, ukbd, uhid, atp, wsp, wmt, uaudio, ugold or ucycom drivers should + be updated with adding of "device hid" line. + +20210105: + ncurses installation has been modified to only keep the widechar + enabled version. Incremental build is broken for that change, so it + requires a clean build. + +20201223: + The FreeBSD project has migrated from Subversion to Git. Temporary + instructions can be found at + https://github.com/bsdimp/freebsd-git-docs/blob/main/src-cvt.md + and other documents in that repo. + +20201216: + The services database has been updated to cover more of the basic + services expected in a modern system. The database is big enough + that it will cause issues in mergemaster in Releases previous to + 12.2 and 11.3, or in very old current systems from before r358154. + +20201215: + Obsolete in-tree GDB 6.1.1 has been removed. GDB (including kgdb) + may be installed from ports or packages. + +20201124: + ping6 has been merged into ping. It can now be called as "ping -6". + See ping(8) for details. + +20201108: + Default value of net.add_addr_allfibs has been changed to 0. + If you have multi-fib configuration and rely on existence of all + interface routes in every fib, you need to set the above sysctl to 1. + +20201030: + The internal pre-processor in the calendar(1) program has been + extended to support more C pre-processor commands (e.g. #ifdef, #else, + and #undef) and to detect unbalanced conditional statements. + Error messages have been extended to include the filename and line + number if processing stops to help fixing malformed data files. + +20201026: + All the data files for the calendar(1) program, except calendar.freebsd, + have been moved to the deskutils/calendar-data port, much like the + jewish calendar entries were moved to deskutils/hebcal years ago. After + make delete-old-files, you need to install it to retain full + functionality. calendar(1) will issue a reminder for files it can't + find. + +20200923: + LINT files are no longer generated. We now include the relevant NOTES + files. Note: This may cause conflicts with updating in some cases. + find sys -name LINT\* -delete + is suggested across this commit to remove the generated LINT files. + + If you have tried to update with generated files there, the svn + command you want to un-auger the tree is + cd sys/amd64/conf + svn revert -R . + and then do the above find from the top level. Substitute 'amd64' + above with where the error message indicates a conflict. + +20200824: + OpenZFS support has been integrated. Do not upgrade root pools until + the loader is updated to support zstd. Furthermore, we caution against + 'zpool upgrade' for the next few weeks. The change should be transparent + unless you want to use new features. + + Not all "NO_CLEAN" build scenarios work across these changes. Many + scenarios have been tested and fixed, but rebuilding kernels without + rebuilding world may fail. + + The ZFS cache file has moved from /boot to /etc to match the OpenZFS + upstream default. A fallback to /boot has been added for mountroot. + + Pool auto import behavior at boot has been moved from the kernel module + to an explicit "zpool import -a" in one of the rc scripts enabled by + zfs_enable=YES. This means your non-root zpools won't auto import until + you upgrade your /etc/rc.d files. + +20200824: + The resume code now notifies devd with the 'kernel' system + rather than the old 'kern' subsystem to be consistent with + other use. The old notification will be created as well, but + will be removed prior to FreeBSD 14.0. + +20200821: + r362275 changed the internal API between the kernel RPC and the + NFS modules. As such, all the modules must be recompiled from + sources. + +20200817: + r364330 modified the internal API used between the NFS modules. + As such, all the NFS modules must be re-compiled from sources. + +20200816: + Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have + been upgraded to 11.0.0. Please see the 20141231 entry below for + information about prerequisites and upgrading, if you are not already + using clang 3.5.0 or higher. + +20200810: + r364092 modified the internal ABI used between the kernel NFS + modules. As such, all of these modules need to be rebuilt + from sources, so a version bump was done. + +20200807: + Makefile.inc has been updated to work around the issue documented in + 20200729. It was a case where the optimization of using symbolic links + to point to binaries created a situation where we'd run new binaries + with old libraries starting midway through the installworld process. + +20200729: + r363679 has redefined some undefined behavior in regcomp(3); notably, + extraneous escapes of most ordinary characters will no longer be + accepted. An exp-run has identified all of the problems with this in + ports, but other non-ports software may need extra escapes removed to + continue to function. + + Because of this change, installworld may encounter the following error + from rtld: Undefined symbol "regcomp@FBSD_1.6" -- It is imperative that + you do not halt installworld. Instead, let it run to completion (whether + successful or not) and run installworld once more. + +20200627: + A new implementation of bc and dc has been imported in r362681. This + implementation corrects non-conformant behavior of the previous bc + and adds GNU bc compatible options. It offers a number of extensions, + is much faster on large values, and has support for message catalogs + (a number of languages are already supported, contributions of further + languages welcome). The option WITHOUT_GH_BC can be used to build the + world with the previous versions of bc and dc. + +20200625: + r362639 changed the internal API used between the NFS kernel modules. + As such, they all need to be rebuilt from sources. + +20200613: + r362158 changed the arguments for VFS_CHECKEXP(). As such, any + out of tree file systems need to be modified and rebuilt. + Also, any file systems that are modules must be rebuilt. + +20200604: + read(2) of a directory fd is now rejected by default. root may + re-enable it for system root only on non-ZFS filesystems with the + security.bsd.allow_read_dir sysctl(8) MIB if + security.bsd.suser_enabled=1. + + It may be advised to setup aliases for grep to default to `-d skip` if + commonly non-recursively grepping a list that includes directories and + the potential for the resulting stderr output is not tolerable. Example + aliases are now installed, commented out, in /root/.cshrc and + /root/.shrc. + +20200523: + Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have + been upgraded to 10.0.1. Please see the 20141231 entry below for + information about prerequisites and upgrading, if you are not already + using clang 3.5.0 or higher. + +20200512: + Support for obsolete compilers has been removed from the build system. + Clang 6 and GCC 6.4 are the minimum supported versions. + +20200424: + closefrom(2) has been moved under COMPAT12, and replaced in libc with a + stub that calls close_range(2). If using a custom kernel configuration, + you may want to ensure that the COMPAT_FREEBSD12 option is included, as + a slightly older -CURRENT userland and older FreeBSD userlands may not + be functional without closefrom(2). + +20200414: + Upstream DTS from Linux 5.6 was merged and they now have the SID + and THS (Secure ID controller and THermal Sensor) node present. + The DTB overlays have now been removed from the tree for the H3/H5 and + A64 SoCs and the aw_sid and aw_thermal driver have been updated to + deal with upstream DTS. If you are using those overlays you need to + remove them from loader.conf and update the DTBs on the FAT partition. + +20200310: + Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have + been upgraded to 10.0.0. Please see the 20141231 entry below for + information about prerequisites and upgrading, if you are not already + using clang 3.5.0 or higher. + +20200309: + The amd(8) automount daemon has been removed from the source tree. + As of FreeBSD 10.1 autofs(5) is the preferred tool for automounting. + amd is still available in the sysutils/am-utils port. + +20200301: + Removed brooktree driver (bktr.4) from the tree. + +20200229: + The WITH_GPL_DTC option has been removed. The BSD-licenced device tree + compiler in usr.bin/dtc is used on all architectures which use dtc, and + the GPL dtc is available (if needed) from the sysutils/dtc port. + +20200229: + The WITHOUT_LLVM_LIBUNWIND option has been removed. LLVM's libunwind + is used by all supported CPU architectures. + +20200229: + GCC 4.2.1 has been removed from the tree. The WITH_GCC, + WITH_GCC_BOOTSTRAP, and WITH_GNUCXX options are no longer available. + Users who wish to build FreeBSD with GCC must use the external toolchain + ports or packages. + +20200220: + ncurses has been updated to a newer version (6.2-20200215). Given the ABI + has changed, users will have to rebuild all the ports that are linked to + ncurses. + +20200217: + The size of struct vnet and the magic cookie have changed. + Users need to recompile libkvm and all modules using VIMAGE + together with their new kernel. + +20200212: + Defining the long deprecated NO_CTF, NO_DEBUG_FILES, NO_INSTALLLIB, + NO_MAN, NO_PROFILE, and NO_WARNS variables is now an error. Update + your Makefiles and scripts to define MK_=no instead as required. + + One exception to this is that program or library Makefiles should + define MAN to empty rather than setting MK_MAN=no. + +20200108: + Clang/LLVM is now the default compiler and LLD the default + linker for riscv64. + +20200107: + make universe no longer uses GCC 4.2.1 on any architectures. + Architectures not supported by in-tree Clang/LLVM require an + external toolchain package. + +20200104: + GCC 4.2.1 is now not built by default, as part of the GCC 4.2.1 + retirement plan. Specifically, the GCC, GCC_BOOTSTRAP, and GNUCXX + options default to off for all supported CPU architectures. As a + short-term transition aid they may be enabled via WITH_* options. + GCC 4.2.1 is expected to be removed from the tree on 2020-03-31. + +20200102: + Support for armv5 has been disconnected and is being removed. The + machine combination MACHINE=arm MACHINE_ARCH=arm is no longer valid. + You must now use a MACHINE_ARCH of armv6 or armv7. The default + MACHINE_ARCH for MACHINE=arm is now armv7. + +20191226: + Clang/LLVM is now the default compiler for all powerpc architectures. + LLD is now the default linker for powerpc64. The change for powerpc64 + also includes a change to the ELFv2 ABI, incompatible with the existing + ABI. + +20191226: + Kernel-loadable random(4) modules are no longer unloadable. + +20191222: + Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have + been upgraded to 9.0.1. Please see the 20141231 entry below for + information about prerequisites and upgrading, if you are not already + using clang 3.5.0 or higher. + +20191212: + r355677 has modified the internal interface used between the + NFS modules in the kernel. As such, they must all be upgraded + simultaneously. I will do a version bump for this. + +20191205: + The root certificates of the Mozilla CA Certificate Store have been + imported into the base system and can be managed with the certctl(8) + utility. If you have installed the security/ca_root_nss port or package + with the ETCSYMLINK option (the default), be advised that there may be + differences between those included in the port and those included in + base due to differences in nss branch used as well as general update + frequency. Note also that certctl(8) cannot manage certs in the + format used by the security/ca_root_nss port. + +20191120: + The amd(8) automount daemon has been disabled by default, and will be + removed in the future. As of FreeBSD 10.1 the autofs(5) is available + for automounting. + +20191107: + The nctgpio and wbwd drivers have been moved to the superio bus. + If you have one of these drivers in a kernel configuration, then + you should add device superio to it. If you use one of these drivers + as a module and you compile a custom set of modules, then you should + add superio to the set. + +20191021: + KPIs for network drivers to access interface addresses have changed. + Users need to recompile NIC driver modules together with kernel. + +20191021: + The net.link.tap.user_open sysctl no longer prevents user opening of + already created /dev/tapNN devices. Access is still controlled by + node permissions, just like tun devices. The net.link.tap.user_open + sysctl is now used only to allow users to perform devfs cloning of + tap devices, and the subsequent open may not succeed if the user is not + in the appropriate group. This sysctl may be deprecated/removed + completely in the future. + +20191009: + mips, powerpc, and sparc64 are no longer built as part of + universe / tinderbox unless MAKE_OBSOLETE_GCC is defined. If + not defined, mips, powerpc, and sparc64 builds will look for + the xtoolchain binaries and if installed use them for universe + builds. As llvm 9.0 becomes vetted for these architectures, they + will be removed from the list. + +20191009: + Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have + been upgraded to 9.0.0. Please see the 20141231 entry below for + information about prerequisites and upgrading, if you are not already + using clang 3.5.0 or higher. + +20191003: + The hpt27xx, hptmv, hptnr, and hptrr drivers have been removed from + GENERIC. They are available as modules and can be loaded by adding + to /boot/loader.conf hpt27xx_load="YES", hptmv_load="YES", + hptnr_load="YES", or hptrr_load="YES", respectively. + +20190913: + ntpd no longer by default locks its pages in memory, allowing them + to be paged out by the kernel. Use rlimit memlock to restore + historic BSD behaviour. For example, add "rlimit memlock 32" + to ntp.conf to lock up to 32 MB of ntpd address space in memory. + +20190823: + Several of ping6's options have been renamed for better consistency + with ping. If you use any of -ARWXaghmrtwx, you must update your + scripts. See ping6(8) for details. + +20190727: + The vfs.fusefs.sync_unmount and vfs.fusefs.init_backgrounded sysctls + and the "-o sync_unmount" and "-o init_backgrounded" mount options have + been removed from mount_fusefs(8). You can safely remove them from + your scripts, because they had no effect. + + The vfs.fusefs.fix_broken_io, vfs.fusefs.sync_resize, + vfs.fusefs.refresh_size, vfs.fusefs.mmap_enable, + vfs.fusefs.reclaim_revoked, and vfs.fusefs.data_cache_invalidate + sysctls have been removed. If you felt the need to set any of them to + a non-default value, please tell asomers@FreeBSD.org why. + +20190713: + Default permissions on the /var/account/acct file (and copies of it + rotated by periodic daily scripts) are changed from 0644 to 0640 + because the file contains sensitive information that should not be + world-readable. If the /var/account directory must be created by + rc.d/accounting, the mode used is now 0750. Admins who use the + accounting feature are encouraged to change the mode of an existing + /var/account directory to 0750 or 0700. + +20190620: + Entropy collection and the /dev/random device are no longer optional + components. The "device random" option has been removed. + Implementations of distilling algorithms can still be made loadable + with "options RANDOM_LOADABLE" (e.g., random_fortuna.ko). + +20190612: + Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have + been upgraded to 8.0.1. Please see the 20141231 entry below for + information about prerequisites and upgrading, if you are not already + using clang 3.5.0 or higher. + +20190608: + A fix was applied to i386 kernel modules to avoid panics with + dpcpu or vnet. Users need to recompile i386 kernel modules + having pcpu or vnet sections or they will refuse to load. + +20190513: + User-wired pages now have their own counter, + vm.stats.vm.v_user_wire_count. The vm.max_wired sysctl was renamed + to vm.max_user_wired and changed from an unsigned int to an unsigned + long. bhyve VMs wired with the -S are now subject to the user + wiring limit; the vm.max_user_wired sysctl may need to be tuned to + avoid running into the limit. + +20190507: + The IPSEC option has been removed from GENERIC. Users requiring + ipsec(4) must now load the ipsec(4) kernel module. + +20190507: + The tap(4) driver has been folded into tun(4), and the module has been + renamed to tuntap. You should update any kld_list="if_tap" or + kld_list="if_tun" entries in /etc/rc.conf, if_tap_load="YES" or + if_tun_load="YES" entries in /boot/loader.conf to load the if_tuntap + module instead, and "device tap" or "device tun" entries in kernel + config files to select the tuntap device instead. + +20190418: + The following knobs have been added related to tradeoffs between + safe use of the random device and availability in the absence of + entropy: + + kern.random.initial_seeding.bypass_before_seeding: tunable; set + non-zero to bypass the random device prior to seeding, or zero to + block random requests until the random device is initially seeded. + For now, set to 1 (unsafe) by default to restore pre-r346250 boot + availability properties. + + kern.random.initial_seeding.read_random_bypassed_before_seeding: + read-only diagnostic sysctl that is set when bypass is enabled and + read_random(9) is bypassed, to enable programmatic handling of this + initial condition, if desired. + + kern.random.initial_seeding.arc4random_bypassed_before_seeding: + Similar to the above, but for arc4random(9) initial seeding. + + kern.random.initial_seeding.disable_bypass_warnings: tunable; set + non-zero to disable warnings in dmesg when the same conditions are + met as for the diagnostic sysctls above. Defaults to zero, i.e., + produce warnings in dmesg when the conditions are met. + +20190416: + The loadable random module KPI has changed; the random_infra_init() + routine now requires a 3rd function pointer for a bool (*)(void) + method that returns true if the random device is seeded (and + therefore unblocked). + +20190404: + r345895 reverts r320698. This implies that an nfsuserd(8) daemon + built from head sources between r320757 (July 6, 2017) and + r338192 (Aug. 22, 2018) will not work unless the "-use-udpsock" + is added to the command line. + nfsuserd daemons built from head sources that are post-r338192 are + not affected and should continue to work. + +20190320: + The fuse(4) module has been renamed to fusefs(4) for consistency with + other filesystems. You should update any kld_load="fuse" entries in + /etc/rc.conf, fuse_load="YES" entries in /boot/loader.conf, and + "options FUSE" entries in kernel config files. + +20190304: + Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to + 8.0.0. Please see the 20141231 entry below for information about + prerequisites and upgrading, if you are not already using clang 3.5.0 + or higher. + +20190226: + geom_uzip(4) depends on the new module xz. If geom_uzip is statically + compiled into your custom kernel, add 'device xz' statement to the + kernel config. + +20190219: + drm and drm2 have been removed from the tree. Please see + https://wiki.freebsd.org/Graphics for the latest information on + migrating to the drm ports. + +20190131: + Iflib is no longer unconditionally compiled into the kernel. Drivers + using iflib and statically compiled into the kernel, now require + the 'device iflib' config option. For the same drivers loaded as + modules on kernels not having 'device iflib', the iflib.ko module + is loaded automatically. + +20190125: + The IEEE80211_AMPDU_AGE and AH_SUPPORT_AR5416 kernel configuration + options no longer exist since r343219 and r343427 respectively; + nothing uses them, so they should be just removed from custom + kernel config files. + +20181230: + r342635 changes the way efibootmgr(8) works by requiring users to add + the -b (bootnum) parameter for commands where the bootnum was previously + specified with each option. For example 'efibootmgr -B 0001' is now + 'efibootmgr -B -b 0001'. + +20181220: + r342286 modifies the NFSv4 server so that it obeys vfs.nfsd.nfs_privport + in the same as it is applied to NFSv2 and 3. This implies that NFSv4 + servers that have vfs.nfsd.nfs_privport set will only allow mounts + from clients using a reserved port. Since both the FreeBSD and Linux + NFSv4 clients use reserved ports by default, this should not affect + most NFSv4 mounts. + +20181219: + The XLP config has been removed. We can't support 64-bit atomics in this + kernel because it is running in 32-bit mode. XLP users must transition + to running a 64-bit kernel (XLP64 or XLPN32). + + The mips GXEMUL support has been removed from FreeBSD. MALTA* + qemu is + the preferred emulator today and we don't need two different ones. + + The old sibyte / swarm / Broadcom BCM1250 support has been + removed from the mips port. + +20181211: + Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to + 7.0.1. Please see the 20141231 entry below for information about + prerequisites and upgrading, if you are not already using clang 3.5.0 + or higher. + +20181211: + Remove the timed and netdate programs from the base tree. Setting + the time with these daemons has been obsolete for over a decade. + +20181126: + On amd64, arm64 and armv7 (architectures that install LLVM's ld.lld + linker as /usr/bin/ld) GNU ld is no longer installed as ld.bfd, as + it produces broken binaries when ifuncs are in use. Users needing + GNU ld should install the binutils port or package. + +20181123: + The BSD crtbegin and crtend code has been enabled by default. It has + had extensive testing on amd64, arm64, and i386. It can be disabled + by building a world with -DWITHOUT_BSD_CRTBEGIN. + +20181115: + The set of CTM commands (ctm, ctm_smail, ctm_rmail, ctm_dequeue) + has been converted to a port (misc/ctm) and will be removed from + FreeBSD-13. It is available as a package (ctm) for all supported + FreeBSD versions. + +20181110: + The default newsyslog.conf(5) file has been changed to only include + files in /etc/newsyslog.conf.d/ and /usr/local/etc/newsyslog.conf.d/ if + the filenames end in '.conf' and do not begin with a '.'. + + You should check the configuration files in these two directories match + this naming convention. You can verify which configuration files are + being included using the command: + $ newsyslog -Nrv + +20181015: + Ports for the DRM modules have been simplified. Now, amd64 users should + just install the drm-kmod port. All others should install + drm-legacy-kmod. + + Graphics hardware that's newer than about 2010 usually works with + drm-kmod. For hardware older than 2013, however, some users will need + to use drm-legacy-kmod if drm-kmod doesn't work for them. Hardware older + than 2008 usually only works in drm-legacy-kmod. The graphics team can + only commit to hardware made since 2013 due to the complexity of the + market and difficulty to test all the older cards effectively. If you + have hardware supported by drm-kmod, you are strongly encouraged to use + that as you will get better support. + + Other than KPI chasing, drm-legacy-kmod will not be updated. As outlined + elsewhere, the drm and drm2 modules will be eliminated from the src base + soon (with a limited exception for arm). Please update to the package + asap and report any issues to x11@freebsd.org. + + Generally, anybody using the drm*-kmod packages should add + WITHOUT_DRM_MODULE=t and WITHOUT_DRM2_MODULE=t to avoid nasty + cross-threading surprises, especially with automatic driver + loading from X11 startup. These will become the defaults in 13-current + shortly. + +20181012: + The ixlv(4) driver has been renamed to iavf(4). As a consequence, + custom kernel and module loading configuration files must be updated + accordingly. Moreover, interfaces previous presented as ixlvN to the + system are now exposed as iavfN and network configuration files must + be adjusted as necessary. + +20181009: + OpenSSL has been updated to version 1.1.1. This update included + additional various API changes throughout the base system. It is + important to rebuild third-party software after upgrading. The value + of __FreeBSD_version has been bumped accordingly. + +20181006: + The legacy DRM modules and drivers have now been added to the loader's + module blacklist, in favor of loading them with kld_list in rc.conf(5). + The module blacklist may be overridden with the loader.conf(5) + 'module_blacklist' variable, but loading them via rc.conf(5) is strongly + encouraged. + +20181002: + The cam(4) based nda(4) driver will be used over nvd(4) by default on + powerpc64. You may set 'options NVME_USE_NVD=1' in your kernel conf or + loader tunable 'hw.nvme.use_nvd=1' if you wish to use the existing + driver. Make sure to edit /boot/etc/kboot.conf and fstab to use the + nda device name. + +20180913: + Reproducible build mode is now on by default, in preparation for + FreeBSD 12.0. This eliminates build metadata such as the user, + host, and time from the kernel (and uname), unless the working tree + corresponds to a modified checkout from a version control system. + The previous behavior can be obtained by setting the /etc/src.conf + knob WITHOUT_REPRODUCIBLE_BUILD. + +20180826: + The Yarrow CSPRNG has been removed from the kernel as it has not been + supported by its designers since at least 2003. Fortuna has been the + default since FreeBSD-11. + +20180822: + devctl freeze/thaw have gone into the tree, the rc scripts have been + updated to use them and devmatch has been changed. You should update + kernel, userland and rc scripts all at the same time. + +20180818: + The default interpreter has been switched from 4th to Lua. + LOADER_DEFAULT_INTERP, documented in build(7), will override the default + interpreter. If you have custom FORTH code you will need to set + LOADER_DEFAULT_INTERP=4th (valid values are 4th, lua or simp) in + src.conf for the build. This will create default hard links between + loader and loader_4th instead of loader and loader_lua, the new default. + If you are using UEFI it will create the proper hard link to loader.efi. + + bhyve uses userboot.so. It remains 4th-only until some issues are solved + regarding coexisting with multiple versions of FreeBSD are resolved. + +20180815: + ls(1) now respects the COLORTERM environment variable used in other + systems and software to indicate that a colored terminal is both + supported and desired. If ls(1) is suddenly emitting colors, they may + be disabled again by either removing the unwanted COLORTERM from your + environment, or using `ls --color=never`. The ls(1) specific CLICOLOR + may not be observed in a future release. + +20180808: + The default pager for most commands has been changed to "less". To + restore the old behavior, set PAGER="more" and MANPAGER="more -s" in + your environment. + +20180731: + The jedec_ts(4) driver has been removed. A superset of its functionality + is available in the jedec_dimm(4) driver, and the manpage for that + driver includes migration instructions. If you have "device jedec_ts" + in your kernel configuration file, it must be removed. + +20180730: + amd64/GENERIC now has EFI runtime services, EFIRT, enabled by default. + This should have no effect if the kernel is booted via BIOS/legacy boot. + EFIRT may be disabled via a loader tunable, efi.rt.disabled, if a system + has a buggy firmware that prevents a successful boot due to use of + runtime services. + +20180727: + Atmel AT91RM9200 and AT91SAM9, Cavium CNS 11xx and XScale + support has been removed from the tree. These ports were + obsolete and/or known to be broken for many years. + +20180723: + loader.efi has been augmented to participate more fully in the + UEFI boot manager protocol. loader.efi will now look at the + BootXXXX environment variable to determine if a specific kernel + or root partition was specified. XXXX is derived from BootCurrent. + efibootmgr(8) manages these standard UEFI variables. + +20180720: + zfsloader's functionality has now been folded into loader. + zfsloader is no longer necessary once you've updated your + boot blocks. For a transition period, we will install a + hardlink for zfsloader to loader to allow a smooth transition + until the boot blocks can be updated (hard link because old + zfs boot blocks don't understand symlinks). + +20180719: + ARM64 now have efifb support, if you want to have serial console + on your arm64 board when an screen is connected and the bootloader + setup a frame buffer for us to use, just add : + boot_serial=YES + boot_multicons=YES + in /boot/loader.conf + For Raspberry Pi 3 (RPI) users, this is needed even if you don't have + an screen connected as the firmware will setup a frame buffer are that + u-boot will expose as an EFI frame buffer. + +20180719: + New uid:gid added, ntpd:ntpd (123:123). Be sure to run mergemaster + or take steps to update /etc/passwd before doing installworld on + existing systems. Do not skip the "mergemaster -Fp" step before + installworld, as described in the update procedures near the bottom + of this document. Also, rc.d/ntpd now starts ntpd(8) as user ntpd + if the new mac_ntpd(4) policy is available, unless ntpd_flags or + the ntp config file contain options that change file/dir locations. + When such options (e.g., "statsdir" or "crypto") are used, ntpd can + still be run as non-root by setting ntpd_user=ntpd in rc.conf, after + taking steps to ensure that all required files/dirs are accessible + by the ntpd user. + +20180717: + Big endian arm support has been removed. + +20180711: + The static environment setup in kernel configs is no longer mutually + exclusive with the loader(8) environment by default. In order to + restore the previous default behavior of disabling the loader(8) + environment if a static environment is present, you must specify + loader_env.disabled=1 in the static environment. + +20180705: + The ABI of syscalls used by management tools like sockstat and + netstat has been broken to allow 32-bit binaries to work on + 64-bit kernels without modification. These programs will need + to match the kernel in order to function. External programs may + require minor modifications to accommodate a change of type in + structures from pointers to 64-bit virtual addresses. + +20180702: + On i386 and amd64 atomics are now inlined. Out of tree modules using + atomics will need to be rebuilt. + +20180701: + The '%I' format in the kern.corefile sysctl limits the number of + core files that a process can generate to the number stored in the + debug.ncores sysctl. The '%I' format is replaced by the single digit + index. Previously, if all indexes were taken the kernel would overwrite + only a core file with the highest index in a filename. + Currently the system will create a new core file if there is a free + index or if all slots are taken it will overwrite the oldest one. + +20180630: + Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to + 6.0.1. Please see the 20141231 entry below for information about + prerequisites and upgrading, if you are not already using clang 3.5.0 + or higher. + +20180628: + r335753 introduced a new quoting method. However, etc/devd/devmatch.conf + needed to be changed to work with it. This change was made with r335763 + and requires a mergemaster / etcupdate / etc to update the installed + file. + +20180612: + r334930 changed the interface between the NFS modules, so they all + need to be rebuilt. r335018 did a __FreeBSD_version bump for this. + +20180530: + As of r334391 lld is the default amd64 system linker; it is installed + as /usr/bin/ld. Kernel build workarounds (see 20180510 entry) are no + longer necessary. + +20180530: + The kernel / userland interface for devinfo changed, so you'll + need a new kernel and userland as a pair for it to work (rebuilding + lib/libdevinfo is all that's required). devinfo and devmatch will + not work, but everything else will when there's a mismatch. + +20180523: + The on-disk format for hwpmc callchain records has changed to include + threadid corresponding to a given record. This changes the field offsets + and thus requires that libpmcstat be rebuilt before using a kernel + later than r334108. + +20180517: + The vxge(4) driver has been removed. This driver was introduced into + HEAD one week before the Exar left the Ethernet market and is not + known to be used. If you have device vxge in your kernel config file + it must be removed. + +20180510: + The amd64 kernel now requires a ld that supports ifunc to produce a + working kernel, either lld or a newer binutils. lld is built by default + on amd64, and the 'buildkernel' target uses it automatically. However, + it is not the default linker, so building the kernel the traditional + way requires LD=ld.lld on the command line (or LD=/usr/local/bin/ld for + binutils port/package). lld will soon be default, and this requirement + will go away. + + NOTE: As of r334391 lld is the default system linker on amd64, and no + workaround is necessary. + +20180508: + The nxge(4) driver has been removed. This driver was for PCI-X 10g + cards made by s2io/Neterion. The company was acquired by Exar and + no longer sells or supports Ethernet products. If you have device + nxge in your kernel config file it must be removed. + +20180504: + The tz database (tzdb) has been updated to 2018e. This version more + correctly models time stamps in time zones with negative DST such as + Europe/Dublin (from 1971 on), Europe/Prague (1946/7), and + Africa/Windhoek (1994/2017). This does not affect the UT offsets, only + time zone abbreviations and the tm_isdst flag. + +20180502: + The ixgb(4) driver has been removed. This driver was for an early and + uncommon legacy PCI 10GbE for a single ASIC, Intel 82597EX. Intel + quickly shifted to the long lived ixgbe family. If you have device + ixgb in your kernel config file it must be removed. + +20180501: + The lmc(4) driver has been removed. This was a WAN interface + card that was already reportedly rare in 2003, and had an ambiguous + license. If you have device lmc in your kernel config file it must + be removed. + +20180413: + Support for Arcnet networks has been removed. If you have device + arcnet or device cm in your kernel config file they must be + removed. + +20180411: + Support for FDDI networks has been removed. If you have device + fddi or device fpa in your kernel config file they must be + removed. + +20180406: + In addition to supporting RFC 3164 formatted messages, the + syslogd(8) service is now capable of parsing RFC 5424 formatted + log messages. The main benefit of using RFC 5424 is that clients + may now send log messages with timestamps containing year numbers, + microseconds and time zone offsets. + + Similarly, the syslog(3) C library function has been altered to + send RFC 5424 formatted messages to the local system logging + daemon. On systems using syslogd(8), this change should have no + negative impact, as long as syslogd(8) and the C library are + updated at the same time. On systems using a different system + logging daemon, it may be necessary to make configuration + adjustments, depending on the software used. + + When using syslog-ng, add the 'syslog-protocol' flag to local + input sources to enable parsing of RFC 5424 formatted messages: + + source src { + unix-dgram("/var/run/log" flags(syslog-protocol)); + } + + When using rsyslog, disable the 'SysSock.UseSpecialParser' option + of the 'imuxsock' module to let messages be processed by the + regular RFC 3164/5424 parsing pipeline: + + module(load="imuxsock" SysSock.UseSpecialParser="off") + + Do note that these changes only affect communication between local + applications and syslogd(8). The format that syslogd(8) uses to + store messages on disk or forward messages to other systems + remains unchanged. syslogd(8) still uses RFC 3164 for these + purposes. Options to customize this behaviour will be added in the + future. Utilities that process log files stored in /var/log are + thus expected to continue to function as before. + + __FreeBSD_version has been incremented to 1200061 to denote this + change. + +20180328: + Support for token ring networks has been removed. If you + have "device token" in your kernel config you should remove + it. No device drivers supported token ring. + +20180323: + makefs was modified to be able to tag ISO9660 El Torito boot catalog + entries as EFI instead of overloading the i386 tag as done previously. + The amd64 mkisoimages.sh script used to build amd64 ISO images for + release was updated to use this. This may mean that makefs must be + updated before "make cdrom" can be run in the release directory. This + should be as simple as: + + $ cd $SRCDIR/usr.sbin/makefs + $ make depend all install + +20180212: + FreeBSD boot loader enhanced with Lua scripting. It's purely opt-in for + now by building WITH_LOADER_LUA and WITHOUT_FORTH in /etc/src.conf. + Co-existence for the transition period will come shortly. Booting is a + complex environment and test coverage for Lua-enabled loaders has been + thin, so it would be prudent to assume it might not work and make + provisions for backup boot methods. + +20180211: + devmatch functionality has been turned on in devd. It will automatically + load drivers for unattached devices. This may cause unexpected drivers + to be loaded. Please report any problems to current@ and + imp@freebsd.org. + +20180114: + Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to + 6.0.0. Please see the 20141231 entry below for information about + prerequisites and upgrading, if you are not already using clang 3.5.0 + or higher. + +20180110: + LLVM's lld linker is now used as the FreeBSD/amd64 bootstrap linker. + This means it is used to link the kernel and userland libraries and + executables, but is not yet installed as /usr/bin/ld by default. + + To revert to ld.bfd as the bootstrap linker, in /etc/src.conf set + WITHOUT_LLD_BOOTSTRAP=yes + +20180110: + On i386, pmtimer has been removed. Its functionality has been folded + into apm. It was a no-op on ACPI in current for a while now (but was + still needed on i386 in FreeBSD 11 and earlier). Users may need to + remove it from kernel config files. + +20180104: + The use of RSS hash from the network card aka flowid has been + disabled by default for lagg(4) as it's currently incompatible with + the lacp and loadbalance protocols. + + This can be re-enabled by setting the following in loader.conf: + net.link.lagg.default_use_flowid="1" + +20180102: + The SW_WATCHDOG option is no longer necessary to enable the + hardclock-based software watchdog if no hardware watchdog is + configured. As before, SW_WATCHDOG will cause the software + watchdog to be enabled even if a hardware watchdog is configured. + +20171215: + r326887 fixes the issue described in the 20171214 UPDATING entry. + r326888 flips the switch back to building GELI support always. + +20171214: + r362593 broke ZFS + GELI support for reasons unknown. However, + it also broke ZFS support generally, so GELI has been turned off + by default as the lesser evil in r326857. If you boot off ZFS and/or + GELI, it might not be a good time to update. + +20171125: + PowerPC users must update loader(8) by rebuilding world before + installing a new kernel, as the protocol connecting them has + changed. Without the update, loader metadata will not be passed + successfully to the kernel and users will have to enter their + root partition at the kernel mountroot prompt to continue booting. + Newer versions of loader can boot old kernels without issue. + +20171110: + The LOADER_FIREWIRE_SUPPORT build variable has been renamed to + WITH/OUT_LOADER_FIREWIRE. LOADER_{NO_,}GELI_SUPPORT has been renamed + to WITH/OUT_LOADER_GELI. + +20171106: + The naive and non-compliant support of posix_fallocate(2) in ZFS + has been removed as of r325320. The system call now returns EINVAL + when used on a ZFS file. Although the new behavior complies with the + standard, some consumers are not prepared to cope with it. + One known victim is lld prior to r325420. + +20171102: + Building in a FreeBSD src checkout will automatically create object + directories now rather than store files in the current directory if + 'make obj' was not ran. Calling 'make obj' is no longer necessary. + This feature can be disabled by setting WITHOUT_AUTO_OBJ=yes in + /etc/src-env.conf (not /etc/src.conf), or passing the option in the + environment. + +20171101: + The default MAKEOBJDIR has changed from /usr/obj/ for native + builds, and /usr/obj// for cross-builds, to a unified + /usr/obj//. This behavior can be changed to the old + format by setting WITHOUT_UNIFIED_OBJDIR=yes in /etc/src-env.conf, + the environment, or with -DWITHOUT_UNIFIED_OBJDIR when building. + The UNIFIED_OBJDIR option is a transitional feature that will be + removed for 12.0 release; please migrate to the new format for any + tools by looking up the OBJDIR used by 'make -V .OBJDIR' means rather + than hardcoding paths. + +20171028: + The native-xtools target no longer installs the files by default to the + OBJDIR. Use the native-xtools-install target with a DESTDIR to install + to ${DESTDIR}/${NXTP} where NXTP defaults to /nxb-bin. + +20171021: + As part of the boot loader infrastructure cleanup, LOADER_*_SUPPORT + options are changing from controlling the build if defined / undefined + to controlling the build with explicit 'yes' or 'no' values. They will + shift to WITH/WITHOUT options to match other options in the system. + +20171010: + libstand has turned into a private library for sys/boot use only. + It is no longer supported as a public interface outside of sys/boot. + +20171005: + The arm port has split armv6 into armv6 and armv7. armv7 is now + a valid TARGET_ARCH/MACHINE_ARCH setting. If you have an armv7 system + and are running a kernel from before r324363, you will need to add + MACHINE_ARCH=armv7 to 'make buildworld' to do a native build. + +20171003: + When building multiple kernels using KERNCONF, non-existent KERNCONF + files will produce an error and buildkernel will fail. Previously + missing KERNCONF files silently failed giving no indication as to + why, only to subsequently discover during installkernel that the + desired kernel was never built in the first place. + +20170912: + The default serial number format for CTL LUNs has changed. This will + affect users who use /dev/diskid/* device nodes, or whose FibreChannel + or iSCSI clients care about their LUNs' serial numbers. Users who + require serial number stability should hardcode serial numbers in + /etc/ctl.conf . + +20170912: + For 32-bit arm compiled for hard-float support, soft-floating point + binaries now always get their shared libraries from + LD_SOFT_LIBRARY_PATH (in the past, this was only used if + /usr/libsoft also existed). Only users with a hard-float ld.so, but + soft-float everything else should be affected. + +20170826: + The geli password typed at boot is now hidden. To restore the previous + behavior, see geli(8) for configuration options. + +20170825: + Move PMTUD blackhole counters to TCPSTATS and remove them from bare + sysctl values. Minor nit, but requires a rebuild of both world/kernel + to complete. + +20170814: + "make check" behavior (made in ^/head@r295380) has been changed to + execute from a limited sandbox, as opposed to executing from + ${TESTSDIR}. + + Behavioral changes: + - The "beforecheck" and "aftercheck" targets are now specified. + - ${CHECKDIR} (added in commit noted above) has been removed. + - Legacy behavior can be enabled by setting + WITHOUT_MAKE_CHECK_USE_SANDBOX in src.conf(5) or the environment. + + If the limited sandbox mode is enabled, "make check" will execute + "make distribution", then install, execute the tests, and clean up the + sandbox if successful. + + The "make distribution" and "make install" targets are typically run as + root to set appropriate permissions and ownership at installation time. + The end-user should set "WITH_INSTALL_AS_USER" in src.conf(5) or the + environment if executing "make check" with limited sandbox mode using + an unprivileged user. + +20170808: + Since the switch to GPT disk labels, fsck for UFS/FFS has been + unable to automatically find alternate superblocks. As of r322297, + the information needed to find alternate superblocks has been + moved to the end of the area reserved for the boot block. + Filesystems created with a newfs of this vintage or later + will create the recovery information. If you have a filesystem + created prior to this change and wish to have a recovery block + created for your filesystem, you can do so by running fsck in + foreground mode (i.e., do not use the -p or -y options). As it + starts, fsck will ask ``SAVE DATA TO FIND ALTERNATE SUPERBLOCKS'' + to which you should answer yes. + +20170728: + As of r321665, an NFSv4 server configuration that services + Kerberos mounts or clients that do not support the uid/gid in + owner/owner_group string capability, must explicitly enable + the nfsuserd daemon by adding nfsuserd_enable="YES" to the + machine's /etc/rc.conf file. + +20170722: + Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 5.0.0. + Please see the 20141231 entry below for information about prerequisites + and upgrading, if you are not already using clang 3.5.0 or higher. + +20170701: + WITHOUT_RCMDS is now the default. Set WITH_RCMDS if you need the + r-commands (rlogin, rsh, etc.) to be built with the base system. + +20170625: + The FreeBSD/powerpc platform now uses a 64-bit type for time_t. This is + a very major ABI incompatible change, so users of FreeBSD/powerpc must + be careful when performing source upgrades. It is best to run + 'make installworld' from an alternate root system, either a live + CD/memory stick, or a temporary root partition. Additionally, all ports + must be recompiled. powerpc64 is largely unaffected, except in the case + of 32-bit compatibility. All 32-bit binaries will be affected. + +20170623: + Forward compatibility for the "ino64" project have been committed. This + will allow most new binaries to run on older kernels in a limited + fashion. This prevents many of the common foot-shooting actions in the + upgrade as well as the limited ability to roll back the kernel across + the ino64 upgrade. Complicated use cases may not work properly, though + enough simpler ones work to allow recovery in most situations. + +20170620: + Switch back to the BSDL dtc (Device Tree Compiler). Set WITH_GPL_DTC + if you require the GPL compiler. + +20170618: + The internal ABI used for communication between the NFS kernel modules + was changed by r320085, so __FreeBSD_version was bumped to + ensure all the NFS related modules are updated together. + +20170617: + The ABI of struct event was changed by extending the data + member to 64bit and adding ext fields. For upgrade, same + precautions as for the entry 20170523 "ino64" must be + followed. + +20170531: + The GNU roff toolchain has been removed from base. To render manpages + which are not supported by mandoc(1), man(1) can fallback on GNU roff + from ports (and recommends to install it). + To render roff(7) documents, consider using GNU roff from ports or the + heirloom doctools roff toolchain from ports via pkg install groff or + via pkg install heirloom-doctools. + +20170524: + The ath(4) and ath_hal(4) modules now build piecemeal to allow for + smaller runtime footprint builds. This is useful for embedded systems + which only require one chipset support. + + If you load it as a module, make sure this is in /boot/loader.conf: + + if_ath_load="YES" + + This will load the HAL, all chip/RF backends and if_ath_pci. + If you have if_ath_pci in /boot/loader.conf, ensure it is after + if_ath or it will not load any HAL chipset support. + + If you want to selectively load things (eg on cheaper ARM/MIPS + platforms where RAM is at a premium) you should: + + * load ath_hal + * load the chip modules in question + * load ath_rate, ath_dfs + * load ath_main + * load if_ath_pci and/or if_ath_ahb depending upon your particular + bus bind type - this is where probe/attach is done. + + For further comments/feedback, poke adrian@ . + +20170523: + The "ino64" 64-bit inode project has been committed, which extends + a number of types to 64 bits. Upgrading in place requires care and + adherence to the documented upgrade procedure. + + If using a custom kernel configuration ensure that the + COMPAT_FREEBSD11 option is included (as during the upgrade the + system will be running the ino64 kernel with the existing world). + + For the safest in-place upgrade begin by removing previous build + artifacts via "rm -rf /usr/obj/*". Then, carefully follow the full + procedure documented below under the heading "To rebuild everything and + install it on the current system." Specifically, a reboot is required + after installing the new kernel before installing world. While an + installworld normally works by accident from multiuser after rebooting + the proper kernel, there are many cases where this will fail across this + upgrade and installworld from single user is required. + +20170424: + The NATM framework including the en(4), fatm(4), hatm(4), and + patm(4) devices has been removed. Consumers should plan a + migration before the end-of-life date for FreeBSD 11. + +20170420: + GNU diff has been replaced by a BSD licensed diff. Some features of GNU + diff has not been implemented, if those are needed a newer version of + GNU diff is available via the diffutils package under the gdiff name. + +20170413: + As of r316810 for ipfilter, keep frags is no longer assumed when + keep state is specified in a rule. r316810 aligns ipfilter with + documentation in man pages separating keep frags from keep state. + This allows keep state to be specified without forcing keep frags + and allows keep frags to be specified independently of keep state. + To maintain previous behaviour, also specify keep frags with + keep state (as documented in ipf.conf.5). + +20170407: + arm64 builds now use the base system LLD 4.0.0 linker by default, + instead of requiring that the aarch64-binutils port or package be + installed. To continue using aarch64-binutils, set + CROSS_BINUTILS_PREFIX=/usr/local/aarch64-freebsd/bin . + +20170405: + The UDP optimization in entry 20160818 that added the sysctl + net.inet.udp.require_l2_bcast has been reverted. L2 broadcast + packets will no longer be treated as L3 broadcast packets. + +20170331: + Binds and sends to the loopback addresses, IPv6 and IPv4, will now + use any explicitly assigned loopback address available in the jail + instead of using the first assigned address of the jail. + +20170329: + The ctl.ko module no longer implements the iSCSI target frontend: + cfiscsi.ko does instead. + + If building cfiscsi.ko as a kernel module, the module can be loaded + via one of the following methods: + - `cfiscsi_load="YES"` in loader.conf(5). + - Add `cfiscsi` to `$kld_list` in rc.conf(5). + - ctladm(8)/ctld(8), when compiled with iSCSI support + (`WITH_ISCSI=yes` in src.conf(5)) + + Please see cfiscsi(4) for more details. + +20170316: + The mmcsd.ko module now additionally depends on geom_flashmap.ko. + Also, mmc.ko and mmcsd.ko need to be a matching pair built from the + same source (previously, the dependency of mmcsd.ko on mmc.ko was + missing, but mmcsd.ko now will refuse to load if it is incompatible + with mmc.ko). + +20170315: + The syntax of ipfw(8) named states was changed to avoid ambiguity. + If you have used named states in the firewall rules, you need to modify + them after installworld and before rebooting. Now named states must + be prefixed with colon. + +20170311: + The old drm (sys/dev/drm/) drivers for i915 and radeon have been + removed as the userland we provide cannot use them. The KMS version + (sys/dev/drm2) supports the same hardware. + +20170302: + Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 4.0.0. + Please see the 20141231 entry below for information about prerequisites + and upgrading, if you are not already using clang 3.5.0 or higher. + +20170221: + The code that provides support for ZFS .zfs/ directory functionality + has been reimplemented. It's not possible now to create a snapshot + by mkdir under .zfs/snapshot/. That should be the only user visible + change. + +20170216: + EISA bus support has been removed. The WITH_EISA option is no longer + valid. + +20170215: + MCA bus support has been removed. + +20170127: + The WITH_LLD_AS_LD / WITHOUT_LLD_AS_LD build knobs have been renamed + WITH_LLD_IS_LD / WITHOUT_LLD_IS_LD, for consistency with CLANG_IS_CC. + +20170112: + The EM_MULTIQUEUE kernel configuration option is deprecated now that + the em(4) driver conforms to iflib specifications. + +20170109: + The igb(4), em(4) and lem(4) ethernet drivers are now implemented via + IFLIB. If you have a custom kernel configuration that excludes em(4) + but you use igb(4), you need to re-add em(4) to your custom + configuration. + +20161217: + Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.9.1. + Please see the 20141231 entry below for information about prerequisites + and upgrading, if you are not already using clang 3.5.0 or higher. + +20161124: + Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.9.0. + Please see the 20141231 entry below for information about prerequisites + and upgrading, if you are not already using clang 3.5.0 or higher. + +20161119: + The layout of the pmap structure has changed for powerpc to put the pmap + statistics at the front for all CPU variations. libkvm(3) and all tools + that link against it need to be recompiled. + +20161030: + isl(4) and cyapa(4) drivers now require a new driver, + chromebook_platform(4), to work properly on Chromebook-class hardware. + On other types of hardware the drivers may need to be configured using + device hints. Please see the corresponding manual pages for details. + +20161017: + The urtwn(4) driver was merged into rtwn(4) and now consists of + rtwn(4) main module + rtwn_usb(4) and rtwn_pci(4) bus-specific + parts. + Also, firmware for RTL8188CE was renamed due to possible name + conflict (rtwnrtl8192cU(B) -> rtwnrtl8192cE(B)) + +20161015: + GNU rcs has been removed from base. It is available as packages: + - rcs: Latest GPLv3 GNU rcs version. + - rcs57: Copy of the latest version of GNU rcs (GPLv2) before it was + removed from base. + +20161008: + Use of the cc_cdg, cc_chd, cc_hd, or cc_vegas congestion control + modules now requires that the kernel configuration contain the + TCP_HHOOK option. (This option is included in the GENERIC kernel.) + +20161003: + The WITHOUT_ELFCOPY_AS_OBJCOPY src.conf(5) knob has been retired. + ELF Tool Chain's elfcopy is always installed as /usr/bin/objcopy. + +20160924: + Relocatable object files with the extension of .So have been renamed + to use an extension of .pico instead. The purpose of this change is + to avoid a name clash with shared libraries on case-insensitive file + systems. On those file systems, foo.So is the same file as foo.so. + +20160918: + GNU rcs has been turned off by default. It can (temporarily) be built + again by adding WITH_RCS knob in src.conf. + Otherwise, GNU rcs is available from packages: + - rcs: Latest GPLv3 GNU rcs version. + - rcs57: Copy of the latest version of GNU rcs (GPLv2) from base. + +20160918: + The backup_uses_rcs functionality has been removed from rc.subr. + +20160908: + The queue(3) debugging macro, QUEUE_MACRO_DEBUG, has been split into + two separate components, QUEUE_MACRO_DEBUG_TRACE and + QUEUE_MACRO_DEBUG_TRASH. Define both for the original + QUEUE_MACRO_DEBUG behavior. + +20160824: + r304787 changed some ioctl interfaces between the iSCSI userspace + programs and the kernel. ctladm, ctld, iscsictl, and iscsid must be + rebuilt to work with new kernels. __FreeBSD_version has been bumped + to 1200005. + +20160818: + The UDP receive code has been updated to only treat incoming UDP + packets that were addressed to an L2 broadcast address as L3 + broadcast packets. It is not expected that this will affect any + standards-conforming UDP application. The new behaviour can be + disabled by setting the sysctl net.inet.udp.require_l2_bcast to + 0. + +20160818: + Remove the openbsd_poll system call. + __FreeBSD_version has been bumped because of this. + +20160708: + The stable/11 branch has been created from head@r302406. + +20160622: + The libc stub for the pipe(2) system call has been replaced with + a wrapper that calls the pipe2(2) system call and the pipe(2) + system call is now only implemented by the kernels that include + "options COMPAT_FREEBSD10" in their config file (this is the + default). Users should ensure that this option is enabled in + their kernel or upgrade userspace to r302092 before upgrading their + kernel. + +20160527: + CAM now strips the leading spaces from each SCSI disk's serial number. + This will affect users who create UFS filesystems on SCSI disks using + those disk's diskid device nodes. For example, if /etc/fstab + previously contained a line like + "/dev/diskid/DISK-%20%20%20%20%20%20%20ABCDEFG0123456", you should + change it to "/dev/diskid/DISK-ABCDEFG0123456". Users of geom + transforms like gmirror may also be affected. ZFS users should + generally be fine. + +20160523: + The bitstring(3) API has been updated with new functionality and + improved performance. But it is binary-incompatible with the old API. + Objects built with the new headers may not be linked against objects + built with the old headers. + +20160520: + The brk and sbrk functions have been removed from libc on arm64. + Binutils from ports has been updated to not link to these + functions and should be updated to the latest version before + installing a new libc. + +20160517: + The armv6 port now defaults to hard float ABI. Limited support + for running both hardfloat and soft float on the same system + is available using the libraries installed with -DWITH_LIBSOFT. + This has only been tested as an upgrade path for installworld + and packages may fail or need manual intervention to run. New + packages will be needed. + + To update an existing self-hosted armv6hf system, you must add + TARGET_ARCH=armv6 on the make command line for both the build + and the install steps. + +20160510: + Kernel modules compiled outside of a kernel build now default to + installing to /boot/modules instead of /boot/kernel. Many kernel + modules built this way (such as those in ports) already overrode + KMODDIR explicitly to install into /boot/modules. However, + manually building and installing a module from /sys/modules will + now install to /boot/modules instead of /boot/kernel. + +20160414: + The CAM I/O scheduler has been committed to the kernel. There should be + no user visible impact. This does enable NCQ Trim on ada SSDs. While the + list of known rogues that claim support for this but actually corrupt + data is believed to be complete, be on the lookout for data + corruption. The known rogue list is believed to be complete: + + o Crucial MX100, M550 drives with MU01 firmware. + o Micron M510 and M550 drives with MU01 firmware. + o Micron M500 prior to MU07 firmware + o Samsung 830, 840, and 850 all firmwares + o FCCT M500 all firmwares + + Crucial has firmware http://www.crucial.com/usa/en/support-ssd-firmware + with working NCQ TRIM. For Micron branded drives, see your sales rep for + updated firmware. Black listed drives will work correctly because these + drives work correctly so long as no NCQ TRIMs are sent to them. Given + this list is the same as found in Linux, it's believed there are no + other rogues in the market place. All other models from the above + vendors work. + + To be safe, if you are at all concerned, you can quirk each of your + drives to prevent NCQ from being sent by setting: + kern.cam.ada.X.quirks="0x2" + in loader.conf. If the drive requires the 4k sector quirk, set the + quirks entry to 0x3. + +20160330: + The FAST_DEPEND build option has been removed and its functionality is + now the one true way. The old mkdep(1) style of 'make depend' has + been removed. See 20160311 for further details. + +20160317: + Resource range types have grown from unsigned long to uintmax_t. All + drivers, and anything using libdevinfo, need to be recompiled. + +20160311: + WITH_FAST_DEPEND is now enabled by default for in-tree and out-of-tree + builds. It no longer runs mkdep(1) during 'make depend', and the + 'make depend' stage can safely be skipped now as it is auto ran + when building 'make all' and will generate all SRCS and DPSRCS before + building anything else. Dependencies are gathered at compile time with + -MF flags kept in separate .depend files per object file. Users should + run 'make cleandepend' once if using -DNO_CLEAN to clean out older + stale .depend files. + +20160306: + On amd64, clang 3.8.0 can now insert sections of type AMD64_UNWIND into + kernel modules. Therefore, if you load any kernel modules at boot time, + please install the boot loaders after you install the kernel, but before + rebooting, e.g.: + + make buildworld + make buildkernel KERNCONF=YOUR_KERNEL_HERE + make installkernel KERNCONF=YOUR_KERNEL_HERE + make -C sys/boot install + + + Then follow the usual steps, described in the General Notes section, + below. + +20160305: + Clang, llvm, lldb and compiler-rt have been upgraded to 3.8.0. Please + see the 20141231 entry below for information about prerequisites and + upgrading, if you are not already using clang 3.5.0 or higher. + +20160301: + The AIO subsystem is now a standard part of the kernel. The + VFS_AIO kernel option and aio.ko kernel module have been removed. + Due to stability concerns, asynchronous I/O requests are only + permitted on sockets and raw disks by default. To enable + asynchronous I/O requests on all file types, set the + vfs.aio.enable_unsafe sysctl to a non-zero value. + +20160226: + The ELF object manipulation tool objcopy is now provided by the + ELF Tool Chain project rather than by GNU binutils. It should be a + drop-in replacement, with the addition of arm64 support. The + (temporary) src.conf knob WITHOUT_ELFCOPY_AS_OBJCOPY knob may be set + to obtain the GNU version if necessary. + +20160129: + Building ZFS pools on top of zvols is prohibited by default. That + feature has never worked safely; it's always been prone to deadlocks. + Using a zvol as the backing store for a VM guest's virtual disk will + still work, even if the guest is using ZFS. Legacy behavior can be + restored by setting vfs.zfs.vol.recursive=1. + +20160119: + The NONE and HPN patches has been removed from OpenSSH. They are + still available in the security/openssh-portable port. + +20160113: + With the addition of ypldap(8), a new _ypldap user is now required + during installworld. "mergemaster -p" can be used to add the user + prior to installworld, as documented in the handbook. + +20151216: + The tftp loader (pxeboot) now uses the option root-path directive. As a + consequence it no longer looks for a pxeboot.4th file on the tftp + server. Instead it uses the regular /boot infrastructure as with the + other loaders. + +20151211: + The code to start recording plug and play data into the modules has + been committed. While the old tools will properly build a new kernel, + a number of warnings about "unknown metadata record 4" will be produced + for an older kldxref. To avoid such warnings, make sure to rebuild + the kernel toolchain (or world). Make sure that you have r292078 or + later when trying to build 292077 or later before rebuilding. + +20151207: + Debug data files are now built by default with 'make buildworld' and + installed with 'make installworld'. This facilitates debugging but + requires more disk space both during the build and for the installed + world. Debug files may be disabled by setting WITHOUT_DEBUG_FILES=yes + in src.conf(5). + +20151130: + r291527 changed the internal interface between the nfsd.ko and + nfscommon.ko modules. As such, they must both be upgraded to-gether. + __FreeBSD_version has been bumped because of this. + +20151108: + Add support for unicode collation strings leads to a change of + order of files listed by ls(1) for example. To get back to the old + behaviour, set LC_COLLATE environment variable to "C". + + Databases administrators will need to reindex their databases given + collation results will be different. + + Due to a bug in install(1) it is recommended to remove the ancient + locales before running make installworld. + + rm -rf /usr/share/locale/* + +20151030: + The OpenSSL has been upgraded to 1.0.2d. Any binaries requiring + libcrypto.so.7 or libssl.so.7 must be recompiled. + +20151020: + Qlogic 24xx/25xx firmware images were updated from 5.5.0 to 7.3.0. + Kernel modules isp_2400_multi and isp_2500_multi were removed and + should be replaced with isp_2400 and isp_2500 modules respectively. + +20151017: + The build previously allowed using 'make -n' to not recurse into + sub-directories while showing what commands would be executed, and + 'make -n -n' to recursively show commands. Now 'make -n' will recurse + and 'make -N' will not. + +20151012: + If you specify SENDMAIL_MC or SENDMAIL_CF in make.conf, mergemaster + and etcupdate will now use this file. A custom sendmail.cf is now + updated via this mechanism rather than via installworld. If you had + excluded sendmail.cf in mergemaster.rc or etcupdate.conf, you may + want to remove the exclusion or change it to "always install". + /etc/mail/sendmail.cf is now managed the same way regardless of + whether SENDMAIL_MC/SENDMAIL_CF is used. If you are not using + SENDMAIL_MC/SENDMAIL_CF there should be no change in behavior. + +20151011: + Compatibility shims for legacy ATA device names have been removed. + It includes ATA_STATIC_ID kernel option, kern.cam.ada.legacy_aliases + and kern.geom.raid.legacy_aliases loader tunables, kern.devalias.* + environment variables, /dev/ad* and /dev/ar* symbolic links. + +20151006: + Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.7.0. + Please see the 20141231 entry below for information about prerequisites + and upgrading, if you are not already using clang 3.5.0 or higher. + +20150924: + Kernel debug files have been moved to /usr/lib/debug/boot/kernel/, + and renamed from .symbols to .debug. This reduces the size requirements + on the boot partition or file system and provides consistency with + userland debug files. + + When using the supported kernel installation method the + /usr/lib/debug/boot/kernel directory will be renamed (to kernel.old) + as is done with /boot/kernel. + + Developers wishing to maintain the historical behavior of installing + debug files in /boot/kernel/ can set KERN_DEBUGDIR="" in src.conf(5). + +20150827: + The wireless drivers had undergone changes that remove the 'parent + interface' from the ifconfig -l output. The rc.d network scripts + used to check presence of a parent interface in the list, so old + scripts would fail to start wireless networking. Thus, etcupdate(3) + or mergemaster(8) run is required after kernel update, to update your + rc.d scripts in /etc. + +20150827: + pf no longer supports 'scrub fragment crop' or 'scrub fragment drop-ovl' + These configurations are now automatically interpreted as + 'scrub fragment reassemble'. + +20150817: + Kernel-loadable modules for the random(4) device are back. To use + them, the kernel must have + + device random + options RANDOM_LOADABLE + + kldload(8) can then be used to load random_fortuna.ko + or random_yarrow.ko. Please note that due to the indirect + function calls that the loadable modules need to provide, + the build-in variants will be slightly more efficient. + + The random(4) kernel option RANDOM_DUMMY has been retired due to + unpopularity. It was not all that useful anyway. + +20150813: + The WITHOUT_ELFTOOLCHAIN_TOOLS src.conf(5) knob has been retired. + Control over building the ELF Tool Chain tools is now provided by + the WITHOUT_TOOLCHAIN knob. + +20150810: + The polarity of Pulse Per Second (PPS) capture events with the + uart(4) driver has been corrected. Prior to this change the PPS + "assert" event corresponded to the trailing edge of a positive PPS + pulse and the "clear" event was the leading edge of the next pulse. + + As the width of a PPS pulse in a typical GPS receiver is on the + order of 1 millisecond, most users will not notice any significant + difference with this change. + + Anyone who has compensated for the historical polarity reversal by + configuring a negative offset equal to the pulse width will need to + remove that workaround. + +20150809: + The default group assigned to /dev/dri entries has been changed + from 'wheel' to 'video' with the id of '44'. If you want to have + access to the dri devices please add yourself to the video group + with: + + # pw groupmod video -m $USER + +20150806: + The menu.rc and loader.rc files will now be replaced during + upgrades. Please migrate local changes to menu.rc.local and + loader.rc.local instead. + +20150805: + GNU Binutils versions of addr2line, c++filt, nm, readelf, size, + strings and strip have been removed. The src.conf(5) knob + WITHOUT_ELFTOOLCHAIN_TOOLS no longer provides the binutils tools. + +20150728: + As ZFS requires more kernel stack pages than is the default on some + architectures e.g. i386, it now warns if KSTACK_PAGES is less than + ZFS_MIN_KSTACK_PAGES (which is 4 at the time of writing). + + Please consider using 'options KSTACK_PAGES=X' where X is greater + than or equal to ZFS_MIN_KSTACK_PAGES i.e. 4 in such configurations. + +20150706: + sendmail has been updated to 8.15.2. Starting with FreeBSD 11.0 + and sendmail 8.15, sendmail uses uncompressed IPv6 addresses by + default, i.e., they will not contain "::". For example, instead + of ::1, it will be 0:0:0:0:0:0:0:1. This permits a zero subnet + to have a more specific match, such as different map entries for + IPv6:0:0 vs IPv6:0. This change requires that configuration + data (including maps, files, classes, custom ruleset, etc.) must + use the same format, so make certain such configuration data is + upgrading. As a very simple check search for patterns like + 'IPv6:[0-9a-fA-F:]*::' and 'IPv6::'. To return to the old + behavior, set the m4 option confUSE_COMPRESSED_IPV6_ADDRESSES or + the cf option UseCompressedIPv6Addresses. + +20150630: + The default kernel entropy-processing algorithm is now + Fortuna, replacing Yarrow. + + Assuming you have 'device random' in your kernel config + file, the configurations allow a kernel option to override + this default. You may choose *ONE* of: + + options RANDOM_YARROW # Legacy /dev/random algorithm. + options RANDOM_DUMMY # Blocking-only driver. + + If you have neither, you get Fortuna. For most people, + read no further, Fortuna will give a /dev/random that works + like it always used to, and the difference will be irrelevant. + + If you remove 'device random', you get *NO* kernel-processed + entropy at all. This may be acceptable to folks building + embedded systems, but has complications. Carry on reading, + and it is assumed you know what you need. + + *PLEASE* read random(4) and random(9) if you are in the + habit of tweaking kernel configs, and/or if you are a member + of the embedded community, wanting specific and not-usual + behaviour from your security subsystems. + + NOTE!! If you use RANDOM_DUMMY and/or have no 'device + random', you will NOT have a functioning /dev/random, and + many cryptographic features will not work, including SSH. + You may also find strange behaviour from the random(3) set + of library functions, in particular sranddev(3), srandomdev(3) + and arc4random(3). The reason for this is that the KERN_ARND + sysctl only returns entropy if it thinks it has some to + share, and with RANDOM_DUMMY or no 'device random' this + will never happen. + +20150623: + An additional fix for the issue described in the 20150614 sendmail + entry below has been committed in revision 284717. + +20150616: + FreeBSD's old make (fmake) has been removed from the system. It is + available as the devel/fmake port or via pkg install fmake. + +20150615: + The fix for the issue described in the 20150614 sendmail entry + below has been committed in revision 284436. The work + around described in that entry is no longer needed unless the + default setting is overridden by a confDH_PARAMETERS configuration + setting of '5' or pointing to a 512 bit DH parameter file. + +20150614: + ALLOW_DEPRECATED_ATF_TOOLS/ATFFILE support has been removed from + atf.test.mk (included from bsd.test.mk). Please upgrade devel/atf + and devel/kyua to version 0.20+ and adjust any calling code to work + with Kyuafile and kyua. + +20150614: + The import of openssl to address the FreeBSD-SA-15:10.openssl + security advisory includes a change which rejects handshakes + with DH parameters below 768 bits. sendmail releases prior + to 8.15.2 (not yet released), defaulted to a 512 bit + DH parameter setting for client connections. To work around + this interoperability, sendmail can be configured to use a + 2048 bit DH parameter by: + + 1. Edit /etc/mail/`hostname`.mc + 2. If a setting for confDH_PARAMETERS does not exist or + exists and is set to a string beginning with '5', + replace it with '2'. + 3. If a setting for confDH_PARAMETERS exists and is set to + a file path, create a new file with: + openssl dhparam -out /path/to/file 2048 + 4. Rebuild the .cf file: + cd /etc/mail/; make; make install + 5. Restart sendmail: + cd /etc/mail/; make restart + + A sendmail patch is coming, at which time this file will be + updated. + +20150604: + Generation of legacy formatted entries have been disabled by default + in pwd_mkdb(8), as all base system consumers of the legacy formatted + entries were converted to use the new format by default when the new, + machine independent format have been added and supported since FreeBSD + 5.x. + + Please see the pwd_mkdb(8) manual page for further details. + +20150525: + Clang and llvm have been upgraded to 3.6.1 release. Please see the + 20141231 entry below for information about prerequisites and upgrading, + if you are not already using 3.5.0 or higher. + +20150521: + TI platform code switched to using vendor DTS files and this update + may break existing systems running on Beaglebone, Beaglebone Black, + and Pandaboard: + + - dtb files should be regenerated/reinstalled. Filenames are the + same but content is different now + - GPIO addressing was changed, now each GPIO bank (32 pins per bank) + has its own /dev/gpiocX device, e.g. pin 121 on /dev/gpioc0 in old + addressing scheme is now pin 25 on /dev/gpioc3. + - Pandaboard: /etc/ttys should be updated, serial console device is + now /dev/ttyu2, not /dev/ttyu0 + +20150501: + soelim(1) from gnu/usr.bin/groff has been replaced by usr.bin/soelim. + If you need the GNU extension from groff soelim(1), install groff + from package: pkg install groff, or via ports: textproc/groff. + +20150423: + chmod, chflags, chown and chgrp now affect symlinks in -R mode as + defined in symlink(7); previously symlinks were silently ignored. + +20150415: + The const qualifier has been removed from iconv(3) to comply with + POSIX. The ports tree is aware of this from r384038 onwards. + +20150416: + Libraries specified by LIBADD in Makefiles must have a corresponding + DPADD_ variable to ensure correct dependencies. This is now + enforced in src.libnames.mk. + +20150324: + From legacy ata(4) driver was removed support for SATA controllers + supported by more functional drivers ahci(4), siis(4) and mvs(4). + Kernel modules ataahci and ataadaptec were removed completely, + replaced by ahci and mvs modules respectively. + +20150315: + Clang, llvm and lldb have been upgraded to 3.6.0 release. Please see + the 20141231 entry below for information about prerequisites and + upgrading, if you are not already using 3.5.0 or higher. + +20150307: + The 32-bit PowerPC kernel has been changed to a position-independent + executable. This can only be booted with a version of loader(8) + newer than January 31, 2015, so make sure to update both world and + kernel before rebooting. + +20150217: + If you are running a -CURRENT kernel since r273872 (Oct 30th, 2014), + but before r278950, the RNG was not seeded properly. Immediately + upgrade the kernel to r278950 or later and regenerate any keys (e.g. + ssh keys or openssl keys) that were generated w/ a kernel from that + range. This does not affect programs that directly used /dev/random + or /dev/urandom. All userland uses of arc4random(3) are affected. + +20150210: + The autofs(4) ABI was changed in order to restore binary compatibility + with 10.1-RELEASE. The automountd(8) daemon needs to be rebuilt to work + with the new kernel. + +20150131: + The powerpc64 kernel has been changed to a position-independent + executable. This can only be booted with a new version of loader(8), + so make sure to update both world and kernel before rebooting. + +20150118: + Clang and llvm have been upgraded to 3.5.1 release. This is a bugfix + only release, no new features have been added. Please see the 20141231 + entry below for information about prerequisites and upgrading, if you + are not already using 3.5.0. + +20150107: + ELF tools addr2line, elfcopy (strip), nm, size, and strings are now + taken from the ELF Tool Chain project rather than GNU binutils. They + should be drop-in replacements, with the addition of arm64 support. + The WITHOUT_ELFTOOLCHAIN_TOOLS= knob may be used to obtain the + binutils tools, if necessary. See 20150805 for updated information. + +20150105: + The default Unbound configuration now enables remote control + using a local socket. Users who have already enabled the + local_unbound service should regenerate their configuration + by running "service local_unbound setup" as root. + +20150102: + The GNU texinfo and GNU info pages have been removed. + To be able to view GNU info pages please install texinfo from ports. + +20141231: + Clang, llvm and lldb have been upgraded to 3.5.0 release. + + As of this release, a prerequisite for building clang, llvm and lldb is + a C++11 capable compiler and C++11 standard library. This means that to + be able to successfully build the cross-tools stage of buildworld, with + clang as the bootstrap compiler, your system compiler or cross compiler + should either be clang 3.3 or later, or gcc 4.8 or later, and your + system C++ library should be libc++, or libdstdc++ from gcc 4.8 or + later. + + On any standard FreeBSD 10.x or 11.x installation, where clang and + libc++ are on by default (that is, on x86 or arm), this should work out + of the box. + + On 9.x installations where clang is enabled by default, e.g. on x86 and + powerpc, libc++ will not be enabled by default, so libc++ should be + built (with clang) and installed first. If both clang and libc++ are + missing, build clang first, then use it to build libc++. + + On 8.x and earlier installations, upgrade to 9.x first, and then follow + the instructions for 9.x above. + + Sparc64 and mips users are unaffected, as they still use gcc 4.2.1 by + default, and do not build clang. + + Many embedded systems are resource constrained, and will not be able to + build clang in a reasonable time, or in some cases at all. In those + cases, cross building bootable systems on amd64 is a workaround. + + This new version of clang introduces a number of new warnings, of which + the following are most likely to appear: + + -Wabsolute-value + + This warns in two cases, for both C and C++: + * When the code is trying to take the absolute value of an unsigned + quantity, which is effectively a no-op, and almost never what was + intended. The code should be fixed, if at all possible. If you are + sure that the unsigned quantity can be safely cast to signed, without + loss of information or undefined behavior, you can add an explicit + cast, or disable the warning. + + * When the code is trying to take an absolute value, but the called + abs() variant is for the wrong type, which can lead to truncation. + If you want to disable the warning instead of fixing the code, please + make sure that truncation will not occur, or it might lead to unwanted + side-effects. + + -Wtautological-undefined-compare and + -Wundefined-bool-conversion + + These warn when C++ code is trying to compare 'this' against NULL, while + 'this' should never be NULL in well-defined C++ code. However, there is + some legacy (pre C++11) code out there, which actively abuses this + feature, which was less strictly defined in previous C++ versions. + + Squid and openjdk do this, for example. The warning can be turned off + for C++98 and earlier, but compiling the code in C++11 mode might result + in unexpected behavior; for example, the parts of the program that are + unreachable could be optimized away. + +20141222: + The old NFS client and server (kernel options NFSCLIENT, NFSSERVER) + kernel sources have been removed. The .h files remain, since some + utilities include them. This will need to be fixed later. + If "mount -t oldnfs ..." is attempted, it will fail. + If the "-o" option on mountd(8), nfsd(8) or nfsstat(1) is used, + the utilities will report errors. + +20141121: + The handling of LOCAL_LIB_DIRS has been altered to skip addition of + directories to top level SUBDIR variable when their parent + directory is included in LOCAL_DIRS. Users with build systems with + such hierarchies and without SUBDIR entries in the parent + directory Makefiles should add them or add the directories to + LOCAL_DIRS. + +20141109: + faith(4) and faithd(8) have been removed from the base system. Faith + has been obsolete for a very long time. + +20141104: + vt(4), the new console driver, is enabled by default. It brings + support for Unicode and double-width characters, as well as + support for UEFI and integration with the KMS kernel video + drivers. + + You may need to update your console settings in /etc/rc.conf, + most probably the keymap. During boot, /etc/rc.d/syscons will + indicate what you need to do. + + vt(4) still has issues and lacks some features compared to + syscons(4). See the wiki for up-to-date information: + https://wiki.freebsd.org/Newcons + + If you want to keep using syscons(4), you can do so by adding + the following line to /boot/loader.conf: + kern.vty=sc + +20141102: + pjdfstest has been integrated into kyua as an opt-in test suite. + Please see share/doc/pjdfstest/README for more details on how to + execute it. + +20141009: + gperf has been removed from the base system for architectures + that use clang. Ports that require gperf will obtain it from the + devel/gperf port. + +20140923: + pjdfstest has been moved from tools/regression/pjdfstest to + contrib/pjdfstest . + +20140922: + At svn r271982, The default linux compat kernel ABI has been adjusted + to 2.6.18 in support of the linux-c6 compat ports infrastructure + update. If you wish to continue using the linux-f10 compat ports, + add compat.linux.osrelease=2.6.16 to your local sysctl.conf. Users are + encouraged to update their linux-compat packages to linux-c6 during + their next update cycle. + +20140729: + The ofwfb driver, used to provide a graphics console on PowerPC when + using vt(4), no longer allows mmap() of all physical memory. This + will prevent Xorg on PowerPC with some ATI graphics cards from + initializing properly unless x11-servers/xorg-server is updated to + 1.12.4_8 or newer. + +20140723: + The xdev targets have been converted to using TARGET and + TARGET_ARCH instead of XDEV and XDEV_ARCH. + +20140719: + The default unbound configuration has been modified to address + issues with reverse lookups on networks that use private + address ranges. If you use the local_unbound service, run + "service local_unbound setup" as root to regenerate your + configuration, then "service local_unbound reload" to load the + new configuration. + +20140709: + The GNU texinfo and GNU info pages are not built and installed + anymore, WITH_INFO knob has been added to allow to built and install + them again. + UPDATE: see 20150102 entry on texinfo's removal + +20140708: + The GNU readline library is now an INTERNALLIB - that is, it is + statically linked into consumers (GDB and variants) in the base + system, and the shared library is no longer installed. The + devel/readline port is available for third party software that + requires readline. + +20140702: + The Itanium architecture (ia64) has been removed from the list of + known architectures. This is the first step in the removal of the + architecture. + +20140701: + Commit r268115 has added NFSv4.1 server support, merged from + projects/nfsv4.1-server. Since this includes changes to the + internal interfaces between the NFS related modules, a full + build of the kernel and modules will be necessary. + __FreeBSD_version has been bumped. + +20140629: + The WITHOUT_VT_SUPPORT kernel config knob has been renamed + WITHOUT_VT. (The other _SUPPORT knobs have a consistent meaning + which differs from the behaviour controlled by this knob.) + +20140619: + Maximal length of the serial number in CTL was increased from 16 to + 64 chars, that breaks ABI. All CTL-related tools, such as ctladm + and ctld, need to be rebuilt to work with a new kernel. + +20140606: + The libatf-c and libatf-c++ major versions were downgraded to 0 and + 1 respectively to match the upstream numbers. They were out of + sync because, when they were originally added to FreeBSD, the + upstream versions were not respected. These libraries are private + and not yet built by default, so renumbering them should be a + non-issue. However, unclean source trees will yield broken test + programs once the operator executes "make delete-old-libs" after a + "make installworld". + + Additionally, the atf-sh binary was made private by moving it into + /usr/libexec/. Already-built shell test programs will keep the + path to the old binary so they will break after "make delete-old" + is run. + + If you are using WITH_TESTS=yes (not the default), wipe the object + tree and rebuild from scratch to prevent spurious test failures. + This is only needed once: the misnumbered libraries and misplaced + binaries have been added to OptionalObsoleteFiles.inc so they will + be removed during a clean upgrade. + +20140512: + Clang and llvm have been upgraded to 3.4.1 release. + +20140508: + We bogusly installed src.opts.mk in /usr/share/mk. This file should + be removed to avoid issues in the future (and has been added to + ObsoleteFiles.inc). + +20140505: + /etc/src.conf now affects only builds of the FreeBSD src tree. In the + past, it affected all builds that used the bsd.*.mk files. The old + behavior was a bug, but people may have relied upon it. To get this + behavior back, you can .include /etc/src.conf from /etc/make.conf + (which is still global and isn't changed). This also changes the + behavior of incremental builds inside the tree of individual + directories. Set MAKESYSPATH to ".../share/mk" to do that. + Although this has survived make universe and some upgrade scenarios, + other upgrade scenarios may have broken. At least one form of + temporary breakage was fixed with MAKESYSPATH settings for buildworld + as well... In cases where MAKESYSPATH isn't working with this + setting, you'll need to set it to the full path to your tree. + + One side effect of all this cleaning up is that bsd.compiler.mk + is no longer implicitly included by bsd.own.mk. If you wish to + use COMPILER_TYPE, you must now explicitly include bsd.compiler.mk + as well. + +20140430: + The lindev device has been removed since /dev/full has been made a + standard device. __FreeBSD_version has been bumped. + +20140424: + The knob WITHOUT_VI was added to the base system, which controls + building ex(1), vi(1), etc. Older releases of FreeBSD required ex(1) + in order to reorder files share/termcap and didn't build ex(1) as a + build tool, so building/installing with WITH_VI is highly advised for + build hosts for older releases. + + This issue has been fixed in stable/9 and stable/10 in r277022 and + r276991, respectively. + +20140418: + The YES_HESIOD knob has been removed. It has been obsolete for + a decade. Please move to using WITH_HESIOD instead or your builds + will silently lack HESIOD. + +20140405: + The uart(4) driver has been changed with respect to its handling + of the low-level console. Previously the uart(4) driver prevented + any process from changing the baudrate or the CLOCAL and HUPCL + control flags. By removing the restrictions, operators can make + changes to the serial console port without having to reboot. + However, when getty(8) is started on the serial device that is + associated with the low-level console, a misconfigured terminal + line in /etc/ttys will now have a real impact. + Before upgrading the kernel, make sure that /etc/ttys has the + serial console device configured as 3wire without baudrate to + preserve the previous behaviour. E.g: + ttyu0 "/usr/libexec/getty 3wire" vt100 on secure + +20140306: + Support for libwrap (TCP wrappers) in rpcbind was disabled by default + to improve performance. To re-enable it, if needed, run rpcbind + with command line option -W. + +20140226: + Switched back to the GPL dtc compiler due to updates in the upstream + dts files not being supported by the BSDL dtc compiler. You will need + to rebuild your kernel toolchain to pick up the new compiler. Core dumps + may result while building dtb files during a kernel build if you fail + to do so. Set WITHOUT_GPL_DTC if you require the BSDL compiler. + +20140216: + Clang and llvm have been upgraded to 3.4 release. + +20140216: + The nve(4) driver has been removed. Please use the nfe(4) driver + for NVIDIA nForce MCP Ethernet adapters instead. + +20140212: + An ABI incompatibility crept into the libc++ 3.4 import in r261283. + This could cause certain C++ applications using shared libraries built + against the previous version of libc++ to crash. The incompatibility + has now been fixed, but any C++ applications or shared libraries built + between r261283 and r261801 should be recompiled. + +20140204: + OpenSSH will now ignore errors caused by kernel lacking of Capsicum + capability mode support. Please note that enabling the feature in + kernel is still highly recommended. + +20140131: + OpenSSH is now built with sandbox support, and will use sandbox as + the default privilege separation method. This requires Capsicum + capability mode support in kernel. + +20140128: + The libelf and libdwarf libraries have been updated to newer + versions from upstream. Shared library version numbers for + these two libraries were bumped. Any ports or binaries + requiring these two libraries should be recompiled. + __FreeBSD_version is bumped to 1100006. + +20140110: + If a Makefile in a tests/ directory was auto-generating a Kyuafile + instead of providing an explicit one, this would prevent such + Makefile from providing its own Kyuafile in the future during + NO_CLEAN builds. This has been fixed in the Makefiles but manual + intervention is needed to clean an objdir if you use NO_CLEAN: + # find /usr/obj -name Kyuafile | xargs rm -f + +20131213: + The behavior of gss_pseudo_random() for the krb5 mechanism + has changed, for applications requesting a longer random string + than produced by the underlying enctype's pseudo-random() function. + In particular, the random string produced from a session key of + enctype aes256-cts-hmac-sha1-96 or aes256-cts-hmac-sha1-96 will + be different at the 17th octet and later, after this change. + The counter used in the PRF+ construction is now encoded as a + big-endian integer in accordance with RFC 4402. + __FreeBSD_version is bumped to 1100004. + +20131108: + The WITHOUT_ATF build knob has been removed and its functionality + has been subsumed into the more generic WITHOUT_TESTS. If you were + using the former to disable the build of the ATF libraries, you + should change your settings to use the latter. + +20131025: + The default version of mtree is nmtree which is obtained from + NetBSD. The output is generally the same, but may vary + slightly. If you found you need identical output adding + "-F freebsd9" to the command line should do the trick. For the + time being, the old mtree is available as fmtree. + +20131014: + libbsdyml has been renamed to libyaml and moved to /usr/lib/private. + This will break ports-mgmt/pkg. Rebuild the port, or upgrade to pkg + 1.1.4_8 and verify bsdyml not linked in, before running "make + delete-old-libs": + # make -C /usr/ports/ports-mgmt/pkg build deinstall install clean + or + # pkg install pkg; ldd /usr/local/sbin/pkg | grep bsdyml + +20131010: + The stable/10 branch has been created in subversion from head + revision r256279. + COMMON ITEMS: General Notes