New
3.40.0 - 2025.01.08
- Changes v3.39.0...v3.40.0 (130 commits)
- Added
Error.isErrorstage 3 proposal:- Added built-ins:
Error.isError
- We have no bulletproof way to polyfill this method / check if the object is an error, so it's an enough naive implementation that is marked as
.sham
- Added built-ins:
- Explicit Resource Management stage 3 proposal:
- Updated the way async disposing of only sync disposable resources, tc39/proposal-explicit-resource-management/218
Iteratorsequencing stage 2.7 proposal:- Reuse
IteratorResultobjects when possible, tc39/proposal-iterator-sequencing/17, tc39/proposal-iterator-sequencing/18, December 2024 TC39 meeting
- Reuse
- Added a fix of V8 < 12.8 / NodeJS < 22.10 bug with handling infinite length of set-like objects in
Setmethods - Optimized
DataView.prototype.{ getFloat16, setFloat16 }performance, #1379, thanks @LeviPesin - Dropped unneeded feature detection of non-standard
%TypedArray%.prototype.toSpliced - Dropped possible re-usage of some non-standard / early stage features (like
Math.scale) available on global - Some other minor improvements
- Compat data improvements:
RegExp.escapemarked as shipped from Safari 18.2Promise.trymarked as shipped from Safari 18.2Math.f16roundandDataView.prototype.{ getFloat16, setFloat16 }marked as shipped from Safari 18.2Uint8Arrayto / from base64 and hex proposal methods marked as shipped from Safari 18.2JSON.parsesource text access proposal features marked as shipped from FF135RegExp.escapemarked as shipped from FF134Promise.trymarked as shipped from FF134Symbol.dispose,Symbol.asyncDisposeandIterator.prototype[@@dispose]marked as shipped from FF135JSON.parsesource text access proposal features marked as shipped from Bun 1.1.43- Fixed NodeJS version where
URL.parsewas added - 22.1 instead of 22.0 - Added Deno 2.1 compat data mapping
- Added Rhino 1.8.0 compat data with significant number of modern features
- Added Electron 35 compat data mapping
- Updated Opera 115+ compat data mapping
- Added Opera Android 86 and 87 compat data mapping