PackageTrack
Sign in Get early access

xwin

Allows downloading and repacking the MSVC CRT and Windows SDK for cross compilation

0.10.0 4.2M downloads/mo #4897 most downloaded on crates.io Jake-Shadle/xwin

What this package is like to depend on

Last release 11 days ago

12 Aug 2026

Release timing varies

gaps range from 2 weeks to 8 months

Nearly every release is documented

notes for 43 of 43 stable releases

3 versions withdrawn

withdrawn after publishing

5 years old

48 releases · first in 2021

4 releases in the last 12 months

see the full history below

Release timeline

48 releases · Aug 2021 to Aug 2026
2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 48
  1. 0.10.0 12 Aug 2026
    Release notes

    Fixed

    • PR#167 additionally installs onecore-uap headers for each architecture since some headers have been moved to them.
    • PR#176 adds symlinks for some additional debug libraries.
    • PR#179 resolved an issue where v18 manifests are now using correct path separators, but that caused a couple of errors due to matching exactly on bad path separators, resolving #178.
    Open source →
    Release notes

    Fixed

    • PR#167 additionally installs onecore-uap headers for each architecture since some headers have been moved to them.
    • PR#176 adds symlinks for some additional debug libraries.
    • PR#179 resolved an issue where v18 manifests are now using correct path separators, but that caused a couple of errors due to matching exactly on bad path separators, resolving #178.
    Open source →
    Release notes

    0.10.0 Latest

    Latest

    Compare

    Choose a tag to compare

    Open source →
  2. 0.9.0 20 Apr 2026
    Release notes

    Fixed

    • PR#175 resolved #174 by adjusting channel names when using version 18+ due to MS changing them for whatever reason.
    Open source →
    Release notes

    Fixed

    • PR#175 resolved #174 by adjusting channel names when using version 18+ due to MS changing them for whatever reason.
    Open source →
    Release notes

    0.9.0

    Compare

    Choose a tag to compare

    Open source →
  3. 0.8.0 06 Feb 2026
    Release notes

    Removed

    • PR#170 removed the native-tls and rustls-tls feature flags, rustls is now used as the TLS implementation unconditionally.

    Changed

    • PR#170 changed it so that rustls-platform-verifier is used for certificate validation. Previously webpki-roots was used, but this meant hostile corporate networks that middle man HTTPS traffic would cause failures.
    Open source →
    Release notes

    Removed

    • PR#170 removed the native-tls and rustls-tls feature flags, rustls is now used as the TLS implementation unconditionally.

    Changed

    • PR#170 changed it so that rustls-platform-verifier is used for certificate validation. Previously webpki-roots was used, but this meant hostile corporate networks that middle man HTTPS traffic would cause failures.
    Open source →
    Release notes

    0.8.0

    Compare

    Choose a tag to compare

    Open source →
  4. 0.7.0 08 Jan 2026
    Release notes

    Changed

    Fixed

    • PR#161 fixed the casing for --winsysroot splatting.
    Open source →
    Release notes

    Changed

    Fixed

    • PR#161 fixed the casing for --winsysroot splatting.
    Open source →
    Release notes

    0.7.0

    Compare

    Choose a tag to compare

    Open source →
  5. 0.6.7 15 Aug 2025 withdrawn
    Release notes

    Fixed

    • PR#160 resolved #126 by ignoring MSI installers that don't reference any cabinet files. Why do such utterly fucking useless installers exist? Because fuck me I guess.
    • PR#159 fixed an issue where enabling native TLS was not actually doing anything. No one actually reported this not working which makes me think no one is using this feature. :)
    Open source →
    Release notes

    Fixed

    • PR#160 resolved #126 by ignoring MSI installers that don't reference any cabinet files. Why do such utterly fucking useless installers exist? Because fuck me I guess.
    • PR#159 fixed an issue where enabling native TLS was not actually doing anything. No one actually reported this not working which makes me think no one is using this feature. :)
    Open source →
    Release notes

    0.6.7

    Compare

    Choose a tag to compare

    Open source →
  6. 0.6.6 19 Jun 2025 withdrawn
    Release notes

    Fixed

    • PR#143 is a second attempt to resolve #141 by switching to a new 3.0.0-rc1 version of ureq that might not have the same issue, as well as adding support for retries for EOF I/O errors seen by users which can be configured via --http-retry or XWIN_HTTP_RETRY.

    Added

    • PR#148 resolved #81 by adding --include-debug-runtime to download the debug runtime binaries that are not provided by wine. Thanks @superewald!
    Open source →
    Release notes

    Fixed

    • PR#143 is a second attempt to resolve #141 by switching to a new 3.0.0-rc1 version of ureq that might not have the same issue, as well as adding support for retries for EOF I/O errors seen by users which can be configured via --http-retry or XWIN_HTTP_RETRY.

    Added

    • PR#148 resolved #81 by adding --include-debug-runtime to download the debug runtime binaries that are not provided by wine. Thanks @superewald!
    Open source →
    Release notes

    0.6.6

    Compare

    Choose a tag to compare

    Open source →
  7. 0.6.6-rc.2 17 Oct 2024 pre-release
    Release notes

    Fixed

    • PR#143 is a second attempt to resolve #141 by switching to a new 3.0.0-rc1 version of ureq that might not have the same issue, as well as adding support for retries for EOF I/O errors seen by users which can be configured via --http-retry or XWIN_HTTP_RETRY.
    Open source →
    Release notes

    0.6.6-rc.2

    Compare

    Choose a tag to compare

    Open source →
  8. 0.6.6-rc.1 16 Oct 2024 pre-release
    Release notes

    Fixed

    • PR#142 is an attempt to resolve #141 by switching from ureq to reqwest.
    Open source →
    Release notes

    0.6.6-rc.1

    Compare

    Choose a tag to compare

    Open source →
  9. 0.6.5 21 Aug 2024
    Release notes

    Fixed

    Open source →
    Release notes

    Fixed

    Open source →
    Release notes

    0.6.5

    Compare

    Choose a tag to compare

    Open source →
  10. 0.6.4 21 Aug 2024
    Release notes

    Fixed

    • PR#136 fixed an issue introduced in PR#131 where symlink disabling when a case-insensitive file system was detected was...not being respected. At all.
    Open source →
    Release notes

    Fixed

    • PR#136 fixed an issue introduced in PR#131 where symlink disabling when a case-insensitive file system was detected was...not being respected. At all.
    Open source →
    Release notes

    0.6.4

    Compare

    Choose a tag to compare

    Open source →
  11. 0.6.3 09 Aug 2024
    Release notes

    Fixed

    • PR#134 added back onecoreuap headers that were moved from the main SDK header package in recent versions of the SDK. Thanks @tomager!
    Open source →
  12. 0.6.2 02 Jul 2024
    Release notes

    Fixed

    • PR#131 resolved #130 by adding detection of case-insensitive file systems, which then disables symlink creation since it is not needed, and breaks.
    Open source →
  13. 0.6.1 30 Jun 2024
    Release notes

    Fixed

    • PR#129 fixed #128 by adding the additional onecoreuap MSI package that contains headers that were previously (before SDK 10.0.26100) part of other MSI packages. Thanks @bigfoodK!
    Open source →
  14. 0.6.0 03 Jun 2024
    Release notes

    Added

    • PR#123 (a rework of #119) adds the ability to splat in the format understood by clang-cl /winsysroot option.
    Open source →
  15. 0.5.2 06 May 2024
    Release notes

    Changed

    • PR#117 updated a few crates, notably zip.
    Open source →
  16. 0.5.1 02 Apr 2024
    Release notes

    Changed

    • PR#116 (a rework of #115) improves the speed of the x86_64-unknown-linux-musl binary by using mimalloc.
    Open source →
  17. 0.5.0 13 Nov 2023
    Release notes

    Changed

    • PR#110 changed how Ctx is built. It was getting too complicated to support niche use cases, some of which didn't belong in a library (like reading environment variables), so this functionality has been completely removed. Instead, one must pass in a ureq::Agent that is fully configured how the user wants it.
    • PR#110 changed the environment variable read to the xwin binary instead of the library, as well as its name https_proxy -> HTTPS_PROXY, and added it to an an option on the command line.
    Open source →
  18. 0.4.1 09 Nov 2023
    Release notes

    Fixed

    • PR#108 resolved #107 by fixing the Window symlink code added in PR#105 and only using it in the two cases it was needed.
    Open source →
  19. 0.4.0 07 Nov 2023
    Release notes

    Added

    • PR#101 resolved #28, #84, and #85 by adding a minimize command that straces a cargo build to write a map file that can be used by a splat command to only splat the headers and libraries actually needed to build, drastically reducing the splat output (eg. 1.3GiB -> 101MiB). This map file also allows the creation of symlinks on a per-file basis, allowing users to create their own symlinks if needed.
    • PR#104 resolved #103 by allowing custom certificates to be specified via the SSL_CERT_FILE, CURL_CA_BUNDLE, or REQUESTS_CA_BUNDLE environment variables. xwin must be compiled with the native-tls feature for this to function. Thanks @Owen-CH-Leung!
    • PR#105 supplanted #100, allowing creation of symlinks on a Windows host. Thanks @sykhro!
    Open source →
  20. 0.3.1 12 Sep 2023
    Release notes

    Changed

    • PR#99 changed the default VS manifest version from 16 -> 17. You can preserve the old behavior by passing --manifest-version 16 on the cmd line.

    Fixed

    • PR#99 resolved #92 by only failing if matching relative paths didn't have the same contents. This currently only applies to one file, appnotify.h, which is present in the SDK headers and Store headers.
    Open source →
  21. 0.3.0 12 Sep 2023
    Release notes

    Changed

    • PR#93 added the ability to specify a download timeout for each individual download, and changed the default from infinite to 60 seconds, so that xwin will error if the remote HTTP server is slow/unresponsive. Thanks @dragonmux!
    Open source →
  22. 0.2.15 11 Sep 2023 withdrawn
    Release notes

    Changed

    • PR#93 added the ability to specify a download timeout for each individual download, and changed the default from infinite to 60 seconds, so that xwin will error if the remote HTTP server is slow/unresponsive. Thanks @dragonmux!
    Open source →
  23. 0.2.14 20 Jun 2023
    Release notes

    Fixed

    Open source →
  24. 0.2.13 15 Jun 2023
    Release notes

    Changed

    • PR#88 updated dependencies.

    Added

    • PR#87 added binaries for aarch64-unknown-linux-musl
    Open source →
  25. 0.2.12 31 Mar 2023
    Release notes

    Fixed

    • PR#77 resolved #76 by correctly handling the retrieval of the latest SDK version, regardless of whether it is for the Windows 10 or 11 SDK.
    Open source →
  26. 0.2.11 06 Mar 2023
    Release notes

    Fixed

    • PR#74 resolved #70 by creating symlinks for SDK headers that are included by the CRT and ATL headers.
    • PR#74 fixed an issue where debug symbols were splatted to disk even when not requested.
    Open source →
  27. 0.2.10 30 Nov 2022
    Release notes

    Fixed

    • PR#67 fixed an issue where incorrect packages could be selected due to using string ordering on strings that could both be version strings and regular non-version strings. Thanks @mite-user!
    Open source →
  28. 0.2.9 14 Oct 2022
    Release notes

    Added

    • PR#62 added release builds for Windows, closing #58.

    Changed

    Open source →
  29. 0.2.8 07 Sep 2022
    Release notes

    Added

    • PR#59 added support for installing the Active Template Library (ATL). Thanks @pascalkuthe!
    Open source →
  30. 0.2.7 29 Aug 2022
    Release notes

    Added

    • No changes in xwin itself, but now prebuilt binaries for apple-darwin are supplied.
    Open source →
  31. 0.2.6 26 Aug 2022
    Release notes

    Changed

    • Updated dependencies, notably indicatif and insta.
    Open source →
  32. 0.2.5 21 Jun 2022
    Release notes

    Changed

    • PR#52 updated dependencies, including openssl-src to fix various issues raised by Github security advisories.
    Open source →
  33. 0.2.4 23 May 2022
    Release notes

    Added

    • PR#50 added the ability to specify an HTTPS proxy via the https_proxy environment variable. Thanks @j-raccoon!
    Open source →
  34. 0.2.3 16 May 2022
    Release notes

    Fixed

    • PR#48 fixed an issue introduced in PR#47 when using multiple architectures. Thanks @messense!
    Open source →
  35. 0.2.2 16 May 2022
    Release notes

    Changed

    • PR#45 replaced reqwest with ureq which significantly reduced dependencies. It also made rustls an optional (but default) TLS implementation in addition to supporting native TLS for arcane platforms that are not supported by ring. Thanks @messense!
    • PR#46 updated MSI to 0.5. Thanks @messense!

    Added

    • PR#47 added symlinks to support the usage of the /vctoolsdir and /winsdkdir options in clang-cl, which allow for a more concise compiler invocation. I would point you to official docs for this but apparently there are none. Thanks @Qyriad!
    Open source →
  36. 0.2.1 04 May 2022
    Release notes

    Changed

    • PR#41 added a symlink for BaseTsd.h. Thanks @jemc!
    • PR#42 updated dependencies, fixing a CVE.
    Open source →
  37. 0.2.0 01 Mar 2022
    Release notes

    Changed

    • PR#37 changed from structopt to clap v3 for arguments parsing. Thanks @messense!
    • PR#38 fixed up the clap arguments to include metadata to be closer to the original structopt output with eg. xwin -V, however this exposed a problem that clap couldn't handle the old --version <MANIFEST_VERSION> flag since it clashed with -V, --version, so the flag has been renamed to --manifest-version. This is unfortunately a breaking change for the CLI.
    Open source →
  38. 0.1.10 28 Feb 2022
    Release notes

    Fixed

    • PR#34 changed some code so that it is possible to compile and run for x86_64-pc-windows-msvc, though this target is not explicitly support. Thanks @messense!
    • PR#36 updated indicatif to 0.17.0-rc.6 and pinned it to fix #35.
    Open source →
  39. 0.1.9 28 Feb 2022
    Release notes

    Fixed

    • PR#32 fixed the --disable-symlinks flag to actually not emit symlinks, which is needed if the target filesystem is case-insensitive.
    Open source →
  40. 0.1.8 28 Feb 2022
    Release notes

    Fixed

    Open source →
  41. 0.1.7 24 Feb 2022
    Release notes

    Fixed

    Open source →
  42. 0.1.6 07 Feb 2022
    Release notes

    Fixed

    Open source →
  43. 0.1.5 25 Nov 2021
    Release notes

    Fixed

    • PR#19 resolved #18 by removing a source of non-determinism in the output. It also made it so that some Store headers are no longer splatted to disk when targeting the Desktop variant alone.
    Open source →
  44. 0.1.4 22 Nov 2021
    Release notes

    Added

    • PR#17 resolved #6 by adding the --manifest option so that users can specify an exact manifest to use rather than downloading the mutable one from the Microsoft CDN.
    Open source →
  45. 0.1.3 17 Nov 2021
    Release notes

    Fixed

    • PR#15 resolved #14 by removing the unnecessary use of tokio::main. Thanks @mite-user!
    • PR#13 resolved #12 by using the actual output directory rather than a hardcoded default. Thanks @mite-user!
    Open source →
  46. 0.1.2 11 Nov 2021
    Release notes

    Fixed

    • PR#11 added a workaround symlink for Kernel32.lib to fix the prevalent time crate in older versions. Thanks @twistedfall!
    Open source →
  47. 0.1.1 24 Aug 2021
    Release notes

    Fixed

    • PR#9 resolved #8 by adding support for additional symlinks for each .lib in SCREAMING case, since some crates link them that way.
    Open source →
  48. 0.1.0 22 Aug 2021
    Release notes

    Added

    • Initial implementation if downloading, unpacking, and splatting of the CRT and Windows SDK. This first pass focused on targeting x86_64 Desktop, so targeting the Windows Store or other architectures is not guaranteed to work.

    <!-- next-url --> [Unreleased]: https://github.com/Jake-Shadle/xwin/compare/0.10.0...HEAD [0.10.0]: https://github.com/Jake-Shadle/xwin/compare/0.9.0...0.10.0 [0.9.0]: https://github.com/Jake-Shadle/xwin/compare/0.8.0...0.9.0 [0.8.0]: https://github.com/Jake-Shadle/xwin/compare/0.7.0...0.8.0 [0.7.0]: https://github.com/Jake-Shadle/xwin/compare/0.6.7...0.7.0 [0.6.7]: https://github.com/Jake-Shadle/xwin/compare/0.6.6...0.6.7 [0.6.6]: https://github.com/Jake-Shadle/xwin/compare/0.6.5...0.6.6 [0.6.5]: https://github.com/Jake-Shadle/xwin/compare/0.6.4...0.6.5 [0.6.4]: https://github.com/Jake-Shadle/xwin/compare/0.6.3...0.6.4 [0.6.3]: https://github.com/Jake-Shadle/xwin/compare/0.6.2...0.6.3 [0.6.2]: https://github.com/Jake-Shadle/xwin/compare/0.6.1...0.6.2 [0.6.1]: https://github.com/Jake-Shadle/xwin/compare/0.6.0...0.6.1 [0.6.0]: https://github.com/Jake-Shadle/xwin/compare/0.5.2...0.6.0 [0.5.2]: https://github.com/Jake-Shadle/xwin/compare/0.5.1...0.5.2 [0.5.1]: https://github.com/Jake-Shadle/xwin/compare/0.5.0...0.5.1 [0.5.0]: https://github.com/Jake-Shadle/xwin/compare/0.4.1...0.5.0 [0.4.1]: https://github.com/Jake-Shadle/xwin/compare/0.4.0...0.4.1 [0.4.0]: https://github.com/Jake-Shadle/xwin/compare/0.3.1...0.4.0 [0.3.1]: https://github.com/Jake-Shadle/xwin/compare/0.3.0...0.3.1 [0.3.0]: https://github.com/Jake-Shadle/xwin/compare/0.2.15...0.3.0 [0.2.15]: https://github.com/Jake-Shadle/xwin/compare/0.2.14...0.2.15 [0.2.14]: https://github.com/Jake-Shadle/xwin/compare/0.2.13...0.2.14 [0.2.13]: https://github.com/Jake-Shadle/xwin/compare/0.2.12...0.2.13 [0.2.12]: https://github.com/Jake-Shadle/xwin/compare/0.2.11...0.2.12 [0.2.11]: https://github.com/Jake-Shadle/xwin/compare/0.2.10...0.2.11 [0.2.10]: https://github.com/Jake-Shadle/xwin/compare/0.2.9...0.2.10 [0.2.9]: https://github.com/Jake-Shadle/xwin/compare/0.2.8...0.2.9 [0.2.8]: https://github.com/Jake-Shadle/xwin/compare/0.2.7...0.2.8 [0.2.7]: https://github.com/Jake-Shadle/xwin/compare/0.2.6...0.2.7 [0.2.6]: https://github.com/Jake-Shadle/xwin/compare/0.2.5...0.2.6 [0.2.5]: https://github.com/Jake-Shadle/xwin/compare/0.2.4...0.2.5 [0.2.4]: https://github.com/Jake-Shadle/xwin/compare/0.2.3...0.2.4 [0.2.3]: https://github.com/Jake-Shadle/xwin/compare/0.2.2...0.2.3 [0.2.2]: https://github.com/Jake-Shadle/xwin/compare/0.2.1...0.2.2 [0.2.1]: https://github.com/Jake-Shadle/xwin/compare/0.2.0...0.2.1 [0.2.0]: https://github.com/Jake-Shadle/xwin/compare/0.1.10...0.2.0 [0.1.10]: https://github.com/Jake-Shadle/xwin/compare/0.1.9...0.1.10 [0.1.9]: https://github.com/Jake-Shadle/xwin/compare/0.1.8...0.1.9 [0.1.8]: https://github.com/Jake-Shadle/xwin/compare/0.1.7...0.1.8 [0.1.7]: https://github.com/Jake-Shadle/xwin/compare/0.1.6...0.1.7 [0.1.6]: https://github.com/Jake-Shadle/xwin/compare/0.1.5...0.1.6 [0.1.5]: https://github.com/Jake-Shadle/xwin/compare/0.1.4...0.1.5 [0.1.4]: https://github.com/Jake-Shadle/xwin/compare/xwin-0.1.3...0.1.4 [0.1.3]: https://github.com/Jake-Shadle/xwin/compare/xwin-0.1.2...xwin-0.1.3 [0.1.2]: https://github.com/Jake-Shadle/xwin/compare/xwin-0.1.1...xwin-0.1.2 [0.1.1]: https://github.com/Jake-Shadle/xwin/compare/0.1.0...xwin-0.1.1 [0.1.0]: https://github.com/Jake-Shadle/xwin/releases/tag/0.1.0

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive