Releases: shader-slang/slang
v2025.17.2
Release candidate for VulkanSDK Oct release.
=== Breaking changes ===
No breaking changes
=== All changes for this release ===
f55f669 Fix VVL errors on coopvec tests (#8541)
2e0fe3d Fix CMake error with generator on list in 3.22.1 (#8364)
5518371 Adding 4 WGPU tests to expected-failure-github (#8540)
db44c1b Prepare VulkanSDK release Oct 2025 (#8525)
55a7d2a Add timeout to CI jobs; add mimalloc to .gitignore (#8538)
v2025.17.1
=== Breaking changes ===
No breaking changes
=== All changes for this release ===
9c2024a Remove unnecessary Load and Store pair (#8433)
979e16a Adding slang-test option to ignore abort popup message (#8492)
796ea80 Enhance SPIRV-Headers update instructions
d61d6b5 Legalize type as well in legalizeOperand (#8483)
21c6636 Lookup refactor (#8467)
7740f79 fix a crash when using type equality constaint (#8515)
9e34c6d Fix varying output structs in GLSL source (#8501)
c35b763 Split overloaded uses of RefType in front-end (#8427)
ba81323 Add RHI Device Caching and Test Prefix Exclusion (#8448)
bd24cc2 Reduce the maxprocesses to 3 for slangpy test (#8502)
c991ad4 Fixed typo in SemanticsVisitor::_readAggregateValueFromInitializerList
(#8504)
4d8ff34 Revise SPIRV-Headers update instructions in documentation (#8488)
c8d189b Use LOAD_LIBRARY_SEARCH_DEFAULT_DIRS for LoadLibraryExW (#8491)
c6d8c6b Check if any required jobs failed (allow success or skipped) (#8495)
48cbbcf Fix SPIRV headers precedence (#8481)
391d35d include limits.h in slang-platform.cpp (#8473)
ed9f423 Fix DebugCompilationUnit to reference main shader file instead of header files (#7957)
54faa55 Fix CUDA global variable initialization with constructor calls (#8340)
v2025.17
=== Breaking changes ===
afb8146 Diagnose error when the function args can't satisfy constexpr parameter requirements (#7269)
=== All changes for this release ===
206f6cf Add WASM FS module support for slang-playground (#8459)
58060d2 Set default mimalloc for spirv-tools but allow user to override (#8460)
8d67365 Diagnostic for metal ref mesh output assignment (#8365)
5702771 Use self-hosted runner for Windows release build (#8470)
5610d78 Fix LSS intrinsics for hit objects in ray tracing tests (#8469)
b5078d1 Added __magic_enum (#8436)
64d23f2 Change CI to use locally installed sdk (#8450)
[BREAKING] afb8146 Diagnose error when the function args can't satisfy constexpr parameter requirements (#7269)
8ad0ae1 Enable static mimalloc in Spriv-Tools (#8419)
8bcf6c4 Fix segfault in SPIR-V header processing in SpirvInstructionHelper (#8428)
f3e2675 Add FindModifier for Declarations (#8308)
c5607e9 Fix crash when compiling specialized generic entrypoint containing a static const decl. (#8392)
ec42c4a Fix pointers and C-like layout in varying parameters (#8425)
b03cbb0 Squash warnings on gcc 14 (#8377)
3d0f5ee CUDA: Fix compiler crash with unsized array field - nonuniformres-as-… (#8380)
2020a10 Check if debugVar for is debuggable types in the legalization pass (#8326)
43dffcd Fix language server auto-complete regression in debug build. (#8416)
7026dec Update SPIRV-{Tools,Headers} (#8415)
e554e1b Send notification only on scheduled CTS runs (#8418)
8aa6307 Enable ccache in slang bulid for CTS test (#8413)
3745d75 Always define OptixTraversableHandle (#8411)
35b7808 Enable slang_lldb.py on macos (#8327)
63676c5 Fix #8314 - Enable tests/compute/texture-subscript.slang for CUDA (#8408)
v2025.16.1
Slang v2025.16.1 === Breaking changes === No breaking changes === All changes for this release === 3aff764c2 Use wide char version of Windows API (#8390) 8b512c49d Don't emit ArrayStride 0 for RWStructuredBuffer pointers (#8397) c0d7405d8 Enhances CI reliability and debug logging (#8393) bc6b82666 Relax restriction on using link-time types for shader parameters. (#8387) fe87a39e4 Remove unnecessary check and adust server count etc. in CI (#8374) 4856da26e Add check for backtrace availability (#8329) ffd58977b Disable a few WGSL testing using Wave functions in branches (#8386) 5055de0bb Add warnings for overflows of integer types (#8281) 5500f1176 Try both LoadLibrary functions on Windows (#8368) 1e1ff8a12 Fix cache_dir path for ccache config (#8370) 0fb62524b Split CI to build and test jobs (#8359)
v2025.16
Slang v2025.16 === Breaking changes === 7758625d3 [CBP] Pointer frontend changes + groupshared pointer support (#7848) === All changes for this release === 20373ad01 Fix#8128 LSS and sphere hit object intrinsics fail to compile (#8339) 5ec41675d Enable CUDA support for additional HLSL intrinsic tests (#8293) b45706b3f Handle slang-test command comments better (#8363) a766d2744 Diagnose on structured buffers containing resources (#8222) bf607e2f3 Fix#8085: Batch-9: Enable cuda tests (#8269) f5fae0108 Add Optix Intrinsics Coverage (#8159) (#8310) 639978008 Fix#8086: Batch-10: Enable cuda tests (#8270) 4886bf95f manually config ccache locally (#8351) 7d15d388d Enable ccache for self-hosted runner (#8345) f02b08490 render-test: Change D3D12 default to sm_6_5 (#8320) 21693abbd Emit DebugInfo for the legalized entry point parameters (#7703) b46f46c5e Remove ForceUnroll attribute from link-time specialization documentation (#8225) 288a63dea Remove unused variable in slangc::main (#8325) [BREAKING] 7758625d3 [CBP] Pointer frontend changes + groupshared pointer support (#7848) 450ef7934 Enable slangpy and slang-rhi tests for Mac (#8297)
v2025.15.1
74c39eaa3 Revert "Reduce the dependency to thread library (#8216)" (#…
v2025.15
1681bc67f Fail slang-test when VVL printed errors (#8280) 4e9ee1dc8 Fix Metal 8-bit vector type names: emit char/uchar instead of int8_t/uint8_t (#8223) 0b87355f9 Update slang-rhi deps for gfx-unit-test (#8237) b36659eca Fix `shouldEmitSPIRVDirectly` (#8019) 70d70c1d3 Fix warnings from CMake version 3.31 (#8227) 5060042bb fix a autodiff crash (#8259) 7b30ad489 Add WASM platform support to release workflow (#8264) 404a8635f (origin/master, origin/HEAD, master) Print GPU driver version in CI.yml (#8275) 1562f98c0 Fix#8084: Batch-8: Enable cuda tests (#8268) 7b4d02803 Fix#8083: Batch-7: Enable cuda tests (#8267) 53fa12e1b Fix#8082: Batch-6: Enable cuda tests (#8266) 67cf14034 Fix#8081: Batch-5: Enable cuda tests (#8263) 7ae655c2a Fix#8080: Batch-4: Enable cuda tests (#8261) cd9e1f671 Fix mesh shader OutputIndices subscript error by adding missing ref accessor (#7929) 3ca2e4751 Fix readlink missing include (#8260) a5e6ddd00 (arial/master) Add record and replay support for IComponentType2 (#8215) 44815ba48 Fix SLANGC_EXECUTABLE search path in slangConfig.cmake (#8200) c45f02579 Fix reflection JSON writing userAttribs section twice for some cases. (#8210) 35f8e092f Introduce CDataLayout & -fvk-use-c-layout (#8136) 05f0f5603 Implement SV_VulkanSamplePosition (#8236) cbd73dde3 Fix nextafter() (#8195) 619de903b Add more system dependency options to CMake (#7987) 82e3fc9c1 Add Metal support for WaveGetActiveMask and WaveActiveCountBits (#8218) a26a11ff5 Enabling via-glsl test for "merge" event (#8133) 113327194 Reduce the dependency to thread library (#8216) e0c20a076 Updated support to enable batch3 (#8219) e4a7129b8 Fix#8076 - Re-enable slangpy test (#8087) 785548a49 Add multiple slang installations note to doc (#8231) 6321bf07f CMake: Guard inclusion of VULKAN_HEADERS and SPIRV-Headers (#8124) ae1a93b57 Emit descriptor handle correctly for ParameterBlock<DescriptorHandle> (#8206) e9a309678 Fix error in IR stable names Git diff CI script (#7954) d9851d4e4 Make LLDB IR data formatters more robust (#7927) 09054bff3 Don't let clang-format reorder Fiddle `#include`s (#7887) 2f68f98a3 Fix issue of double lowering issue a differentiable function (#8182) cc93e2c35 Fix constructor overload ambiguity with scalar and vector parameters (#8109) 1a4ccba64 Show usage of `FIDDLE END` in Fiddle doc example (#7888) c3df36043 Enable CUDA Test Enablement - Batch 1: Autodiff Tests (1-16) (#8139) 8ba38bcd6 Update capability atoms reference page (#8138) 3639e71df Update cuda context creation to support cuda 13 (#8181) af27de015 Add static functions to create blobs from data (#8179) dcda42e7d Use 64bit int instead of emulation on metal (#8180) f75bf474e [CUDA] Fix incorrect `kIROp_RaytracingAccelerationStructureType` emitting logic (#8168) feb1569d9 Prohibit use of buffer.GetDimensions on metal (#8156) cfd08da10 Clean up `natvis` and use fiddle to generate info needed for `.natvis` debugging (#8192) dd06524f5 [Capability System] Fix bug where capabilities do not correctly propegate if AST-parent has target+set the AST-child does not (#8175) ceb2e8d04 Fix typo in "compilation ceased" error identifier (#8189) 90a9515fc Handle SV_Barycentrics on metal (#8163) 80b46bd21 Fix error for not defining `Val::_toTextOverride` (#8177) d7e2bac2d Remove the semantic decoration from the original entry struct (#8146) 047b8af48 Make the issue headings bigger (#8143) 3618f7a4c Enable CUDA testing for batch 2 (#8147) 719ecf3bf Allow `flake.nix` users to run Vulkan tests (#8152) 5b64150cd Do case-sensitive search for category first in slangc -h (#8142) dcdebc1a7 Allow specializing entrypoints with generic value args or variadic types from API (#8119) fc6aea374 [SPIR-V] Emit control flags for `branch/flatten` decorations (#8134) 6d54b66ca Be conservative for checking if PR is doc changes only (#8130)
v2025.14.3
v2025.14.2
=== Breaking changes ===
No breaking changes
=== All changes for this release ===
07f21ee Error if super-type capabilities are a super-set of sub-type (#7452)
719772c Initial copy elision pass regression fix (#8126)
5d1ba37 Diagnose on array of parameterblock instead of asserting (#8123)
c7c4816 Fix FunctionReflection getName() returning null for overloaded functions (#8113)
e595743 Fix intrinsic LoadLocalRootTableConstant for optix (#7949)
4721b6e Update LLVM from 13.0.1 to 14.0.6 (#8031)
v2025.14.1
=== Regression ===
We found that the following commit causes a regression and it is fixed on the release v2025.14.2.
063cbea Initial copy elision pass (#8042)
=== Breaking changes ===
No breaking changes
=== All changes for this release ===
7cd8130 Support expand
on concrete tuple values. (#8106)
67a9692 Add new _getName to get extension decl names for core module docs (#7985)
9ed7b52 Add warning for comma operators used outside for-loops and expand expressions in legacy mode (#7984)
063cbea Initial copy elision pass (#8042)
9e26858 export fewer things from module targets (#8089)
d0848ab Run extras/verify-documented-compiler-version.sh only when built (#8097)
1088e57 Add a new option to use hash for release-note script (#8096)
f241b14 Fix atomic fp16 vector SPIRV emit (#8104)
631a4c3 Improve performance of AST deserialization (#7935)
b9aad66 Add Discord server link to Slang internal error messages (#8026)
de7ccaf Fix unused space discovery for bindless heap. (#8075)
b9f999b Enable on-demand deserialization of AST decls (#8095)
b7039f0 Add lock
file to .gitignore
(#8029)
b152f1b Add back GFX smoke test (#8030)
ea600fa Document how to ignore tests (#8049)
e0b9125 Fix GetDimensions to use mipLevel for SPIRV (#8065)