Libc++ 20.0.0 (In-Progress) Release Notes

Written by the Libc++ Team

Warning

These are in-progress notes for the upcoming libc++ 20.0.0 release. Release notes for previous releases can be found on the Download Page.

Introduction

This document contains the release notes for the libc++ C++ Standard Library, part of the LLVM Compiler Infrastructure, release 20.0.0. Here we describe the status of libc++ in some detail, including major improvements from the previous release and new feature work. For the general LLVM release notes, see the LLVM documentation. All LLVM releases may be downloaded from the LLVM releases web site.

For more information about libc++, please see the Libc++ Web Site or the LLVM Web Site.

Note that if you are reading this file from a Git checkout or the main Libc++ web page, this document applies to the next release, not the current one. To see the release notes for a specific release, please see the releases page.

What’s New in Libc++ 20.0.0?

Implemented Papers

  • TODO

Improvements and New Features

  • TODO

Deprecations and Removals

  • TODO: The LIBCXX_ENABLE_ASSERTIONS CMake variable and the _LIBCPP_ENABLE_ASSERTIONS macro that were used to enable the safe mode will be removed in LLVM 20.

  • TODO: The C++20 synchronization library will be removed entirely in language modes prior to C++20 in LLVM 20.

  • TODO: The relational operators for std::chrono::weekday will be removed entirely, and the _LIBCPP_ENABLE_REMOVED_WEEKDAY_RELATIONAL_OPERATORS macro that was used to re-enable this extension will be ignored in LLVM 20.

Upcoming Deprecations and Removals

LLVM 21

  • TODO

ABI Affecting Changes

  • TODO

Build System Changes

  • TODO