Skip to content

Releases: shader-slang/slang

v2025.17.2

25 Sep 20:39
f55f669
Compare
Choose a tag to compare

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

24 Sep 09:01
9c2024a
Compare
Choose a tag to compare

=== 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

17 Sep 20:04
206f6cf
Compare
Choose a tag to compare

=== 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

08 Sep 21:35
3aff764
Compare
Choose a tag to compare
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

04 Sep 18:16
20373ad
Compare
Choose a tag to compare
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

28 Aug 22:58
74c39ea
Compare
Choose a tag to compare
74c39eaa3 Revert "Reduce the dependency to thread library (#8216)" (#…

v2025.15

27 Aug 02:31
1681bc6
Compare
Choose a tag to compare
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

09 Aug 09:46
b7df3c7
Compare
Choose a tag to compare

=== Breaking changes ===
No breaking changes

=== All changes for this release ===
b7df3c7 Fix atomics error diagnostics (#8117)
06b8e69 Disable "Copilot Setup Steps" on "push". (#8129)
30646d4 Fix tests\bugs\op-select-return-composite.slang Test Failing (#8132)

v2025.14.2

08 Aug 21:43
07f21ee
Compare
Choose a tag to compare

=== 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

07 Aug 16:54
7cd8130
Compare
Choose a tag to compare

=== 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)