Releases: rustwasm/wasm-pack
βοΈ v0.12.1
-
π€ 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 - Myriad-Dreamin, issue/1304, pull/1307
A value parser for OsString cannot parse a command line argument for Option,
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
-
β¨ Features
-
Add --no-pack flag to build command - hamza1311, ashleygwilliams, issue/691, issue/811, pull/695, pull/1291
When calling wasm-pack build a user can optionally pass --no-pack and wasm-pack will build your wasm, generate js, and not build a package.json.
-
Add wasmbindgen option: omit_default_module_path - matthiasgeihs, pull/1272
Adds an option to call wasm-bindgen with --omit_default_module_path.
-
-
π€ Fixes
-
Add HTTP header USER-AGENT - LeviticusNelson, issue/1266, pull/1285
We encountered some issues when we didn't send an User-Agent. This is now fixed.
-
Replace curl with ureq - hamza1311, issue/650, issue/823, issue/997, issue/1079, issue/1203, issue/1234, issue/1281, pull/1290
The HTTP client is now pure Rust. Removes the dependency of openssl which have caused a lot of issues for people using wasm-pack on various distributions.
-
Update binary-install to 0.2.0. binary-install replaced curl with ureq - drager
See PR in binary-install repo for more information.
-
Remove --always-auth from npm login - EstebanBorai, pull/1288
npm login doesn't support --always-auth anymore, instead it is under the adduser subcommand.
-
Turn off cargo colors during log level test - dtolnay, pull/1294
-
Fix getting the target-dir in wasm_bindgen_build - tomasol, issue/1278, pull/1279
Fixes a wasm-pack panic if --target-dir was supplied (and arguments are not sorted).
-
Respect package.readme in Cargo.toml - heaths, issue/1215, pull/1298, pull/1216
wasm-pack now respects specifying readme=false:
[package] readme = false
-
-
π Documentation
-
π οΈ Maintenance
-
Bump cargo-generate version to 0.18.2 - sassman, issue/1245 pull/1269
-
Replace unmaintained actions-rs/toolchain action in CI workflows - striezel, pull/1246
Now we are using https://github.com/dtolnay/rust-toolchain instead.
-
Update several dependencies - hamza1311, pull/1292
Updated clap, toml, predicates and serial_test to their latest versions.
-
π¦οΈ v0.11.1
-
π€ Fixes
-
Fix discovery of locally installed
wasm-opt
- Liamolucko, issue/1247, pull/1257 -
Fix wasm-pack bin script entry - ahippler, issue/1248, pull/1250
-
-
π οΈ Maintenance
- bump openssl from 0.10.46 to 0.10.48 - pull/1254
π¦οΈ v0.11.0
-
β¨ Features
-
Make Deno target available - egfx-notifications, issue/672, issue/879, pull/1117
-
Add support for more platforms to installer script - omninonsense, issue/1064, issue/952, issue/1125, pull/1122
This makes the installation script work on M1 macs, as well as inside docker (especially when combined with buildx) for aarch64/arm64 architectures.
-
Add Linux arm64 support - nnelgxorz, issue/1169, pull/1170
-
Add support for workspace inheritance - printfn, issue/1180, pull/1185
-
-
π€ Fixes
-
--target-dir as extra option is now considered as expected - sassman, issue/1076, pull/1082
-
Pass through --weak-refs --reference-types flags to bindgen - serprex, issue/930, pull/937
-
Fix binaryen URL and use updated binary-install to fix installation on macOS - matheus23, printfn, pull/1188
Use the updated binary-install crate (rustwasm/binary-install#21), switches from failure to anyhow to match what binary-install uses, and fixes wasm-opt installation on macOS.
-
Mark snippets and the bundler target's main file as having side effects - Liamolucko, issue/972, rustwasm/wasm-bindgen/3276, pull/1224
-
-
π Documentation
-
Fix typos in non-rustup-setups.md - dallasbrittany, issue/1141, pull/1142
-
Replace two mentions of wasm-pack init with wasm-pack build in the docs - mstange, pull/1086
-
Update npm installation link - benediktwerner, pull/1227
-
-
π οΈ Maintenance
-
Bump wasm-opt to version 108 - MichaelMauderer, issue/1135 pull/1136
-
Update binary-install to v1.0.1 - EverlastingBugstopper, pull/1130
-
Add back run.js to npm installer - EverlastingBugstopper, pull/1149
-
Update actions/checkout in GitHub Actions workflows to v3 - striezel, pull/1221
-
Update actions/cache in GitHub Actions workflows to v3 - striezel, pull/1222
-
Update JamesIves/github-pages-deploy-action in GHA workflow to v4.4.1 - striezel, pull/1223
-
π¦οΈ v0.10.3
-
π€ 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.
-
π¦οΈ 0.10.2
-
β¨ 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 version0.21.2
in order to get security fix for a security vulnerability present in axios before version0.21.2
.
-
π¦οΈ 0.10.1
-
π€ Fixes
- Add exe to binary name if windows - drager, issue/1038 pull/1055
π¦οΈ 0.10.0
-
β¨ 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 fromCargo.toml
and puts them intopackage.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 installcargo-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 tocargo
when running tests.
Under the hood, this runscargo build
beforecargo test
, and the additional options were only passed through to thetest
command. This meant that crates that enabled native features by default could not be built usingwasm-pack
, as it would attempt to build tests for thewasm32-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
andwasm-pack build --target bundler
generates a _bg.js file, but it was not added to thepackage.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
-
Fix CI. Remove appveyor and travis and use Github actions - ashleygwilliams, drager, issue/594 issue/979 pull/947
-
Cargo update - ashleygwilliams, pull/800
-
Remove dirs dependency - brightly-salty, issue/943 pull/944
-
βοΈ 0.9.1
-
π€ 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
- Consolidate wasm-opt installation into existing binary install logic - ashleygwilliams, issue/685 pull/687
π₯οΈ 0.9.0
-
β¨ Features
-
Adding in
--quiet
and--log-level
flags to control the console output - Pauan, pull/694The
--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
withwasm-pack new
- ashleygwilliams, issue/373 pull/623One of the first steps in getting started with
wasm-pack
is tocargo install cargo-generate
to bootstrap some project templates. This can take a while and is an extra burden on users just getting started withwasm-pack
.wasm-pack new
usescargo-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/624If a crate path is not specified when running
wasm-pack
and there is noCargo.toml
in the current working directory,wasm-pack
will walk up the directory structure to find aCargo.toml
. -
Automatically execute
wasm-opt
on produced binaries - alexcrichton, issue/159 pull/625When
wasm-pack
builds binaries in released and profiling modes, it will executewasm-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 towasm-bindgen
whenwasm-pack build --target web
is run. Before, if the user had an old version ofwasm-bindgen
in their dependencies, they would receive a cryptic error message. Now they will be notified that they need to update theirwasm-bindgen
dependency if they want to build for theweb
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, whenwasm-pack
performs an API request to crates.io, it sendsUser-Agent: wasm-pack/0.9.0
. -
Make
sideEffects
in generatedpackage.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 thelicense
field was missing if thelicense-file
field was used instead. This warning is now only surfaced if bothlicense
andlicense-field
are absent from aCargo.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/753Tests now use
std::sync::Once::new()
instead of the deprecatedstd::sync::ONCE_INIT
-
-
π Documentation
-
Update help message for
build
andpublish
subcommands - ibaryshnikov, issue/636 pull/640wasm-bindgen
recently changed the default target frombrowser
tobundler
and deprecatedbrowser
. This change is now reflected in the help message forwasm-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 inRELEASE_CHECKLIST.md
.