This section covers changes and additions to userland applications, contributed software, and system utilities.

4.1. Userland Application Changes

The ln(1) utility has been updated to correct the behavior of the -F flag by unlinking an existing directory before creating a symbolic link. [r321092]

The crontab(1) utility has been updated to include a new flag, -f , which forces crontab(5) removal when -r is used non-interactively. [r321241]

The newsyslog(8) utility has been updated to support RFC 5424-compliant messages when rotating system logs. [r321262]

The sesutil(8) utility has been updated to include libxo(3) support in output. [r321287] (Sponsored by Gandi.net)

The diskinfo(8) utility has been updated to include two new flags, -s which displays the disk identity (usually the serial number), and -p which displays the physical path to the disk in a storage controller. The -s and -p flags are mutually exclusive, and cannot be used with any other flags. [r321927]

The diskinfo(8) utility has also been updated to include device model when the -s flag is used. [r321929]

The top(1) utility has been updated to allow filtering on multiple user names when the -U flag is used. [r322509]

The bsdgrep(1) utility has been updated to include a rgrep hard link to grep(1), which when used is equivalent to grep -r . [r322525]

The bsdgrep(1) utility has been updated to address various issues with pattern matching behavior. [r322555]

The umount(8) utility has been updated to include a new flag, -N , which is used to forcefully unmount an NFS mounted filesystem. [r322910]

The pw(8) utility has been updated to properly handle empty secondary group lists as an argument to the -G flag when using the usermod subcommand. [r322919]

The getconf(1) utility has been updated to include a new flag, -a , which prints the name and value of all system or path configuration values to stdout(4) or optionally a file as an argument to -a . [r324124] (Sponsored by Chelsio Communications)

The ps(1) utility has been updated to reflect realtime and idle priorities in state flags. [r324270]

The ps(1) utility has been updated to display if a process is running with capsicum(4) capability mode, indicated by C . [r324271]

The cpucontrol(8) utility has been updated to include a new flag, -n , that disables the default microcode update search path when used. [r324380]

The fsck_ffs(8) utility has been updated to prevent a filesystem from being reported as modified when only the timestamp in the superblock is updated. [r324674]

The diskinfo(8) utility has been updated to display disk rotation rate and if TRIM / UNMAP is supported by the disk. [r325003] (Sponsored by Spectra Logic)

The rsh(1) utility has been updated to include a new flag, -N , which disables shutdown of a socket sending path when used. [r325473]

The pfctl(8) utility has been updated to allow route-to to properly handle network interfaces with multiple IP addresses. [r326413]

The camcontrol(8) utility has been updated to include ZAC (Zoned-device ATA command set) information when the identify subcommand is used. [r326778] (Sponsored by Spectra Logic)

The pw(8) utility has been updated to correct handling of account expiration periods. [r326848]

The mdmfs(8) utility has been updated to support tmpfs(5). [r327592]

The lint(1) utility is not longer built by default. The WITH_LINT src.conf(5) option has been added to enable building and installing the utility. [r327837]

The cpucontrol(8) utility has been updated to include a new flag, -e , which is used to re-evaluate reported CPU features after applying firmware updates. [r327871]

Note: The cpucontrol(8) -e flag should only be used after microcode update have been applied to all CPU s in the system, otherwise system instability may be experienced if processor features are not identical across the system.

The indent(1) utility has been updated to respect the SIMPLE_BACKUP_SUFFIX environment variable if set. [r328138]

The du(1) utility has been updated to include the --si long option, which is used to display output in "human-readable" output in powers of 1000. [r328139]

The df(1) utility has been updated to include the --si long option, which is an alias to -H . [r328140]

The service(8) utility has been updated to include a new flag, -j , which is used to interact with services running within a jail(8). The argument to -j can be either the name or numeric jail ID . [r328599]

The fsck_ffs(8) utility has been updated to exit with a non-zero status when the filesystem is not repaired. [r328604] (Sponsored by Dell EMC)

The nvmecontrol(8) utility has been updated to print the full 128 bit value for SMART data, instead of the hexadecimal value. [r328668]

The nvmecontrol(8) utility has been updated to include control options for Western Digital® HGST drives. The new options are cap-diag , get-crash-dump , drive-log , purge , and purge-monitor . [r328716]

The dhclient(8) utility has been updated to be more compliant with RFC 2131 by setting the source address field in the IP header to 0 when sending a DHCPREQUEST message to attempt to obtain a previously-assigned IP address. [r330692] (Sponsored by Dell EMC)

The pw(8) utility has been updated to allow the @ and ! characters in the GECOS field. [r330694] (Sponsored by Dell EMC)

The zfsd(8) utility has been updated to work with any type of GEOM provider, including md(4), geli(8), glabel(8), and gstripe(8). [r330733] (Sponsored by Spectra Logic)

The ps(1) utility has been updated to include a jail keyword, which when used will list the name of a jail(8) instead of the numeric ID. [r331471]

The mlx5tool(8) utility has been added, which is used to manage Connect-X 4 and Connect-X 5 devices supported by mlx5io(4). [r331586] (Sponsored by Mellanox Technologies)

The sysctl(8) utility has been updated to support setting an array of values to nodes. Prior to this change, sysctl(8) could only set one value to a node that may return multiple values when queried. [r331603] (Sponsored by Chelsio Communications)

The ifconfig(8) utility has been updated to include a random option, which when used with the ether option, generates a random MAC address for an interface. [r331729]

The efibootmgr(8) utility has been added, which is used to manipulate the EFI boot manager. [r332126] (Sponsored by Netflix)

The etdump(1) utility has been added, which is used to view El Torito boot catalog information. [r332947]

The mount(8) utility has been updated to allow fallback to mount media read-only if an attempt to mount write-protected media read-write fails. This behavior is disabled by default, and can be requested with the new autoro option. [r322753]

The makefs(8) utility has been updated to default the block and fragment sizes to match that of newfs(8), 32K and 4K, respectively. [r332460] (Sponsored by The FreeBSD Foundation)

The pwd_mkdb(8) utility has been updated to emit a notice that legacy database support will be removed effective FreeBSD 12 when the -l flag is used. [r332929] (Sponsored by The FreeBSD Foundation)