[libcxx-commits] [libcxx] 5b3b76e - [libc++] Create libc++ 24 release notes (#208814)
via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Jul 15 04:55:50 PDT 2026
Author: Louis Dionne
Date: 2026-07-15T07:55:45-04:00
New Revision: 5b3b76e77386b6e91c7627edb3beab64077e379f
URL: https://github.com/llvm/llvm-project/commit/5b3b76e77386b6e91c7627edb3beab64077e379f
DIFF: https://github.com/llvm/llvm-project/commit/5b3b76e77386b6e91c7627edb3beab64077e379f.diff
LOG: [libc++] Create libc++ 24 release notes (#208814)
Now that the LLVM 23 branch has been created, this adds LLVM 24 release
notes. The release notes contain a few TODOs which will be easy to
address in separate PRs.
Added:
libcxx/docs/ReleaseNotes/24.rst
Modified:
libcxx/docs/ReleaseNotes.rst
Removed:
################################################################################
diff --git a/libcxx/docs/ReleaseNotes.rst b/libcxx/docs/ReleaseNotes.rst
index ff35abef61203..37078d83139ab 100644
--- a/libcxx/docs/ReleaseNotes.rst
+++ b/libcxx/docs/ReleaseNotes.rst
@@ -1,4 +1,4 @@
-.. include:: ReleaseNotes/23.rst
+.. include:: ReleaseNotes/24.rst
.. Make sure to reference the non-live release notes in a toctree to avoid Sphinx errors.
.. toctree::
@@ -7,6 +7,7 @@
ReleaseNotes/20
ReleaseNotes/21
ReleaseNotes/22
+ ReleaseNotes/23
.. The release notes are in versioned files, but we make sure to keep publishing
.. them in an unversioned ReleaseNotes.html page for external sites to reference.
diff --git a/libcxx/docs/ReleaseNotes/24.rst b/libcxx/docs/ReleaseNotes/24.rst
new file mode 100644
index 0000000000000..bcac37b8a717f
--- /dev/null
+++ b/libcxx/docs/ReleaseNotes/24.rst
@@ -0,0 +1,74 @@
+===========================
+Libc++ 24.0.0 Release Notes
+===========================
+
+.. contents::
+ :local:
+ :depth: 2
+
+Written by the `Libc++ Team <https://libcxx.llvm.org>`_
+
+.. warning::
+
+ These are in-progress notes for the upcoming libc++ 24.0.0 release.
+ Release notes for previous releases can be found on
+ `the Download Page <https://releases.llvm.org/download.html>`_.
+
+Introduction
+============
+
+This document contains the release notes for the libc++ C++ Standard Library,
+part of the LLVM Compiler Infrastructure, release 24.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 <https://llvm.org/docs/ReleaseNotes.html>`_. All LLVM releases may
+be downloaded from the `LLVM releases web site <https://llvm.org/releases/>`_.
+
+For more information about libc++, please see the `Libc++ Web Site
+<https://libcxx.llvm.org>`_ or the `LLVM Web Site <https://llvm.org>`_.
+
+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 <https://llvm.org/releases/>`_.
+
+What's New in Libc++ 24.0.0?
+==============================
+
+Implemented Papers
+------------------
+
+
+Improvements and New Features
+-----------------------------
+
+
+Deprecations and Removals
+-------------------------
+
+- The ``std::launch::any`` enumerator that was accidentally provided as an extension is now deprecated.
+ It will be removed in LLVM 25.
+
+Potentially breaking changes
+----------------------------
+
+- TODO: In LLVM 23, libc++ dropped a lot of transitive includes in all language modes. This improves compile time significantly,
+ but causes programs which rely on these includes to not compile anymore. The ``_LIBCPP_KEEP_TRANSITIVE_INCLUDES_LLVM23``
+ macro that was provided in LLVM 23 to ease the transition has been removed in this release.
+
+Announcements About Future Releases
+-----------------------------------
+
+
+ABI Affecting Changes
+---------------------
+
+- TODO: ``std::allocator`` is trivially default constructible since LLVM 22. In LLVM 23, the ``_LIBCPP_DEPRECATED_ABI_NON_TRIVIAL_ALLOCATOR``
+ macro was provided as an escape hatch, but it has been removed in LLVM 24 since there was no evidence of it being useful.
+
+- TODO: ``bitset::operator[]`` returns ``bool`` since LLVM 22, fixing a conformance bug. In LLVM 23, the ``_LIBCPP_DEPRECATED_ABI_BITSET_CONST_SUBSCRIPT_RETURN_REF``
+ macro was provided as an escape hatch, but it has been removed in LLVM 24 since there was no evidence of it being useful.
+
+Build System Changes
+--------------------
+
More information about the libcxx-commits
mailing list