Releases: vezel-dev/zig-sdk
Releases · vezel-dev/zig-sdk
v6.1.5
v6.0.93
- Bumped default
ZigVersionfrom0.13.0to0.14.0. - Bumped
TargetSystemVersionforlinux-ppc64lefrom3.10to3.14.- Linux does not support this target in prior versions.
- Added support for
linux-loongarch64,linux-riscv64, andlinux-s390x.- Note that
linux-loongarch64andlinux-s390xdo not yet have native toolset packages.
- Note that
- Added more RIDs to the default
RuntimeIdentifiers.linux-loongarch64linux-ppc64lelinux-riscv64linux-s390xlinux-musl-loongarch64linux-musl-ppc64lelinux-musl-riscv64linux-musl-s390x
v5.2.12
- Added support for
wasi-wasm.- Note that there is no support for building static libraries yet.
- Added a
NoEntryPointproperty to allow building executables without an entry point. - Added an
ExecutionModelproperty to control the execution model for WebAssembly executables (CommandorReactor). - Fixed QEMU detection to use
qemu-ppc64leinstead ofqemu-ppc64. - Added support for using Wasmtime as a WebAssembly emulator.
v5.1.3
- Changed
UnicodeEnvironmentto also control the_UNICODEmacro (in addition toUNICODE). - Changed
TargetFrameworkproperty fromnetstandard1.0tonetstandard2.0to address aNETSDK1215warning in .NET 9.- This should not cause any functional changes as the target framework is irrelevant for projects using the Zig SDK.
v5.0.112
- Bumped default
ZigVersionfrom0.11.0to0.13.0. - Changed default
LanguageStandardfor C projects fromgnu2xtognu23. - Changed default
LanguageStandardfor C++ projects fromgnu++2ctognu++23. - Removed the
CompilerModeproperty.- Instead, the SDK now sets the
Languageproperty (Zig,C,Cxx) based on project file extension (.zigproj,.cproj,.cxxproj).
- Instead, the SDK now sets the
- Bumped
TargetLibraryVersionforlinux-ppc64lefrom2.17to2.19.- glibc does not support this target in prior versions.
- Changed
LinkTimeOptimizationto betrueby default. - Added a
UnicodeEnvironmentproperty to control theUNICODEmacro andwmain/wWinMainusage on Windows. - Added a
BufferAnalysisproperty to control-Wunsafe-buffer-usage. - Enabled
-Winvalid-utf8by default atWarningLevel=1and above. - Enabled
-Wincompatible-function-pointer-types-strictby default atWarningLevel=4and above. - Removed the
ZIG_GLOBAL_CACHE_DIRworkaround as the bug it was working around appears to have been fixed.- This should result in noticeably faster builds in general.
- Fixed
EditorSupportlogic to produce correct JSON on Unix systems.
v4.2.16
- Changed
OutputTypeto acceptWinExein addition toExeandLibrary. - Added support for setting the executable subsystem based on
OutputTypewhen targeting Windows. - Added
ImageBaseandDynamicImageBaseproperties to control load location on Windows. - Added
StackSizeproperty for controlling the main thread's stack size. - Added
AllowUndefinedSymbolsproperty for controlling whether libraries are allowed to have undefined references.- This is particularly useful when building plugins.
- Added
AsyncExceptionsproperty that controls whether standard C++try/catchstatements can catch SEH exceptions on Windows. - Fixed
Packnot working correctly when aRuntimeIdentifierwas explicitly set (turning the build into an inner build).- This will now create a package with artifacts for just the single RID.
- Fixed a number of bugs and shortcomings related to emulator detection.
- Fixed QEMU detection to use
qemu-i386instead ofqemu-x86. - Fixed QEMU detection to use
qemu-ppc64instead ofqemu-powerpc64le. - Fixed WSL/QEMU detection logic when the host architecture is 64-bit Arm.
- Fixed Wine detection incorrectly using
wine64instead ofwinefor 64-bit. - Changed Wine detection to only use Wine if the host and target architectures are the exact same.
- Fixed Darling detection to only use Darling when the host architecture is 64-bit x86.
- Changed Darling detection to allow using Darling when the target architecture is 32-bit x86.
- Added support for using Rosetta 2 to run 64-bit x86 binaries on 64-bit Arm.
- Fixed QEMU detection to use
- Added informative
IsOuterBuildproperty (set by the SDK) indicating whether the current build is an outer or inner build.- An outer build is one that is going to dispatch multiple builds for all
RuntimeIdentifiers. - An inner build is one that is building for a specific
RuntimeIdentifier. - This applies to
Build,Clean, andPublish.
- An outer build is one that is going to dispatch multiple builds for all
- Exposed target extension points
OuterBuild/InnerBuild,OuterClean/InnerClean, andOuterPublish/InnerPublish.
v4.1.3
v4.0.164
- Set
TargetSystemVersionfor Windows towin8rather thanwin10in accordance with .NET support policy.- This was mistakenly changed from
win7towin10in v4.0.154.
- This was mistakenly changed from
- Changed
CoreCompileto generate a friendly error message if no source files exist in the project.
v4.0.154
- Retargeted MSBuild tasks assembly from
net472; net6.0tonetstandard2.0. - Bumped default
ZigVersionfrom0.9.1to0.11.0. - Bumped
TargetSystemVersionfor macOS from10.14to11.7in accordance with Zig support policy. - Bumped
TargetSystemVersionfor Windows fromwin7towin10in accordance with .NET support policy. - Changed
HostAbi/TargetAbifor macOS fromgnutonone. - Changed
HostArchitecture/TargetArchitecturefor 32-bit x86 fromi386tox86. - Added
linux-arm,osx-arm64, andwin-arm64to the defaultRuntimeIdentifiers. - Changed optimization levels for C/C++ projects to be in line with Zig projects.
Configuration=Debug:-Og->-O0Configuration=Release,ReleaseMode=Fast:-O3->-O2Configuration=Release,ReleaseMode=Safe:-O2 -fsanitize=undefined(unchanged)Configuration=Release,ReleaseMode=Small:-Oz->-Os
v3.2.3
- Added
LinkerDirectoryandLinkerReferenceitems for consuming third-party libraries through linker search paths. - Added a
UseMicrosoftAbiproperty that can be used to switch to the MSVC ABI when targeting Windows.- Note that this is incompatible with cross-compilation from non-Windows platforms.