nx.js v0.0.66
🔊 Audio Playback
- New
Audio class — Play MP3, WAV, and OGG Vorbis files using the familiar HTML5 Audio API.
🌐 WebApplet
Switch.WebApplet — Launch a non-blocking web browser overlay with JavaScript↔️ Switch IPC messaging viawindow.nx- Offline HTML support — Bundle HTML apps directly into your NSP using the new
htmldoc:protocol. Just drop files in ahtmldoc/folder and reference them withhtmldoc:/index.html— the NCA structure is handled automatically. - Configurable options — Control all WebApplet settings (display mode, footer, pointer, etc.) via an options object passed to
applet.start()
🔐 Web Crypto API (Complete!)
• Full SubtleCrypto implementation:
- HMAC — sign/verify with SHA-1/256/384/512
- AES-GCM — encrypt/decrypt
- PBKDF2 & HKDF — key derivation
- ECDSA — sign/verify (P-256, P-384)
- ECDH — key derivation
- RSA — RSA-OAEP, RSASSA-PKCS1-v1_5, RSA-PSS
- Key management —
generateKey,importKey,exportKey,wrapKey,unwrapKey(raw, PKCS8, SPKI, JWK formats)
🔒 TLS Certificate Verification
- HTTPS connections now verify certificates against the Switch system CA store — no more blindly trusting everything
🎨 Canvas 2D
- Gradient support —
createLinearGradient()andcreateRadialGradient()with color stops now work
🧩 WebAssembly
-
WebAssembly.validate()implemented Memory.bufferis now cached for better performance
🔧 Runtime Fixes
- Fixed
stat()timestamps (were returning 0) - Fixed memory leaks in string handling
- Fixed poll list iteration safety
- Fixed vibration handle leak
- Enabled
SO_REUSEADDRfor sockets - Fixed async initialization ordering
- Fixed NSP crash caused by
npdmtooldebug flag encoding
🧪 Testing Infrastructure
- New host-platform conformance test harnesses for Canvas 2D, WebAssembly, and Compression Streams
- Image snapshot testing for canvas output
- Consolidated test runner using real runtime code
📦 Other
- Biome updated to v2.3.8
- OIDC-based npm publishing
- Added
AGENTS.mdfor AI contributor onboarding