Skip to content

Commit d1072ff

Browse files
initial changelog for v0.18 (#3691)
* initial changelog for v0.18 * add missing contribution * formatting * update changelog
1 parent d985ad9 commit d1072ff

File tree

1 file changed

+214
-0
lines changed

1 file changed

+214
-0
lines changed

CHANGELOG.md

Lines changed: 214 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,220 @@
22

33
## What's Changed
44

5+
# [0.18.0 (2024-03-04)](https://github.com/boa-dev/boa/compare/v0.17...v0.18)
6+
7+
### Feature Enhancements
8+
9+
- Format let-else expressions by @jedel1043 in https://github.com/boa-dev/boa/pull/3102
10+
- Add regexp indices (`d` flag) support by @dirkdev98 in https://github.com/boa-dev/boa/pull/3094
11+
- Add missing 'unscopables' to `Array.prototype[@@unscopables]` by @dirkdev98 in https://github.com/boa-dev/boa/pull/3111
12+
- Updated Fuzzer dependencies and added them to Dependabot by @Razican in https://github.com/boa-dev/boa/pull/3124
13+
- Implement `findLast` and `findLastIndex` on TypedArray by @dirkdev98 in https://github.com/boa-dev/boa/pull/3135
14+
- Implement i128/u128 to JsBigInt conversions by @AlvinKuruvilla in https://github.com/boa-dev/boa/pull/3129
15+
- Implement `String.prototype.isWellFormed` and `String.prototype.toWellFormed` by @raskad in https://github.com/boa-dev/boa/pull/3187
16+
- Clarify usage section in `README.md` by @postmeback in https://github.com/boa-dev/boa/pull/3092
17+
- Log traces even without message (boa_runtime) by @kelbazz in https://github.com/boa-dev/boa/pull/3193
18+
- Implement ephemeron-based weak map by @jedel1043 in https://github.com/boa-dev/boa/pull/3052
19+
- Improve bytecompiler bytecode generation. by @HalidOdat in https://github.com/boa-dev/boa/pull/3188
20+
- Add `Instruction` and `InstructionIterator` by @HalidOdat in https://github.com/boa-dev/boa/pull/3201
21+
- Add ECMAScript 14 to `boa_tester` by @jedel1043 in https://github.com/boa-dev/boa/pull/3273
22+
- Bump `rust-version` to 1.71 by @jedel1043 in https://github.com/boa-dev/boa/pull/3290
23+
- Lazily download `test262` repository by @HalidOdat in https://github.com/boa-dev/boa/pull/3214
24+
- Implement `Gc::new_cyclic` by @jedel1043 in https://github.com/boa-dev/boa/pull/3292
25+
- Implement `Intl.PluralRules` by @jedel1043 in https://github.com/boa-dev/boa/pull/3298
26+
- Implement step 5 in `RegExp` constructor by @HalidOdat in https://github.com/boa-dev/boa/pull/3305
27+
- Replace #[deny] with #[warn] by @jedel1043 in https://github.com/boa-dev/boa/pull/3309
28+
- Bump ICU4X to 1.3 by @jedel1043 in https://github.com/boa-dev/boa/pull/3306
29+
- Migrate to workspace deps by @jedel1043 in https://github.com/boa-dev/boa/pull/3313
30+
- Implement `[[HostDefined]]` field on `Realm`s by @HalidOdat in https://github.com/boa-dev/boa/pull/2952
31+
- Introduce experimental features by @jedel1043 in https://github.com/boa-dev/boa/pull/3318
32+
- Introduce a `Class` map by @jedel1043 in https://github.com/boa-dev/boa/pull/3315
33+
- Fix `Function.prototype.toString()` by @HalidOdat in https://github.com/boa-dev/boa/pull/3374
34+
- First portion of the Temporal implementation by @nekevss in https://github.com/boa-dev/boa/pull/3277
35+
- Update feature flags to specific feature flag by @nekevss in https://github.com/boa-dev/boa/pull/3376
36+
- Implement `[[HostDefined]]` for `Module` and `Script` by @arexon in https://github.com/boa-dev/boa/pull/3381
37+
- Implement synthetic modules by @jedel1043 in https://github.com/boa-dev/boa/pull/3294
38+
- Prevent `test262` repository update if not needed by @HalidOdat in https://github.com/boa-dev/boa/pull/3386
39+
- Implement `SharedArrayBuffer` by @jedel1043 in https://github.com/boa-dev/boa/pull/3384
40+
- Add `Context::create_realm` by @johnyob in https://github.com/boa-dev/boa/pull/3369
41+
- Introduce a thread safe version of `JsError` by @jedel1043 in https://github.com/boa-dev/boa/pull/3398
42+
- Implement asynchronous evaluation of scripts by @jedel1043 in https://github.com/boa-dev/boa/pull/3044
43+
- Feature `get/set $boa.limits.stack` by @HalidOdat in https://github.com/boa-dev/boa/pull/3385
44+
- Implement `change-array-by-copy` methods by @jedel1043 in https://github.com/boa-dev/boa/pull/3412
45+
- Implement the `array-grouping` proposal by @jedel1043 in https://github.com/boa-dev/boa/pull/3420
46+
- Implement `Atomics` builtin by @jedel1043 in https://github.com/boa-dev/boa/pull/3394
47+
- Migrate to workspace lints by @jedel1043 in https://github.com/boa-dev/boa/pull/3334
48+
- Bump ICU4X to 1.4 and finish Intl impls with new APIs by @jedel1043 in https://github.com/boa-dev/boa/pull/3469
49+
- Class: Switch `make_data` parameter from `this` to `new_target` by @johnyob in https://github.com/boa-dev/boa/pull/3478
50+
- Add utility methods to the `Class` trait by @jedel1043 in https://github.com/boa-dev/boa/pull/3488
51+
- Simplify `Icu` API by @jedel1043 in https://github.com/boa-dev/boa/pull/3503
52+
- Add UTF-16 input parsing by @raskad in https://github.com/boa-dev/boa/pull/3538
53+
- Remove allocations from `HostDefined::get_many_mut` by @jedel1043 in https://github.com/boa-dev/boa/pull/3606
54+
- Implement getter for `ArrayBuffer` data by @HalidOdat in https://github.com/boa-dev/boa/pull/3610
55+
- Implement non-erased `JsObject`s by @jedel1043 in https://github.com/boa-dev/boa/pull/3618
56+
- Update regress to v0.8.0 and use UTF16 / UCS2 matching by @raskad in https://github.com/boa-dev/boa/pull/3627
57+
- Cleanup 262 tester and stabilize some experimental features by @jedel1043 in https://github.com/boa-dev/boa/pull/3632
58+
- Improve typing of `DataView` and related objects by @jedel1043 in https://github.com/boa-dev/boa/pull/3626
59+
- Close sync iterator when async wrapper yields rejection by @jedel1043 in https://github.com/boa-dev/boa/pull/3633
60+
- Implement resizable buffers by @jedel1043 in https://github.com/boa-dev/boa/pull/3634
61+
- Implement stage 3 feature "arraybuffer-transfer" by @jedel1043 in https://github.com/boa-dev/boa/pull/3649
62+
- Implement prototype of `NumberFormat` by @jedel1043 in https://github.com/boa-dev/boa/pull/3669
63+
- Add example for async module fetches by @jedel1043 in https://github.com/boa-dev/boa/pull/3012
64+
- Js typed array methods by @AngeloChecked in https://github.com/boa-dev/boa/pull/3481
65+
- Create tool to regenerate `ABOUT.md` by @jedel1043 in https://github.com/boa-dev/boa/pull/3692
66+
- Implement RegExp `v` flag by @raskad in https://github.com/boa-dev/boa/pull/3695
67+
68+
### Bug Fixes
69+
70+
- Allow escaped yield and await in labelled statement by @raskad in https://github.com/boa-dev/boa/pull/3117
71+
- `TypedArray.prototype.values()` and `TypedArray.prototype[@@iterator]` should be equal by @HalidOdat in https://github.com/boa-dev/boa/pull/3096
72+
- Fix TypedArrayConstructors tests by @raskad in https://github.com/boa-dev/boa/pull/3171
73+
- Close iterator after generator return call while array destructuring assignment by @HalidOdat in https://github.com/boa-dev/boa/pull/3164
74+
- Fix remaining TypedArray bugs by @raskad in https://github.com/boa-dev/boa/pull/3186
75+
- Add early errors for `LexicalDeclaration` by @raskad in https://github.com/boa-dev/boa/pull/3207
76+
- Fix switch statement `break` and `continue` return values by @raskad in https://github.com/boa-dev/boa/pull/3205
77+
- Fix GitHub coverage workflow by @HalidOdat in https://github.com/boa-dev/boa/pull/3288
78+
- Fix tagged template `this` in strict mode by @HalidOdat in https://github.com/boa-dev/boa/pull/3307
79+
- fix: add 'static lifetime by @mattsse in https://github.com/boa-dev/boa/pull/3297
80+
- Fix class inherit from `null` by @HalidOdat in https://github.com/boa-dev/boa/pull/3312
81+
- Fix anonymous function name in cover assignment by @raskad in https://github.com/boa-dev/boa/pull/3325
82+
- Add `NonMaxU32` as integer variant for `PropertyKey` by @raskad in https://github.com/boa-dev/boa/pull/3321
83+
- Add missing class name binding by @raskad in https://github.com/boa-dev/boa/pull/3328
84+
- Truncate environment stack on non-caught native error by @HalidOdat in https://github.com/boa-dev/boa/pull/3331
85+
- Fix regular expression construction by @HalidOdat in https://github.com/boa-dev/boa/pull/3338
86+
- Fix `super()` construction with default parameters by @HalidOdat in https://github.com/boa-dev/boa/pull/3339
87+
- Fix static class element evaluation order by @raskad in https://github.com/boa-dev/boa/pull/3327
88+
- Fix detection of runtime limits for accessors by @jedel1043 in https://github.com/boa-dev/boa/pull/3335
89+
- Fix `Number.prototype.toFixed()` by @HalidOdat in https://github.com/boa-dev/boa/pull/2898
90+
- Check `eval` realm before call by @HalidOdat in https://github.com/boa-dev/boa/pull/3375
91+
- Evaluate all parts of `class` in strict mode by @HalidOdat in https://github.com/boa-dev/boa/pull/3383
92+
- Fix var declaration for deleted binding locator by @raskad in https://github.com/boa-dev/boa/pull/3387
93+
- Fix await flag in class constructor by @raskad in https://github.com/boa-dev/boa/pull/3388
94+
- Fix compilation for targets without `AtomicU64` by @jedel1043 in https://github.com/boa-dev/boa/pull/3399
95+
- Update `regex.match` spec and code by @raskad in https://github.com/boa-dev/boa/pull/3462
96+
- `Context` independent `CodeBlock`s by @HalidOdat in https://github.com/boa-dev/boa/pull/3424
97+
- Fix a Parser Idempotency Issue by @veera-sivarajan in https://github.com/boa-dev/boa/pull/3172
98+
- Non recursive gc trace by @HalidOdat in https://github.com/boa-dev/boa/pull/3508
99+
- Fix invalid return value when closing an iterator by @raskad in https://github.com/boa-dev/boa/pull/3567
100+
- Implement Date parsing according to the spec by @raskad in https://github.com/boa-dev/boa/pull/3564
101+
- `Date` refactor by @raskad in https://github.com/boa-dev/boa/pull/3595
102+
- Fix regexp `toString` method by @raskad in https://github.com/boa-dev/boa/pull/3608
103+
- Fix escaping in `RegExp.prototype.source` by @raskad in https://github.com/boa-dev/boa/pull/3619
104+
- Fix line terminators in template strings by @raskad in https://github.com/boa-dev/boa/pull/3641
105+
- Consider strict + no-strict tests as a single test by @jedel1043 in https://github.com/boa-dev/boa/pull/3675
106+
- Preserve `.exe` suffix for Windows releases by @HalidOdat in https://github.com/boa-dev/boa/pull/3680
107+
108+
### Internal Improvements
109+
110+
- Move `RefCell` of `CompileTimeEnvironment`s to field `bindings` by @HalidOdat in https://github.com/boa-dev/boa/pull/3108
111+
- Change `name` field type in `CodeBlock` to `JsString` by @HalidOdat in https://github.com/boa-dev/boa/pull/3107
112+
- Refactor `Array.prototype.find*` and TypedArray variants to use `FindViaPredicate` by @dirkdev98 in https://github.com/boa-dev/boa/pull/3134
113+
- Fix 1.71.0 lints by @RageKnify in https://github.com/boa-dev/boa/pull/3140
114+
- Clippy updates: add panics and etc. by @nekevss in https://github.com/boa-dev/boa/pull/3235
115+
- Remove unused class environments by @raskad in https://github.com/boa-dev/boa/pull/3332
116+
- Improve highlighter performance by @jedel1043 in https://github.com/boa-dev/boa/pull/3341
117+
- Cleanup `get_option` and calls to the function by @jedel1043 in https://github.com/boa-dev/boa/pull/3355
118+
- Fix new lints for Rust 1.73 by @jedel1043 in https://github.com/boa-dev/boa/pull/3361
119+
- Refactor compile time environment handling by @raskad in https://github.com/boa-dev/boa/pull/3365
120+
- Update all dependencies by @jedel1043 in https://github.com/boa-dev/boa/pull/3400
121+
- Optimize `shift` for dense arrays by @jedel1043 in https://github.com/boa-dev/boa/pull/3405
122+
- Disallow changing type of already created objects by @jedel1043 in https://github.com/boa-dev/boa/pull/3410
123+
- Merge `CodeBlock` constant pools by @HalidOdat in https://github.com/boa-dev/boa/pull/3413
124+
- Move ordinary function `[[ConstructorKind]]` to `CodeBlock` by @HalidOdat in https://github.com/boa-dev/boa/pull/3439
125+
- Move `FunctionKind` to `CodeBlock` by @HalidOdat in https://github.com/boa-dev/boa/pull/3440
126+
- Unify generator and ordinary function creation by @HalidOdat in https://github.com/boa-dev/boa/pull/3441
127+
- Move `arguments` object creation to bytecode by @HalidOdat in https://github.com/boa-dev/boa/pull/3432
128+
- Move parameter environment creation to bytecode by @HalidOdat in https://github.com/boa-dev/boa/pull/3433
129+
- Prevent `DefVar` opcode emit for global binding by @HalidOdat in https://github.com/boa-dev/boa/pull/3453
130+
- Transition `Intl` types to `NativeObject` API by @jedel1043 in https://github.com/boa-dev/boa/pull/3491
131+
- Reduce `WeakGc<T>` memory usage by @HalidOdat in https://github.com/boa-dev/boa/pull/3492
132+
- Migrate `Temporal` to its own crate. by @nekevss in https://github.com/boa-dev/boa/pull/3461
133+
- Reestructure repo and CI improvements by @jedel1043 in https://github.com/boa-dev/boa/pull/3505
134+
- Move `PromiseCapability` to stack by @HalidOdat in https://github.com/boa-dev/boa/pull/3528
135+
- Fix rust 1.75 lints by @raskad in https://github.com/boa-dev/boa/pull/3540
136+
- Remove double indirection in module types by @jedel1043 in https://github.com/boa-dev/boa/pull/3640
137+
- Fix clippy warnings for rustc 1.76 by @jedel1043 in https://github.com/boa-dev/boa/pull/3668
138+
- Migrate to `temporal_rs` crate by @nekevss in https://github.com/boa-dev/boa/pull/3694
139+
140+
### Other Changes
141+
142+
- Removed time 0.1 dependency, updated dependencies by @Razican in https://github.com/boa-dev/boa/pull/3122
143+
- Add new CLI options to usage in README by @Razican in https://github.com/boa-dev/boa/pull/3123
144+
- Find roots when running GC rather than runtime by @tunz in https://github.com/boa-dev/boa/pull/3109
145+
- Re-enable must_use clippy rule by @tunz in https://github.com/boa-dev/boa/pull/3180
146+
- Refactor environment, exception handling and jumping in VM by @HalidOdat in https://github.com/boa-dev/boa/pull/3059
147+
- Refactor `Context::run()` method by @HalidOdat in https://github.com/boa-dev/boa/pull/3179
148+
- Added examples by @postmeback in https://github.com/boa-dev/boa/pull/3141
149+
- Use main stack for calling ordinary functions by @HalidOdat in https://github.com/boa-dev/boa/pull/3185
150+
- Update license field following SPDX 2.1 license expression standard by @frisoft in https://github.com/boa-dev/boa/pull/3209
151+
- Store active runnable and active function in `CallFrame` by @HalidOdat in https://github.com/boa-dev/boa/pull/3197
152+
- Added MSRV check by @Razican in https://github.com/boa-dev/boa/pull/3291
153+
- Reintroduce publish CI job by @jedel1043 in https://github.com/boa-dev/boa/pull/3308
154+
- Format code snippets in docs by @jedel1043 in https://github.com/boa-dev/boa/pull/3317
155+
- Remove direct conversion from `&str` to `JsValue`/`PropertyKey`. by @jedel1043 in https://github.com/boa-dev/boa/pull/3319
156+
- `icu_properties` default features to true by @nekevss in https://github.com/boa-dev/boa/pull/3326
157+
- Varying length instruction operands by @HalidOdat in https://github.com/boa-dev/boa/pull/3253
158+
- Improve CI testing by @jedel1043 in https://github.com/boa-dev/boa/pull/3333
159+
- Refactor function internal methods by @HalidOdat in https://github.com/boa-dev/boa/pull/3322
160+
- Make environments opcodes use varying operands by @HalidOdat in https://github.com/boa-dev/boa/pull/3340
161+
- Bump test262 by @jedel1043 in https://github.com/boa-dev/boa/pull/3349
162+
- Refactor ordinary VM calling by @HalidOdat in https://github.com/boa-dev/boa/pull/3295
163+
- Fix Array.join when the array contains itself by @ahaoboy in https://github.com/boa-dev/boa/pull/3406
164+
- Rename master workflow to main by @Razican in https://github.com/boa-dev/boa/pull/3409
165+
- Cleaned up a couple of Github action warnings by @Razican in https://github.com/boa-dev/boa/pull/3417
166+
- Temporal duration update and cleanup by @nekevss in https://github.com/boa-dev/boa/pull/3443
167+
- Progress on Duration's round/total method updates by @nekevss in https://github.com/boa-dev/boa/pull/3451
168+
- Simplify all extensions APIs of `Context` by @jedel1043 in https://github.com/boa-dev/boa/pull/3456
169+
- `[[HostDefined]]` Improvements by @johnyob in https://github.com/boa-dev/boa/pull/3460
170+
- Make well_known_symbols functions pub by @tj825 in https://github.com/boa-dev/boa/pull/3465
171+
- Use `Vec<T>` for keeping track of gc objects by @HalidOdat in https://github.com/boa-dev/boa/pull/3493
172+
- Implement `Inline Caching` by @HalidOdat in https://github.com/boa-dev/boa/pull/2767
173+
- Migrate `ISO8601` parsing to `boa_temporal` by @nekevss in https://github.com/boa-dev/boa/pull/3500
174+
- Implement erased objects by @jedel1043 in https://github.com/boa-dev/boa/pull/3494
175+
- Build out ZonedDateTime, TimeZone, and Instant by @nekevss in https://github.com/boa-dev/boa/pull/3497
176+
- `boa_temporal` structure changes and docs update by @nekevss in https://github.com/boa-dev/boa/pull/3504
177+
- Refactor vm calling convention to allow locals by @HalidOdat in https://github.com/boa-dev/boa/pull/3496
178+
- Temporal Parser Cleanup/Fixes by @nekevss in https://github.com/boa-dev/boa/pull/3521
179+
- Refactor Temporal Calendar API for `AnyCalendar` and fields by @nekevss in https://github.com/boa-dev/boa/pull/3522
180+
- Update `boa_temporal` Time Zone design by @nekevss in https://github.com/boa-dev/boa/pull/3543
181+
- Implement `DifferenceInstant` and related refactor by @nekevss in https://github.com/boa-dev/boa/pull/3568
182+
- Run `cargo update` on fuzz crate by @jedel1043 in https://github.com/boa-dev/boa/pull/3607
183+
- Temporal `Instant` migration cont. and related changes by @nekevss in https://github.com/boa-dev/boa/pull/3601
184+
- Temporal: Update `Date` builtin with `boa_temporal` and fixes by @nekevss in https://github.com/boa-dev/boa/pull/3614
185+
- Temporal: Build out `Time` and its methods by @nekevss in https://github.com/boa-dev/boa/pull/3613
186+
- Temporal: Enable temporal tests by @nekevss in https://github.com/boa-dev/boa/pull/3620
187+
- Fix tests results upload by @raskad in https://github.com/boa-dev/boa/pull/3635
188+
- Temporal: `DateTime` and `PlainDateTime` functionality by @nekevss in https://github.com/boa-dev/boa/pull/3628
189+
- Temporal: Initial `PlainTime` build out by @nekevss in https://github.com/boa-dev/boa/pull/3621
190+
- Ignore `Cargo.lock` in fuzzer by @jedel1043 in https://github.com/boa-dev/boa/pull/3636
191+
- Temporal: attribute/property and custom calendar fixes by @nekevss in https://github.com/boa-dev/boa/pull/3639
192+
- Docs: Update boa's main README.md by @nekevss in https://github.com/boa-dev/boa/pull/3650
193+
- Bump time from 0.3.31 to 0.3.33 by @jedel1043 in https://github.com/boa-dev/boa/pull/3652
194+
- Temporal: Refactor Calendar protocol for `JsObject`s by @nekevss in https://github.com/boa-dev/boa/pull/3651
195+
- Simplify Temporal APIs by @jedel1043 in https://github.com/boa-dev/boa/pull/3653
196+
- Implement inline caching tests and cleanup by @HalidOdat in https://github.com/boa-dev/boa/pull/3513
197+
- Docs: Update README.md and add `boa_cli`'s README.md by @nekevss in https://github.com/boa-dev/boa/pull/3659
198+
- Change `HostEnsureCanCompileStrings` to the new spec by @jedel1043 in https://github.com/boa-dev/boa/pull/3690
199+
- Split ICU4X data generation from `boa_icu_provider` by @jedel1043 in https://github.com/boa-dev/boa/pull/3682
200+
- Add a catch all for other categories not labelled by @jasonwilliams in https://github.com/boa-dev/boa/pull/3703
201+
- Fix `temporal_rs` in Cargo.toml by @nekevss in https://github.com/boa-dev/boa/pull/3702
202+
203+
## New Contributors
204+
205+
- @AlvinKuruvilla made their first contribution in https://github.com/boa-dev/boa/pull/3129
206+
- @tunz made their first contribution in https://github.com/boa-dev/boa/pull/3109
207+
- @postmeback made their first contribution in https://github.com/boa-dev/boa/pull/3092
208+
- @kelbazz made their first contribution in https://github.com/boa-dev/boa/pull/3193
209+
- @frisoft made their first contribution in https://github.com/boa-dev/boa/pull/3209
210+
- @mattsse made their first contribution in https://github.com/boa-dev/boa/pull/3297
211+
- @arexon made their first contribution in https://github.com/boa-dev/boa/pull/3381
212+
- @johnyob made their first contribution in https://github.com/boa-dev/boa/pull/3369
213+
- @ahaoboy made their first contribution in https://github.com/boa-dev/boa/pull/3406
214+
- @tj825 made their first contribution in https://github.com/boa-dev/boa/pull/3465
215+
- @AngeloChecked made their first contribution in https://github.com/boa-dev/boa/pull/3481
216+
217+
**Full Changelog**: https://github.com/boa-dev/boa/compare/v0.17...v0.18
218+
5219
# [0.17.0 (2023-07-05)](https://github.com/boa-dev/boa/compare/v0.16...v0.17)
6220

7221
### Feature Enhancements

0 commit comments

Comments
 (0)