Skip to content

deps: bump StarlingMonkey to v0.5.0 - #361

Open
draco2003 wants to merge 2 commits into
bytecodealliance:mainfrom
draco2003:bump-starlingmonkey-v0.5.0
Open

draco2003 wants to merge 2 commits into
bytecodealliance:mainfrom
draco2003:bump-starlingmonkey-v0.5.0

Conversation

@draco2003

Copy link
Copy Markdown

Bumps the StarlingMonkey submodule from 9dda8ba (starlingmonkey-v0.3.0) to cce4d3d (starlingmonkey-v0.5.0).

What's new in StarlingMonkey v0.3.0 → v0.5.0

v0.5.0

  • crypto.subtle: PBKDF2 importKey + deriveBits (StarlingMonkey #346)
  • crypto.subtle: AES-CBC importKey + encrypt / decrypt (StarlingMonkey #360)
  • CryptoKey class is now finalizable (StarlingMonkey #362)
  • Distinguish empty vs. absent JWK key_ops (StarlingMonkey #363)
  • Malformed UTF-8 replaced and BOM stripped in Request/Response text() / json() (StarlingMonkey #348)

v0.4.0

  • crypto.subtle: Ed25519 support (StarlingMonkey #330), additional key usages (StarlingMonkey #334)
  • Response.clone() (StarlingMonkey #312)
  • Engine reset API: allow resetting the engine at runtime (StarlingMonkey #337)
  • FinalizationRegistry cleanup callbacks now run (StarlingMonkey #331)
  • weval bumped to v0.5.1 (StarlingMonkey #324)
  • Assorted crypto, URL, fetch, form-data, console and AbortSignal fixes; see the StarlingMonkey CHANGELOG

Changes in this PR

  • StarlingMonkey submodule → starlingmonkey-v0.5.0.

  • package.json: raise the @bytecodealliance/weval floor ^0.5.0 → ^0.5.1 (lockfile updated) so it matches the weval version StarlingMonkey's cmake/weval.cmake now fetches.

  • New bindings test case test/cases/crypto-subtle/ (auto-discovered by test/bindings.js). The component exports async functions that:

    • importKey('raw', …, 'PBKDF2') + deriveBits with PBKDF2-SHA256 (1000 iterations, 256 bits),
    • importKey('raw', …, 'AES-CBC') + encrypt / decrypt with AES-256-CBC,

    and test.js asserts the hex output against known-answer vectors computed with Node's crypto.pbkdf2Sync / crypto.createCipheriv (cross-checked with Python hashlib and openssl enc), plus a decrypt round-trip.

No changes to the embedding were needed.

Verification (Linux x86_64)

  • npm install, make release (builds lib/starlingmonkey_embedding.wasm from the new submodule with wasi-sdk 30): OK
  • npm test: 7 files passed, 80 passed / 1 skipped (81). The skip is the existing Windows-only Splicer filesystem > reads namespaced Windows paths. crypto-subtle passes.
  • npm run build:weval: OK
  • npm run test:weval (WEVAL_TEST=1): 7 files passed, 80 passed / 1 skipped (81), crypto-subtle included.
  • Debug build (make debug / npm run test:debug) was not run.

Also raise the @bytecodealliance/weval floor to ^0.5.1 to match the
weval version StarlingMonkey's cmake/weval.cmake now fetches.
Exercises crypto.subtle.importKey/deriveBits (PBKDF2-SHA256) and
importKey/encrypt/decrypt (AES-256-CBC) landed in StarlingMonkey
v0.5.0, asserting against known-answer vectors.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant