|
2 | 2 |
|
3 | 3 | ## What's Changed |
4 | 4 |
|
| 5 | +# [0.18.0 (2024-02-29)](https://github.com/boa-dev/boa/compare/v0.17...v0.18) |
| 6 | + |
| 7 | +### Feature Enhancements |
| 8 | +* Format let-else expressions by @jedel1043 in https://github.com/boa-dev/boa/pull/3102 |
| 9 | +* Add regexp indices (`d` flag) support by @dirkdev98 in https://github.com/boa-dev/boa/pull/3094 |
| 10 | +* Add missing 'unscopables' to `Array.prototype[@@unscopables]` by @dirkdev98 in https://github.com/boa-dev/boa/pull/3111 |
| 11 | +* Updated Fuzzer dependencies and added them to Dependabot by @Razican in https://github.com/boa-dev/boa/pull/3124 |
| 12 | +* Implement `findLast` and `findLastIndex` on TypedArray by @dirkdev98 in https://github.com/boa-dev/boa/pull/3135 |
| 13 | +* Implement i128/u128 to JsBigInt conversions by @AlvinKuruvilla in https://github.com/boa-dev/boa/pull/3129 |
| 14 | +* Implement `String.prototype.isWellFormed` and `String.prototype.toWellFormed` by @raskad in https://github.com/boa-dev/boa/pull/3187 |
| 15 | +* Clarify usage section in `README.md` by @postmeback in https://github.com/boa-dev/boa/pull/3092 |
| 16 | +* Log traces even without message (boa_runtime) by @kelbazz in https://github.com/boa-dev/boa/pull/3193 |
| 17 | +* Implement ephemeron-based weak map by @jedel1043 in https://github.com/boa-dev/boa/pull/3052 |
| 18 | +* Improve bytecompiler bytecode generation. by @HalidOdat in https://github.com/boa-dev/boa/pull/3188 |
| 19 | +* Add `Instruction` and `InstructionIterator` by @HalidOdat in https://github.com/boa-dev/boa/pull/3201 |
| 20 | +* Add ECMAScript 14 to `boa_tester` by @jedel1043 in https://github.com/boa-dev/boa/pull/3273 |
| 21 | +* Bump `rust-version` to 1.71 by @jedel1043 in https://github.com/boa-dev/boa/pull/3290 |
| 22 | +* Lazily download `test262` repository by @HalidOdat in https://github.com/boa-dev/boa/pull/3214 |
| 23 | +* Implement `Gc::new_cyclic` by @jedel1043 in https://github.com/boa-dev/boa/pull/3292 |
| 24 | +* Implement `Intl.PluralRules` by @jedel1043 in https://github.com/boa-dev/boa/pull/3298 |
| 25 | +* Implement step 5 in `RegExp` constructor by @HalidOdat in https://github.com/boa-dev/boa/pull/3305 |
| 26 | +* Replace #[deny] with #[warn] by @jedel1043 in https://github.com/boa-dev/boa/pull/3309 |
| 27 | +* Bump ICU4X to 1.3 by @jedel1043 in https://github.com/boa-dev/boa/pull/3306 |
| 28 | +* Migrate to workspace deps by @jedel1043 in https://github.com/boa-dev/boa/pull/3313 |
| 29 | +* Implement `[[HostDefined]]` field on `Realm`s by @HalidOdat in https://github.com/boa-dev/boa/pull/2952 |
| 30 | +* Introduce experimental features by @jedel1043 in https://github.com/boa-dev/boa/pull/3318 |
| 31 | +* Introduce a `Class` map by @jedel1043 in https://github.com/boa-dev/boa/pull/3315 |
| 32 | +* Fix `Function.prototype.toString()` by @HalidOdat in https://github.com/boa-dev/boa/pull/3374 |
| 33 | +* First portion of the Temporal implementation by @nekevss in https://github.com/boa-dev/boa/pull/3277 |
| 34 | +* Update feature flags to specific feature flag by @nekevss in https://github.com/boa-dev/boa/pull/3376 |
| 35 | +* Implement `[[HostDefined]]` for `Module` and `Script` by @arexon in https://github.com/boa-dev/boa/pull/3381 |
| 36 | +* Implement synthetic modules by @jedel1043 in https://github.com/boa-dev/boa/pull/3294 |
| 37 | +* Prevent `test262` repository update if not needed by @HalidOdat in https://github.com/boa-dev/boa/pull/3386 |
| 38 | +* Implement `SharedArrayBuffer` by @jedel1043 in https://github.com/boa-dev/boa/pull/3384 |
| 39 | +* Add `Context::create_realm` by @johnyob in https://github.com/boa-dev/boa/pull/3369 |
| 40 | +* Introduce a thread safe version of `JsError` by @jedel1043 in https://github.com/boa-dev/boa/pull/3398 |
| 41 | +* Implement asynchronous evaluation of scripts by @jedel1043 in https://github.com/boa-dev/boa/pull/3044 |
| 42 | +* Feature `get/set $boa.limits.stack` by @HalidOdat in https://github.com/boa-dev/boa/pull/3385 |
| 43 | +* Implement `change-array-by-copy` methods by @jedel1043 in https://github.com/boa-dev/boa/pull/3412 |
| 44 | +* Implement the `array-grouping` proposal by @jedel1043 in https://github.com/boa-dev/boa/pull/3420 |
| 45 | +* Implement `Atomics` builtin by @jedel1043 in https://github.com/boa-dev/boa/pull/3394 |
| 46 | +* Migrate to workspace lints by @jedel1043 in https://github.com/boa-dev/boa/pull/3334 |
| 47 | +* Bump ICU4X to 1.4 and finish Intl impls with new APIs by @jedel1043 in https://github.com/boa-dev/boa/pull/3469 |
| 48 | +* Class: Switch `make_data` parameter from `this` to `new_target` by @johnyob in https://github.com/boa-dev/boa/pull/3478 |
| 49 | +* Add utility methods to the `Class` trait by @jedel1043 in https://github.com/boa-dev/boa/pull/3488 |
| 50 | +* Simplify `Icu` API by @jedel1043 in https://github.com/boa-dev/boa/pull/3503 |
| 51 | +* Add UTF-16 input parsing by @raskad in https://github.com/boa-dev/boa/pull/3538 |
| 52 | +* Remove allocations from `HostDefined::get_many_mut` by @jedel1043 in https://github.com/boa-dev/boa/pull/3606 |
| 53 | +* Implement getter for `ArrayBuffer` data by @HalidOdat in https://github.com/boa-dev/boa/pull/3610 |
| 54 | +* Implement non-erased `JsObject`s by @jedel1043 in https://github.com/boa-dev/boa/pull/3618 |
| 55 | +* Update regress to v0.8.0 and use UTF16 / UCS2 matching by @raskad in https://github.com/boa-dev/boa/pull/3627 |
| 56 | +* Cleanup 262 tester and stabilize some experimental features by @jedel1043 in https://github.com/boa-dev/boa/pull/3632 |
| 57 | +* Improve typing of `DataView` and related objects by @jedel1043 in https://github.com/boa-dev/boa/pull/3626 |
| 58 | +* Close sync iterator when async wrapper yields rejection by @jedel1043 in https://github.com/boa-dev/boa/pull/3633 |
| 59 | +* Implement resizable buffers by @jedel1043 in https://github.com/boa-dev/boa/pull/3634 |
| 60 | +* Implement stage 3 feature "arraybuffer-transfer" by @jedel1043 in https://github.com/boa-dev/boa/pull/3649 |
| 61 | +* Implement prototype of `NumberFormat` by @jedel1043 in https://github.com/boa-dev/boa/pull/3669 |
| 62 | +* Add example for async module fetches by @jedel1043 in https://github.com/boa-dev/boa/pull/3012 |
| 63 | + |
| 64 | +### Bug Fixes |
| 65 | +* Allow escaped yield and await in labelled statement by @raskad in https://github.com/boa-dev/boa/pull/3117 |
| 66 | +* `TypedArray.prototype.values()` and `TypedArray.prototype[@@iterator]` should be equal by @HalidOdat in https://github.com/boa-dev/boa/pull/3096 |
| 67 | +* Fix TypedArrayConstructors tests by @raskad in https://github.com/boa-dev/boa/pull/3171 |
| 68 | +* Close iterator after generator return call while array destructuring assignment by @HalidOdat in https://github.com/boa-dev/boa/pull/3164 |
| 69 | +* Fix remaining TypedArray bugs by @raskad in https://github.com/boa-dev/boa/pull/3186 |
| 70 | +* Add early errors for `LexicalDeclaration` by @raskad in https://github.com/boa-dev/boa/pull/3207 |
| 71 | +* Fix switch statement `break` and `continue` return values by @raskad in https://github.com/boa-dev/boa/pull/3205 |
| 72 | +* Fix GitHub coverage workflow by @HalidOdat in https://github.com/boa-dev/boa/pull/3288 |
| 73 | +* Fix tagged template `this` in strict mode by @HalidOdat in https://github.com/boa-dev/boa/pull/3307 |
| 74 | +* fix: add 'static lifetime by @mattsse in https://github.com/boa-dev/boa/pull/3297 |
| 75 | +* Fix class inherit from `null` by @HalidOdat in https://github.com/boa-dev/boa/pull/3312 |
| 76 | +* Fix anonymous function name in cover assignment by @raskad in https://github.com/boa-dev/boa/pull/3325 |
| 77 | +* Add `NonMaxU32` as integer variant for `PropertyKey` by @raskad in https://github.com/boa-dev/boa/pull/3321 |
| 78 | +* Add missing class name binding by @raskad in https://github.com/boa-dev/boa/pull/3328 |
| 79 | +* Truncate environment stack on non-caught native error by @HalidOdat in https://github.com/boa-dev/boa/pull/3331 |
| 80 | +* Fix regular expression construction by @HalidOdat in https://github.com/boa-dev/boa/pull/3338 |
| 81 | +* Fix `super()` construction with default parameters by @HalidOdat in https://github.com/boa-dev/boa/pull/3339 |
| 82 | +* Fix static class element evaluation order by @raskad in https://github.com/boa-dev/boa/pull/3327 |
| 83 | +* Fix detection of runtime limits for accessors by @jedel1043 in https://github.com/boa-dev/boa/pull/3335 |
| 84 | +* Fix `Number.prototype.toFixed()` by @HalidOdat in https://github.com/boa-dev/boa/pull/2898 |
| 85 | +* Check `eval` realm before call by @HalidOdat in https://github.com/boa-dev/boa/pull/3375 |
| 86 | +* Evaluate all parts of `class` in strict mode by @HalidOdat in https://github.com/boa-dev/boa/pull/3383 |
| 87 | +* Fix var declaration for deleted binding locator by @raskad in https://github.com/boa-dev/boa/pull/3387 |
| 88 | +* Fix await flag in class constructor by @raskad in https://github.com/boa-dev/boa/pull/3388 |
| 89 | +* Fix compilation for targets without `AtomicU64` by @jedel1043 in https://github.com/boa-dev/boa/pull/3399 |
| 90 | +* Update `regex.match` spec and code by @raskad in https://github.com/boa-dev/boa/pull/3462 |
| 91 | +* `Context` independent `CodeBlock`s by @HalidOdat in https://github.com/boa-dev/boa/pull/3424 |
| 92 | +* Fix a Parser Idempotency Issue by @veera-sivarajan in https://github.com/boa-dev/boa/pull/3172 |
| 93 | +* Non recursive gc trace by @HalidOdat in https://github.com/boa-dev/boa/pull/3508 |
| 94 | +* Fix invalid return value when closing an iterator by @raskad in https://github.com/boa-dev/boa/pull/3567 |
| 95 | +* Implement Date parsing according to the spec by @raskad in https://github.com/boa-dev/boa/pull/3564 |
| 96 | +* `Date` refactor by @raskad in https://github.com/boa-dev/boa/pull/3595 |
| 97 | +* Fix regexp `toString` method by @raskad in https://github.com/boa-dev/boa/pull/3608 |
| 98 | +* Fix escaping in `RegExp.prototype.source` by @raskad in https://github.com/boa-dev/boa/pull/3619 |
| 99 | +* Fix line terminators in template strings by @raskad in https://github.com/boa-dev/boa/pull/3641 |
| 100 | +* Consider strict + no-strict tests as a single test by @jedel1043 in https://github.com/boa-dev/boa/pull/3675 |
| 101 | +* Preserve `.exe` suffix for Windows releases by @HalidOdat in https://github.com/boa-dev/boa/pull/3680 |
| 102 | + |
| 103 | +### Internal Improvements |
| 104 | +* Move `RefCell` of `CompileTimeEnvironment`s to field `bindings` by @HalidOdat in https://github.com/boa-dev/boa/pull/3108 |
| 105 | +* Change `name` field type in `CodeBlock` to `JsString` by @HalidOdat in https://github.com/boa-dev/boa/pull/3107 |
| 106 | +* Refactor `Array.prototype.find*` and TypedArray variants to use `FindViaPredicate` by @dirkdev98 in https://github.com/boa-dev/boa/pull/3134 |
| 107 | +* Fix 1.71.0 lints by @RageKnify in https://github.com/boa-dev/boa/pull/3140 |
| 108 | +* Clippy updates: add panics and etc. by @nekevss in https://github.com/boa-dev/boa/pull/3235 |
| 109 | +* Remove unused class environments by @raskad in https://github.com/boa-dev/boa/pull/3332 |
| 110 | +* Improve highlighter performance by @jedel1043 in https://github.com/boa-dev/boa/pull/3341 |
| 111 | +* Cleanup `get_option` and calls to the function by @jedel1043 in https://github.com/boa-dev/boa/pull/3355 |
| 112 | +* Fix new lints for Rust 1.73 by @jedel1043 in https://github.com/boa-dev/boa/pull/3361 |
| 113 | +* Refactor compile time environment handling by @raskad in https://github.com/boa-dev/boa/pull/3365 |
| 114 | +* Update all dependencies by @jedel1043 in https://github.com/boa-dev/boa/pull/3400 |
| 115 | +* Optimize `shift` for dense arrays by @jedel1043 in https://github.com/boa-dev/boa/pull/3405 |
| 116 | +* Disallow changing type of already created objects by @jedel1043 in https://github.com/boa-dev/boa/pull/3410 |
| 117 | +* Merge `CodeBlock` constant pools by @HalidOdat in https://github.com/boa-dev/boa/pull/3413 |
| 118 | +* Move ordinary function `[[ConstructorKind]]` to `CodeBlock` by @HalidOdat in https://github.com/boa-dev/boa/pull/3439 |
| 119 | +* Move `FunctionKind` to `CodeBlock` by @HalidOdat in https://github.com/boa-dev/boa/pull/3440 |
| 120 | +* Unify generator and ordinary function creation by @HalidOdat in https://github.com/boa-dev/boa/pull/3441 |
| 121 | +* Move `arguments` object creation to bytecode by @HalidOdat in https://github.com/boa-dev/boa/pull/3432 |
| 122 | +* Move parameter environment creation to bytecode by @HalidOdat in https://github.com/boa-dev/boa/pull/3433 |
| 123 | +* Prevent `DefVar` opcode emit for global binding by @HalidOdat in https://github.com/boa-dev/boa/pull/3453 |
| 124 | +* Transition `Intl` types to `NativeObject` API by @jedel1043 in https://github.com/boa-dev/boa/pull/3491 |
| 125 | +* Migrate `Temporal` to its own crate. by @nekevss in https://github.com/boa-dev/boa/pull/3461 |
| 126 | +* Reestructure repo and CI improvements by @jedel1043 in https://github.com/boa-dev/boa/pull/3505 |
| 127 | +* Fix rust 1.75 lints by @raskad in https://github.com/boa-dev/boa/pull/3540 |
| 128 | +* Remove double indirection in module types by @jedel1043 in https://github.com/boa-dev/boa/pull/3640 |
| 129 | +* Fix clippy warnings for rustc 1.76 by @jedel1043 in https://github.com/boa-dev/boa/pull/3668 |
| 130 | + |
| 131 | +## New Contributors |
| 132 | +* @AlvinKuruvilla made their first contribution in https://github.com/boa-dev/boa/pull/3129 |
| 133 | +* @tunz made their first contribution in https://github.com/boa-dev/boa/pull/3109 |
| 134 | +* @postmeback made their first contribution in https://github.com/boa-dev/boa/pull/3092 |
| 135 | +* @kelbazz made their first contribution in https://github.com/boa-dev/boa/pull/3193 |
| 136 | +* @frisoft made their first contribution in https://github.com/boa-dev/boa/pull/3209 |
| 137 | +* @mattsse made their first contribution in https://github.com/boa-dev/boa/pull/3297 |
| 138 | +* @arexon made their first contribution in https://github.com/boa-dev/boa/pull/3381 |
| 139 | +* @johnyob made their first contribution in https://github.com/boa-dev/boa/pull/3369 |
| 140 | +* @ahaoboy made their first contribution in https://github.com/boa-dev/boa/pull/3406 |
| 141 | +* @tj825 made their first contribution in https://github.com/boa-dev/boa/pull/3465 |
| 142 | + |
5 | 143 | # [0.17.0 (2023-07-05)](https://github.com/boa-dev/boa/compare/v0.16...v0.17) |
6 | 144 |
|
7 | 145 | ### Feature Enhancements |
|
0 commit comments