After a long development and testing phase covering four RC cycles, FreeBSD 14 is now officially available to download and upgrade. FreeBSD 14 brings several noteworthy changes that enhance both functionality and user experience. In this article, we will take a look at some of the key updates of this release.
Table of Contents
FreeBSD 14: New Features
FreeBSD 14 has elevated the root user’s default shell to sh, boasting an array of new features tailored for interactive use. This upgrade brings a fresh and efficient shell experience, enhancing user interactions with the system.
In a significant shift, FreeBSD 14 adopts the Dragonfly Mail Agent as the default Mail Transport Agent (MTA), replacing sendmail. This change streamlines MTA configuration via mailer.conf, offering users a more modern and efficient email handling experience.
Jail receives a boost with the introduction of .include directives in jail.conf files, accompanied by support for filename globbing. This enhancement simplifies jail configuration, giving users more flexibility and control over virtual environments.
The one-time password facility OPIE, is removed from the base system, encouraging users to install the security/opie port if they wish to continue using it. FreeBSD 14 ensures a smooth transition by handling the removal or commenting out of pam_opie and pam_opieaccess from PAM policies during etcupdate.
Locale handling receives a significant upgrade in FreeBSD 14, now aligning with CLDR 41.0 and Unicode 14.0. This ensures users access to the latest internationalization standards, fostering a more inclusive and globally aware computing environment.
This release also introduces the base64 utility, adding a valuable tool to the system’s repertoire. Additionally, the bhyve hypervisor now supports optional TPM passthrough, offering enhanced security features for virtualized environments.
FreeBSD 14 also brings notable improvements to GPU passthrough in bhyve for both AMD and Intel GPUs. While this remains a work in progress, the enhanced configuration paves the way for more efficient and powerful virtualization setups.
One of the impactful changes is that the pw and bsdinstall now create a home directory in /home instead of /usr/home. The symbolic link for /home from /usr/home won’t be created. So, make sure you migrate it properly if upgrading to FreeBSD 14 from 13.
Moreover, several user-focused enhancements include the addition of -z option for timezone conversion in the date utility, colourized output support with –color option in diff, and the removal of the deprecated fmtree utility.
Storage and File systems
FreeBSD 14 introduces advancements in the gconcat utility, allowing the addition of devices to the concatenated device even after its creation. This provides greater flexibility in storage configurations, enhancing the overall user experience. Additionally, the introduction of gunion facilitates tracking changes on read-only disks, making it invaluable for tentative changes such as file system repairs or software upgrades.
To enhance visibility and debugging, vnode-related statistics are now grouped under vfs.vnode, offering a more comprehensive view. This change comes from addressing and resolving issues related to vnode recycling in the generic file system code.
Users can now perform background file system checks using a snapshot on UFS file systems running with journaled soft updates, improving system maintenance efficiency.
The ZFS subsystem receives a significant boost with an upgrade to OpenZFS version 2.2. New features include block cloning, BLAKE3 checksums, and performance improvements such as fully adaptive ARC and I/O prefetch enhancements.
FreeBSD 14 now supports running an NFS server in a VNET jail, expanding the scope of network configurations. Users can benefit from this feature by isolating the jail on its file system, setting the allow.nfsd parameter, and ensuring enforce_statfs is appropriately configured.
NFSv4 mounts see significant improvements, with the client defaulting to the highest minor version supported by the server. Users can override this behaviour using the minorversion mount option. Additionally, the FreeBSD NFS client now supports a 1 Mbyte I/O size, aligning with its Linux counterpart.
A new syskrb5 mount option is introduced, allowing for Kerberized NFSv4.1/4.2 mounts without requiring a Kerberos credential at mount time. This streamlines the authentication process and enhances security.
Networking, boot and hardware updates
The lua-flavored loader now interprets .lua files in loader_conf_files, executing them in a sandbox. This brings greater configurability and extends the utility of loader environment variables.
EC2 instances now boot using UEFI where available, resulting in a substantial reduction in the boot process duration. This enhancement is a boon for users seeking faster boot times on EC2 instances.
The 6to4 interface for IPv6 over IPv4, if_stf, now supports IPv6 Rapid Deployment (6rd) as per RFC5969, expanding IPv6 capabilities on FreeBSD 14.
Layer 3 filtering on if_bridge receives attention, with default settings adjusted to ensure safer operations. This change enhances security and stability in certain virtual configurations.
FreeBSD 14 bids farewell to support for the MIPS architecture, aligning with the evolving landscape of hardware and architecture preferences.
In this release, FreeBSD ceases to provide armv6 artifacts, focusing on more contemporary architectures and optimizing resources.
FreeBSD 14 brings huge improvements, being a major release, making it a perfect upgrade to your running BSD box to improve overall system performance. As always, I encouraged you to explore the comprehensive release notes for an in-depth understanding of the changes and optimizations.
Upgrade to FreeBSD 14
If you are running the FreeBSD 13 series, you can run the below set of commands carefully to upgrade to this version. Make sure to take backups of your files, databases and config files.
A detailed upgrade guide with step-by-step instructions is available here: How to upgrade to FreeBSD14 from 13
freebsd-update fetch install pkg update && pkg upgrade freebsd-update -r 14.0-RELEASE upgrade freebsd-update install reboot freebsd-update install pkg-static install -f pkg pkg update pkg upgrade /usr/sbin/freebsd-update install
For fresh ISO download, you can visit the below page(s) for all the links with respective architectures.
FreeBSD 14 is a milestone release and continue to be supported until November-2025. From shell improvements to advanced virtualization features, FreeBSD 14 caters to the diverse needs of business use cases.
Enjoy the release!