develop
π Features
New features and additions
- β¨ Custom stylesheets. (fix #1081) 5fe30c1
- π« Javascript helpers extension. (fix #881) 0f3ecb4
- π generators: Tables for symbols have headers. 788c1ba
- β¨ util: Run_all_tests script. 9b7ec24
- π« lib: Public API for generator registration. (closes #313) 8da09e3
π Fixes
Bug fixes and error corrections
- Hide anchor links when wrapper is not included. d90eae6
- Remove duplicate ellipsis in parameter pack expansion.1 c85be75
- Manual description comes before member lists. (fix #1105) 92491de
- Prevent infinite recursion when extracting non-regular base class (#1132).2 4e7ef04
- Preserve extraction mode when copying members from derived classes (#1120). (Fixes #1119) c406d57
- metadata: Copy impl-defined base docs. (fix #1107) 05f5852
- ast:
- ci: Unify redundant LLVM cache keys.5 (Fixes #981) d629173
π Documentation
Documentation updates and improvements
- reference: Mrdocs comments. (toward: progress toward #1102) b103cba
- Update packages. 5902699
- Split contribute.adoc guide. 302f0a6
- Remove gradients, use solid background, and clean up styles (#1101). 86ce271
π¦οΈ Build
Build system and configuration changes
- bootstrap:
- Remove CMakeUserPresets.json.example.6 b2e4bad
- Slim llvm build.7 34ea190
- Typos in the bootstrap script. 2463633
π§ͺ Tests
Test cases and testing-related changes
- Support multipage golden tests. bf78b1b
- Run_ci_with_act.py script. 8326417
- Output normalization. d7ad1ce
- Check int tests results in ctest. ccd7f71
- TestClang_stdCxx default is C++26. 5527e9c
- --bad is disabled by default. 0dfdb22
π¦ Continuous Integration
Changes related to continuous integration
- Setup danger.js. 6f5f6e9
- Align llvm-sanitizer-config with archive basename. 8b2c3e9
- Add codecov configuration. ed6b3bc
- Update actions to v1.9.1. 36a3b51
- Revert coverage changes from b103cba (#1136). (Fixes #1135) 3462996
- Increase CTest timeout for MSan jobs. 7b2103a
- Gitignore CI node_modules. fdff573
- danger:
- Align report table and add top-files summary. 5429b2e
- Better markdown format. 57e191e
- Map root files into explicit scopes. 71845c8
- Split PR target ci workflows. 240921d
- Adjust large commit threshold. 2cfd081
- Ignore test check for refactor-only PRs. 17b0a57
- Simplify CI naming. 6481fd3
- Correct file delta calculation in reports. 08c46b6
- cpp-matrix: Remove the optimized-debug factor. adb6821
π Revert
Reverted changes to previous versions
- ci: Remove premature roadmap report step. 4763d86
-
Only set IsPackExpansion on the outermost Result type in TypeBuilder's terminal builder functions. β©
-
A non-regular base class can have a member class which is abase class of the former.This fix prevents infinite recursion in this case. β©
-
Canonicalize friend targets to avoid recursion. β©
-
Parent-based include-symbol propagation walked up to the translation unit, causing global symbols to be extracted even when include-symbols were restricted to namespaces. β©
-
Recent PR runs exceeded GitHub Actions cache limits, causing LLVM to be recompiled on every workflow run. This led to hours-long turnaround times to verify changes. As a workaround, the fork workflow was being used to test the PR.This commit simplifies the cache key structure to reduce redundant cache entries:- Add
llvm-os-keyusing container name or runs-on for OS versioning- Makellvm-archive-basenameconditional based on MSan only- Transform cache keys to replace ":" with "-" for safety- Only build instrumented libc++ for MSan where it's requiredMSan requires all code, including libc++ to be instrumented to track initialization state correctly. ASan and UBSan can effectively catch errors without instrumenting dependencies, making custom libc++ builds low-ROI for these sanitizers.Resulting cache key structure:- MSan builds: include compiler, version, and sanitizer type (e.g., llvm-dc4cef8-release-ubuntu-24.04-clang-21-MSan)- All other builds: omit compiler info since ABI is compatible (e.g., llvm-dc4cef8-release-ubuntu-24.04)Non-sanitizer builds, ASan builds, and UBSan builds across gcc/clang versions on the same OS now share a single cache entry, as they produce ABI-compatible LLVM binaries. β© -
The example file is no longer necessary because the real file can be generated with bootstrap.py. Additionally, bootstrap.py generates user presets without extra noise and unused presets. β©
-
Simplify llvm build and build llvm on cache miss instead of website download.- Remove website download/publish steps for LLVM; cache misses now fetch sources and build locally before caching.- Simplifies CI by relying solely on GitHub Actions cache for LLVM artifacts and dropping the external website dependency.- Developers don't need help to update download binaries anymore. The local build became reasonable with the slim llvm build. β©