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 (SMP) 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(2) was introduced (which is now part of other major BSD systems) 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 (5.0 through 5.2.1 were cut from -CURRENT). 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 (SMP) 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 (KSE). 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 (gmirror), encryption (GBDE and GELI). 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 (HWPMC). 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 (BSM) audit implementation called OpenBSM, which was created by the TrustedBSD Project (based on the BSM implementation found in Apple's open source Darwin) 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 (a memory allocator optimized for parallel computation, which was ported to Firefox 3), 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 (supported since FreeBSD 4.0) 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 (added in FreeBSD 8.2). 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 (bsdinstall), 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 (final release of this branch) 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.

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 (and limited forward) compatibility within the same release generation, this allows users 5+ years of support, with trivial-to-easy upgrading within the release generation.

References

FreeBSD
History of free and open-source software
Lists of operating systems
Software version histories