Implement #675: let wasm_js enable the backend by default#730
Implement #675: let wasm_js enable the backend by default#730
Conversation
|
Pinging @newpavlov @josephlr for feedback please. |
|
I will leave it to @josephlr to accept, merge, and release this PR. Implementation-wise, I don't see any issues. |
josephlr
left a comment
There was a problem hiding this comment.
Looks good, thanks for putting this together and sorry for the delay. I'll merge this now, and writeup the changelog and release notes tomorrow.
I think we should keep it for now, both to avoid a breaking change, and to give people a better error message when they try to select the backend without enabling the required feature. |
## [0.3.4] - 2025-10-14 ### Major change to `wasm_js` backend Now, when the `wasm_js` feature is enabled, the `wasm_js` backend will be used by default. Users of `wasm32-unknown-unknown` targeting JavaScript environments like the Web and Node.js will no longer need to specify: ``` --cfg getrandom_backend="wasm_js" ``` in `RUSTFLAGS` for the crate to compile. They can now simple enable a feature. Note: this should not affect non-JS users of the `wasm32-unknown-unknown` target. Using `--cfg getrandom_backend` will still override the source of randomness _even if_ the `wasm_js` feature is enabled. This includes `--cfg getrandom_backend=custom` and `--cfg getrandom_backend=unsupported`. For more information, see the discussions in [#671], [#675], and [#730]. ### Added - `unsupported` opt-in backend [#667] - `windows_legacy` opt-in backend [#724] ### Changed - Implement Memory Sanitizer unpoisoning more precisely [#678] - Relax MSRV for the `linux_raw` opt-in backend on ARM targets [#688] - Use `getrandom` syscall on all RISC-V Linux targets [#699] - Replaced `wasi` dependency with `wasip2` [#721] - Enable `wasm_js` backend by default if the `wasm_js` feature is enabled [#730] ### Removed - Unstable `rustc-dep-of-std` crate feature [#694] [#667]: #667 [#671]: #671 [#675]: #675 [#678]: #678 [#688]: #688 [#694]: #694 [#699]: #699 [#721]: #721 [#724]: #724 [#730]: #730 --------- Signed-off-by: Joe Richey <joerichey@google.com>
…ust-random#730) Implements rust-random#675. Closes rust-random#726. Now, when the `wasm_js` feature is enabled and `getrandom_backend` is not specified, this crate will use the `wasm_js` implementation by default (instead of failing to compile). The backend my still be overridden via `getrandom_backend` as with any other platform.
## [0.3.4] - 2025-10-14 ### Major change to `wasm_js` backend Now, when the `wasm_js` feature is enabled, the `wasm_js` backend will be used by default. Users of `wasm32-unknown-unknown` targeting JavaScript environments like the Web and Node.js will no longer need to specify: ``` --cfg getrandom_backend="wasm_js" ``` in `RUSTFLAGS` for the crate to compile. They can now simple enable a feature. Note: this should not affect non-JS users of the `wasm32-unknown-unknown` target. Using `--cfg getrandom_backend` will still override the source of randomness _even if_ the `wasm_js` feature is enabled. This includes `--cfg getrandom_backend=custom` and `--cfg getrandom_backend=unsupported`. For more information, see the discussions in [rust-random#671], [rust-random#675], and [rust-random#730]. ### Added - `unsupported` opt-in backend [rust-random#667] - `windows_legacy` opt-in backend [rust-random#724] ### Changed - Implement Memory Sanitizer unpoisoning more precisely [rust-random#678] - Relax MSRV for the `linux_raw` opt-in backend on ARM targets [rust-random#688] - Use `getrandom` syscall on all RISC-V Linux targets [rust-random#699] - Replaced `wasi` dependency with `wasip2` [rust-random#721] - Enable `wasm_js` backend by default if the `wasm_js` feature is enabled [rust-random#730] ### Removed - Unstable `rustc-dep-of-std` crate feature [rust-random#694] [rust-random#667]: rust-random#667 [rust-random#671]: rust-random#671 [rust-random#675]: rust-random#675 [rust-random#678]: rust-random#678 [rust-random#688]: rust-random#688 [rust-random#694]: rust-random#694 [rust-random#699]: rust-random#699 [rust-random#721]: rust-random#721 [rust-random#724]: rust-random#724 [rust-random#730]: rust-random#730 --------- Signed-off-by: Joe Richey <joerichey@google.com>
Implements #675. Closes #726.
Should we remove support for
getrandom_backend="wasm_js"since it is redundant? That would be a breaking change, and I'm not 100% sure it would never be wanted (though thewasm_jsmodule currently throws an error oftarget_osis not either "unknown" or "none").