Skip to content

Commit 9160b89

Browse files
jasonwilliamsRageKnifyRazican
authored
Changelog v0.11 (#1052)
v0.11 Co-authored-by: João Borges <[email protected]> Co-authored-by: Iban Eguia <[email protected]>
1 parent f259ba4 commit 9160b89

File tree

8 files changed

+233
-11
lines changed

8 files changed

+233
-11
lines changed

CHANGELOG.md

Lines changed: 222 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,227 @@
11
# CHANGELOG
22

3-
# 0.10.0 (2020-09-29) - New Lexer & Test 262 Harness
3+
# 0.11.0 (2021-01-11)
4+
5+
Feature Enhancements:
6+
7+
- [FEATURE #836](https://github.com/boa-dev/boa/pull/836):
8+
Async/Await parse (@Lan2u)
9+
- [FEATURE #704](https://github.com/boa-dev/boa/pull/704):
10+
Implement for...of loops (@joshwd36)
11+
- [FEATURE #770](https://github.com/boa-dev/boa/pull/770):
12+
Support for symbols as property keys for `Object.defineProperty` (@georgeroman)
13+
- [FEATURE #717](https://github.com/boa-dev/boa/pull/717):
14+
Strict Mode Lex/Parse (@Lan2u)
15+
- [FEATURE #800](https://github.com/boa-dev/boa/pull/800):
16+
Implement `console` crate feature - Put `console` object behind a feature flag (@HalidOdat)
17+
- [FEATURE #804](https://github.com/boa-dev/boa/pull/804):
18+
Implement `EvalError` (@HalidOdat)
19+
- [FEATURE #805](https://github.com/boa-dev/boa/pull/805):
20+
Implement `Function.prototype.call` (@RageKnify)
21+
- [FEATURE #806](https://github.com/boa-dev/boa/pull/806):
22+
Implement `URIError` (@HalidOdat)
23+
- [FEATURE #811](https://github.com/boa-dev/boa/pull/811):
24+
Implement spread operator using iterator (@croraf)
25+
- [FEATURE #844](https://github.com/boa-dev/boa/pull/844):
26+
Allow UnaryExpression with prefix increment/decrement (@croraf)
27+
- [FEATURE #798](https://github.com/boa-dev/boa/pull/798):
28+
Implement Object.getOwnPropertyDescriptor() and Object.getOwnPropertyDescriptors() (@JohnDoneth)
29+
- [FEATURE #847](https://github.com/boa-dev/boa/pull/847):
30+
Implement Map.prototype.entries() (@croraf)
31+
- [FEATURE #859](https://github.com/boa-dev/boa/pull/859):
32+
Implement spec compliant Array constructor (@georgeroman)
33+
- [FEATURE #874](https://github.com/boa-dev/boa/pull/874):
34+
Implement Map.prototype.values and Map.prototype.keys (@croraf)
35+
- [FEATURE #877](https://github.com/boa-dev/boa/pull/877):
36+
Implement Function.prototype.apply (@georgeroman)
37+
- [FEATURE #908](https://github.com/boa-dev/boa/pull/908):
38+
Implementation of `instanceof` operator (@morrien)
39+
- [FEATURE #935](https://github.com/boa-dev/boa/pull/935):
40+
Implement String.prototype.codePointAt (@devinus)
41+
- [FEATURE #961](https://github.com/boa-dev/boa/pull/961):
42+
Implement the optional `space` parameter in `JSON.stringify` (@tofpie)
43+
- [FEATURE #962](https://github.com/boa-dev/boa/pull/962):
44+
Implement Number.prototype.toPrecision (@NathanRoyer)
45+
- [FEATURE #983](https://github.com/boa-dev/boa/pull/983):
46+
Implement Object.prototype.isPrototypeOf (@tofpie)
47+
- [FEATURE #995](https://github.com/boa-dev/boa/pull/995):
48+
Support Numeric separators (@tofpie)
49+
- [FEATURE #1013](https://github.com/boa-dev/boa/pull/1013):
50+
Implement nullish coalescing (?? and ??=) (@tofpie)
51+
- [FEATURE #987](https://github.com/boa-dev/boa/pull/987):
52+
Implement property accessors (@tofpie)
53+
- [FEATURE #1018](https://github.com/boa-dev/boa/pull/1018):
54+
Implement logical assignment operators (&&= and ||=) (@tofpie)
55+
- [FEATURE #1019](https://github.com/boa-dev/boa/pull/1019):
56+
Implement early errors for non-assignable nodes in assignment (@tofpie)
57+
- [FEATURE #1020](https://github.com/boa-dev/boa/pull/1020):
58+
Implement Symbol.toPrimitive (@tofpie)
59+
- [FEATURE #976](https://github.com/boa-dev/boa/pull/976):
60+
Implement for..in (@tofpie)
61+
- [FEATURE #1026](https://github.com/boa-dev/boa/pull/1026):
62+
Implement String.prototype.split (@jevancc)
63+
- [FEATURE #1047](https://github.com/boa-dev/boa/pull/1047):
64+
Added syntax highlighting for numbers, identifiers and template literals (@Razican)
65+
- [FEATURE #1003](https://github.com/boa-dev/boa/pull/1003):
66+
Improve Unicode support for identifier names (@jevancc)
67+
68+
Bug Fixes:
69+
70+
- [BUG #782](https://github.com/boa-dev/boa/pull/782):
71+
Throw TypeError if regexp is passed to startsWith, endsWith, includes (@pt2121)
72+
- [BUG #788](https://github.com/boa-dev/boa/pull/788):
73+
Fixing a duplicated attribute in test262 results (@Razican)
74+
- [BUG #790](https://github.com/boa-dev/boa/pull/790):
75+
Throw RangeError when BigInt division by zero occurs (@JohnDoneth)
76+
- [BUG #785](https://github.com/boa-dev/boa/pull/785):
77+
Fix zero argument panic in JSON.parse() (@JohnDoneth)
78+
- [BUG #749](https://github.com/boa-dev/boa/pull/749):
79+
Fix Error constructors to return rather than throw (@RageKnify)
80+
- [BUG #777](https://github.com/boa-dev/boa/pull/777):
81+
Fix cyclic JSON.stringify / primitive conversion stack overflows (@vgel)
82+
- [BUG #799](https://github.com/boa-dev/boa/pull/799):
83+
Fix lexer span panic with carriage return (@vgel)
84+
- [BUG #812](https://github.com/boa-dev/boa/pull/812):
85+
Fix 2 bugs that caused Test262 to fail (@RageKnify)
86+
- [BUG #826](https://github.com/boa-dev/boa/pull/826):
87+
Fix tokenizing Unicode escape sequence in string literal (@HalidOdat)
88+
- [BUG #825](https://github.com/boa-dev/boa/pull/825):
89+
calling "new" on a primitive value throw a type error (@dlemel8)
90+
- [BUG #853](https://github.com/boa-dev/boa/pull/853)
91+
Handle invalid Unicode code point in the string literals (@jevancc)
92+
- [BUG #870](https://github.com/boa-dev/boa/pull/870)
93+
Fix JSON stringification for fractional numbers (@georgeroman)
94+
- [BUG #807](https://github.com/boa-dev/boa/pull/807):
95+
Make boa::parse emit error on invalid input, not panic (@georgeroman)
96+
- [BUG #880](https://github.com/boa-dev/boa/pull/880):
97+
Support more number literals in BigInt's from string constructor (@georgeroman)
98+
- [BUG #885](https://github.com/boa-dev/boa/pull/885):
99+
Fix `BigInt.prototype.toString()` radix checks (@georgeroman)
100+
- [BUG #882](https://github.com/boa-dev/boa/pull/882):
101+
Fix (panic) remainder by zero (@georgeroman)
102+
- [BUG #884](https://github.com/boa-dev/boa/pull/884):
103+
Fix some panics related to BigInt operations (@georgeroman)
104+
- [BUG #888](https://github.com/boa-dev/boa/pull/888):
105+
Fix some panics in String.prototype properties (@georgeroman)
106+
- [BUG #902](https://github.com/boa-dev/boa/pull/902):
107+
Fix Accessors panics (@HalidOdat)
108+
- [BUG #959](https://github.com/boa-dev/boa/pull/959):
109+
Fix Unicode character escape sequence parsing (@tofpie)
110+
- [BUG #964](https://github.com/boa-dev/boa/pull/964):
111+
Fix single line comment lexing with CRLF line ending (@tofpie)
112+
- [BUG #919](https://github.com/boa-dev/boa/pull/919):
113+
Reduce the number of `Array`-related panics (@jakubfijalkowski)
114+
- [BUG #968](https://github.com/boa-dev/boa/pull/968):
115+
Fix unit tests that can be failed due to daylight saving time (@tofpie)
116+
- [BUG #972](https://github.com/boa-dev/boa/pull/972):
117+
Fix enumerable attribute on array length property (@tofpie)
118+
- [BUG #974](https://github.com/boa-dev/boa/pull/974):
119+
Fix enumerable attribute on string length property (@tofpie)
120+
- [BUG #981](https://github.com/boa-dev/boa/pull/981):
121+
Fix prototypes for Number, String and Boolean (@tofpie)
122+
- [BUG #999](https://github.com/boa-dev/boa/pull/999):
123+
Fix logical expressions evaluation (@tofpie)
124+
- [BUG #1001](https://github.com/boa-dev/boa/pull/1001):
125+
Fix comparison with infinity (@tofpie)
126+
- [BUG #1004](https://github.com/boa-dev/boa/pull/1004):
127+
Fix panics surrounding `Object.prototype.hasOwnProperty()` (@HalidOdat)
128+
- [BUG #1005](https://github.com/boa-dev/boa/pull/1005):
129+
Fix panics surrounding `Object.defineProperty()` (@HalidOdat)
130+
- [BUG #1021](https://github.com/boa-dev/boa/pull/1021):
131+
Fix spread in new and call expressions (@tofpie)
132+
- [BUG #1023](https://github.com/boa-dev/boa/pull/1023):
133+
Fix attributes on properties of functions and constructors (@tofpie)
134+
- [BUG #1017](https://github.com/boa-dev/boa/pull/1017):
135+
Don't panic when function parameters share names (@AnnikaCodes)
136+
- [BUG #1024](https://github.com/boa-dev/boa/pull/1024):
137+
Fix delete when the property is not configurable (@tofpie)
138+
- [BUG #1027](https://github.com/boa-dev/boa/pull/1027):
139+
Supress regress errors on invalid escapes for regex (@jasonwilliams
140+
- [BUG #1031](https://github.com/boa-dev/boa/pull/1031):
141+
Fixed some extra regex panics (@Razican)
142+
- [BUG #1049](https://github.com/boa-dev/boa/pull/1049):
143+
Support overriding the `arguments` variable (@AnnikaCodes)
144+
- [BUG #1050](https://github.com/boa-dev/boa/pull/1050):
145+
Remove panic on named capture groups (@Razican)
146+
- [BUG #1046](https://github.com/boa-dev/boa/pull/1046):
147+
Remove a few different panics (@Razican)
148+
- [BUG #1051](https://github.com/boa-dev/boa/pull/1051):
149+
Fix parsing of arrow functions with 1 argument (@Lan2u)
150+
- [BUG #1045](https://github.com/boa-dev/boa/pull/1045):
151+
Add newTarget to construct (@tofpie)
152+
- [BUG #659](https://github.com/boa-dev/boa/pull/659):
153+
Error handling in environment (@54k1)
154+
155+
Internal Improvements:
156+
157+
- [INTERNAL #735](https://github.com/boa-dev/boa/pull/735):
158+
Move exec implementations together with AST node structs (@georgeroman)
159+
- [INTERNAL #724](https://github.com/boa-dev/boa/pull/724):
160+
Ignore tests for code coverage count (@HalidOdat)
161+
- [INTERNAL #768](https://github.com/boa-dev/boa/pull/768)
162+
Update the benchmark Github action (@Razican)
163+
- [INTERNAL #722](https://github.com/boa-dev/boa/pull/722):
164+
`ConstructorBuilder`, `ObjectInitializer`, cache standard objects and fix global object attributes (@HalidOdat)
165+
- [INTERNAL #783](https://github.com/boa-dev/boa/pull/783):
166+
New test262 results format (This also reduces the payload size for the website) (@Razican)
167+
- [INTERNAL #787](https://github.com/boa-dev/boa/pull/787):
168+
Refactor ast/node/expression into ast/node/call and ast/node/new (@croraf)
169+
- [INTERNAL #802](https://github.com/boa-dev/boa/pull/802):
170+
Make `Function.prototype` a function (@HalidOdat)
171+
- [INTERNAL #746](https://github.com/boa-dev/boa/pull/746):
172+
Add Object.defineProperties and handle props argument in Object.create (@dvtkrlbs)
173+
- [INTERNAL #774](https://github.com/boa-dev/boa/pull/774):
174+
Switch from `regex` to `regress` for ECMA spec-compliant regex implementation (@neeldug)
175+
- [INTERNAL #794](https://github.com/boa-dev/boa/pull/794):
176+
Refactor `PropertyDescriptor` (Improved performance) (@HalidOdat)
177+
- [INTERNAL #824](https://github.com/boa-dev/boa/pull/824):
178+
[parser Expression] minor expression macro simplification (@croraf)
179+
- [INTERNAL #833](https://github.com/boa-dev/boa/pull/833):
180+
Using unstable sort for sorting keys on `to_json()` for GC objects (@Razican)
181+
- [INTERNAL #837](https://github.com/boa-dev/boa/pull/837):
182+
Set default-run to `boa` removing need for `--bin` (@RageKnify)
183+
- [INTERNAL #841](https://github.com/boa-dev/boa/pull/841):
184+
Minor refactor and rename in eval() method (@croraf)
185+
- [INTERNAL #840](https://github.com/boa-dev/boa/pull/840):
186+
fix(profiler): update profiler to match current measureme api (@neeldug)
187+
- [INTERNAL #838](https://github.com/boa-dev/boa/pull/838):
188+
style(boa): minor cleanup (@neeldug)
189+
- [INTERNAL #869](https://github.com/boa-dev/boa/pull/869):
190+
Updated cache in workflows (@Razican)
191+
- [INTERNAL #873](https://github.com/boa-dev/boa/pull/873)
192+
Removed cache from MacOS builds (@Razican)
193+
- [INTERNAL #835](https://github.com/boa-dev/boa/pull/835):
194+
Move `Object` internal object methods to `GcObject` (@HalidOdat)
195+
- [INTERNAL #886](https://github.com/boa-dev/boa/pull/886):
196+
Support running a specific test/suite in boa_tester (@georgeroman)
197+
- [INTERNAL #901](https://github.com/boa-dev/boa/pull/901):
198+
Added "unimplemented" syntax errors (@Razican)
199+
- [INTERNAL #911](https://github.com/boa-dev/boa/pull/911):
200+
Change Symbol hash to `u64` (@HalidOdat)
201+
- [INTERNAL #912](https://github.com/boa-dev/boa/pull/912):
202+
Feature `Context::register_global_property()` (@HalidOdat)
203+
- [INTERNAL #913](https://github.com/boa-dev/boa/pull/913):
204+
Added check to ignore semicolon in parser (@AngelOnFira)
205+
- [INTERNAL #915](https://github.com/boa-dev/boa/pull/915):
206+
Improve lexer by make cursor iterate over bytes (@jevancc)
207+
- [INTERNAL #952](https://github.com/boa-dev/boa/pull/952):
208+
Upgraded rustyline and test262 (@Razican)
209+
- [INTERNAL #960](https://github.com/boa-dev/boa/pull/960):
210+
Fix unresolved links in documentation (@tofpie)
211+
- [INTERNAL #979](https://github.com/boa-dev/boa/pull/979):
212+
Read file input in bytes instead of string (@tofpie)
213+
- [INTERNAL #1014](https://github.com/boa-dev/boa/pull/1014):
214+
StatementList: Rename `statements` to `items` (@AnnikaCodes)
215+
- [INTERNAL #860](https://github.com/boa-dev/boa/pull/860):
216+
Investigation into ByteCode Interpreter (@jasonwilliams)
217+
- [INTERNAL #1042](https://github.com/boa-dev/boa/pull/1042):
218+
Add receiver parameter to object internal methods (@tofpie)
219+
- [INTERNAL #1030](https://github.com/boa-dev/boa/pull/1030):
220+
VM: Implement variable declaration (var, const, and let) (@AnnikaCodes)
221+
- [INTERNAL #1010](https://github.com/boa-dev/boa/pull/1010):
222+
Modify environment binding behaviour of function (@54k1)
223+
224+
# [0.10.0 (2020-09-29) - New Lexer & Test 262 Harness](https://github.com/boa-dev/boa/compare/v0.10.0...v0.11.0)
4225

5226
Feature Enhancements:
6227

Cargo.lock

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Currently, it has support for some of the language.
1515
[![codecov](https://codecov.io/gh/boa-dev/boa/branch/master/graph/badge.svg)](https://codecov.io/gh/boa-dev/boa)
1616
[![](http://meritbadge.herokuapp.com/boa)](https://crates.io/crates/boa)
1717
[![](https://docs.rs/Boa/badge.svg)](https://docs.rs/Boa/)
18+
![Discord](https://img.shields.io/discord/595323158140158003?logo=discord)
1819

1920
[build_badge]: https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fboa-dev%2Fboa%2Fbadge&style=flat
2021
[build_link]: https://actions-badge.atrox.dev/boa-dev/boa/goto

boa/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "Boa"
3-
version = "0.10.0"
3+
version = "0.11.0"
44
authors = ["boa-dev"]
55
description = "Boa is a Javascript lexer, parser and Just-in-Time compiler written in Rust. Currently, it has support for some of the language."
66
repository = "https://github.com/boa-dev/boa"

boa_cli/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "boa_cli"
3-
version = "0.10.0"
3+
version = "0.11.0"
44
authors = ["boa-dev"]
55
description = "Boa is a Javascript lexer, parser and Just-in-Time compiler written in Rust. Currently, it has support for some of the language."
66
repository = "https://github.com/boa-dev/boa"

boa_tester/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "boa_tester"
3-
version = "0.10.0"
3+
version = "0.11.0"
44
authors = ["boa-dev"]
55
description = "Boa is a Javascript lexer, parser and Just-in-Time compiler written in Rust. Currently, it has support for some of the language."
66
repository = "https://github.com/boa-dev/boa"

boa_unicode/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "boa_unicode"
3-
version = "0.10.0"
3+
version = "0.11.0"
44
authors = ["boa-dev"]
55
description = "Boa is a Javascript lexer, parser and Just-in-Time compiler written in Rust. Currently, it has support for some of the language."
66
repository = "https://github.com/boa-dev/boa"

boa_wasm/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "boa_wasm"
3-
version = "0.10.0"
3+
version = "0.11.0"
44
authors = ["boa-dev"]
55
description = "Boa is a Javascript lexer, parser and Just-in-Time compiler written in Rust. Currently, it has support for some of the language."
66
repository = "https://github.com/boa-dev/boa"

0 commit comments

Comments
 (0)