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 6.19 (Not yet released)

API changes include the following:

See also: LWN articles on the kernel 6.19 merge window (...) and the Kernel Newbies kernel 6.19 summary.

Linux 6.18 (30 November 2025)

API changes include the following:

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

Linux 6.17 (28 September 2025)

API changes include the following:

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

Linux 6.16 (Not yet released)

API changes include the following:

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

Linux 6.15 (25 May 2025)

API changes include the following:

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

Linux 6.14 (24 March 2025)

API changes include the following:

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

Linux 6.13 (19 January 2025)

API changes include the following:

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

Linux 6.12 (17 November 2024)

API changes include the following:

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

Linux 6.11 (15 September 2024)

API changes include the following:

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

Linux 6.10 (14 July 2024)

API changes include the following:

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

Linux 6.9 (12 May 2024)

API changes include the following:

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

Linux 6.8 (10 March 2024)

API changes include the following:

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

Linux 6.7 (7 January 2024)

API changes include the following:

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

Linux 6.6 (29 October 2023)

API changes include the following:

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

Linux 6.5 (27 August 2023)

API changes include the following:

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

Linux 6.4 (25 June 2023)

API changes include the following:

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

Linux 6.3 (23 April 2023)

API changes include the following:

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

Linux 6.2 (19 February 2023)

API changes include the following:

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

Linux 6.1 (11 December 2022)

API changes include the following:

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

Linux 6.0 (2 October 2022)

API changes include the following:

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

Linux 5.19 (31 July 2022)

API changes include the following:

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

Linux 5.18 (22 May 2022)

API changes include the following:

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

Linux 5.17 (20 March 2022)

API changes include the following:

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

Linux 5.16 (9 January 2022)

API changes include the following:

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

Linux 5.15 (31 October 2021)

API changes include the following:

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

Linux 5.14 (29 August 2021)

API changes include the following:

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

Linux 5.13 (27 June 2021)

API changes include the following:

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

Linux 5.12 (25 April 2021)

API changes include the following:

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

Linux 5.11 (14 February 2021)

API changes include the following:

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

Linux 5.10 (13 December 2020)

API changes include the following:

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

Linux 5.9 (11 October 2020)

API changes include the following:

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

Linux 5.8 (2 August 2020)

API changes include the following:

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

Linux 5.7 (31 May 2020)

API changes include the following:

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

Linux 5.6 (29 March 2020)

API changes include the following:

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

Linux 5.5 (26 January 2020)

API changes include the following:

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

Linux 5.4 (25 November 2019)

API changes include the following:

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

Linux 5.3 (15 September 2019)

API changes include the following:

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

Linux 5.2 (7 July 2019)

API changes include the following:

<-- FIXME The handling of /proc/sys/vm/overcommit_ratio == 0 (deny "obvious" overcommits) changed. Now, an obvious overcommit is simply one whose size exceeds [swap-size + RAM-size]. commit 8c7829b04c523cdc732cb77f59f03320e09f3386 Author: Johannes Weiner Date: Mon May 13 17:21:50 2019 -0700 mm: fix false-positive OVERCOMMIT_GUESS failures -->

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

Linux 5.1 (5 May 2019)

API changes include the following:

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

Linux 5.0 (3 March 2019)

API changes include the following:

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

Linux 4.20 (23 December 2018)

API changes include the following:

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

Linux 4.19 (22 October 2018)

API changes include the following:

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

Linux 4.18 (12 August 2018)

API changes include the following:

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

Linux 4.17 (3 June 2018)

API changes include the following:

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

Linux 4.16 (1 April 2018)

API changes include the following:

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

Linux 4.15 (28 January 2018)

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 November 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 September 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 July 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 February 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 December 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 October 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 March 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 January 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 November 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 August 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 February 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 June 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 March 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 January 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 November 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 September 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 June 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 April 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 February 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 December 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 October 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 July 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 March 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 January 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 October 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 March 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 January 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 October 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.43 (Not yet released)

API changes include the following:

glibc 2.42 (28 July 2025)

API changes include the following:

glibc 2.41 (28 January 2025)

API changes include the following:

glibc 2.40 (21 July 2024)

API changes include the following:

glibc 2.39 (31 January 2024)

API changes include the following:

glibc 2.38 (31 July 2023)

API changes include the following:

glibc 2.37 (31 January 2023)

API changes include the following:

glibc 2.36 (30 July 2022)

API changes include the following:

glibc 2.35 (3 February 2022)

API changes include the following:

glibc 2.34 (2 August 2021)

API changes include the following:

glibc 2.33 (1 February 2021)

API changes include the following:

glibc 2.32 (5 August 2020)

API changes include the following:

glibc 2.31 (1 February 2020)

API changes include the following:

glibc 2.30 (1 August 2019)

API changes include the following:

Other changes include the following:

glibc 2.29 (31 January 2019)

API changes include the following:

glibc 2.28 (1 August 2018)

API changes include the following:

glibc 2.27 (1 February 2018)

API changes include the following:

glibc 2.26 (2 August 2017)

API changes include the following:

glibc 2.25 (5 February 2017)

API changes include the following:

glibc 2.24 (2 August 2016)

API changes include the following:

glibc 2.23 (18 February 2016)

API changes include the following:

glibc 2.22 (5 August 2015)

API changes include the following:

glibc 2.21 (6 February 2015)

The obsolete sigvec() function is removed.

glibc 2.20 (7 September 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 February 2014)

API changes include the following:

glibc 2.18 (10 August 2013)

API changes include the following:

glibc 2.17 (25 December 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 June 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 December 2011)

API changes include the following:

glibc 2.14 (tagged 31 May 2011)

API changes include the following:

glibc 2.13 (tagged 17 January 2011)

API changes include the following:


POSIX/Single UNIX Specification

Since the last major release of the POSIX/SUS standard (Issue 7) in 2008, there have been some Technical Corrigenda—essentially bug fix releases to the standard. In addition, work proceeds on the next release (Issue 8).

The Austin Group Defect Tracker can be found here.

Issues marked for the next POSIX release (in progress)

The issues tagged for the next release of the standard (Issue 9) can be found here here.

POSIX.1-2024 Technical Corrigendum 1 (in progress)

Work on POSIX.1-2024 Technical Corrigendum 1 is in progress.

The issues tagged for TC 1 can be found here.

POSIX.1-2024

The issues tagged for POSIX.1-2024 (Issue 8, released in June 2024) can be found here here.

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

Work on POSIX.1-2008 Technical Corrigendum 3 is in progress.

The issues tagged for TC 3 can be found here.

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

Work on POSIX.1-2008 Technical Corrigendum 2 was completed in 2016. TC 2 can be found here.

The issues tagged for TC 2 can be found here.

POSIX.1-2008 Technical Corrigendum 1

Work on POSIX.1-2008 Technical Corrigendum 1 was completed in 2013. TC 1 can be found here.

The issues tagged for TC 1 can be found here.