diff --git a/libcxx/docs/ReleaseNotes.rst b/libcxx/docs/ReleaseNotes.rst --- a/libcxx/docs/ReleaseNotes.rst +++ b/libcxx/docs/ReleaseNotes.rst @@ -35,9 +35,24 @@ What's New in Libc++ 17.0.0? ============================ +The main focus of the libc++ team has been to implement new C++20 and C++23 +features. Work on the next C++ version, C++26, has started. + +The C++20 ``format`` library is marked as stable. The library is not complete since +the C++20 ``chrono`` library lacks supports for time zones and some clocks. + +The C++20 spaceship operator is almost complete. It misses ``long double`` and +time zone support. + There is an experimental implementation of the C++23 ``std`` module. See :ref:`ModulesInLibcxx` for more information. +An experimental implementation of the C++20 ``stop_token`` is available. + +Work has started on the C++17 Parallel STL. This feature is experimental, see +:ref:`pstl-status` for the current status. + + Implemented Papers ------------------ - P2520R0 - ``move_iterator`` should be a random access iterator @@ -48,6 +63,10 @@ - P2711R1 - Making Multi-Param Constructors Of views explicit (``join_with_view`` is not done yet) - P2572R1 - ``std::format`` fill character allowances - P2510R3 - Formatting pointers +- P2136R3 - ``invoke_r`` +- P2494R2 - Relaxing range adaptors to allow for move only types +- P2585R0 - Improving default container formatting + Improvements and New Features ----------------------------- @@ -72,6 +91,11 @@ Anything that does not rely on having an actual filesystem available will now work, such as ``std::filesystem::path``, ``std::filesystem::perms`` and similar classes. +- ASAN annotations to detect container overflow have been added to the + containters ``std::deque``, and ``vector``. + +- FreeBSD is now offically supported. + Deprecations and Removals ------------------------- @@ -93,12 +117,12 @@ - C++23: ``atomic``, ``bit``, ``cstdint``, ``cstdlib``, ``cstring``, ``initializer_list``, ``limits``, ``new``, ``stdexcept``, ``system_error``, ``type_traits``, ``typeinfo`` -- ```` no longer includes ```` in any C++ version (it was previously included in C++17 and earlier). + - ```` no longer includes ```` in any C++ version (it was previously included in C++17 and earlier). -- ```` no longer includes ```` in any C++ version (it was previously included in C++20 and earlier). + - ```` no longer includes ```` in any C++ version (it was previously included in C++20 and earlier). -- ````, ````, and ```` no longer include ```` - in any C++ version (it was previously included in C++20 and earlier). + - ````, ````, and ```` no longer include ```` + in any C++ version (it was previously included in C++20 and earlier). - The headers ```` and ```` have been removed, since all the contents have been implemented in namespace ``std`` for at least two releases. @@ -126,6 +150,8 @@ - LWG3631 ``basic_format_arg(T&&) should use remove_cvref_t throughout`` removed support for ``volatile`` qualified formatters. +- The unmaintained Solaris support has been removed. + Upcoming Deprecations and Removals ---------------------------------- @@ -151,9 +177,6 @@ and ```` will be removed in LLVM 18, as all their contents will have been implemented in namespace ``std`` for at least two releases. -API Changes ------------ - ABI Affecting Changes --------------------- diff --git a/libcxx/docs/Status/PSTL.rst b/libcxx/docs/Status/PSTL.rst --- a/libcxx/docs/Status/PSTL.rst +++ b/libcxx/docs/Status/PSTL.rst @@ -1,4 +1,4 @@ -.. pstl-status: +.. _pstl-status: ========================== libc++ Parallel STL Status