Wasm Pack Versions Save

📦✨ your favorite rust -> wasm workflow tool!

v0.12.1

9 months ago
  • 🤕 Fixes

    • Restore --version command - lynn, issue/1301, pull/1305

      The --version command got lost in space in v0.12.0. It's now brought back!

    • Fix value parser for Option<PathBuf> - Myriad-Dreamin, issue/1304, pull/1307

      A value parser for OsString cannot parse a command line argument for Option<PathBuf>, which let it failed to specify paths for pack, publish and test commands, this faulty behavior was introduced in v0.12.0.

v0.12.0

9 months ago

v0.11.1

10 months ago

v0.11.0

1 year ago

v0.10.3

1 year ago
  • 🤕 Fixes

    • Use bash to create release tarballs - nasso, issue/1097 pull/1144

      Fixes Windows installer failure due to malformatted tar.

    • Clean up package.json from previous runs - main--, issue/1110-comment pull/1119

      Remove the package.json file from previous runs to avoid crashes.

    • Do not remove the pkg directory - huntc, issue/1099 pull/1110

      A recent change ensured that the pkg directory was removed as the first step of attempting to create it. Unfortunately, this caused a problem for webpack when watching the pkg directory. Webpack was unable to recover its watching and so any watch server must be restarted, which is a blocker when using it. This PR and release fixes this.

    • Bump regex from 1.5.4 to 1.5.6 - dependabot, pull/1147

      Version 1.5.5 of the regex crate fixed a security bug in the regex compiler.

    • Bump openssl-src from 111.17.0+1.1.1m to 111.20.0+1.1.1o - dependabot, pull/1146

      Bring in bug fixes from the new version of openssl-src.

v0.10.2

2 years ago
  • ✨ Features

  • 🤕 Fixes

    • Add support for macos aarch64 - d3lm, issue/913 pull/1088

      This fixes aarch64 for MacOS and will download x86_64-apple-darwin.

    • Add linux/arm64 to release workflow - nacardin, issue/1064 pull/1065

    • Force axios version - drager, pull/1094

      Forces npm package axios to version 0.21.2 in order to get security fix for a security vulnerability present in axios before version 0.21.2.

v0.10.1

2 years ago

v0.10.0

2 years ago
  • ✨ Features

    • Added keywords - lucashorward, issue/707 pull/838

      package.json files usually contain a keywords array so that npm can make searching easier. This PR extracts keywords from Cargo.toml and puts them into package.json.

  • 🤕 Fixes

    • Update binary-install to get fix for axios security vulnerability - simlay, Rizary, issue/958 pull/973 pull/1012

      Updates binary-install npm package to version ^0.1.0 in order to get security fix for a security vulnerability in axios.

    • Fix cargo-generate installation - bradyjoslin, issue/975 issue/907 pull/983

      wasm-pack new hello-wasm didn't work due to a bad link when trying to install cargo-generate.

      This PR points the installation to the correct place and makes wasm-pack new working again!

    • Pass through extra options when building tests - azriel91, issue/698 pull/851

      wasm-pack test accepts extra options to pass through to cargo when running tests. Under the hood, this runs cargo build before cargo test, and the additional options were only passed through to the test command. This meant that crates that enabled native features by default could not be built using wasm-pack, as it would attempt to build tests for the wasm32-unknown-unknown target with the native features enabled.

      This PR passes through the extra options to cargo when building the tests as well.

    • Corrected files included in package.json for bundler / no target - lucashorward, issue/837 pull/839

      wasm-pack build and wasm-pack build --target bundler generates a _bg.js file, but it was not added to the package.json. The file that is added, *.js will however reference the _bg.js, so when the package was distributed (both through pack or publish) it is not usable.

      This PR includes that _bg.js file in package.json.

    • Find the main package if multiple packages have the same name - ghost, pull/830

      If there were 2 packages with the same name, wasm-pack would sometimes use the wrong one and errored.

  • 📖 Documentation

  • 🛠️ Maintenance

v0.9.1

4 years ago
  • 🤕 Fixes

    • Bump binaryen to version_90 - ashleygwilliams, issue/781 issue/782 pull/687

      Previously, wasm-pack was hardcoded to install and attempt to execute wasm-opt on every build using binaryen version 78. This version had various issues on Unix/Linux and caused broken CI builds for many folks (we're so sorry!).

      This PR updates the binaryen version to 90, which should fix the issues folks were having.

      Long-term, we'd like to create an auto-updating mechanism so that we can install and use the latest release of binaryen as we do for other binaries we orchestrate.

  • 🛠️ Maintenance

v0.9.0

4 years ago
  • ✨ Features

    • Adding in --quiet and --log-level flags to control the console output - Pauan, pull/694

      The --verbose flag has long existed as a way to get more console output, but now there are two flags to get less console output:

      • --quiet will silence all stdout, so only errors will be displayed.
      • --log-level can be used to silence [INFO] or [WARN] output from wasm-pack.

      You can cause it to display even more information by using --verbose, or you can silence all stdout by using --quiet.

      You can also use --log-level to have fine-grained control over wasm-pack's log output:

      • --log-level info is the default, it causes all messages to be logged.
      • --log-level warn causes warnings and errors to be displayed, but not info.
      • --log-level error causes only errors to be displayed.

      These flags are global flags, so they can be used with every command, and they must come before the command:

      wasm-pack --log-level error build
      wasm-pack --quiet build
      
    • Wrap cargo-generate with wasm-pack new - ashleygwilliams, issue/373 pull/623

      One of the first steps in getting started with wasm-pack is to cargo install cargo-generate to bootstrap some project templates. This can take a while and is an extra burden on users just getting started with wasm-pack. wasm-pack new uses cargo-generate to bootstrap new projects, removing the need to install the tool on your own. You can read more about this feature here.

    • Allow wasm-pack to be run from subdirectories - gameldar, issue/620 pull/624

      If a crate path is not specified when running wasm-pack and there is no Cargo.toml in the current working directory, wasm-pack will walk up the directory structure to find a Cargo.toml.

    • Automatically execute wasm-opt on produced binaries - alexcrichton, issue/159 pull/625

      When wasm-pack builds binaries in released and profiling modes, it will execute wasm-opt on the binary, making the result smaller and more performant.

    • Helpful error message when wasm-bindgen fails because of an old version - gameldar, ashleygwilliams, issue/627 pull/633

      wasm-pack will pass a --web flag to wasm-bindgen when wasm-pack build --target web is run. Before, if the user had an old version of wasm-bindgen in their dependencies, they would receive a cryptic error message. Now they will be notified that they need to update their wasm-bindgen dependency if they want to build for the web target.

    • Publish releases by tag to npm - Tarnadas, pull/690

      You can now use wasm-pack publish to publish tagged releases with the optional --tag argument. You can read more about distribution tags on NPM, and more about this feature in our docs.

  • 🤕 Fixes

    • Only use exactly v0.24.0 geckodriver on Windows - ashleygwilliams, issue/770 pull/774

      wasm-pack test is a great way to test your web Wasm modules- and it very nicely sets up and configures the necessary browser engine drivers to do so!

      For the v0.25.0 release of geckodriver, the team switched their build environment- which introduced a new surprise runtime dependency, Visual C++ redistributable package, to their windows binaries. You can read more about the issue here, mozilla/geckodriver/issue/1617.

      Becuase the introduction of this runtime dependency is considered a bug, and should be eventually fixed, the team decided that the least invasive solution would be to hold geckodriver binaries, on Windows, at v0.24.0, and to disable the auto-update logic, until the bug is fixed.

    • Handle version check failures - drager, issue/652, issue/653 pull/660

      Every day, wasm-pack checks the crates.io API for the latest version number and lets the user know if their installation is out of date. Now, when these API calls fail, wasm-pack alerts the user of the failure and waits until the next day to make another call to crates.io.

    • Add user agent for version check - drager, issue/651 pull/658

      crates.io requires tools to set a version check User-Agent header when requesting the latest version. Now, when wasm-pack performs an API request to crates.io, it sends User-Agent: wasm-pack/0.9.0.

    • Remove broken link from the README - drager, pull/635

    • Make sideEffects in generated package.json a boolean instead of a string - rhysd, pull/649

    • Don't warn if license-file is present - ashleygwilliams, issue/692 pull/693

      Previously, wasm-pack would warn that the license field was missing if the license-file field was used instead. This warning is now only surfaced if both license and license-field are absent from a Cargo.toml.

    • Select correct webdriver version - MartinKavik, issue/611 pull/706

      wasm-pack used to install a pinned version of the Chrome, Gecko, and Safari drivers. Now when a driver needs to be installed, wasm-pack will pull the latest version from the API and install that instead.

    • Only run node tests on wasm-pack test --node - alexcrichton, pull/630

    • Fix npm installs for Windows Users - EverlastingBugstopper, issue/757 pull/759

      We recently published wasm-pack on the npm registry but forgot to test on Windows! npm install -g wasm-pack now works on Windows machines.

    • Clean up cargo test warnings - ashleygwilliams, issue/752 pull/753

      Tests now use std::sync::Once::new() instead of the deprecated std::sync::ONCE_INIT

  • 📖 Documentation

    • Document npm installer - drager, issue/751 pull/767

    • Update help message for build and publish subcommands - ibaryshnikov, issue/636 pull/640

      wasm-bindgen recently changed the default target from browser to bundler and deprecated browser. This change is now reflected in the help message for wasm-pack build.

    • Add Release Checklist - ashleygwilliams, issue/370 pull/626

      While we try to automate releases of wasm-pack as much as possible, there are still some manual steps that need to be completed when releasing a new version (like writing a changelog 😉). These steps now live in RELEASE_CHECKLIST.md.

  • 🛠️ Maintenance

    • Ensure that wasm-bindgen generates move assertions - fitzgen, issue/677 pull/683

      wasm-pack now creates wasm-bindgen test fixtures that must generate move assertions for both free functions and methods.

    • Update cargo_metadata to v0.8.0 - ThomasdenH, pull/670

    • Update rustfmt install snippet in PR template` - data-pup, issue/639 pull/664

      rustfmt is now available on Rust's stable channel so now the wasm-pack PR template recommends installing the stable version instead of the nightly version.