·
22 commits
to main
since this release
Features
- Added limited
Temporalsupport, with improved compatibility forInstant,Duration,ZonedDateTimeandround()(@nabetti1720) - Added
util.inspectandutil.inspect.custom(@richarddavison) - Added
util.styleText(@richarddavison) - Added
TextEncoderStreamandTextDecoderStream(@richarddavison) - Added
execFileto child_process (@richarddavison) - Added streaming request and response bodies to fetch (@richarddavison)
- Implemented an ESM module cache (@nabetti1720)
- Improved console namespace compatibility (@nabetti1720)
- Improved Blob compatibility with web standards (@nabetti1720)
- Improved FormData compatibility (@nabetti1720)
- Improved CryptoKey compatibility (@nabetti1720)
- Improved
crypto.getRandomValues()compatibility (@nabetti1720) - Added support for
Intl.supportedValuesOf(@nabetti1720) - Exposed the bundled AWS SDK version (@dills122)
- Exposed base64 encode/decode from the codec library (@nabetti1720)
- Increased WPT compatibility and expanded the WPT test targets, including Intl402/Temporal (@richarddavison, @nabetti1720)
- Added modern WebCrypto algorithms: SHA-3, cSHAKE, TurboSHAKE, ChaCha20-Poly1305, ML-DSA, ML-KEM and hybrid KEMs (@panva)
- Added
SubtleCrypto.getPublicKeyandSubtleCrypto.supports(@panva) - Added raw key format aliases for WebCrypto import and export (@panva)
Fixes
- Validate offsets against view bounds to prevent OOB panics and cross-view corruption in buffer and crypto (@richarddavison)
- Validate
ObjectBytesDataView ranges (@dills122) - Align WebCrypto
signandverifywith the specification (@dills122) - Improve
subtle.generateKeycompatibility (@nabetti1720) - Improve
encryptanddecryptcompatibility (@nabetti1720) - Improve
deriveBitsandderiveKeycompatibility (@nabetti1720) - Support string encryption algorithm identifiers (@dills122)
- Validate JWK extractability (@dills122)
- Allow RSA JWK imports without
alg(@dills122) - Allow
Uint8ArrayforwrappedKeyincrypto.unwrapKey(@nabetti1720) - Fix OKP key representation for Ed25519 and X25519 (@nabetti1720)
- Improve key import validation and HMAC key length handling (@nabetti1720)
- Preserve pipe option order in streams (@dills122)
- Preserve transform backpressure in streams (@dills122)
- Coerce
highWaterMarkvalues (@dills122) - Use byte length instead of buffer length for
queueTotalSizeaccounting (@richarddavison) - Enforce
maxOutputLengthin the zlib, brotli and zstd convenience methods (@richarddavison) - Discard malformed null-body connections in fetch (@richarddavison)
- Reject fetch connection failures with
TypeError: Failed to fetch(@richarddavison) - Fix cookie handling not working with the Hono framework (@perpil)
- Throw when constructing a
Requestwith an empty-string URL (@richarddavison) - Drop the error type prefix from lambda
errorMessageto match the Node.js shape (@SAY-5) - Fix broken module resolution path called by
createRequire(@nabetti1720) - Allow IPv6 in
dns.lookup()results (@nabetti1720) - Escape JSON content properly when loading via
import()(@richarddavison) - Prevent subdomain bypass in hostname matching (@hieuit095)
- Improve endpoint resolver support (@richarddavison)
- Fix string hasher (@richarddavison)
- Get
rustls-graviolafrom crates.io (@nabetti1720) - Fix incompatibilities caused by the latest cargo fix (@nabetti1720)
- Clear test output after a successful test (@richarddavison)
- Align WebCrypto validation, key derivation and key import/export behaviour with the specification (@panva)
- Derive ECDH shared secrets into KDF keys and limit derived output lengths (@panva)
- Compare HMAC signatures in constant time (@panva)
Maintenance
- Upgrade rquickjs to 0.12 (@richarddavison, @nabetti1720)
- Speed up
get_lossy_stringandreplace_invalid_utf8_and_utf16by ~50% (@richarddavison) - Speed up UTF-16 decoding by using
as_chunkson all toolchains (@richarddavison) - Route all DOMException throws through one constructor lookup via primordials (@richarddavison, @nabetti1720)
- Deprecate the custom implementation of
atob/btoa(@nabetti1720) - Optimize the jiff extension structure used by Temporal (@nabetti1720)
- Support the next rust toolchain (@nabetti1720)
- Fail the release if the tag doesn't match the crate version (@richarddavison)
- Speed up the WPT server readiness check and run it in CI (@richarddavison)
- Remove unnecessary WPT assets (@nabetti1720)
- Fix Windows openssl test linking and the Windows modules CI build (@richarddavison)
- Update API documentation with new features (@WuJunkai2004)
- Replace the unmaintained
userscrate with the maintaineduzersfork (@richarddavison) - Enable the modern WPT WebCrypto suites and normalize test exclusion criteria (@panva, @nabetti1720)
- Pin the CI nightly toolchain so upstream regressions don't break every build (@richarddavison)
- Remove the AWS SDK sample and clean up dependencies (@nabetti1720)
- Dependency upgrades
Thanks for all the reports and contributors
Full list of changes:
v0.8.1-beta...v0.9.0-beta