FreeBSD version history


FreeBSD 1

Released in November 1993. 1.1.5.1 was released in July 1994.

FreeBSD 2

2.0-RELEASE was announced on 22 November 1994. The final release of FreeBSD 2, 2.2.8-RELEASE, was announced on 29 November 1998. FreeBSD 2.0 was the first version of FreeBSD to be claimed legally free of AT&T Unix code with approval of Novell. It was the first version to be widely used at the beginnings of the spread of Internet servers.
2.2.9-RELEASE was released April 1, 2006 as a fully functional April Fools' Day prank.

FreeBSD 3

FreeBSD 3.0-RELEASE was announced on 16 October 1998. The final release, 3.5-RELEASE, was announced on 24 June 2000. FreeBSD 3.0 was the first branch able to support symmetric multiprocessing systems, using a Giant lock and marked the transition from a.out to ELF executables. USB support was first introduced with FreeBSD 3.1, and the first Gigabit network cards were supported in 3.2-RELEASE.

FreeBSD 4

4.0-RELEASE appeared in March 2000 and the last 4-STABLE branch release was 4.11 in January 2005 supported until 31 January 2007. FreeBSD 4 was lauded for its stability, was a favorite operating system for ISPs and web hosting providers during the first dot-com bubble, and is widely regarded as one of the most stable and high-performance operating systems of the whole Unix lineage. Among the new features of FreeBSD 4, kqueue was introduced and Jails, a way of running processes in separate environments.
Version 4.8 was forked by Matt Dillon to create DragonFly BSD.

FreeBSD 5

After almost three years of development, the first 5.0-RELEASE in January 2003 was widely anticipated, featuring support for advanced multiprocessor and application threading, and for the UltraSPARC and IA-64 platforms. The first 5-STABLE release was 5.3. The last release from the 5-STABLE branch was 5.5 in May 2006.
The largest architectural development in FreeBSD 5 was a major change in the low-level kernel locking mechanisms to enable better symmetric multi-processor support. This released much of the kernel from the MP lock, which is sometimes called the Giant lock. More than one process could now execute in kernel mode at the same time. Other major changes included an M:N native threading implementation called Kernel Scheduled Entities. In principle this is similar to Scheduler Activations. Starting with FreeBSD 5.3, KSE was the default threading implementation until it was replaced with a 1:1 implementation in FreeBSD 7.0.
FreeBSD 5 also significantly changed the block I/O layer by implementing the GEOM modular disk I/O request transformation framework contributed by Poul-Henning Kamp. GEOM enables the simple creation of many kinds of functionality, such as mirroring, encryption. This work was supported through sponsorship by DARPA.
While the early versions from the 5.x were not much more than developer previews, with pronounced instability, the 5.4 and 5.5 releases of FreeBSD confirmed the technologies introduced in the FreeBSD 5.x branch had a future in highly stable and high-performing releases.

FreeBSD 6

FreeBSD 6.0 was released on 4 November 2005. The final FreeBSD 6 release was 6.4, on 11 November 2008. These versions extended work on SMP and threading optimization along with more work on advanced 802.11 functionality, TrustedBSD security event auditing, significant network stack performance enhancements, a fully preemptive kernel and support for hardware performance counters. The main accomplishments of these releases include removal of the Giant lock from VFS, implementation of a better-performing optional libthr library with 1:1 threading and the addition of a Basic Security Module audit implementation called OpenBSM, which was created by the TrustedBSD Project and released under a BSD-style license.

FreeBSD 7

FreeBSD 7.0 was released on 27 February 2008. The final FreeBSD 7 release was 7.4, on 24 February 2011. New features included SCTP, UFS journaling, an experimental port of Sun's ZFS file system, GCC4, improved support for the ARM architecture, jemalloc, and major updates and optimizations relating to network, audio, and SMP performance. Benchmarks showed significant performance improvements compared to previous FreeBSD releases as well as Linux. The new ULE scheduler was much improved but a decision was made to ship the 7.0 release with the older 4BSD scheduler, leaving ULE as a kernel compile-time tunable. In FreeBSD 7.1 ULE was the default for the i386 and AMD64 architectures.
DTrace support was integrated in version 7.1, and NetBSD and FreeBSD 7.2 brought support for multi-IPv4/IPv6 jails.
Code supporting the DEC Alpha architecture was removed in FreeBSD 7.0.

FreeBSD 8

FreeBSD 8.0 was officially released on 25 November 2009. FreeBSD 8 was branched from the trunk in August 2009. It features superpages, Xen DomU support, network stack virtualization, stack-smashing protection, TTY layer rewrite, much updated and improved ZFS support, a new USB stack with USB 3.0 and xHCI support added in FreeBSD 8.2, multicast updates including IGMPv3, a rewritten NFS client/server introducing NFSv4, and AES acceleration on supported Intel CPUs. Inclusion of improved device mmap extensions enables implementation of a 64-bit Nvidia display driver for the x86-64 platform. A pluggable congestion control framework, and support for the ability to use DTrace for applications running under Linux emulation were added in FreeBSD 8.3. FreeBSD 8.4, released on 7 June 2013, was the final release from the FreeBSD 8 series.

FreeBSD 9

FreeBSD 9.0 was released on 12 January 2012. Key features of the release include a new installer, UFS journaling, ZFS version 28, userland DTrace, NFSv4-compatible NFS server and client, USB 3.0 support, support for running on the PlayStation 3, Capsicum sandboxing, and LLVM 3.0 in the base system. The kernel and base system could be built with Clang, but FreeBSD 9.0 still used GCC4.2 by default. The PlayStation 4 video game console uses a derived version of FreeBSD 9.0, which Sony Computer Entertainment dubbed "Orbis OS". FreeBSD 9.1 was released on 31 December 2012. FreeBSD 9.2 was released on 30 September 2013. FreeBSD 9.3 was released on 16 July 2014.

FreeBSD 10

On 20 January 2014, the FreeBSD Release Engineering Team announced the availability of FreeBSD 10.0-RELEASE. Key features include the deprecation of GCC in favor of Clang, a new iSCSI implementation, VirtIO drivers for out-of-the-box KVM support, and a FUSE implementation.
;FreeBSD 10.1: Long Term Support Release
FreeBSD 10.1-RELEASE was announced 14 November 2014, and was supported for an extended term until 31 December 2016. The subsequent 10.2-RELEASE reached EoL on the same day.
In October 2017 the 10.4-RELEASE was announced, and support for the 10 series was terminated in October 2018.

FreeBSD 11

On 10 October 2016, the FreeBSD Release Engineering Team announced the availability of FreeBSD 11.0-RELEASE.

FreeBSD 12

FreeBSD 12.0-RELEASE was announced in December 2018.

Version history

The following table presents a version release history for the FreeBSD operating system.
VersionRelease dateSupported untilSignificant changes
1 November 1993
May 1994fix some outstanding bugs from import of 386BSD, addition of some ported applications
July 1994
22 November 1994replace code base with BSD-Lite 4.4, new installer, new boot manager, support for more filesystems, 64-bit offsets for large filesystems, loadable filesystems, imported loadable kernel modules from NetBSD
10 June 1995revamped VM system, full NIS client and server support, transaction TCP support, ISDN support, support for FDDI and Fast Ethernet adapters, multi-lingual documentation, FreeBSD Ports bundled with installation media
19 November 1995
July 1996bug and security fixes, PCI bus probing, addition of some drivers
December 1996bug and security fixes, improvements to installation
February 1997bug and security fixes
March 1997NFSv3, replaced BSD malloc with phkmalloc, Linux emulation with ELF, man section 9 for kernel routines
April 1997Bugfix release to replace 2.2. Update the Adaptec 2940 and Intel EtherExpress Pro drivers, fix CD-ROM package installer.
May 1997NFSv3 made default, virtual FTP hosting
22 October 1997update support for Cyrix and AMD processors, new VGA library
25 March 1998ATAPI floppy drives, improved Linux emulation, new sound driver, new Plug and Play support
22 July 1998FAT32 support, update to PC98 architecture
29 November 1998Dummynet traffic shaping, bridging on multiple interfaces, support use of IDE drives larger than 8GiB
16 October 1998symmetric multiprocessing, CAM SCSI system, ELF executables, secure RPC, ATAPI/IDE CD burner and tape drive support, VESA video modes, Perl 5 replaced Perl 4 in base system, KerberosIV
15 February 1999initial USB device support, Pluggable Authentication Modules
17 May 1999addition of Internet Software Consortium DHCP client to base, expanded USB device support, improved filesystem support
17 September 1999improved USB support, major vinum updates, improvements to IPFW, Advanced power management, Berkeley Packet Filter enabled by default, addition of many drivers
20 December 1999Netgraph, RAID-5 support in vinum, ICMP and other security fixes
24 June 2000substantial vinum update, audio mixer updated, HTTP installation option
14 March 2000addition of jails, IPv6 support and IPsec with KAME, OpenSSH integrated into the base system, new ATA/ATAPI driver, emulator for SVR4 binary files, burncd, USB ethernet adapter support, accept filters, telnet encryption
27 July 2000Kqueue, improved IPsec, expanded DEC Alpha support, support for USB devices in default installation
27 September 2000virtual Ethernet device driver for bridged configurations, ATA100 controller support
21 November 2000basic USB scanner support, USB modem support, bug fixes for buffer overflows, FreeBSD Ports restructured
20 April 2001sound driver updates, TCP bug fixes, kqueue extended to the device layer
20 September 2001detection for new processors, support for Streaming SIMD Extensions, kernel support for smbfs, update to IPv6 stack
29 January 200231 December 2002TCP improvements, Soft updates enabled by default, improved Linux emulation, boot loader updated to boot from filesystems with 16K disk blocks
15 June 2002May 2003update XFree86 to version 4.2.0, driver additions and updates
15 August 2002May 2003fixed ATA-related problems, fix security-related problems
10 October 2002December 2003new USB devices and disk controllers, IPFW version 2
3 April 200331 March 2004basic FireWire and HyperThreading support, in-kernel cryptographic framework imported from OpenBSD, ata driver support for accessing ATA devices as SCSI devices using Common Access Method
28 October 200331 October 2004Physical Address Extensions, IPFW fixes
27 May 2004May 2006USB2 support, added ports/CHANGES and ports/UPDATING to FreeBSD Ports
25 January 200531 January 2007update XFree86 to version 4.4.0, implementation of per-interface polling for network interfaces
14 January 200330 June 2003support for UltraSPARC and IA-64 processors, SMP support via changes to kernel locking, GEOM, Kernel Scheduled Entities, Mandatory Access Control imported from TrustedBSD, background fsck, Bluetooth, ACPI, CardBus, devfs, UFS2 support, support for Universal Disk Format, drivers for Direct Rendering Infrastructure, Pluggable Authentication Modules, remove support for 80386 in default kernel, removal of kernfs and UUCP, traditional BSD games moved from base to FreeBSD Ports, Perl removed from base system, imported rc.d framework from NetBSD, addition of BSDPAN, cdboot boot loader used by default
9 June 2003February 2004experimental support for AMD64, experimental 1:1 and M:N thread libraries for multithreaded processing, experimental Name Service Switch, Physical Address Extensions, GEOM and devfs mandatory, IPv6 support in Linux emulator, experimental ULE scheduler, removed support for Xerox Network Systems, CAM layer support for devices with more than 232 blocks, removed historic BSD boot scripts, update XFree86 to version 4.3.0, start of Danish document translations
9 January 200431 December 2004AMD64 a Tier1 supported architecture, updated swap pager, Protocol Independent Multicast, updates to IPv6, IPSec and Bluetooth, major changes to ata driver, NFSv4 client support, start of Turkish document translation, remove floating point emulation support for i386, new or improved IDE, SATA, and 802.11a/b/g device drivers, experimental support for multithreaded filtering and forwarding of IP traffic
25 February 200431 December 2004bugfix release, improved ATA/IDE and SATA handling
6 November 200431 October 2006ALTQ, multi-threaded and reentrant network and socket subsystems, addition of new debugging framework KDB, dynamic and static linker support for Thread Local Storage, import pf from OpenBSD, binary compatibility interface for native execution of NDIS drivers, replace XFree86 with X.org 6.7, sound card driver reorganization, cryptography enabled by default in base
9 May 200531 October 2006import Common Address Redundancy Protocol from OpenBSD
25 May 200631 May 2008both cores of dual core processors made available for use by default in SMP-enabled kernels
4 November 200531 January 2007experimental support for PowerPC, WPA wireless security, more wireless networking adapter drivers, complete support for 802.11g, 802.11i, 802.1x and WME/WMM, filesystem and direct disk access performance improvements
8 May 200631 May 2008keyboard multiplexer, filesystem stability fixes, automatic configuration for many Bluetooth devices, drivers for ethernet, SAS and SATA RAID controllers
15 January 200731 May 2008support for Xbox architecture, OpenBSM, security event auditing, IPFW packet tagging, freebsd-update, OpenIPMI
18 January 200831 January 2010X.org updated to version 7.3, reimplementation of UnionFS, addition of upgrade command to freebsd-update
28 November 200830 November 2010support for Camellia cipher, boot loader changes, malloc buffer corruption protection, DVD install ISO images for AMD64 and i386
27 February 200830 April 2009ZFS and GPT, reference implementation of SCTP, add support for ARM architecture, support for Intel High Definition Audio, replacing phkmalloc with jemalloc, drop support for DEC Alpha
4 January 200928 February 2011DTrace, ULE scheduler made default scheduler for i386 and AMD64 platforms
4 May 200930 June 2010support for UltraSPARC III processors, transparent use of superpages in virtual memory subsystem, improvements to jail
23 March 201031 March 2012new boot loader gptzfsboot, ZFS updated to version 13, Perl updated to version 5.10, support for VIA Nano processors
24 February 201128 February 2013add support for UltraSPARC IV, IV+, and SPARC64 V processors, IEEE 802.3 full duplex flow control. This is the final release in the 7-STABLE branch.
25 November 200930 November 2010new USB stack, update FreeBSD jails to support modern features, ULE 3.0 scheduler, superpages, NFSv4 support
23 July 201031 July 2012High Availability Storage, IPFW and dummynet improvements, SMP in PowerPC G5 systems, MP-safe MS-DOS filesystem, zfsloader, NFSv4 ACL for UFS and ZFS
24 February 201131 July 2012import V4L into Linux emulator
18 April 201230 April 2014graid replaces ataraid; update ZFS to version 28; DTrace ability on Linux emulated binaries; mod_cc pluggable congestion control framework for TCP/IP stack
7 June 20131 August 2015
12 January 201231 March 2013Userland DTrace, substitute GCC with Clang and LLVM for base system, USB 3.0 support, UFS SoftUpdates+Journal, moving ATA disk drivers to the CAM system, update ZFS to version 28, replaced sysinstall with bsdinstall.
30 December 201231 December 2014Update of sound drivers; improved performance of IPv6 stack; new C++ stack; jail support for devfs, nullfs, and ZFS; sched_ule SMT load balancing improvements
30 September 201331 December 2014ZFS support for LZ4 compression and TRIM; removal of FireWire drivers from GENERIC kernel
16 July 201431 December 2016ZFS support for bookmarks
20 January 201431 January 2015Virtualization improvements ; USB upgrades; use clang and LLVM by default; capsicum; pkgng; remove BIND; add LDNS and Unbound to base system; update ipfilter to 5.1.2; add support for Raspberry Pi, IEEE 802.11s, and FUSE; ZFS on root filesystem; replaced GNU tools with BSD-licensed versions
14 November 201431 December 2016UEFI; UDP-Lite support for IPv4 and IPv6; new filesystem automounting utility; bhyve booting from ZFS; new console driver
13 August 201531 December 2016Update linux compatibility layer to support Centos 6 ports; ZFS performance and reliability improvements; update DRM for multiple X servers support
28 March 201630 April 2018improvements to UEFI boot loader and Linux compatibility; ZFS boot support and root on ZFS for UEFI; CAM Target Layer support for high availability services
3 October 201731 October 2018Full support for eMMC storage; support for Mellanox ConnectX-4 adapters; driver and software updates
10 October 201630 November 2017Improvements for wireless networking; support for the 64-bit ARM architecture
26 July 201730 September 2018Support for Microsoft Hyper-V hypervisor; support for Amazon Elastic File System in Network File System client; ZFS boot configuration utility
28 June 201831 October 2019Meltdown and Spectre fixes; driver and software updates
9 July 201920 September 2020driver and software updates
23 June 202030 September 2021
11 December 201829 February 2020Improved support for Ryzen and Epyc CPUs; Better support for modern AMD/Intel graphic cards; various kernel configuration tweaking
4 November 2019Added BearSSL to base system
27 October 2020
VersionRelease dateSupported untilSignificant changes

Timeline

The timeline shows that the span of a single release generation of FreeBSD lasts around 5 years. Since the FreeBSD project makes effort for binary backward compatibility within the same release generation, this allows users 5+ years of support, with trivial-to-easy upgrading within the release generation.