STL Status Chart
Explanation
This tracks the progress of the microsoft/STL repo. For more info, read the Changelog.
This chart is interactive! Click the legend to show/hide lines.
- 0
C++17 STL features remaining to be implemented. This reached zero when we implemented
<charconv>, C++17's final boss. - C++20 STL features remaining to be implemented.
- C++23 STL features remaining to be implemented.
- C++26 STL features remaining to be implemented.
- LWG issue resolutions remaining to be implemented.
- Open pull requests.
For all lines, fewer is better.
Features and LWG issue resolutions are regularly voted into the Working Paper at WG21 meetings.
We don't count "patch papers" as extra work when one paper adds a feature and another paper modifies that feature before we've implemented it.
This chart weights features equally, instead of weighting by usefulness for users or difficulty for implementers.
Bugs, Issues, Skipped Libcxx Tests
Explanation
- Active "old bugs" in our Microsoft-internal database. We're keeping them active while porting them to GitHub, unless they're discovered to be duplicates or already fixed.
- Open GitHub bugs. That is, only GitHub issues that have bug labels.
- Open GitHub issues. That is, all GitHub issues including bug, performance, throughput, etc. and excluding only cxx20, cxx23, cxx26, and LWG to avoid double-counting.
- Skipped/failing tests in the libcxx test suite. There are many reasons for such tests: STL bugs, test bugs, compiler bugs, missing STL features, missing compiler features, etc. To avoid double-counting, this line excludes missing STL features.
Pull Request Age
Explanation
- The combined age of open pull requests. The unit is PR-months (like kilowatt-hours); for example, 5 PRs that were all opened 2 months ago have a combined age of 10 PR-months.
Monthly Merged PRs
Explanation
For this chart, more is better. It includes merges into any branch and excludes PRs that were closed without being merged, which are rare.
-
Line: How many PRs have been merged over the past month.
This uses a "30 day" sliding window, with some smoothing:
- PRs merged 0 to 20 days ago are weighted at 100%.
- PRs merged 20 to 40 days ago are weighted from 100% to 0%.
- Bars: How many PRs were merged in each calendar month.
Powered by Chart.js.