Releases: shader-slang/slang
Releases Β· shader-slang/slang
v2026.10.2
=== Breaking changes === 8aee8c932 Diagnose non-differentiable `dadd` and `dzero` implementations (#11196) === All changes for this release === 2129fc6cf Fix spurious push constant storage capabilities (#11134) aaa5f89dd Fix crash when ConstantBuffer<T>.Handle is used with spvDescriptorHeapEXT (#11037) (#11211) ea11331b6 Default implicit SPIR-V SER to EXT (#11343) ec8f06e93 Lower bash version requirement (#11411) a621b651a Use clone builder for prelink witness tables (#11208) 2fc25c6e5 Fix installation note for zstd in CONTRIBUTING.md (#11404) 8710c5140 Update zstd installation instructions in CONTRIBUTING.md 59af4744e Update CONTRIBUTING.md to include zstd installation 670f6bfa6 slang-test: Reorder init for disabled LLVM backend (#11391) f8a98ff73 Export replay exception classes (#11332) d63673d50 Wire agentic test suite into nightly + coverage CI (#11380) 30daa50d2 ci/coverage-windows: skip /d1trimfile on coverage builds; sanity-check Cobertura (#11382) b18c0d345 Fix Linux coverage no-GPU runner failures (#11376) d25453d7f Agentic tests: verify-before-commit, prompt hardening, cleanup pass (#11381) d59284fe8 autodiff: require carrying argument for Call in carryNonTrivialDiffSet (#11286) fb51dcf92 Add neural network parameter layout converter (#11314) [BREAKING] 8aee8c932 Diagnose non-differentiable `dadd` and `dzero` implementations (#11196) dab1be19f Add skills for clarity-focused review of changes (#11340) 8b789681d Proper fix for coopvec test failures on CI (#11361)
v2026.9.2
v2026.10.1
=== Breaking changes ===
No breaking changes
=== All changes for this release ===
4cfe59c Make String sized on LLVM (#11094)
b305a4d Fix default ctor synthesis for later member types (#11327)
5e72b40 Fix child and decoration transfer loop in type legalization (#11092)
4753161 Fix the broken CI (#11360)
5377f3e Tests agentic bootstrap (#11221)
9e16a6b Revert DXC cooperative vector test updates (#11354)
0083794 Revert unstable DXC preview version upgrade (#11353)
v2026.10
=== Breaking changes === f8e65c2d3 Add function and branch shader coverage (#11214) 38aaf2e7d Use variadic layer sizes for neural shared memory (#11255) 1d3d07772 Extend shader coverage source metadata (#11177) === All changes for this release === b83f133a1 Bump DXC to v1.10.2605.24 (#11348) bd5e45064 Fix printf in LLVM IR emitter when it is passed structs that are not from MakeStruct (#11159) 095a18a58 Fix and test infinite recursion in LLVM debug data emission (#11108) 29cd3866f Fix command line reference regeneration setup (#11342) c5ede96fb Fix matrix swizzle out argument lowering (#11275) 79ac457f0 Consolidate generic constraint solving in a monolithic worklist (#11210) b6ca5682d Emit macro expansion stack in diagnostics (#6165) (#11116) e4c7947a2 Use VS 2026 for CMake options workflow (#11321) 67d4692d8 Fix inherited associated type hoisting (#11325) be7ab29f2 Update generated design docs (#11322) [BREAKING] f8e65c2d3 Add function and branch shader coverage (#11214) 2e84bc029 ir-layout: don't deref non-literal vector element count; skip unresolved reinterprets (#11290) 4ae6eee33 Language reference: literal expressions (#11217) 9cc1ac7cb reflection: unwrap ModifiedType at API boundary (#11280) 39cebbf01 Add LLM-generated Slang architectural design documentation (#11207) 888fb5daf Enable KHR barycentric features during Vulkan device init (#11298) 74459f665 Remove deprecated SPIRV-Tools optimizer passes (#11312) d50a8340f Add Metal neural cooperative matrix support (#11099) a02423373 Validate VM bytecode operand bounds (#11309) c01b0b63f ci: skip Claude PR review for draft PRs (#11295) 13701f1ff Suppress Clang -Wnontrivial-memcall warnings from vendored imgui (#10858) 37f0f9d15 Support stdin input in slangc (#11305) bd95ee134 Open existential through ModifiedType in member lookup (#11273) 43ec1a308 Tighten CI Git trust and sccache setup (#11302) 28aecc53e Validate repro offsets before loading to prevent out-of-bounds reads (#11250) 9e0acfecc Limit replay stream array decoding (#11256) cdf0bd1a0 Add PR review mode to worktree helper (#11301) 65d2b9e3a Implement SP #039: Add `__func_extension` for flexible custom derivatives (#10827) [BREAKING] 38aaf2e7d Use variadic layer sizes for neural shared memory (#11255) 944da8249 Validate replay blob hashes (#11259) e6f99696b Guard OffsetContainer allocation against overflow and 32-bit offset truncation (#11257) 15291555f Fix spurious W40004 on non-decimal integer literals (#11216 Case A) (#11220) fe5ce5ef6 Fix #11278: out-of-bounds read in getStringLiteralTokenValue (#11281) 73697735e Limit zip uncompressed file size to mitigate decompression bombs (#11258) f9ec8ac29 Fix/git worktree add 2 (#11288) ac9c20bea Guard serialized IR operand indices against out-of-bounds access (#11251) a5cc7ebdf Fix buffer overflow and dead code in RTTI list copyArray (#11239) 3b9d0d627 ci: bump linux-gpu-ci container to v1.6.1 (#11274) 98067e481 Fix submodule sync error (#11283) 18e72e1b6 Fix spurious GL_EXT_texture_shadow_lod requirement for baseline shadow LOD types (#11156) 9c1b6be74 Reject oversized replay strings (#11260) 803a4180b Validate VM bytecode offsets (#11261) 627c6a817 Diagnose non-float matrix element types in SPIR-V entry-point varyings (#11150) a99af6e7f Initialize worktree submodules concurrently (#11269) 9589cd407 Add tmux option to worktree helper (#11268) e35f2870c Add git worktree helper (#11264) fd6aa89a2 Use slang-build skill in agent guidance (#11263) acfb1379f Verify Vulkan SDK checksum in GPU CI image (#11238) 2566c5da5 ci: harden slash command and format workflows against untrusted input (#11241) 184d9aa41 Require fp8 render feature for CUDA tests (#11222) 9b044ad46 Fix SPIR-V void pointer array stride (#11110) a2ad34d7a Enable optional WebGPU development on Linux (#11206) bf714d55b Emit default ray payload access qualifiers for HLSL SM 6.7+ (#11224) 569377024 Language reference: expressions reorganization, main page, operator precedence table (#11194) 4c4e8d388 ci/rtx-remix-nightly: drop ngx_sdk_dlfg from packman pull (#11229) 47ef298bc chore: ignore .claude/scheduled_tasks.lock (#11091) 38411f60f Add Claude local settings and task files to .gitignore 36deb481e ci: bake gdb into linux-gpu-ci container (v1.6.0) (#11219) f4bf8c8ae Enable WGSL ByteAddressBuffer.Load and related buffer access support (#11167) 1bb7cf9f0 Add GL_KHR_shader_subgroup_basic to the SPIR-V branch of sm_6_0 (#11145) [BREAKING] 1d3d07772 Extend shader coverage source metadata (#11177) 423b83fd8 ci/coverage-nightly: add merged + new-renderer reports (#10973) c6d49b8ab Fix slang-test launching problem on WSL (#11212) 6a5ae04d0 linalg: fix implementation of cooperative vector VectorAccumulate (#11213) 704de06f5 Fix WGSL emitter: emit u64 instead of uint64_t for UInt64Type (#11164) 7dd70f15b Add WaveGetWaveIndex builtin (#11192) e89ff95f4 ci_health: detach Queued series from hosted-runner in-use stack (#11205)
v2026.9.1
=== Breaking changes === 7f8147218 Add diagnostics for conflicting enum scope declarations (#11048) === All changes for this release === 4685b35be ci: remove vestigial LLVM cache workflows (#11199) c9b62be4f Fix CMark wasm release package path (#11198) [BREAKING] 7f8147218 Add diagnostics for conflicting enum scope declarations (#11048) 493fa8493 Language reference: enumeration declarations (#11044) b45a09a58 docs: add Lambda Expressions section to the user guide (#11131) 2482ac7fb Package CMark in wasm release libs (#11190) 0dcaeb0f5 ci: add apt.llvm.org repo for versioned clang install (#11189) 22be091d4 Update SPIRV-Tools and SPIRV-Headers to latest versions (#11188) 772097002 Warn when the same variable is passed to aliased out/inout parameters (#11151) 4ce7d9430 Print constructor names as 'TypeName.init' in diagnostics instead of '$init' (#11155) 2c84428b7 Emit visibility-mismatch note when synthesized ctor argument count fails (#11149) 3c7377276 ci: install clang-18 toolchain in LLVM cache workflows (#11186)
v2026.9
=== Breaking changes === No breaking changes === All changes for this release === b5564e703 Print formatting help without arguments (#11180) bdfddd41f Terminate test server when parent exits (#11179) 001a8d9ad Add AGENTS.md for Codex (#11178) cd009fe4a PR review: tighter evidence gate; opus on highest-leverage subagents (#11139) affc18b8f ci-analytics: track GitHub-hosted runner usage against the 20-runner cap (#11143) 1d63c34ea tools/coverage-html: accept llvm-cov JSON as input + Region column (#11084) 28dc4ded1 Allow pointer fields in dyn interface impls for SPIRV (#11093) 88a7d7da8 Add shader coverage host binding metadata (#11080) 5bce8a3f8 Fix autodiff annotation cloning during linking (#11072) db41f433c Warn when synthesized dadd/dzero are empty for custom Differential types (#10921) 9e0c8b9d4 Reject OutputIndices with invalid element type (#10975) b1d4f75e6 Deduplicate SPIR-V annotation instructions (#11114) db2a2811c Print filename and line number when SLANG_ASSERT fail (#11077) 25faf3257 scaler: evict orphan VMs that never went busy (#11120) 5990df489 Fix invalid SPIR-V on descriptor-heap RW structured buffer struct access (#11047) f1c644f11 Detect enumerator overflow in enum declarations (#11121) 091588a28 ci: remove merge_group trigger from CMake Options workflow (#11138) fc1bac973 Reject geometry/mesh output wrappers on the wrong stage (#10974) 56f96f96c Diagnose class type instantiation instead of crashing (#11058) 23d9597af Fix #line directive showing wrong source line in diagnostics (#11059) 4dc6d2f7f Add severity comment to generated rich diagnostic structs (#11123) 9cf28339a [WIP] Add CI workflow to verify each CMake option compiles at its non-default value (#10945) 4656c4841 Diagnose static const global initialized from non-const expression (fixes #8550) (#10925) b7e2aaed9 Warn when shifting a narrow integer type by a non-constant amount (#4868) (#10927) 63207ece8 Downgrade GitHub CPU only instruction set to workaround intermittent failures (#11105) 297ce6035 Avoid dead default-init in legalizeDefUse hoists (#11011) 2ad389a15 Emit [[buffer(n)]] for DescriptorHandle-wrapped buffer parameters on Metal (#11073) b499c0009 Fix SPIR-V layout-sensitive type memoization (#11009) 5f20eb600 Fix return value storage scope for textual backends (#11103) bfd7fb432 [Metal] Enable frame buffer fetch (#10981) fc8fc1655 Fix throwing functions that return an Optional<T> (#11076) f7aa16793 Fix #10871: Mark enum tag type as erroneous when base type is invalid (#10912) 798883656 Fetch git tags in CI build workflow (#11104) bd3806f84 SharedLibrary::loadWithPlatformPath: Use RTLD_LOCAL in dlopen() (#10786) 2b35c15c3 tests: reclaim 18 stale expected-failure entries (#10937) eab26890f Unskip replay tests in CI (#11086) 997a8c33a ci: preserve scale set across scaler restarts to fix runner orphaning (#11089)
v2026.8.1
=== Breaking changes ===
3d19e7456 Fix duplicate diagnostic error codes in slang-diagnostics.lua (#10922)
=== All changes for this release ===
7432fb0e4 Emit torch::kBFloat16 for BFloat16 tensor element type (#11040)
47db8d2d6 Drive fiddle from a stamp file to fix incremental rebuilds (#10972)
b865a0bdd Diagnose constant passed to inout/out parameter instead of ICE (#10970)
9f6db86bc ci: include scaler-linux-sm80plus in update-scaler.sh (#11055)
977dcf52c Suppress misleading cascade for constexpr-via-loop diagnostics (#11023)
6b0234374 Fix outdated SPIRV-Registry links to NonSemantic.Shader.DebugInfo in headers (#11051)
5ead59ffd Add -trace-coverage for gcov-style shader execution coverage (#10886)
b7f3dbb0c Warn when vertex shader output lacks SV_Position (E38052) (#10971)
5e163eb6b Demote 38032 ('no_diff' on differentiable call) to warning (#10968)
461673d3c Add regression test for #6698: getCount on unsized array via entry-point path (#10628)
569eabe41 Include option name in E00062 (unknown command-line value) (#10969)
850ece172 Fix IRFuncType param accessors for attributed function types (#10976)
02a191464 Validate mesh shader entry-point shape (E38047, E38048) (#10977)
80fcdce01 ci: wipe stray actions-runner installs at VM startup (#11041)
a90fb9980 Fix autodiff extension visibility for private members (#10873)
b50d00ed5 Fix outdated SPIRV-Registry links to NonSemantic.Shader.DebugInfo in docs (#11050)
231bfea24 Fix cooperative matrix diagnostic code collision (#11049)
507d3b241 Add CUDA bfloat16 / int8 / uint8 / FP8 cooperative matrix support (#11007)
bdee77106 Diagnose arrays of resource types when targeting WGSL (#10924)
[BREAKING] 3d19e7456 Fix duplicate diagnostic error codes in slang-diagnostics.lua (#10922)
52071d62f ci/coverage-windows: skip tests/autodiff/global-param-hoisting (#10978)
4e25b43bc Add unit tests for secure CRT fallback functions (#10781)
cb89051a0 slang-unit-test: utility unit tests (#10951)
4faaa64f8 Fix std140 float3x3 matrix element stride reported by reflection (#10990)
a82c6bfe4 Make scripts executable on Linux (#11031)
17be1203b Guard against double-add in doesTypeSatisfyConstraintRequirements (#11026)
v2026.8
=== Breaking changes === 0e0154853 Implement tiled 16x16 weight layout for neural cooperative matrix operations (#10830) 5ec0401f5 Disallow mesh output reads (#9788) === All changes for this release === d88cc8fff Update SPIRV-Tools and SPIRV-Headers to latest versions (#11025) 5431bcbf0 Fix failed callable constraint witnesses (#11006) 08d8144a2 Remove a dead-code in HLSL emit (#11022) [BREAKING] 0e0154853 Implement tiled 16x16 weight layout for neural cooperative matrix operations (#10830) 196dde1bd ci: increase slang-test workflow timeouts (#11003) ada2a5afb ci: update stale Windows Actions runners on VM boot (#11001) 6bf54651a Add execution model diagnostic and functional tests (#10863) 4bfb5f546 ci: harden Linux scaler startup (#10995) b60b42e39 Diagnose unresolved lookupWitness post-specialization (#10933) 315ea9f99 Remove dead code in source/slang/ (#10958) bd9dc2eb0 ci: disable test server for CPU-only tier (#10992) 29556cc05 ci: suppress `glslang_disassembleSPIRV` alloc-dealloc-mismatch in nightly sanitizer (#10989) 82f9ed739 Adjust slang-test RPC timeout (#10993) 72e02203d Fix SM6.10 outer product prelude for updated dx/linalg.h ComponentTypeTraits (#10991) 2a48128ca Fix wrong std430 struct member offset in SPIRV emission (#10964) 51429aa21 Fix defer in function with infinite loop (#10954) 3f3479d61 ci: track GPU quota by accelerator type (#10984) 4c834b155 ci: harden SM80Plus scaler (#10986) efaf9aea2 Bump go.opentelemetry.io/otel from 1.39.0 to 1.41.0 in /extras/scaler (#10944) 005a90664 docs: add Discord onboarding steps to CONTRIBUTING.md (#10895) 580d73684 Add resource type lowering pass for the LLVM target (#10982) 53656ef88 Fix createDynamicObject one-argument form for stateless dispatch (#10932) cb3dbfb7f Emit error 33180 for associated-type existential specialization (#10817) 40169b747 Fix ICE when upcasting existential from derived to base interface (#10850) cff97ef70 ci: add narrow Linux SM80Plus GPU tier (#10967) 480fb581b Fix associated type scope tracking for non-let variables (#10823) 3e05a5742 ci: add CPU-only tier and trim CPU-capable tests from T4 jobs (#10941) 60cb8f0a1 Enable unused-variable warning (#10946) e3c1e892e Preserve no_diff in synthesized property accessors (#10874) fe5d800ee Fix missing GL_ARB_texture_cube_map_array extension for TextureCubeArray in GLSL (#10630) dbafa9ad6 Replace ci-gpu-stress-loop.sh with Python rewrite (#10956) f93b70fa2 tools/coverage-html: LCOV β HTML renderer + multi-OS merger (#10948) 05cbe09df Diagnose rgba16float storage texture with read_write access in WGSL (#10926) f089a0dff Fix false-positive error 41403 for GLSL SSBO atomic operations (#10917) b0d4ffe41 Replace DebugCompilationUnit heuristic with IRDebugCompilationUnit IR instruction (#10907) 0eda83556 Diagnose Optional<T> used with resource/opaque types (#8277) (#10923) 4065b5caa Improve diagnostic for initializer list on struct with non-public member (#10915) 8586608af ci/slang-coverage: dump llvm-cov report text as artifact (#10949) d1c0e41e8 Add API to list coopMat/coopVec types and combinations (#10076) 1cb1d481a Add entry-point signature validation in frontend (#10793) [BREAKING] 5ec0401f5 Disallow mesh output reads (#9788)
v2026.7.1
=== Breaking changes === No breaking changes === All changes for this release === 135610cf5 Document the release process in CLAUDE.md (#10903) 01e781772 Update SPIRV-Tools and SPIRV-Headers to latest upstream (#10929) 013aa6394 Add Windows coverage reports to nightly workflow (#10884) 778e26ba5 Add a diagnostic check to warn when special types leak from param groups (#10158) 514fc073e Fix unused variable warnings on Linux (#10936) 1ee8e2fb6 Fix false positives from _CrtDumpMemoryLeaks in MSVC Debug (#10934) cfce571cc Add Metal cooperative matrix (simdgroup_matrix) support (#10902) c1d5bb377 Fix #10872: Include pointee type in SPIR-V builtin variable cache key (#10913) 1c660f0d0 Fix #10909: Add Flat decoration for SubgroupLocalInvocationId in fragment shaders (#10916) fa86b2c9c Fix #10870: Guard null IRNameHintDecoration in mesh shader legalization (#10914) b1505c6e5 Replace operator `&` usage with `__getAddress` (#10280) cb42a1c64 Warn when a generic type parameter shadows an outer generic (#10899) 91f0d8425 Diagnose per-primitive semantics in non-primitive mesh shader outputs (#10633) 66fd47eaa Diagnose geometry shaders missing required output stream or [maxvertexcount] (#10632) 5f0378cbf Fix synthesized methods with return or parameter types that need witness params (#10911) 996ebcbdc Suppress nightly sanitizer TypeLayout UAF findings pending #10893 (#10894) 663c8e866 Add diagnostic note for concrete-to-interface pointer cast (#9962) (#10833)
v2026.7
=== Breaking changes === 51b06a31e Deprecate 'volatile' in Slang 2025 and remove it from Slang 2026 (#10720) 63170f81b Fix missing SPIR-V capability atoms for subgroup operations (#10587) c44f0a2c4 Support CoopVec for SM 6.10 backend (#10723) 45ccce9a3 Refactor auto-diff implementation. (#9808) 72fdc442c Metal: Add metal 4 capability and add required threadgroup size attribute. (#10592) === All changes for this release === 7346ac551 Claude script with multi-agents (#10864) b6c9de1de Fix forward-mode autodiff crash for no_diff scalar in generic vector construct (#10883) 01d9523ee [codex] Diagnose non-copyable interface conformance (#10818) 7d68b4d49 Prevent accidental backward-compatibility breaks in slang.h (#10890) 28b64e5ff Fix GLSL emitter missing bitCast from UInt64/Int64 to Double (#10851) 72dfd8b9c Expand sanitizer nightly to full test coverage (#10824) 1cabae465 Fix memory leak when replay system is statically linked but never used (#10862) be166b013 Fix replay crash on getSessionDescDigest due to null input pointer during playback (#10834) 88ca756ac Update slang-rhi to fix the CI intermittent failure (#10875) e72c2f574 Fix crash in stdlib reference doc generation caused by autodiff func types (#10867) 64efeb9f4 [codex] Fix interface differential pair witness lowering (#10829) 3d34334c3 Fix Setup Vulkan ICD step on read-only /etc/vulkan/icd.d mount (#10868) b7d1a2caa Fix Metal DescriptorHandle as_type cast in dynamic dispatch (#10849) 2bccc27f1 Fix intermittent build failures with SLANG_EMBED_CORE_MODULE=OFF (#10840) cc649df53 Fix crash when entry point param is a struct containing an interface field (#10856) 91378eb8b Fix ICE when using groupshared with interface-typed variables (#10846) fce0e4af0 Fix crash when passing struct with interface field by value (#10767) a4c543563 Emit E50100 for StructuredBuffer<IInterface> without conformances (#10807) 16fe8c5a2 Update documentation for volatile (#10844) 4d2fab161 Fix UBSan findings: null pointer offset, misaligned VM access, integer overflow (#10831) 391d4e8b2 Diagnose Ref<T> as struct field instead of ICE (#10809) 61cc41d0d Add data=[bufferName] test infrastructure (#10015) (#10713) e74c7823e Add functional tests for autodiff generic constraints and PR 9808 features (#10733) 68cb3714e Fix prelinkIR crash from self-referencing Generic subtrees (#10847) 99438b99f Enable tuple dispatch test and add backend coverage (#10172) (#10801) [BREAKING] 51b06a31e Deprecate 'volatile' in Slang 2025 and remove it from Slang 2026 (#10720) 4f35f2cfe Add tests for autodiff and dynamic dispatch intersection (#10734) a593d3a5a Fix pip3 not found in glibc 2.28 release workflow (#10814) 677f3a528 Add [RemovedSince] for scheduled declaration removal (#10816) ee50d090e Add structured environment dump for Windows and macOS CI tests (#10838) 696644f72 Fix segfault in prelinkIR when compiling neural.slang with slang-boot (#10835) 729e59592 Make backend codegen thread-safe across parallel entry point compiles (#10792) 990d07ddc Scope GPU retry to merge queue and revert to github.token (#10820) ae02d56e0 Fix intermittent Vulkan test failures from libEGL_nvidia.so crash (#10825) ddf089446 Diagnose unconstrained generic specialization with existential type (#10263) (#10738) 1de4aea20 Containerize Linux coverage workflow (#10783) ee9587df0 Avoid invalidating caches for synthesized function extensions (#10803) b23633e79 Add aarch64 to glibc 2.28 release workflow (#10777) 541d520fd Fix CI analytics date range filtering (#10795) c01388b55 Fix ICE when using ByteAddressBuffer.Load/Store with interface types (#10768) 5deaea9f2 Fix crash when HitObject::TraceRay payload is an empty struct (#10634) ef3d763e9 Emit E30300 for is/as operators on unrelated concrete types (#10760) f09c7e8f4 Move @SpecConst rate propagation from IR cloning to IR instruction creation (#10694) 41c9c1c2e Fix _getLaneId() for multi-dimensional CUDA thread blocks (#10784) 589c30081 Fix GPU retry dispatch permission in merge queue (#10782) 915942b9d Add diagnostic tests for DerivativeMember and differentiability modifiers (#10731) fce606a1c Add diagnostic tests for custom derivative error paths (#10730) 9c5698e55 Add diagnostic tests for core autodiff error paths (#10729) 2c65849f5 Add diagnostic tests for loop variable mismatch warnings in differentiable functions (#10732) 30ff40c2a Unroll loops in "on-demand" specialized functions (#10763) cfb61464f Quick round of cleanups post-autodiff overhaul (#10718) 4dc75c6c3 Reject non-copyable types in regular interface implementations (#10758) 8f1471194 Fix variadic nominal equality witness construction (#10773) a66c8acb1 Reduce sanitizer CI test server count from 8 to 2 (#10780) 8d31ea363 Add specific diagnostic for circular interface conformance in dynamic dispatch (#10686) 9c4d9a5a8 Fix sanitizer CI false failure when tests crash without ASAN logs (#10778) a59cfda64 Language reference: memory model (#10657) ada36f8c7 Improve diagnostic for This type mismatch after existential type erasure (#10759) 20efa738f Add ASan/UBSan CI job for Linux (#10573) c4a0d11e1 Add regression test for autodiff with generic interface and [BackwardDerivative] (#10737) 71e16d9b6 Deduplicate populate-sccache build steps using reusable workflow (#10710) f18511004 Add diagnostic for parameter without default following one with default (#10626) ef418db85 Add regression test for #6856: returning an expand expression (#10629) [BREAKING] 63170f81b Fix missing SPIR-V capability atoms for subgroup operations (#10587) 199db2116 Add Tuple<IBar, IBar> test coverage for issue #9971 (#10753) 318e16fd5 Move dyn interface inheritance validation into type resolution visitor (#10761) 98e4184cc CI: Add early disk space check to fail fast on low disk (#10715) 350388a24 Detect mid-test GPU crashes for automatic CI retry (#10762) 1bc5412ad Add sudo to clang CI container, bump to v1.0.1 (#10766) 56e13abad Convert IHasDiffTypeInfo interface to __hasDiffTypeInfo custom constraint and witness logic. (#10748) 6ab12651a Fix interface-typed entry point parameter crashes and missing CUDA diagnostic (#10681) edd3e3ab5 Add tests for generics: where clauses, constraints, and default parameters (#10546) b16744477 Remove gcloud SDK setup from LLVM download (~3 min savings on Windows) (#10756) ec88a5171 Add Clang 18 CI container for sanitizer/coverage jobs (#10755) 475a00aa5 Fix legalization of complex struct types with void-typed fields (#10744) 7c8e7cb25 Improve secure CRT portability by detecting and implementing missing definitions (#10442) e999f855c Remove lvalue-ness when casting-to-super interface->interface (#10449) 0a761880a Use OpCompilerDictionary for specialization caching (#10719) cbcc86b07 Track slang compiler library when building neural module (#10662) 4c02a7b89 Update SPIRV submodules (#10740) d35ce5c2a Fix crash in calcCodePointCount when resolving source locations (#10616) (#10664) 89770bfb2 Pin TypeScript version on WASM build to the latest stable version pre-6.0 (#10721) f303d6920 Fix git fetch command for SPIRV-Headers update 4fba8c8fa Implement Conditional<> as an intrinsic (#10736) [BREAKING] c44f0a2c4 Support CoopVec for SM 6.10 backend (#10723) e55e901c0 Support CoopMat for SM 6.10 (#10711) 6a0e15509 Diagnose ref accessors returning interface types in dynamic dispatch (#10697) f6e4a0c51 Reject pointer fields in dynamic dispatch for SPIRV (#10679) 80815507a Fix unreachable E72 diagnostic for invalid type conformance options (#10685) 27ac259cf Diagnose explicit generic specialization with interface type (#10682) [BREAKING] 45ccce9a3 Refactor auto-diff implementation. (#9808) 473afb979 Fix sccache cache misses for macOS and Linux aarch64 builds (#10708) c739e0467 Fix PR project workflow to check org membership instead of team (#10704) 175c91dd4 Fix Windows build race: proxy DLL .pdb collision (#10702) c9a188360 Add workflow to track PR source on project board (#10696) a08858639 Fix Windows build race: proxy DLL .ilk collision (#10698) 95f1f662f Remove slang-binaries module and fetch the official DXC release package (#10684) [BREAKING] 72fdc442c Metal: Add metal 4 capability and add required threadgroup size attribute. (#10592) 88a05d8f2 Fix vkAcquireNextImageKHR() Vulkan validation error in slang-gfx (#10640) b75875b52 Install a pkgconfig file for slang-compiler (#10171) d22eebfb0 Add IR instructions for cooperative matrix/vector ops (#10643) 8963dd545 Fix sanitizer findings: buffer overflows, null pointer UB, and Optional bugs (#10597) 425eced3f disallowed-by-default nested declaration checking (#10456) e27c8f691 Diagnose unpackable types in dynamic dispatch instead of ICE (#10678) d2e8ab565 Split CI analytics into monthly files to avoid GitHub 100MB limit (#10690)