Skip to content

Releases: shader-slang/slang

v2026.14.1

Choose a tag to compare

@github-actions github-actions released this 30 Jul 06:48
7c58a32
=== Breaking changes ===
15ada68aa Don't re-export primary-file `using namespace` through import (#11450)

=== All changes for this release ===
7c58a326b Add Metal support for printf (#12250)
6462d7d2f Update tmux title with branch name (#12272)
3fdebf511 [Metal] Fix RayQuery TriangleFrontFace emission (#12142)
4701a1407 Fix #12220: correct SPIR-V DebugEntryPoint command line (#12243)
eaab736fd fix: Allow specialization-constant [numthreads] with compute derivative groups (take 2) (#12207)
71a3f7e71 Fix #9403: emit compute entry-point wrappers as prototypes in -target hpp (#12152)
1eeb3b29d Fix #12237: legalize bool switch condition for SPIR-V (#12254)
6dba5d212 Fix #12226: emit descriptor-heap ConstantBuffer as a uniform-buffer descriptor (#12256)
ea711ddcb Improve test cases to pass for different optimization levels (#12253)
ae363b754 Fix #12240: emit 64-bit OpSwitch case literals at the selector width (#12251)
dd6e011e5 Add size/alignment info to JSON reflection for every type layout (#12225)
335d24689 Forward -Xspirv-opt passthrough args to the SPIRV-Tools optimizer (#12206)
15863db48 reflection-json: emit resultType for typed buffers (#12228)
f282bdf9c Fix #12212: fail slang-capability-generator on capdef errors (#12217)
70462843c Add `-debug-info-include-source` to embed source in SPIR-V independently of `-g` level (#12202)
575c68ad8 Skip autodiff finalization passes for modules with no autodiff IR (#11476)
a4168d47c Initialize denormal mode option values (#12229)
1e0b3a441 Exclude FIDDLE headers from GCC PCH (#12233)
926f93ed1 Remove parent traversal from internal includes (#12216)
5281ccc66 Add public latest capability aliases (#12213)
[BREAKING] 15ada68aa Don't re-export primary-file `using namespace` through import (#11450)
72985f871 Fix #12108: prefix internal spirv_asm registers with __ and assert (#12190)

v2026.14

Choose a tag to compare

@github-actions github-actions released this 24 Jul 04:06
4265906
=== Breaking changes ===
5374382b3 `vector<T, 4>`: Explicitly disable `(vector<T, 2>, T)` and `(T, vector<T, 2>)` initializers (#12141)

=== All changes for this release ===
426590635 Fix #12169: legalize global-scope array-of-struct varying input (#12170)
b62921021 Correct -g0/none debug-level help text to match actual behavior (#12201)
[BREAKING] 5374382b3 `vector<T, 4>`: Explicitly disable `(vector<T, 2>, T)` and `(T, vector<T, 2>)` initializers (#12141)
08024eda7 Clarify short-circuiting behavior related to `&&` and `||` (#12171)
444d8fb11 Language reference: clarify (non-)short-circuiting behavior of ternary conditional (#12163)
5e5f2a06b build(deps): bump google.golang.org/grpc from 1.79.3 to 1.82.1 in /extras/scaler (#12199)
ebed5178f Enable metal target for vector/matrix fwidth (#12165) (#12172)
e438c5aef Add external/README.md documenting dependencies and CMake options (#12178)
56eb1aa08 Add regression test for #12104: vec3 self-division ones-vector fold size (#12193)
e549806c9 Stop tracking generated extras/scaler/scaler-linux binary (#12168)
7e65d5966 Reject conflicting -profile and -capability command-line arguments (#12122)
4955b21c3 Add slang-test optimization option (#12187)
4f23e904a Skip CI for nested Markdown changes (#12188)
601d363f7 Fix infinite loop in _unwrapParameterGroups for non-StructuredBuffer resources (#11136)
4f9d626be Public-by-default struct members in Slang 2026 (#9153) (#12151)
d384b77e6 Fix #12173: bridge module-scope args to WGSL by-ref (out/inout) parameters (#12174)
02b55fb2c Reject operator names on variables and parameters (#11664) (#11665)
d148787f2 Update spirv submodule (#12184)
7002bbe67 Fix #12177: honor -v failure in parallel runs and gate capability discovery (#12180)
958620c16 Coalesce redundant UniformConstant resource-element loads on SPIR-V (#12051) (#12111)
b593edc38 Fix #10188: shape-independent __ldg exclusion for OptiX SBT loads (supersedes #11152) (#12119)
cbabb7bde Avoid conflicting MSVC exception flags (#12166)
6a244fee2 Omit redundant terminating break in WGSL switch cases (#11947)
a916653b7 Relocate slang-test generated outputs (#12154)
c6a261068 [2/3] ByteAddressBuffer: decide wide-vs-scalarized + validate the alignment contract (#11595)
203065d66 Initialize parsed command-line options (#12153)
340e3445a Avoid ImageGatherExtended capability for constant-offset Gather (#9382) (#12133)
beff6e419 Add default value blob reflection API (#11471)
2eb65582b Add explicit separate debug info output path (#12147)
3292090b3 Fix macOS signing version extraction (#12149)
aaa07fe29 Use mimalloc for Slang-owned malloc/free on Windows (#12105)
99b8019ed build(deps): bump golang.org/x/net from 0.54.0 to 0.55.0 in /extras/scaler (#11892)
657b1907d Fix #11659: null-deref crash legalizing graphics-stage varyings for CPU kernel targets (#11661)
ec177850a build(deps): bump golang.org/x/crypto from 0.48.0 to 0.52.0 in /extras/scaler (#11975)
3649fb982 Fix shader-slang/slang#11982: dedup SPIR-V DebugSource for imported modules (#12034)
5209a49f6 Add build command and binary location to the shader-coverage-backends README (#12144)
d9c9fa413 Use `-Og` optimization level for GCC/Clang debug builds (#12140)
c1c419c94 Fix #12006: don't warn E41017 on __extern_cpp host-provided globals (#12011)
b184085c6 Fix CUDA prelude vec1 make helpers to return the vector struct (#11957)
5c30d437f PR board sync: deliver CI/check + status/review events, and co-assign community authors (#11847)
4f4ec5057 compile-perf: allow sweeping patch releases (include-patches dispatch input) (#12126)
e3a6efd71 Fix shader-slang/slang#11984: strip UTF-8 BOM from #line DebugSource text (#12055)
8e8653f8c Fix #11315: lower `(void)expr` to the canonical void value (#12117)
6c837d317 fix: restore Fix #10909: Add Flat decoration for SubgroupLocalInvocationId in fragment shaders (#12064)
5bd8eb89f Fix #12046: correct GLSL float remainder; emit OpFMod for mod() on SPIR-V (#12130)
814ab6dda Fix #12121: accept and forward -X<compiler> options in render-test COMPARE_COMPUTE tests (#12128)
c8d02ae59 Memoize shared Val and type DAG traversals (#12106)
1cfc8ec51 Fix Metal fragment out/inout param crash (Unknown addressspace) (#12015)
89443da36 Fix #12049: specializing a generic entry point can't see primary-file extension conformances (#12052)
623227f86 Revert "Pin nightly coverage macOS job to macos-15" (#12129)
8e3f9163d Allow shader invocation reorder extensions with SPIR-V 1.4 (#12115)
bf7a78ab2 Fix use-after-free in LLVMBuilder JIT teardown (#12114)
20148df52 Split command-line process unit test (#12123)
336dd0f49 examples: add shader-coverage-backends with selectable CPU/CUDA/Vulkan/Metal dispatch (#11979)
fd3ab55a7 compile-perf: read suite files as explicit UTF-8 everywhere (#12118)
694022a11 Default the shader-coverage demos to batched dispatch in full mode (#12090)
429163082 compile-perf: reporting redesign — landing page, release/daily cadence split, automatic new-release sweeps (#12086)
c5d4d76e6 Fix #12102: make missing mimalloc source a configure error (#12107)
a2596654f Instrument gpu-printing example to diagnose macOS Metal failure (#11999) (#12009)
a8874f6a1 Gate three backend passes on RequiredLoweringPassSet flags (#11917) (#12088)
b69ef6268 Extend sanitizer CI ASan checks and publish ASan-instrumented binaries (#11931)
ad69c2e9f Use mimalloc for global C++ new/delete on Windows (#12036)
e28b5e9c8 Fix zeroed primal in synthesized trivial forward derivative (#11670)
6d299e4e1 Skip legalizeMatrixTypes when no matrix needs legalizing (#11917) (#11987)
77f5ca091 Make CoopVec subscripts differentiable (#12031)
3eeda847c Fix #11730: brace initializer rejected as a function-call argument (#11818)
67de3f517 Fix #6557: exclude UseUpToDateBinaryModule from module content digest (#12068)
bee6400c2 compile-perf: complexity sweep — scaling curves, floor+slope fits, sweep report (#12023)
d6c772011 Materialize multi-element swizzle base as a temp in C++/CUDA emit (#12073) (#12078)
65a98e333 docs: add Shader Execution Coverage tutorial to the user guide (#11977)
a9c6ff78e Restore MSVC Release /OPT flags when shipping PDBs (#12061)
1a9cec331 Fix shader-slang/slang#11996: add half->scalar conversion operators for CPU target (#12043)
fd4bd2531 Add end-to-end SPIR-V test for 64-bit indexing (spvShader64BitIndexingEXT) (#12081)
c744924e0 Include license texts in release packages (#12085)
ed6c064d8 Fix ASan merge queue failures (#12060)
b2fc4c63c Fix #12059: assign HLSL CoopMat.fill Splat return value (#12065)
340a191c5 Fix #12048: run lowerEnumType when only an enum cast survives (#12050)
f961ddbea compile-perf: nightly operability for the daily-history re-run (UTF-8, suite-ref backfill, run-date labels) (#12074)
7cc70648a Pin nightly coverage macOS job to macos-15 (#12075)
8f0c3515d Fix generic interface witness lowering (#11615)
4d91d47bf Fix #12002: rename internal spirv_asm sample register so its OpName reads as compiler-internal (#12053)
1a2e4c5e9 Unwrap no_diff element types for autodiff updates (#12030)
5951e13e8 Avoid redundant core module recompilation (#12047)
84792eb15 Add ResourceDescriptorHeap/SamplerDescriptorHeap direct-index input syntax (#11798)

v2026.12.0.1

Choose a tag to compare

@github-actions github-actions released this 16 Jul 07:45
=== Breaking changes ===
No breaking changes

=== All changes for this release ===
f17d619e1 Memoize shared Val and type DAG traversals (#12106)

v2026.13.1

Choose a tag to compare

@github-actions github-actions released this 13 Jul 23:35
c0952c2
=== Breaking changes ===
3695329b9 Implement rounding for decimal float literals (#11783)

=== All changes for this release ===
c0952c29d Update SPIRV for VulkanSDK July 2026 (#12057)
6cdb7601e Fix #11903: diagnose native-only HitObject::Invoke on NVAPI SER target (#11907)
cd1e9bc99 Give Slang exception classes default type visibility to fix cross-dylib catches on macOS (#11910)
01adc68f3 Apply AVX-512 JIT workaround to all CI tests (#12056)
4676e878e Reuse bundled Vulkan headers for slang-rhi (#12033)
85d79c676 Fix quadratic IR type legalization on straight-line functions (#12041)
7e1c9b144 compile-perf: constant report panel order + enable api workloads in the tracked nightly (#11998)
29767f336 Language reference: operator expressions and value categories (#11953)
dba2ab40d Add ASCII check for shipped headers and preludes to formatting CI (#12037)
b721cb68e compile-perf: rt_renderer — generated renderer-shaped corpus (Phase 2) (#12003)
fe284bf9f Add conversion tests between all fundamental scalar types (#12020)
258a984c1 Don't warn E31106/E31107 on compiler-synthesized parameter groups (#11986)
95315356a Fix #7878: diagnose default-construct of opaque handle instead of crashing (#11971)
06d69d1d1 compile-perf: HLSL/GLSL/CUDA emit workloads + DXIL/PTX downstream workloads (#12000)
824e24f26 Allow arithmetic in lifted differentiable constraints (#12029)
413398f99 Fix shader-slang/slang#11859: move user-defined derivative [require] to the differentiation use-site (#11872)
caa2ff456 Fix quadratic callee side-effect queries in the simplifyIR fixpoint (#11954)
b64d495d9 Mark vector subscript accessors differentiable (#12026)
cffff65f9 Gate lowerTaggedUnionTypes (#11917) (#11961)
288fecef9 Fixes GitHub issue #7894 (makes reflection and SPIR-V agree on `layout(local_size) in`) (#11715)
b264071b8 Support implicit Optional<T> -> Optional<U> covariant conversion (#12013)
58d433809 coverage: fix agentic pass in-process crashes and FileCheck-pattern test bugs (#12024)
[BREAKING] 3695329b9 Implement rounding for decimal float literals (#11783)
a97110a43 compile-perf: add API-path workloads (session create, many kernels, module graph) (#11976)
a47c1b885 Fix invalid SPIR-V for float-to-bool cast in direct SPIR-V emit (#12019) (#12021)
6fad2f01d Allow DescriptorHandle to implicitly convert to ConstantBuffer (#11681) (#11685)
135c93518 Fix #12016: replace em-dashes with ASCII hyphens in slang.h (#12018)
08af86542 tests-agentic: update round for docs/generated/tests against the regenerated design docs (#12017)
468adc556 Harden Claude review workflows and align REVIEW.md with the pre-staged diff protocol (#11993)
5d5183617 Fix #12007: scope reflection-api example [require] to hlsl_spirv (#12008)
0a02eae1b Use native CoopVec in MLP training sample (#12010)

v2026.13

Choose a tag to compare

@github-actions github-actions released this 08 Jul 22:25
d8e8e1a
=== Breaking changes ===
5de6f53b9 Fix #6428: reject cross-category type coercions for system value semantics (#11862)

=== All changes for this release ===
d8e8e1a9e Remove redundant explicit -O0 opt-ins from slang-test test directives (#11923)
70b2d9441 Fix preprocessor and repro-loading leaks; refresh expected sanitizer findings (#11937)
c7fff906f Free the glslang disassembly buffer via matched free-export (#11743)
0aef83c5f ci: skip gpu-printing example on hosted macOS runners (#11995)
1c17703c1 Synthesize AppendStructuredBuffer counter as atomic at lowering time (alternative to #11943) (#11972)
bfe6a7f14 Fix #11924: use miniz allocation wrappers for miniz-owned buffers (#11934)
58b583be6 compile-perf: publish=false dispatch mode + trend check judged by registered label (#11991)
33f9ed0ce Emit NoContraction under -fp-mode precise on direct SPIR-V (#11935)
97f778022 Move compile-perf workflows to the VM-based perf runner bridge (#11950)
1bd105cee Disable AVX-512 for sanitizer tests (#11974)
6902e80a4 Fix weekly CMake Options CI: GCC maybe-uninitialized in overload inference failure record, missing ASAN link flags in shader-coverage example (#11962)
2eaa90603 Zero-initialize bitfield backing storage in synthesized constructor (#11968)
22d276460 Restore auto-diff link gating to the final codegen link (#11779)
5c40deb17 Fix sema_generics compile-time regression: skip doomed conversion search for generic-param -> scalar (#11896)
59303f9db Fix O(N²) compile-time regression in dynamic-dispatch specialization (#11760)
e39e3ce03 Warn on constexpr variable declarations and treat as const (#10940) (#11522)
6c9bfc2f7 Fix #10745: diagnose nested bwd_diff instead of crashing (#11901)
da5258265 Fix #11878: don't treat the same field of different objects as aliasing (#11880)
55b2530c6 Fix #10639: propagate optional constraints through generic typealias (#11226)
[BREAKING] 5de6f53b9 Fix #6428: reject cross-category type coercions for system value semantics (#11862)
90c2c8dbd Release blobs orphaned on the record-replay replay path (#11942)
1a2b9a5e1 Revert the workaround #11237 because slang-test doesn't use SpvOpt anymore (#11959)
ef06ca406 Update slang-rhi to ToT (#11960)
012051b20 Fix #11483: emit descriptor-heap ConstantBuffer in StorageBuffer class (#11647)
526e68813 shader-coverage docs: refresh Current limitations, link example demos from quick start (#11949)
b1ab2c585 shader-coverage: validate CPU runtime path end-to-end + document direct-host binding recipe (#11914)
8ac9e49a5 Make vertex-shader-missing-sv-position pedantic and off by default (#11893)
7caafba75 Re-enable scalar-fp8.slang (vk) test on no-GPU CI (#11922)
52cb4e12e Remove dead USE_RIFF and DIRECT_FROM_FOSSIL switches from IR serialization (#11930)
d4c464248 shader-coverage: validate Metal runtime path end-to-end on GPU + document direct-host binding recipe (#11929)
cb6573041 Refactor SLANG_UNUSED to C++17 if-init pattern (#11832)
d6c2fea16 coverage: cap Metal counter width to 32-bit to fix metallib-asm manifest (#11699)
85502042f Fix #11874: drop samplerless requirement from combined-sampler texelFetch (#11876)
5468f2f62 Fix #11836: register GL_EXT_shader_explicit_arithmetic_types for half-float literals (GLSL) (#11839)
d09e6efd8 Fix #11890: honor API DiagnosticColor for target-stage diagnostics (#11891)
769f76d28 Add [Shader64BitIndexing] attribute with spvShader64BitIndexingEXT capability and SPIR-V emission (#11538) (#11541)
f4975a7f8 Fix #11918: don't serialize an empty module dependency path across drives (#11921)
364944938 Fail fast when loadModuleFromSource is called with a colliding name (#10996)
96003b0d8 Gate lowerAppendConsumeStructuredBuffers when no Append/Consume buffer is present (#11920)
99c3b77bd Drop unsupported glsl_110/120/130/140 from advertised -profile list (#11902)
de342c6b8 Allow standalone precompiled modules with `UseUpToDateBinaryModule` (#11125)
36874356b Default slang-test compiler invocations to -O0 (#11805)
c5768a695 Expect replay-stream exception tests to fail on macOS coverage CI (#11909)
0065572bf Fix #11313: lower dynamic-dispatch handle types to ulong on Metal (#11787)
2bd18c052 Emit GLSL struct values as constructors, not brace initializers (#11904)
973274da9 Fix latent stack-use-after-scope in USE_RIFF IR serialization path (#11916)
16872b4c1 ci-analytics: fix stale hosted-runner chart caption (#11908)
803dff915 docs/generated/tests: regenerate 8 stale bundles + reconcile freshness (#11905)
72511c932 ci: verify submodule pins are reachable from tracked branch (#11063)
3e061e131 Diagnose malformed UTF-8 lead byte sequences in sources (#11886)
4ed7d3cfc Add diagnostic warning levels (-Wall/-Wextra/-Wpedantic) (#11812)
594a1b7d3 CI analytics: derive hosted-runner cap from org plan tier (Team=60) (#11895)
8e2a63cbf Diagnose slangi global-parameter limitation instead of internal error (#10677) (#11821)
86609ec5c Fix #11861: honor vk::binding on resource-containing struct params (#11873)
8cc39b1a0 CI: don't fail the build when sccache cache restore errors (#11888)
e0e029d94 [codex] Add container pool hysteresis (#11850)
16a1114dd Report duplicate [numthreads] attributes as conflicting modifiers (#11883)
1d2a51b0d Don't process string escapes in include/import file paths (#11846)
160c4a931 Restore E38010 for vk::binding on pointer entry-point params (#11870)
e838e0c99 Reject multiple depth output semantics on fragment entry points (#11863)
14a09de5c Support SM 6.10 in gfx D3D12 shader model table; prefer NVAPI HitObject over DXR 1.3 native (#11889)
340f8a667 Fix #11856: rebind cached RHI device's debug bridge in render-test (#11866)
6a222eaf1 Fix #11860: vk::input_attachment_index no longer reserves descriptor set 0 (#11871)
7de3f388e CI: make GCP-vs-GitHub-hosted runner selection switchable via repo variables (#11875)
248a42b48 Fix #11865: don't record uninitialized outputs on record-layer failure path (#11869)
f490a52aa Fix #11864: avoid pointer overflow in JSON \u escape decoding (#11867)
460be024c Fix #11841: declare RayTracingMotionBlurNV capability for RayCurrentTime() (#11843)

v2026.12.2

Choose a tag to compare

@szihs szihs released this 01 Jul 11:42
7f79b92

What's Changed

Full Changelog: v2026.12.1...v2026.12.2

v2026.12.1

Choose a tag to compare

@szihs szihs released this 30 Jun 12:34
90b8e77

=== Breaking changes ===
No breaking changes
=== All changes for this release ===
3c4dadf compile-perf: fix Windows runner — add bash to PATH, use python3 (#11698)
38c6eac CI analytics: classify June 2026 runner labels (#11671)
c3037d2 Honor vk::binding on entry point parameters (#11712)
da73e01 Fix #11778: diagnose loop-carried uninitialized variable reads (#11810)
bb3fae6 Add GitHub Actions workflow lint (#11793)
5c394d7 shader-coverage: make run_coverage.py executable (#11704)
2834e97 ci: move the wasm build to the GCP build pool (#11773)
b65eff8 Add missing bitwise compound-assign operators for enum types (#11729)
80bf926 Fix #11563: qualify extension-method name hints (#11581)
fcfaa5f Skip loading slang-glslang when no downstream SPIR-V work is needed (#11797)
94d4e47 Fix #11565: emit this debug variable for user-defined initializers (#11815)
c8897a1 Fix #11802: emit GLSL array-constructor syntax for array values (#11819)
cf5d225 Rename CI and nightly workflow files (#11828)
0f93324 slangd: add slang.predefinedLanguageVersion setting for directive-less files (#11692)
f23b543 Fix #11814: stop debug-capture getString() aliasing the buffer it snapshots (#11817)
b90cbca Avoid shell execution in benchmark compile script (#11822)
4ab8d05 Reject invalid HTTP Content-Length (#11824)
d01f9a4 Add reusable PR board-sync workflow (status + assignment) for org-wide reuse (#11740)
502f1a8 Fix CMake options workflow failures (#11807)
c21ead2 Improve character and string literals (#11714)
6b473bd Validate generic struct capability requirements on entry-point params (#9489) (#11770)
e248123 Check [require] capabilities on inverse-placed user-defined derivatives (#11558)
51959e2 Fix #11763: warn on direct copy of uninitialized value (#11764)
3a84a12 Fix #11664: diagnose operator name used as a variable name (#11775)
0edad2e Fix #11297: diagnose String used on kernel C++/CUDA targets (#11777)
778653c Fix #10751: infer prefix fixity for user-defined unary operators (#11772)
d6a9a9c Fix #11407: correct stale 30055 diagnostics-catalog test to fire the diagnostic (#11768)
777a78a Add a CMake override path for fast_float (#11758)
cde7d65 Fix #6703: fold associated constant in signature-type positions (#11706)
e9344b0 Print skip-list info in slang-test (#11800)
6dd0c85 Keep serialization test outputs ignored (#11796)
6c68a8c Verify slangc in CMake option builds (#11795)
1708afc Fix CMake Options workflow permissions (#11794)
4cfe19f compile-perf: disable LLVM in nightly build (CRT mismatch on runner) (#11727)
4832b0f Add opt-in unified ArrayStride for SPIR-V resource descriptor heaps (#11723)
c094143 Fix float-matrix comparison legalization crash + regression test (#11673) (#11675)
9d67f7b Warn when [[vk::location]] is used on a non-varying parameter (#11705)
182af7f Update imgui submodule to v1.92.8 and migrate gui.cpp (#11713)
2d6971c Add IGlobalSession::getDownstreamCompilerVersion (#11552) (#11556)
838d6b4 Fix stale test debug callback (#11785)
c382fd7 Check capability atoms reference in CI (#11788)
60d15fe Avoid duplicate core module builds (#11721)
32d3a39 Fixes GitHub issue #11683 by only getting reflection if compilation succeeded (#11707)
87bcefb ci: path-filter the TOC check to docs/user-guide changes (#11750)
3873af2 ci: yield bot workflow_dispatch CI to human PRs (re-apply #11549 with skip-bug fix) (#11620)
9f51ba0 Add CI container image publisher (#11708)
0d1d75f ci: move the sanitizer build to the GCP build pool (#11749)
b9fd870 Fix #11550: suppress debug info for synthesized struct initializers (#11555)
8d5aa67 Fix replay/repro test DLL ownership (#11765)
26de419 Fix #11733: guard geometryShader unit test on DXIL support (#11734)
c18d7b2 Reduce parallel generic entrypoint stress (#11761)
1a0c2a6 Restrict WaveGetWaveIndex / WaveGetNumWaves to compute-class stages via capability (#11769)
b1bdd88 compile-perf: enable nightly schedule at 05:00 UTC (#11702)
0583a0e Mark scalar-fp8 (vk) as an expected failure on no-GPU runners (#11744)
f1d6258 Add line-swept-spheres (LSS) ray-query intrinsics (NVAPI/GLSL/SPIR-V) (#11535)
eb6a6ef [codex] Document unprincipled-change self-review (#11697)
45000e1 Fix #11731: emit UniformMemory semantics for atomics on legacy Uniform storage class (#11735)
2294f48 scaler: create VMs concurrently when scaling up (#11748)
5affe90 Fix #10988: array-delete the new char[] buffer in glslang_disassembleSPIRV (#11739)
c76b2c7 Emit conservative-depth layout qualifier for SV_DepthGreaterEqual/LessEqual on GLSL targets (#11693)
10f7d90 coverage: store only summary JSONs in history and report history (#11726)
b4f11ae Use value checks for value-style SLANG_* macros (#11737)
1961b88 Centralize docs-only CI skip filter (#11757)
36fd25b Treat unit-test RPC failures as failures (#11753)

v2026.12

Choose a tag to compare

@szihs szihs released this 25 Jun 12:49
a7fbf1a

=== Breaking changes ===
No breaking changes
=== All changes for this release ===
a7fbf1a Update SPIRV-Tools and SPIRV-Headers to latest versions (#11710)
1161c35 ci: route Linux x86_64 builds and analytics jobs to GCP scaler pools (#11738)
d56da29 Add CPU-only Linux build and analytics GCP scaler pools (#11736)
922b67c Fix floating point literals (#11513)
bb00320 Reject opaque resource handles in SPIR-V local variables (#10526) (#11666)
35d38d1 Diagnose unbound module-scope type_param instead of crashing (#11316) (#11645)
bb413d7 Enforce diagnostic-code uniqueness at build time in Lua (#11318) (#11609)
c491e34 Reject default value on extension generic parameter (#11330) (#11696)
5bdfc7e Warn when a type keyword is used as a variable name (#11347) (#11695)
3dd33ae Position diagnostic carets by display width for UTF-8 source (#11680)
41dfba7 Suggest a similarly-spelled identifier on undefined-identifier errors (#9124) (#11624)
6a694bf Fix internal error for geometry shader with reordered input parameter (#11678)
24d3d2c Diagnose unspecialized generic entry points instead of crashing (#10209) (#11621)
1535382 agentic-tests: regenerate diagnostic-drift bundles (#11728)
e21cdfa Pin Linux GPU CI tests to the GCP scaler pool via a "GCP" label (#11724)
b25e06a Fix abort extension name (#11716)
f114261 chore: Add AI-Assisted Contributions in CONTRIBUTING.md [skip ci] (#11236)
012baec agentic-tests: skip 13 nightly failures (stale diagnostics + flake) (#11701)
a39e49c Add regression test for private cross-module constructor (#7152) (#11622)
c95ad0a Retire the manual ARC runner smoke-test workflow (#11672)
5ec5d55 Fix #7412: error when extension or member declares incompatible capabilities (#11117)
59506d6 Fix #pragma warning state corruption across __include files (#11473) (#11554)
52ab3a1 Fix #11648: diagnose bitwise operators on float operands (#11654)
beb7453 Fix #11686: canonical slang-rhi.h include in mlp-training examples (#11688)
e7e482b Add SLANG_ENABLE_SLANG_PROXY CMake option to gate slang proxy outputs (#11689)
34b809e modernized kTimeoutInfinite using constexpr and uniform initialization (#11527)
fd83f62 CI analytics: surface API failures instead of masking them as healthy data (#11679)
0a71666 ci: clean up GHCR auth now that CI container images are public (#11676)
d39460f Add compile-time performance test suite (#11485)
7a7767b Allow install of static slang library (#11458)
2b14ffd Diagnose unsupported target intrinsics instead of emitting invalid code (#7873) (#11570)
e751322 Add regression test for spurious 'cannot insert #pragma warning here' across __include (#8166) (#11611)
131609a Drop CI host-disk cleanup and run container as non-root (#11355)
146e61d Focused diagnostics for failed generic specialization (#11656)
a84f48e Fix #11503: align format-operand encoding with schema (#11504)
79f9900 Include in slang-parser.cpp for INT_MIN (#11646)
c872fad [1/3] ByteAddressBuffer: make alignment a compile-time (constexpr) contract (#11594)
96a2460 Fix #11506: accept heap texel pointer as atomic destination (#11507)
55a9944 Add benchmark runner label to ci-benchmark-test.yml (#11650)
6713602 Bump slang-rhi to #775 to fix intermittent cmd-query timestamp flake (#11642)
818bbe9 Split build from test in MDL benchmark CI; drop benchmark runner label (#11640)
da319e6 Make native CoopVec differentiable (#11480)
43e44e8 WGSL: emit runtime-indexable static const arrays as var (#11628)
6805dce Add extras/falcor.sh to test Slang against the public Falcor locally (#11602)
a75dcbf Reuse ci.yml artifact for compile regression test; remove standalone workflow (#11635)
6fac3e6 Reuse ci.yml artifact for Falcor tests; remove standalone Falcor build+test workflows (#11605)
3393f1d Add descriptor-heap ConstantBuffer array-of-matrix regression test (#11483) (#11484)
4ed4aef Add [NoDiscard] attribute (#11520)
08e95b8 coverage CI: mark SlangcCoverageManifestOutput as expected failure on macOS (#11630)
89841d2 examples: fix shader-coverage demo portability (#11623)
890f8be Fix shader-coverage demo launch on Windows (#11625)
5353bc5 Add bindless resource metadata usage query (#11436)
4f56990 Use uint64 AS descriptor heap stride (#11494)
35d5189 Fix dropped entry-point uniform on struct-returning Metal vertex shaders (#11607)
7448987 Integrate check-cmdline-ref into ci.yml, reusing the Linux release artifact (#11589)
56f013e Fix missing source locations for parameter-group leak warnings (#11523)
2a6b086 Language reference: Language evolution (#11488)
d620d71 Check [require] capabilities on user-defined derivative functions (#11524)
a214f7d Require all CI needs to succeed (#11619)
47436eb Show argument type mismatch per candidate in overload errors (#7857) (#11576)
2f7d61d Add abort intrinsic for VK_KHR_shader_abort support (#11542)
5280f1a Revert "ci: yield bot-authored CI to human PRs" (#11618)
12f6779 [codex] Remove operator overload type-checking cache (#11614)
7c9df3d [codex] Add variadic pack count constraints (#11571)
03e1cb7 test: use line-only manifest check for MetalLib coverage tests (#11610)

New Contributors

Full Changelog: v2026.11...v2026.12

v2026.11

Choose a tag to compare

@github-actions github-actions released this 15 Jun 09:44
7432ffa
Slang v2026.11

=== Breaking changes ===
a49a12580 Fix integer literal type handling (#11357)

=== All changes for this release ===
7432ffa4e Add must-init (definite assignment) warning for conditionally initialized variables (#11293)
8b86ed2ab ci: yield bot-authored CI to human PRs (#11549)
42b5b938a ci: enable read-only sccache on Falcor builds (#11575)
a68b606fb Gate check-ci on build job results so broken builds cannot merge (#11585)
530eeb707 Implement scalar layout for Metal device buffers (#11578)
b33ad4692 Wire all module namespaces before extension header resolution (#11531, #11532) (#11577)
ac577c6bc Fix #11567: parse C-style trailing-array typedef (#11569)
88064dfde Fix missing default constructor in shader-coverage examples (#11584)
db002dbdf Rename PR-label workflow job and file to check-pr-label (#11588)
61ad43dbc Hard-code a fast path for builtin scalar/vector/matrix operators (#11493)
956f6ed52 Update slang-rhi submodule for the MSVC C5285 fix (slang-rhi#773) (#11561)
344fb223d Add linker global cache for accelerating repeated invocations of `linkIR` (#11517)
7eb09fc76 [codex] Support default interface subscript implementations (#11580)
1efb986b9 Update generated design docs (#11582)
d3763f655 Add shader coverage demos: image pipeline + BVH traversal (raw Vulkan) (#11553)
266f103db Fix HLSL emission for mesh shader output parameters (#10741)
c4ee73d36 [codex] Keep zero init off lambda closures (#11574)
eb9403ef5 Split Falcor workflows: build on build pool, test on internal hosts (#11562)
736e3a242 Fix anyvalue packing for embedded structs (#11537)
45c04170f ci: migrate GitHub Actions off deprecated Node 20 runtime (#11557)
3cb03e5ff Check user type for Bot rather than UID when labeling bot PRs (#11559)
d000acded Shader coverage: boolean coverage mode (-trace-coverage-boolean) (#11525)
a05648207 Skip GPU unit tests when the required API is unavailable instead of listing them as expected failures (#11546)
d92b15e02 [Metal] Fix `xcrun` overriding `-metal-path` (#11459)
607bb020e Shader coverage: 64-bit counters with -trace-coverage-counter-width flag (#11451)
d3ac243bb ci: pin unpinned tool installs (emsdk, macOS sccache, prettytable) (#11508)
b2ec9a4f7 Fix #11543: emit HLSL mesh-shader output qualifiers exactly once (#11544)
05308fe91 Fix #11518: declare VariablePointers capability for Workgroup pointer function signatures (#11521)
9db5ea038 Disable coderabbit auto-assign-reviewer (#11529)
6bd8a5c4e Remove gh auth precondition from IR version check (#11539)
29e69b0bf docs: add Code Style and Review Conventions to instruction files (#11530)
0658ed792 Fix NonUniform decoration propagation to resource operands in SPIR-V (#10656)
a005a9d15 Document principled problem-solving methodology and required PR description format (#11369)
142e00d93 Guard serialized IR flat table reads (#11514)
1fc15d23f Add regression test for autodiff recursive function hang (#10066) (#11417)
6b9f98ff9 Guard URI percent decoding bounds (#11515)
70dda1029 Fix compiler performance regressions from auto-diff refactor (#11491)
38c853dbe Unify associatedtype constraint representation; make autodiff requirement access order-agnostic (#11368)
4511c96d8 Print ci commands (#11497)
cd6745324 Fix DXC source build with Apple Clang 21+ (Xcode 26+) (#11489)
e2bb86bad Diagnose assignment to indexed property instead of ICE (#7160) (#11418)
71e78588f Include identifier name in 'expected a type' diagnostic (#9200) (#11419)
dab90c78a Add regression test for autodiff inout struct cross-field gradient (#10081) (#11470)
7cfb3c6f6 Update generated design docs (#11490)
5230a81f2 Fix compiler hang with recursive function (#11112)
fbf41e87a agentic suppression: fix post-reorg path drift and re-add flaky test (#11486)
52339028a Build slang as static lib for emscripten/wasm (#11481)
564ac9f05 Metal: lower pointer-to-pointer in buffer types via buffer-element-type framework (#11331)
8c4e02e40 Fix #11276 (Case 2): accept 0#INF symmetrically with 1#INF / 0.#INF (#11284)
0486484fb Agentic tests: restructure into conformance/ + design/ and add language-reference conformance bundles (#11421)
85c65f862 Fix unaligned byte-address descriptor loads (#11430)
f46ccbd58 Enable default DXC source builds on macOS (#11461)
4512b165c Fix VM printf string literal operands (#11463)
11e97e771 Add slangc CLI shader coverage support (#11336)
c6f104ca7 Avoid mesh line mode for isoline tessellation (#11462)
eb0dba821 Write deps file when output is stdout (#11420)
726e0973b Fix descriptor heap acceleration structure loads (#11209)
[BREAKING] a49a12580 Fix integer literal type handling (#11357)
e2647ba06 Add logic to github action to label nv-slang-bot PRs separately (#11405)
bbc4b0278 Fix Ninja race between cpu-shader-llvm-link and shader.o generation (#11456)
f8f1602d3 Fix UBSan vptr UB: wrap IDxcBlob as ISlangBlob instead of reinterpret-casting (#11446)
0a73dcc4a Wire REVIEW.md into CodeRabbit and mark it agent-facing (#11413)
3dacd6028 Normalize downstream compiler paths that point to files (#11154)
1a90a9632 render-test: Add support for namespaces in test type parameters (#11444)
adc996670 Gate SPIRV-Tools MergeReturnPass behind CMake option (#11237)
ab7b5e962 Enable source-built DXC on macOS (#11434)
360da3b12 Handle descriptor heap byte address buffers (#11431)
2ad0ee2f6 Stack overflow in any-value interface dependency walk (#11412)
e5ce1b5d0 Fix visibility mismatch of synthesized legacy backward derivative functions (#11140)
999b22fcc Handle global descriptor handle casts in SPIR-V (#11426)
63d421f52 Set DXIL default profile to SM 6.0 (#11362)
2da398bad Build DXC from source when system GLIBC does not match to the prebuilt binaries (#10935)
6ea7f243a Revert macro expansion stack diagnostics (#11351)
1df4c5766 ci-slang-coverage: enable agentic suite with -expected-failure-list (#11416)
7cbbcfea2 Improve LLM-generated design-doc workflow and grammar literals (#11363)
fd4f6c7a6 ci-agentic-tests-nightly: drop wrapper, use slang-test natively, suppress 8 known failures (#11414)
5f6d51046 Remove GitHub API dependency in favor of git-tag-based version detection (#11401)

v2026.10.2

Choose a tag to compare

@github-actions github-actions released this 02 Jun 12:20
2129fc6
=== 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)