Skip to content

Latest commit

 

History

History
204 lines (163 loc) · 14.4 KB

CHANGELOG.md

File metadata and controls

204 lines (163 loc) · 14.4 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased - ReleaseDate

0.5.2 - 2024-05-06

Changed

  • PR#117 updated a few crates, notably zip.

0.5.1 - 2024-04-02

Changed

  • PR#116 (a rework of #115) improves the speed of the x86_64-unknown-linux-musl binary by using mimalloc.

0.5.0 - 2023-11-13

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.

0.4.1 - 2023-11-09

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.

0.4.0 - 2023-11-07

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!

0.3.1 - 2023-09-12

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.

0.3.0 - 2023-09-12

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.15 - 2023-09-11

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.14 - 2023-06-20

Fixed

0.2.13 - 2023-06-15

Changed

  • PR#88 updated dependencies.

Added

  • PR#87 added binaries for aarch64-unknown-linux-musl

0.2.12 - 2023-03-31

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.

0.2.11 - 2023-03-06

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.

0.2.10 - 2022-11-30

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.9 - 2022-10-14

Added

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

Changed

0.2.8 - 2022-09-07

Added

  • PR#59 added support for installing the Active Template Library (ATL). Thanks @pascalkuthe!

0.2.7 - 2022-08-29

Added

  • No changes in xwin itself, but now prebuilt binaries for apple-darwin are supplied.

0.2.6 - 2022-08-26

Changed

  • Updated dependencies, notably indicatif and insta.

0.2.5 - 2022-06-21

Changed

  • PR#52 updated dependencies, including openssl-src to fix various issues raised by Github security advisories.

0.2.4 - 2022-05-23

Added

  • PR#50 added the ability to specify an HTTPS proxy via the https_proxy environment variable. Thanks @j-raccoon!

0.2.3 - 2022-05-16

Fixed

  • PR#48 fixed an issue introduced in PR#47 when using multiple architectures. Thanks @messense!

0.2.2 - 2022-05-16

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!

0.2.1 - 2022-05-04

Changed

  • PR#41 added a symlink for BaseTsd.h. Thanks @jemc!
  • PR#42 updated dependencies, fixing a CVE.

0.2.0 - 2022-03-01

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.10 - 2022-02-28

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.

0.1.9 - 2022-02-28

Fixed

  • PR#32 fixed the --disable-symlinks flag to actually not emit symlinks, which is needed if the target filesystem is case-insensitive.

0.1.8 - 2022-02-28

Fixed

0.1.7 - 2022-02-24

Fixed

0.1.6 - 2022-02-07

Fixed

0.1.5 - 2021-11-25

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.

0.1.4 - 2021-11-22

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.

0.1.3 - 2021-11-17

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!

0.1.2 - 2021-11-11

Fixed

  • PR#11 added a workaround symlink for Kernel32.lib to fix the prevalent time crate in older versions. Thanks @twistedfall!

0.1.1 - 2021-08-24

Fixed

  • PR#9 resolved #8 by adding support for additional symlinks for each .lib in SCREAMING case, since some crates link them that way.

0.1.0 - 2021-08-22

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.