Features
- WebCrypto Ed25519 and X25519 support — Edwards-curve signatures and X25519 ECDH now available via
subtle.sign,subtle.verify, andsubtle.deriveBits - WebCrypto
wrapKey()andunwrapKey()support added, including the AES-KW algorithm and JWK-format unwrap crypto.randomUUID()— RFC 4122 v4 UUID generatorawaitexpressions are now allowed in tagged templates and as call argumentsngx.shared.SharedDict.ttl()— returns the remaining time-to-live for a key in a shared dict- Improved shared dict eviction strategy — evicts oldest entries more aggressively when the zone is under memory pressure
Improvements
- Built-in
cryptomodule switched to the OpenSSL EVP interface for hashing, reducing reliance on low-level OpenSSL APIs
Bug Fixes
nginx modules
- Removed spurious
js vm initnotice log emitted during configuration parsing - Removed shared dict expiration from read-locked paths — expiry side effects no longer run while a reader holds the shared-memory lock
- Fixed double-free in shared dict update when eviction triggers
- Fixed per-entry TTL being reset on
SharedDict.incr()calls — a previously set custom timeout was silently replaced by the zone default
Core
- Fixed call argument evaluation order
- Fixed error handling when redefining the
lengthproperty of anArrayinstance
Full Changelog: 0.9.6...0.9.7