Skip to content

v4.2.16

Latest
Compare
Choose a tag to compare
@alexrp alexrp released this 06 Jan 11:47
· 131 commits to master since this release
v4.2.16
7f8c5be
  • 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.