Linux and glibc API changes

As The Linux Programming Interface went to press in August 2010, it was up to date with the then current versions of the Linux kernel (2.6.35), glibc (2.12), and the POSIX.1/Single UNIX Standard (POSIX.1-2008/SUSv4).

Because the developers of both the Linux kernel and glibc are committed to maintaining ABI compatibility, virtually all of the details provided in TLPI should remain accurate in the future. However, (a few) new features are added to the kernel and glibc with each release. As each new release of the Linux kernel and glibc occurs, this page will attempt to note new interface features that are relevant to the subject area of the book. In addition, this page provides links to information about subsequent updates to the POSIX/SUS standard.



Linux kernel API changes

Linux 4.15 (Not yet released)

API changes include the following:

See also: LWN articles on the kernel 4.15 merge window (1, 2) and the Kernel Newbies kernel 4.15 summary.

Linux 4.14 (12 Nov 2017)

API changes include the following:

See also: LWN articles on the kernel 4.14 merge window (1, 2) and the Kernel Newbies kernel 4.14 summary.

Linux 4.13 (3 Sep 2017)

API changes include the following:

See also: LWN articles on the kernel 4.13 merge window (1, 2) and the Kernel Newbies kernel 4.13 summary.

Linux 4.12 (2 Jul 2017)

API changes include the following:

See also: LWN articles on the kernel 4.12 merge window (1, 2, 3) and the Kernel Newbies kernel 4.12 summary.

Linux 4.11 (30 April 2017)

API changes include the following:

See also: LWN articles on the kernel 4.11 merge window (1, 2, 3) and the Kernel Newbies kernel 4.11 summary.

Linux 4.10 (19 Feb 2017)

API changes include the following:

See also: LWN articles on the kernel 4.10 merge window (1, 2, 3) and the Kernel Newbies kernel 4.10 summary.

Linux 4.9 (11 Dec 2016)

API changes include the following:

See also: LWN articles on the kernel 4.9 merge window (1, 2, 3) and the Kernel Newbies kernel 4.9 summary.

Linux 4.8 (2 Oct 2016)

API changes include the following:

See also: LWN articles on the kernel 4.8 merge window (1, 2, 3) and the Kernel Newbies kernel 4.8 summary.

Linux 4.7 (24 July 2016)

API changes include the following:

See also: LWN articles on the kernel 4.7 merge window (1, 2, 3) and the Kernel Newbies kernel 4.7 summary.

Linux 4.6 (15 May 2016)

API changes include the following:

See also: LWN articles on the kernel 4.6 merge window (1, 2, 3) and the Kernel Newbies kernel 4.6 summary.

Linux 4.5 (14 Mar 2016)

API changes include the following:

See also: LWN articles on the kernel 4.5 merge window (1, 2, 3) and the Kernel Newbies kernel 4.5 summary.

Linux 4.4 (10 Jan 2016)

API changes include the following:

See also: LWN articles on the kernel 4.4 merge window (1, 2) and the Kernel Newbies kernel 4.4 summary.

Linux 4.3 (1 Nov 2015)

API changes include the following:

See also: LWN articles on the kernel 4.3 merge window (1, 2, 3) and the Kernel Newbies kernel 4.3 summary.

Linux 4.2 (30 Aug 2015)

API changes include the following:

See also: LWN articles on the kernel 4.2 merge window (1, 2, 3) and the Kernel Newbies kernel 4.2 summary.

Linux 4.1 (21 June 2015)

API changes include the following:

See also: LWN articles on the kernel 4.1 merge window (1, 2, 3) and the Kernel Newbies kernel 4.1 summary.

Linux 4.0 (12 April 2015)

API changes include the following:

See also: LWN articles on the kernel 4.0 merge window (1, 2, 3) and the Kernel Newbies kernel 4.0 summary.

Linux 3.19 (9 Feb 2015)

API changes include the following:

See also: LWN articles on the kernel 3.19 merge window (1, 2, 3) and the Kernel Newbies kernel 3.19 summary.

Linux 3.18 (7 December 2014)

API changes include the following:

See also: LWN articles on the kernel 3.18 merge window (1, 2, 3) and the Kernel Newbies kernel 3.18 summary.

Linux 3.17 (5 October 2014)

API changes include the following:

See also: LWN articles on the kernel 3.17 merge window (1, 2, 3) and the Kernel Newbies kernel 3.17 summary.

Linux 3.16 (3 August 2014)

API changes include the following:

See also: LWN articles on the kernel 3.16 merge window (1, 2, 3) and the Kernel Newbies kernel 3.16 summary.

Linux 3.15 (8 Jun 2014)

API changes include the following:

See also: LWN articles on the kernel 3.15 merge window (1, 2) and the Kernel Newbies kernel 3.15 summary.

Linux 3.14 (31 Mar 2014)

API changes include the following:

See also: LWN articles on the kernel 3.14 merge window (1, 2, 3) and the Kernel Newbies kernel 3.14 summary.

Linux 3.13 (20 Jan 2014)

API changes include the following:

See also: LWN articles on the kernel 3.13 merge window (1, 2, 3) and the Kernel Newbies kernel 3.13 summary.

Linux 3.12 (3 Nov 2013)

API changes include the following:

See also: LWN articles on the kernel 3.12 merge window (1, 2, 3) and the Kernel Newbies kernel 3.12 summary.

Linux 3.11 (2 Sep 2013)

API changes include the following:

See also: LWN articles on the kernel 3.11 merge window (1, 2, 3) and the Kernel Newbies kernel 3.11 summary.

Linux 3.10 (30 Jun 2013)

API changes include the following:

See also: LWN articles on the kernel 3.10 merge window (1, 2, 3) and the Kernel Newbies kernel 3.10 summary.

Linux 3.9 (29 Apr 2013)

API changes include the following:

See also: LWN articles on the kernel 3.9 merge window (1, 2, 3) and the Kernel Newbies kernel 3.9 summary.

Linux 3.8 (19 Feb 2013)

API changes include the following:

See also: LWN articles on the kernel 3.8 merge window (1, 2) and the Kernel Newbies kernel 3.8 summary.

Linux 3.7 (11 Dec 2012)

API changes include the following:

See also: LWN articles on the kernel 3.7 merge window (1, 2, 3) and the Kernel Newbies kernel 3.7 summary.

Linux 3.6 (1 Oct 2012)

API changes include the following:

See also: LWN articles on the kernel 3.6 merge window (1, 2, 3) and the Kernel Newbies kernel 3.6 summary.

Linux 3.5 (21 Jul 2012)

API changes include the following:

See also: LWN articles on the kernel 3.5 merge window (1, 2, 3) and the Kernel Newbies kernel 3.5 summary.

Linux 3.4 (21 May 2012)

API changes include the following:

See also: LWN articles on the kernel 3.4 merge window (1, 2, 3) and the Kernel Newbies kernel 3.4 summary.

Linux 3.3 (19 Mar 2012)

API changes include the following:

See also: LWN articles on the kernel 3.3 merge window (1, 2) and the Kernel Newbies kernel 3.3 summary.

Linux 3.2 (5 Jan 2012)

API changes include the following:

See also: LWN articles on the kernel 3.2 merge window (1, 2) and the Kernel Newbies kernel 3.2 summary.

Linux 3.1 (24 Oct 2011)

API changes include the following:

See also: LWN articles on the kernel 3.1 merge window (1, 2) and the Kernel Newbies kernel 3.1 summary.

Linux 3.0 (?) (22 Jul 2011)

API changes include the following:

See also: LWN articles on the kernel 3.0 merge window (1, 2) and the Kernel Newbies kernel 3.0 summary.

Linux 2.6.39 (19 May 2011)

API changes include the following:

See also: LWN articles on the kernel 2.6.39 merge window (1, 2, 3) and the Kernel Newbies kernel 2.6.39 summary.

Linux 2.6.38 (15 Mar 2011)

API changes include the following:

See also: LWN articles on the kernel 2.6.38 merge window (1, 2) and the Kernel Newbies kernel 2.6.38 summary.

Linux 2.6.37 (5 Jan 2011)

API changes include the following:

See also: LWN articles on the kernel 2.6.37 merge window (1, 2) and the Kernel Newbies kernel 2.6.37 summary.

Linux 2.6.36 (20 Oct 2010)

API changes include the following:

See also: LWN articles on the kernel 2.6.36 merge window (1, 2) and the Kernel Newbies kernel 2.6.36 summary.


glibc API changes

glibc 2.27 (Not yet released)

API changes include the following:

glibc 2.26 (2 Aug 2017)

API changes include the following:

glibc 2.25 (5 Feb 2017)

API changes include the following:

glibc 2.24 (2 Aug 2016)

API changes include the following:

glibc 2.23 (18 Feb 2016)

API changes include the following:

glibc 2.22 (5 Aug 2015)

API changes include the following:

glibc 2.21 (6 Feb 2015)

No API changes (other than simple wrappers for recently added Linux system calls).

glibc 2.20 (7 Sep 2014)

Note: the minimum Linux kernel version to run with this and later glibc versions is Linux 2.6.32.

API changes include the following:

glibc 2.19 (7 Feb 2014)

API changes include the following:

glibc 2.18 (10 Aug 2013)

API changes include the following:

glibc 2.17 (25 Dec 2012)

Note: the minimum Linux kernel version to run with this and later glibc versions is Linux 2.6.16.

API changes include the following:

glibc 2.16 (30 Jun 2012)

Note: this and subsequent glibc versions are not expected to work with any Linux kernel less than version 2.6.

API changes include the following:

glibc 2.15 (tagged 25 Dec 2011)

API changes include the following:

glibc 2.14 (tagged 31 May 2011)

No API changes (other than simple wrappers for recently added Linux system calls).

glibc 2.13 (tagged 17 Jan 2011)

API changes include the following:


POSIX/Single UNIX Specification updates

Since the last major release of the POSIX/SUS standard in 2008, there have been some Technical Corrigenda—essentially bug fix releases to the standard.

POSIX.1-2008 Technical Corrigendum 3 (in progress)

Work on POSIX.1-2008 TC 3 is in progress.

The issues tagged for TC 3 can be found here.

POSIX.1-2008 Technical Corrigendum 2 (POSIX.1-2016)

Work on POSIX.1-2008 TC 2 resulted in the release of POSIX.1-2016. The Technical Corrigendum 2 can be found here.

The issues tagged for TC 2 can be found here.

POSIX.1-2008 Technical Corrigendum 1 (POSIX.1-2013)

Work on POSIX.1-2008 TC 1 resulted in the release of POSIX.1-2013. The Technical Corrigendum 1 can be found here.

The issues tagged for TC 1 can be found here.