🌥️ 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
.
-
🛠️ Maintenance
-
Ensure that
wasm-bindgen
generates move assertions - fitzgen, issue/677 pull/683wasm-pack
now createswasm-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/664rustfmt
is now available on Rust's stable channel so now thewasm-pack
PR template recommends installing the stable version instead of the nightly version.
-