Changelog
- 6801143: Sync bootstrap with host compiler (#1168) (@marcauberer)
- 51e6969: Add smoke tests for Interface and Struct bootstrap model types (#1169) (@marcauberer)
- 304d832: Add type-erased
Anytype to the standard library (#1170) (@marcauberer) - 09ab100: Replace reinterpret_cast with llvm::cast where possible (#1171) (@marcauberer)
- 563715c: Introduce offsetof builtin (#1172) (@marcauberer)
- 54f2858: Bump zensical from 0.0.43 to 0.0.44 in /docs (#1174) (@dependabot[bot])
- b39da71: Add spice-contribute skill for GitHub contribution workflow (#1175) (@marcauberer)
- 5f67c7a: Owning Lambda wrapper + unified lambda calling convention (#1173) (#1176) (@marcauberer)
- 3ccccd1: Upgrade to CLI11 2.6.2 (#1177) (@marcauberer)
- 8c99096: Add dependencies label automatically (#1178) (@marcauberer)
- cc8e135: Use helper to check if copy ctor exists (#1179) (@marcauberer)
- 0a42c0e: Add C/C++ interoperability tutorial to documentation (#1181) (@marcauberer)
- d5ea59e: Add bootstrap AstVisitor concrete implementation and smoke test (#1182) (@marcauberer)
- f38be96: Add std library reference doc generator (#1183) (@marcauberer)
- a820863: Add missing doc comments and time complexity to std containers (#1184) (@marcauberer)
- 44ba568: Document public API across the core standard library (#1185) (@marcauberer)
- 55b50e9: Add interfaces documentation page (#1186) (@marcauberer)
- 36c0b5a: Fix factual errors in enums, attributes and declaration-qualifiers docs (#1187) (@marcauberer)
- 402584e: Fix minor issues in threads and operator-overloading docs (#1188) (@marcauberer)
- 1d61a95: Expand seven thin documentation pages (#1189) (@marcauberer)
- fe661b8: Migrate CLI parser to Lambda fields and synthesize their copy ctor (#1180) (@marcauberer)
- d283d29: Replace deprecated ccache-action with manual install and cache (#1190) (@marcauberer)
- 34d0a8e: Skip LLVM clone on cache hit and always save ccache (#1191) (@marcauberer)
- ee7845c: Bump alpine from 3.23.4 to 3.24.0 (#1192) (@dependabot[bot])
- ff47c87: Fix CI: always clone LLVM before checking cache (#1193) (@marcauberer)
- 4e5223a: Add typename builtin returning the type name as string (#1194) (@marcauberer)
- bbab863: Add comprehensive Coding Style Guide for contributors and AI agents (#1195) (@marcauberer)
- 7f4937f: Move Coding Style Guide under Contributing in docs nav (#1196) (@marcauberer)
- 6e9fb70: Add Zensical TOML config and retarget std-docs nav generator (#1197) (@marcauberer)
- 090d94c: Use GoogleTest as git submodule instead of FetchContent (#1198) (@marcauberer)
- 19f58be: Split CSV/JSON/XML std modules into separate parser and serializer files (#1199) (@marcauberer)
- df1c527: Enhance documentation front page design (#1200) (@marcauberer)
- fbdeb8d: Bump zensical from 0.0.44 to 0.0.45 in /docs (#1203) (@dependabot[bot])
- 4fc8229: Inherit stdio when running compiled Spice binaries (#1204) (@marcauberer)
- a8e3a2f: Disallow implicit composed-base upcasts; require explicit cast (#1205) (@marcauberer)
- d4ae7f2: Emit vtables/type infos with weak ODR linkage for MachO compatibility (#1206) (@marcauberer)
- 35379f9: Wire up accept() dispatch and add ASTVisualizer to bootstrap (#1202) (@marcauberer)
- 4874b04: Rearrange docs home feature cards into 3x2 grid and fix mobile padding (#1208) (@marcauberer)
- 4ab2beb: Add std/math constants and a deterministic seedable RNG (#1209) (@marcauberer)
- 1599614: Add macOS x86_64 release build (#1210) (@marcauberer)
- d6f3538: Upgrade CI runners to Ubuntu 26.04 (#1211) (@marcauberer)
- dc32f95: Prefer explicitly declared overloads over generic substitutions (#1213) (@marcauberer)
- 818c417: Add generic value constructor to std/type/any (#1214) (@marcauberer)
- edfc619: Bump alpine from 3.24.0 to 3.24.1 (#1216) (@dependabot[bot])
- 7181ee9: Upgrade to LLVM 22.1.8 (#1217) (@marcauberer)
- d18de21: Add macos-amd64 reference files for darwin x86_64 (#1215) (@marcauberer)
- e860ccf: Rework bootstrap ASTVisualizer around a generic buildNode + add IASTNode.getCodeLoc (#1212) (@marcauberer)
- 309a800: Add bootstrap SaveAndRestore tests and fix the port (#1218) (@marcauberer)
- b617ad4: Run the test suite in parallel via gtest-parallel (#1220) (@marcauberer)
- 17c55c0: Add forward declarations for structs and interfaces (#1219) (@marcauberer)
- acbcf96: Skip fibonacci-threaded benchmark test on GitHub Actions (#1221) (@marcauberer)
- 107d58c: Bump actions/checkout from 6 to 7 in /.github/workflows (#1222) (@dependabot[bot])
- 70ebe41: Update WinGet Releaser action name (#1223) (@marcauberer)
- 03b0974: Fix FileUtilTest flakiness under parallel test execution (#1224) (@marcauberer)
- ccce334: Replace CLAUDE.md with symlink to AGENTS.md (#1225) (@marcauberer)
- 288f8c5: Add manual Valgrind leak-check workflow (#868) (@marcauberer)
- bbce740: Introduce compile cache (#1107) (@marcauberer)
- 7270d95: Bump actions/cache from 5 to 6 in /.github/workflows (#1226) (@dependabot[bot])
- 51ad872: Replace platform-specific helper scripts with Python equivalents (#1227) (@marcauberer)
- 47b7774: Decouple LLVM IR state from semantic model objects (#1228) (@marcauberer)
- a03cd5c: Constify Function* in irgenerator (#1229) (@marcauberer)
- fe59416: Fix ccache misses caused by global build-info compile definitions (#1230) (@marcauberer)
- 74b242f: Move lambda-capture param annotation from IRGenerator to TypeChecker (#1231) (@marcauberer)
- c3da972: Update multithreading spec to match current Thread/Mutex API (#1233) (@marcauberer)
- 501da4d: Constify SymbolTableEntry* throughout the IRGenerator (#1232) (@marcauberer)
- a5430d6: Add post-TypeChecker annotation verifier (debug builds only) (#1234) (@marcauberer)
- 3e4fdaf: Fix macOS ccache cache directory in CI (#1235) (@marcauberer)
- ffeb2d8: Fix PostTypeCheckingVerifier: correctly handle generics, dead branches, builtins, and enum items (@marcauberer)
What to do next?
- Install Spice
- Visit www.spicelang.com to test the new features