Skip to content

Releases: shader-slang/slang

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)

v2025.14

06 Aug 21:00
3525765
Compare
Choose a tag to compare

=== Breaking changes ===
No breaking changes

=== All changes for this release ===
3525765 A new approach to AST node deduplication (#8072)
5074c49 Fix noperspective modifier for SV_Barycentrics in SPIRV and GLSL (#8067)
d107327 Fix 7723 - Add autodiff tests (#7919)
68b0125 Add reflection api for overload candidate filtering. (#8066)
8367510 Implement SPV_EXT_fragment_invocation_density (SPV_NV_shading_rate) (#8037)
2d775b5 Bring back hooks for auto formatting and ensure build works (#7811)
9a16700 Enable compute/ dir which passes (#7991)
de6a87a Add missing ASTBuilder methods for int types (#8056)
ce53e9c Clarify downstream and direct compilation paths in design overview doc (#8021)
301ffb1 Fix #pragma warning not working with multifile modules (#7942)
4131474 Omit "Repro" category from default help text output (#8032)
3f12964 Add support for pointer literals in metal (#8040)
34840bb fix overload in extension issue (#7999)
8a15efb Drain sink when single-argument constructor call fail (#7883)
6239a67 Reenable debug-layers on CI (#8017)
ef743e7 Enable debug-layers for examples when not using test-mode (#8024)
a660640 Restrict the release tag name to a pattern the build script expects (#8027)
374026d disable ray-tracing-pipeline test (#8023)
bdda8a9 Fix 7441: CUDA boolean vector layout to use 1-byte elements (#7862)
7a13344 Omit "Invalid" capability from slangc -h output (#8020)
5e24630 Omit listing values in slangc -h cmdline output, show how to list them seperately (#8012)
96346cd Omit "Internal" category from default help text output (#8013)
e313300 Fix segmentation fault in ray tracing parameter consolidation. (#7997)
30fd3c6 Add matrix select intrinsic (#7566)
aefd1e3 Handle debug-layer messages in a separate channel (#7988)
4a255d2 Fix bug in ci test (#8005)
8e1a6a1 Update to latest slang-rhi (#8006)
29f5d1f Exclude a list of expensive slang-rhi tests to speed up CI (#8004)
66301ab msvc style bitfield packing (#7963)
db59c22 Reduce merge_group CI workload. (#7996)
c4dd2eb disallow static const variables without default-value (#7993)
5f9547b [Language Server]: Don't eagerly check file upon open doc. (#7995)
92ee292 Lowering unsupported matrix types for GLSL/WGSL/Metal targets (#7936)
42dc521 Disable more CI workflows on master push. (#7983)
4fdc967 Disable debug-layers temporarlily on CI (#7972)

v2025.13.2

30 Jul 03:00
b8663a5
Compare
Choose a tag to compare
Slang v2025.13.2

=== Breaking changes ===
No breaking changes

=== All changes for this release ===
b8663a5d9 Fix ICE when immutable value is passed to a bwd_diff function. (#7973)
48efc6038 Fix Metal invalid as_type cast for 64-bit RWByteAddressBuffer.Store values (#7843)
2db6ac97a Fix slang-no-embedded-core-module-source embedding core module (#7885)
ff96d5935 Invoke `clang++` on C++ code instead of `clang` (#7958)
855b1a262 [Language Server]: Show signature help on generic parameters. (#7913)
ea6f8551a Detect uses of uninitialized resource fields (#7962)
1da9019e9 Improve diagnostics over ambiguous references. (#7930)
e8797496b Fix CUDA backend missing U32_firstbitlow implementation (#7921)
a2d93ae01 Disable automatic `#include` insertion for clangd (#7951)
5f8475bee Fix issue in multi-level break elimination by handling multi-level continue statements (#7953)
4ca545ed9 Update slang-rhi to fix CI error on debug. (#7946)
6d399804a Fix broken links in User Guide (#7938)
d311efd9d Fix failing CoopVec tests (#7937)
c068bdea4 Fix mesh shader reflection JSON output (#7868)
6f60f16e0 Fix nv_viewport_mask semantic to emit SpvBuiltInViewportMaskNV (#7904)

v2025.13.1

25 Jul 21:27
9cfdf5d
Compare
Choose a tag to compare

=== Breaking changes ===
ed8add1 fix #7869 (#7871)

=== All changes for this release ===
9cfdf5d Fix SLANG_USE_SYSTEM_SPIRV_HEADERS=TRUE (#7916)
c0726e1 Fix for Generic Function Redefinition Error (#7891)
c5091f0 Add combined texture-sampler flag to reflection API to differentiate Texture2D from Sampler2D (#7901)
528ca0d Fix compiler crash when enum is used as vertex output data (#7915)
fa946c6 Fix SPIRV OpMemberName member indices (#7912)
1a88488 Fix metallib-asm target parsing by adding missing comma (#7902)
138efb9 Avoid early specialization for witness tables in SimplifyIR (#7636)
a9d1cc5 Add test for Metal pointer uniform parameter (#7850)
8ccd495 Organize code better by splitting some big files (#7890)
2d23a96 Fix confusing error messages for interface return type mismatches (#7854)
f78d752 Include Inst UID in some assert failure messages. (#7882)
26b9a17 Skip creating transitive witnesses for interface conformances that are inherited through structs (#7597)
9666fbc Document how to use LLDB in the Slang codebase (#7809)
559c830 Remove unnecessary processing in the release note script (#7884)
c48e355 Add slang-ast files to gitignore (#6901)
f9f23cb Update document to include lua build step (#7886)
7b4c723 Fix MSVC compiler complains about different calling convention between interface and impl when building Win32 binaries (#7845) (#7872)
876b21f Add LLDB data formatters for Slang IR (#7828)
[BREAKING] ed8add1 fix #7869 (#7871)
387ba5b Added small section about default values of struct members (#7844)
165a95e Fix visibility of synthesized Differential typedefs. (#7865)
8a36695 Fix public unscoped enum constants not visible across module boundaries (#7864)
b16d4e9 Fix scalar to array conversion for tessellation factors (#7837)