This is an archive of the discontinued LLVM Phabricator instance.

[libc++][doc] Update the release notes
ClosedPublic

Authored by Mordante on Jul 25 2021, 11:09 AM.

Details

Summary

I had a look at the changes since the last release and updated the
release notes with interesting changes.

If there are more interesting changes, please let me know and I'll
update the patch. Branching will be done the 27th of July. Landing this
patch before the 27th seems unrealistic. I'd like to land it before July
30th. July 30th is the planned release date of 13.0.0-rc1.

Diff Detail

Event Timeline

Mordante created this revision.Jul 25 2021, 11:09 AM
Mordante requested review of this revision.Jul 25 2021, 11:09 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 25 2021, 11:09 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript

More things I'd like to add:

std::filesystem has been implemented for Windows, and the implementation should be on par with libc++'s implementation for other platforms, modulo what's possible on Windows. (Do note that it's disabled by default for MSVC configurations due to missing int128 support, see https://reviews.llvm.org/D91139#2429595 for discussion on the matter; the CI configuration runs with -D_LIBCPP_HAS_NO_INT128 to make it usable in MSVC configurations, but that's not the intended permanent ABI. For MinGW configurations, it's enabled by default and should work without gotchas. I'm not sure how to write this concicsely though...)

Windows is now (again?) a formally supported platform (by having CI for it, for x86_64).

ldionne requested changes to this revision.Jul 26 2021, 5:18 AM

Thanks for doing that!

libcxx/docs/ReleaseNotes.rst
49–66

This shouldn't be under "New features". Either move to API Changes or put directly under "What's new in Libc++".

52

I wouldn't put this under "New Features" either.

57

We have to talk about this, but I was thinking about *not* shipping our incomplete Ranges implementation in LLVM 13. I was thinking about waiting until we have a proper implementation and we can guarantee ABI stability with more confidence.

While we have a decent part of Ranges implemented, some key parts are still missing and I'm not sure we want to ship in that state - most users are just going to get confused about what works and what doesn't.

That wouldn't impact the concepts.

@zoecarver @cjdb

This revision now requires changes to proceed.Jul 26 2021, 5:18 AM

More things I'd like to add:

std::filesystem has been implemented for Windows,

Thanks for the info, I'll add it.

Windows is now (again?) a formally supported platform (by having CI for it, for x86_64).

Yes, it's listed as a supported platform :-)

Mordante updated this revision to Diff 361659.Jul 26 2021, 8:00 AM
Mordante marked 2 inline comments as done.

Addresses most review comments.
Based on @mstorsjo's review comments I noticed the documentation for the
CMake option LIBCXX_ENABLE_FILESYSTEM was incorrect.

Mordante planned changes to this revision.Jul 26 2021, 8:02 AM

Based in the decision for <ranges> the document needs to be updated. When we disable the header by default we can mention how to enable it with a macro.

libcxx/docs/ReleaseNotes.rst
52

I move it to What's new. I don't mind to remove it, but then we should be sure the refactoring didn't accidentally removed an include.

Addresses most review comments.
Based on @mstorsjo's review comments I noticed the documentation for the
CMake option LIBCXX_ENABLE_FILESYSTEM was incorrect.

Thanks! Those bits of this patch look great to me now!

Mordante updated this revision to Diff 362286.Jul 27 2021, 11:01 PM

Remove the ranges as a feature
Document the new cmake option LIBCXX_ENABLE_INCOMPLETE_FEATURES

Mordante updated this revision to Diff 362416.Jul 28 2021, 8:55 AM

Rebased on the LLVM 13 release branch.

ldionne accepted this revision.Jul 28 2021, 12:38 PM
ldionne added a subscriber: tstellar.

LGTM.

@tstellar , can we merge this to release/13.x? It's only updating the release notes with some stuff we forgot to mention previously.

This revision is now accepted and ready to land.Jul 28 2021, 12:38 PM
tstellar accepted this revision.Jul 28 2021, 2:40 PM

Yes, go ahead and merge this to the branch.

Mordante closed this revision.Jul 28 2021, 10:53 PM

It seems Phabricator doesn't see commits to the release branch. The patch has landed as 1d99cadfbc58057a9a1503172439a20aa41b004b.