v2026.7
·
366 commits
to master
since this release
=== 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)