Skip to content

Releases: vezel-dev/zig-sdk

v6.1.5

26 May 16:07
v6.1.5
4cfa513
Compare
Choose a tag to compare
  • Bumped default ZigVersion from 0.14.0 to 0.14.1.
  • Added TargetSystemVersion value 0.1.0 for wasi-wasm.
  • Changed LinkTimeOptimization to be false by default.
    • Some targets still have subtle LTO bugs, and Zig will soon stop supporting LTO due to dropping its LLD dependency anyway.

v6.0.93

05 Mar 22:59
v6.0.93
Compare
Choose a tag to compare
  • Bumped default ZigVersion from 0.13.0 to 0.14.0.
  • Bumped TargetSystemVersion for linux-ppc64le from 3.10 to 3.14.
    • Linux does not support this target in prior versions.
  • Added support for linux-loongarch64, linux-riscv64, and linux-s390x.
    • Note that linux-loongarch64 and linux-s390x do not yet have native toolset packages.
  • Added more RIDs to the default RuntimeIdentifiers.
    • linux-loongarch64
    • linux-ppc64le
    • linux-riscv64
    • linux-s390x
    • linux-musl-loongarch64
    • linux-musl-ppc64le
    • linux-musl-riscv64
    • linux-musl-s390x

v5.2.12

29 Nov 03:47
v5.2.12
76012f8
Compare
Choose a tag to compare
  • Added support for wasi-wasm.
    • Note that there is no support for building static libraries yet.
  • Added a NoEntryPoint property to allow building executables without an entry point.
  • Added an ExecutionModel property to control the execution model for WebAssembly executables (Command or Reactor).
  • Fixed QEMU detection to use qemu-ppc64le instead of qemu-ppc64.
  • Added support for using Wasmtime as a WebAssembly emulator.

v5.1.3

13 Nov 03:08
v5.1.3
f0e74dc
Compare
Choose a tag to compare
  • Changed UnicodeEnvironment to also control the _UNICODE macro (in addition to UNICODE).
  • Changed TargetFramework property from netstandard1.0 to netstandard2.0 to address a NETSDK1215 warning 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

11 Jul 19:05
v5.0.112
f5f0c58
Compare
Choose a tag to compare
  • Bumped default ZigVersion from 0.11.0 to 0.13.0.
  • Changed default LanguageStandard for C projects from gnu2x to gnu23.
  • Changed default LanguageStandard for C++ projects from gnu++2c to gnu++23.
  • Removed the CompilerMode property.
    • Instead, the SDK now sets the Language property (Zig, C, Cxx) based on project file extension (.zigproj, .cproj, .cxxproj).
  • Bumped TargetLibraryVersion for linux-ppc64le from 2.17 to 2.19.
    • glibc does not support this target in prior versions.
  • Changed LinkTimeOptimization to be true by default.
  • Added a UnicodeEnvironment property to control the UNICODE macro and wmain/wWinMain usage on Windows.
  • Added a BufferAnalysis property to control -Wunsafe-buffer-usage.
  • Enabled -Winvalid-utf8 by default at WarningLevel=1 and above.
  • Enabled -Wincompatible-function-pointer-types-strict by default at WarningLevel=4 and above.
  • Removed the ZIG_GLOBAL_CACHE_DIR workaround as the bug it was working around appears to have been fixed.
    • This should result in noticeably faster builds in general.
  • Fixed EditorSupport logic to produce correct JSON on Unix systems.

v4.2.16

06 Jan 11:47
v4.2.16
7f8c5be
Compare
Choose a tag to compare
  • Changed OutputType to accept WinExe in addition to Exe and Library.
  • Added support for setting the executable subsystem based on OutputType when targeting Windows.
  • Added ImageBase and DynamicImageBase properties to control load location on Windows.
  • Added StackSize property for controlling the main thread's stack size.
  • Added AllowUndefinedSymbols property for controlling whether libraries are allowed to have undefined references.
    • This is particularly useful when building plugins.
  • Added AsyncExceptions property that controls whether standard C++ try/catch statements can catch SEH exceptions on Windows.
  • Fixed Pack not working correctly when a RuntimeIdentifier was 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-i386 instead of qemu-x86.
    • Fixed QEMU detection to use qemu-ppc64 instead of qemu-powerpc64le.
    • Fixed WSL/QEMU detection logic when the host architecture is 64-bit Arm.
    • Fixed Wine detection incorrectly using wine64 instead of wine for 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.
  • Added informative IsOuterBuild property (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, and Publish.
  • Exposed target extension points OuterBuild/InnerBuild, OuterClean/InnerClean, and OuterPublish/InnerPublish.

v4.1.3

02 Jan 18:16
v4.1.3
329a76e
Compare
Choose a tag to compare
  • Added support for linux-ppc64le.
    • Note that it is not yet part of the default RuntimeIdentifiers.

v4.0.164

02 Jan 18:14
v4.0.164
873f5b0
Compare
Choose a tag to compare
  • Set TargetSystemVersion for Windows to win8 rather than win10 in accordance with .NET support policy.
    • This was mistakenly changed from win7 to win10 in v4.0.154.
  • Changed CoreCompile to generate a friendly error message if no source files exist in the project.

v4.0.154

04 Aug 12:26
v4.0.154
Compare
Choose a tag to compare
  • Retargeted MSBuild tasks assembly from net472; net6.0 to netstandard2.0.
  • Bumped default ZigVersion from 0.9.1 to 0.11.0.
  • Bumped TargetSystemVersion for macOS from 10.14 to 11.7 in accordance with Zig support policy.
  • Bumped TargetSystemVersion for Windows from win7 to win10 in accordance with .NET support policy.
  • Changed HostAbi/TargetAbi for macOS from gnu to none.
  • Changed HostArchitecture/TargetArchitecture for 32-bit x86 from i386 to x86.
  • Added linux-arm, osx-arm64, and win-arm64 to the default RuntimeIdentifiers.
  • Changed optimization levels for C/C++ projects to be in line with Zig projects.
    • Configuration=Debug: -Og -> -O0
    • Configuration=Release, ReleaseMode=Fast: -O3 -> -O2
    • Configuration=Release, ReleaseMode=Safe: -O2 -fsanitize=undefined (unchanged)
    • Configuration=Release, ReleaseMode=Small: -Oz -> -Os

v3.2.3

23 Jun 18:07
v3.2.3
Compare
Choose a tag to compare
  • Added LinkerDirectory and LinkerReference items for consuming third-party libraries through linker search paths.
  • Added a UseMicrosoftAbi property 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.