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 2026Releases
latest 48-
0.10.012 Aug 2026Release notes
Open source →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.
Release notes
Open source →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.
-
0.9.020 Apr 2026 -
0.8.006 Feb 2026Release notes
Open source →Removed
- PR#170 removed the
native-tlsandrustls-tlsfeature flags,rustlsis now used as the TLS implementation unconditionally.
Changed
- PR#170 changed it so that
rustls-platform-verifieris used for certificate validation. Previouslywebpki-rootswas used, but this meant hostile corporate networks that middle man HTTPS traffic would cause failures.
Release notes
Open source →Removed
- PR#170 removed the
native-tlsandrustls-tlsfeature flags,rustlsis now used as the TLS implementation unconditionally.
Changed
- PR#170 changed it so that
rustls-platform-verifieris used for certificate validation. Previouslywebpki-rootswas used, but this meant hostile corporate networks that middle man HTTPS traffic would cause failures.
- PR#170 removed the
-
0.7.008 Jan 2026Release notes
Open source →Release notes
Open source → -
0.6.715 Aug 2025 withdrawnRelease notes
Open source →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. :)
Release notes
Open source →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. :)
-
0.6.619 Jun 2025 withdrawnRelease notes
Open source →Fixed
- PR#143 is a second attempt to resolve #141 by switching to a new
3.0.0-rc1version 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-retryorXWIN_HTTP_RETRY.
Added
- PR#148 resolved #81 by adding
--include-debug-runtimeto download the debug runtime binaries that are not provided by wine. Thanks @superewald!
Release notes
Open source →Fixed
- PR#143 is a second attempt to resolve #141 by switching to a new
3.0.0-rc1version 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-retryorXWIN_HTTP_RETRY.
Added
- PR#148 resolved #81 by adding
--include-debug-runtimeto download the debug runtime binaries that are not provided by wine. Thanks @superewald!
- PR#143 is a second attempt to resolve #141 by switching to a new
-
0.6.6-rc.217 Oct 2024 pre-release -
0.6.6-rc.116 Oct 2024 pre-releaseRelease notes
Open source → -
0.6.521 Aug 2024 -
0.6.421 Aug 2024 -
0.6.309 Aug 2024 -
0.6.202 Jul 2024 -
0.6.130 Jun 2024 -
0.6.003 Jun 2024 -
0.5.206 May 2024 -
0.5.102 Apr 2024 -
0.5.013 Nov 2023Release notes
Open source →Changed
- PR#110 changed how
Ctxis 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 aureq::Agentthat is fully configured how the user wants it. - PR#110 changed the environment variable read to the
xwinbinary instead of the library, as well as its namehttps_proxy->HTTPS_PROXY, and added it to an an option on the command line.
- PR#110 changed how
-
0.4.109 Nov 2023 -
0.4.007 Nov 2023Release notes
Open source →Added
- PR#101 resolved #28, #84, and #85 by adding a
minimizecommand that straces a cargo build to write amapfile that can be used by asplatcommand to only splat the headers and libraries actually needed to build, drastically reducing the splat output (eg. 1.3GiB -> 101MiB). Thismapfile 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, orREQUESTS_CA_BUNDLEenvironment variables.xwinmust be compiled with thenative-tlsfeature for this to function. Thanks @Owen-CH-Leung! - PR#105 supplanted #100, allowing creation of symlinks on a Windows host. Thanks @sykhro!
- PR#101 resolved #28, #84, and #85 by adding a
-
0.3.112 Sep 2023Release notes
Open source →Changed
- PR#99 changed the default VS manifest version from 16 -> 17. You can preserve the old behavior by passing
--manifest-version 16on the cmd line.
Fixed
- PR#99 changed the default VS manifest version from 16 -> 17. You can preserve the old behavior by passing
-
0.3.012 Sep 2023Release notes
Open source →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!
-
0.2.1511 Sep 2023 withdrawnRelease notes
Open source →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!
-
0.2.1420 Jun 2023 -
0.2.1315 Jun 2023Release notes
Open source → -
0.2.1231 Mar 2023 -
0.2.1106 Mar 2023 -
0.2.1030 Nov 2022Release notes
Open source →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!
-
0.2.914 Oct 2022 -
0.2.807 Sep 2022Release notes
Open source →Added
- PR#59 added support for installing the Active Template Library (ATL). Thanks @pascalkuthe!
-
0.2.729 Aug 2022Release notes
Open source →Added
- No changes in xwin itself, but now prebuilt binaries for
apple-darwinare supplied.
- No changes in xwin itself, but now prebuilt binaries for
-
0.2.626 Aug 2022 -
0.2.521 Jun 2022Release notes
Open source →Changed
- PR#52 updated dependencies, including openssl-src to fix various issues raised by Github security advisories.
-
0.2.423 May 2022Release notes
Open source →Added
- PR#50 added the ability to specify an HTTPS proxy via the
https_proxyenvironment variable. Thanks @j-raccoon!
- PR#50 added the ability to specify an HTTPS proxy via the
-
0.2.316 May 2022Release notes
Open source → -
0.2.216 May 2022Release notes
Open source →Changed
- PR#45 replaced
reqwestwithureqwhich significantly reduced dependencies. It also maderustlsan optional (but default) TLS implementation in addition to supporting native TLS for arcane platforms that are not supported byring. Thanks @messense! - PR#46 updated MSI to 0.5. Thanks @messense!
Added
- PR#45 replaced
-
0.2.104 May 2022 -
0.2.001 Mar 2022Release notes
Open source →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.
-
0.1.1028 Feb 2022 -
0.1.928 Feb 2022Release notes
Open source →Fixed
- PR#32 fixed the
--disable-symlinksflag to actually not emit symlinks, which is needed if the target filesystem is case-insensitive.
- PR#32 fixed the
-
0.1.828 Feb 2022Release notes
Open source →Fixed
- PR#30 updated the indicatif pre-release as a workaround for
cargo install's broken behavior. Thanks @messense!
- PR#30 updated the indicatif pre-release as a workaround for
-
0.1.724 Feb 2022Release notes
Open source →Fixed
- PR#27 added a fixup for
Iphlpapi.lib => iphlpapi.lib. Thanks @jelmansouri!
- PR#27 added a fixup for
-
0.1.607 Feb 2022Release notes
Open source →Fixed
- PR#22 added a fix for zeromq using a mixed case include. Thanks @Jasper-Bekkers!
- PR#23 updated dependencies, which included bumping
thread_localto fix a security advisory.
-
0.1.525 Nov 2021 -
0.1.422 Nov 2021 -
0.1.317 Nov 2021Release notes
Open source →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!
- PR#15 resolved #14 by removing the unnecessary use of
-
0.1.211 Nov 2021Release notes
Open source →Fixed
- PR#11 added a workaround symlink for
Kernel32.libto fix the prevalenttimecrate in older versions. Thanks @twistedfall!
- PR#11 added a workaround symlink for
-
0.1.124 Aug 2021Release notes
Open source →Fixed
- PR#9 resolved #8 by adding support for additional symlinks for each
.libinSCREAMINGcase, since some crates link them that way.
- PR#9 resolved #8 by adding support for additional symlinks for each
-
0.1.022 Aug 2021Release notes
Open source →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