Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changelog v0.11 #1052

Merged
merged 15 commits into from
Jan 14, 2021
223 changes: 222 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,227 @@
# CHANGELOG

# 0.10.0 (2020-09-29) - New Lexer & Test 262 Harness
# 0.11.0 (2021-01-11)

Feature Enhancements:

- [FEATURE #836](https://github.com/boa-dev/boa/pull/836):
Async/Await parse (@Lan2u)
- [FEATURE #704](https://github.com/boa-dev/boa/pull/704):
Implement for...of loops (@joshwd36)
- [FEATURE #770](https://github.com/boa-dev/boa/pull/770):
Support for symbols as property keys for `Object.defineProperty` (@georgeroman)
- [FEATURE #717](https://github.com/boa-dev/boa/pull/717):
Strict Mode Lex/Parse (@Lan2u)
- [FEATURE #800](https://github.com/boa-dev/boa/pull/800):
Implement `console` crate feature - Put `console` object behind a feature flag (@HalidOdat)
- [FEATURE #804](https://github.com/boa-dev/boa/pull/804):
Implement `EvalError` (@HalidOdat)
- [FEATURE #805](https://github.com/boa-dev/boa/pull/805):
Implement `Function.prototype.call` (@RageKnify)
- [FEATURE #806](https://github.com/boa-dev/boa/pull/806):
Implement `URIError` (@HalidOdat)
- [FEATURE #811](https://github.com/boa-dev/boa/pull/811):
Implement spread operator using iterator (@croraf)
- [FEATURE #844](https://github.com/boa-dev/boa/pull/844):
Allow UnaryExpression with prefix increment/decrement (@croraf)
- [FEATURE #798](https://github.com/boa-dev/boa/pull/798):
Implement Object.getOwnPropertyDescriptor() and Object.getOwnPropertyDescriptors() (@JohnDoneth)
- [FEATURE #847](https://github.com/boa-dev/boa/pull/847):
Implement Map.prototype.entries() (@croraf)
- [FEATURE #859](https://github.com/boa-dev/boa/pull/859):
Implement spec compliant Array constructor (@georgeroman)
- [FEATURE #874](https://github.com/boa-dev/boa/pull/874):
Implement Map.prototype.values and Map.prototype.keys (@croraf)
- [FEATURE #877](https://github.com/boa-dev/boa/pull/877):
Implement Function.prototype.apply (@georgeroman)
- [FEATURE #908](https://github.com/boa-dev/boa/pull/908):
Implementation of `instanceof` operator (@morrien)
- [FEATURE #935](https://github.com/boa-dev/boa/pull/935):
Implement String.prototype.codePointAt (@devinus)
- [FEATURE #961](https://github.com/boa-dev/boa/pull/961):
Implement the optional `space` parameter in `JSON.stringify` (@tofpie)
- [FEATURE #962](https://github.com/boa-dev/boa/pull/962):
Implement Number.prototype.toPrecision (@NathanRoyer)
- [FEATURE #983](https://github.com/boa-dev/boa/pull/983):
Implement Object.prototype.isPrototypeOf (@tofpie)
- [FEATURE #995](https://github.com/boa-dev/boa/pull/995):
Support Numeric separators (@tofpie)
- [FEATURE #1013](https://github.com/boa-dev/boa/pull/1013):
Implement nullish coalescing (?? and ??=) (@tofpie)
- [FEATURE #987](https://github.com/boa-dev/boa/pull/987):
Implement property accessors (@tofpie)
- [FEATURE #1018](https://github.com/boa-dev/boa/pull/1018):
Implement logical assignment operators (&&= and ||=) (@tofpie)
- [FEATURE #1019](https://github.com/boa-dev/boa/pull/1019):
Implement early errors for non-assignable nodes in assignment (@tofpie)
- [FEATURE #1020](https://github.com/boa-dev/boa/pull/1020):
Implement Symbol.toPrimitive (@tofpie)
- [FEATURE #976](https://github.com/boa-dev/boa/pull/976):
Implement for..in (@tofpie)
- [FEATURE #1026](https://github.com/boa-dev/boa/pull/1026):
Implement String.prototype.split (@jevancc)
- [FEATURE #1047](https://github.com/boa-dev/boa/pull/1047):
Added syntax highlighting for numbers, identifiers and template literals (@Razican)
- [FEATURE #1003](https://github.com/boa-dev/boa/pull/1003):
Improve Unicode support for identifier names (@jevancc)

Bug Fixes:

- [BUG #782](https://github.com/boa-dev/boa/pull/782):
Throw TypeError if regexp is passed to startsWith, endsWith, includes (@pt2121)
- [BUG #788](https://github.com/boa-dev/boa/pull/788):
Fixing a duplicated attribute in test262 results (@Razican)
- [BUG #790](https://github.com/boa-dev/boa/pull/790):
Throw RangeError when BigInt division by zero occurs (@JohnDoneth)
- [BUG #785](https://github.com/boa-dev/boa/pull/785):
Fix zero argument panic in JSON.parse() (@JohnDoneth)
- [BUG #749](https://github.com/boa-dev/boa/pull/749):
Fix Error constructors to return rather than throw (@RageKnify)
- [BUG #777](https://github.com/boa-dev/boa/pull/777):
Fix cyclic JSON.stringify / primitive conversion stack overflows (@vgel)
- [BUG #799](https://github.com/boa-dev/boa/pull/799):
Fix lexer span panic with carriage return (@vgel)
- [BUG #812](https://github.com/boa-dev/boa/pull/812):
Fix 2 bugs that caused Test262 to fail (@RageKnify)
- [BUG #826](https://github.com/boa-dev/boa/pull/826):
Fix tokenizing Unicode escape sequence in string literal (@HalidOdat)
- [BUG #825](https://github.com/boa-dev/boa/pull/825):
calling "new" on a primitive value throw a type error (@dlemel8)
- [BUG #853](https://github.com/boa-dev/boa/pull/853)
Handle invalid Unicode code point in the string literals (@jevancc)
- [BUG #870](https://github.com/boa-dev/boa/pull/870)
Fix JSON stringification for fractional numbers (@georgeroman)
- [BUG #807](https://github.com/boa-dev/boa/pull/807):
Make boa::parse emit error on invalid input, not panic (@georgeroman)
- [BUG #880](https://github.com/boa-dev/boa/pull/880):
Support more number literals in BigInt's from string constructor (@georgeroman)
- [BUG #885](https://github.com/boa-dev/boa/pull/885):
Fix `BigInt.prototype.toString()` radix checks (@georgeroman)
- [BUG #882](https://github.com/boa-dev/boa/pull/882):
Fix (panic) remainder by zero (@georgeroman)
- [BUG #884](https://github.com/boa-dev/boa/pull/884):
Fix some panics related to BigInt operations (@georgeroman)
- [BUG #888](https://github.com/boa-dev/boa/pull/888):
Fix some panics in String.prototype properties (@georgeroman)
- [BUG #902](https://github.com/boa-dev/boa/pull/902):
Fix Accessors panics (@HalidOdat)
- [BUG #959](https://github.com/boa-dev/boa/pull/959):
Fix Unicode character escape sequence parsing (@tofpie)
- [BUG #964](https://github.com/boa-dev/boa/pull/964):
Fix single line comment lexing with CRLF line ending (@tofpie)
- [BUG #919](https://github.com/boa-dev/boa/pull/919):
Reduce the number of `Array`-related panics (@jakubfijalkowski)
- [BUG #968](https://github.com/boa-dev/boa/pull/968):
Fix unit tests that can be failed due to daylight saving time (@tofpie)
- [BUG #972](https://github.com/boa-dev/boa/pull/972):
Fix enumerable attribute on array length property (@tofpie)
- [BUG #974](https://github.com/boa-dev/boa/pull/974):
Fix enumerable attribute on string length property (@tofpie)
- [BUG #981](https://github.com/boa-dev/boa/pull/981):
Fix prototypes for Number, String and Boolean (@tofpie)
- [BUG #999](https://github.com/boa-dev/boa/pull/999):
Fix logical expressions evaluation (@tofpie)
- [BUG #1001](https://github.com/boa-dev/boa/pull/1001):
Fix comparison with infinity (@tofpie)
- [BUG #1004](https://github.com/boa-dev/boa/pull/1004):
Fix panics surrounding `Object.prototype.hasOwnProperty()` (@HalidOdat)
- [BUG #1005](https://github.com/boa-dev/boa/pull/1005):
Fix panics surrounding `Object.defineProperty()` (@HalidOdat)
- [BUG #1021](https://github.com/boa-dev/boa/pull/1021):
Fix spread in new and call expressions (@tofpie)
- [BUG #1023](https://github.com/boa-dev/boa/pull/1023):
Fix attributes on properties of functions and constructors (@tofpie)
- [BUG #1017](https://github.com/boa-dev/boa/pull/1017):
Don't panic when function parameters share names (@AnnikaCodes)
- [BUG #1024](https://github.com/boa-dev/boa/pull/1024):
Fix delete when the property is not configurable (@tofpie)
- [BUG #1027](https://github.com/boa-dev/boa/pull/1027):
Supress regress errors on invalid escapes for regex (@jasonwilliams
- [BUG #1031](https://github.com/boa-dev/boa/pull/1031):
Fixed some extra regex panics (@Razican)
- [BUG #1049](https://github.com/boa-dev/boa/pull/1049):
Support overriding the `arguments` variable (@AnnikaCodes)
- [BUG #1050](https://github.com/boa-dev/boa/pull/1050):
Remove panic on named capture groups (@Razican)
- [BUG #1046](https://github.com/boa-dev/boa/pull/1046):
Remove a few different panics (@Razican)
- [BUG #1051](https://github.com/boa-dev/boa/pull/1051):
Fix parsing of arrow functions with 1 argument (@Lan2u)
- [BUG #1045](https://github.com/boa-dev/boa/pull/1045):
Add newTarget to construct (@tofpie)
- [BUG #659](https://github.com/boa-dev/boa/pull/659):
Error handling in environment (@54k1)

Internal Improvements:

- [INTERNAL #735](https://github.com/boa-dev/boa/pull/735):
Move exec implementations together with AST node structs (@georgeroman)
- [INTERNAL #724](https://github.com/boa-dev/boa/pull/724):
Ignore tests for code coverage count (@HalidOdat)
- [INTERNAL #768](https://github.com/boa-dev/boa/pull/768)
Update the benchmark Github action (@Razican)
- [INTERNAL #722](https://github.com/boa-dev/boa/pull/722):
`ConstructorBuilder`, `ObjectInitializer`, cache standard objects and fix global object attributes (@HalidOdat)
- [INTERNAL #783](https://github.com/boa-dev/boa/pull/783):
New test262 results format (This also reduces the payload size for the website) (@Razican)
- [INTERNAL #787](https://github.com/boa-dev/boa/pull/787):
Refactor ast/node/expression into ast/node/call and ast/node/new (@croraf)
- [INTERNAL #802](https://github.com/boa-dev/boa/pull/802):
Make `Function.prototype` a function (@HalidOdat)
- [INTERNAL #746](https://github.com/boa-dev/boa/pull/746):
Add Object.defineProperties and handle props argument in Object.create (@dvtkrlbs)
- [INTERNAL #774](https://github.com/boa-dev/boa/pull/774):
Switch from `regex` to `regress` for ECMA spec-compliant regex implementation (@neeldug)
- [INTERNAL #794](https://github.com/boa-dev/boa/pull/794):
Refactor `PropertyDescriptor` (Improved performance) (@HalidOdat)
- [INTERNAL #824](https://github.com/boa-dev/boa/pull/824):
[parser Expression] minor expression macro simplification (@croraf)
- [INTERNAL #833](https://github.com/boa-dev/boa/pull/833):
Using unstable sort for sorting keys on `to_json()` for GC objects (@Razican)
- [INTERNAL #837](https://github.com/boa-dev/boa/pull/837):
Set default-run to `boa` removing need for `--bin` (@RageKnify)
- [INTERNAL #841](https://github.com/boa-dev/boa/pull/841):
Minor refactor and rename in eval() method (@croraf)
- [INTERNAL #840](https://github.com/boa-dev/boa/pull/840):
fix(profiler): update profiler to match current measureme api (@neeldug)
- [INTERNAL #838](https://github.com/boa-dev/boa/pull/838):
style(boa): minor cleanup (@neeldug)
- [INTERNAL #869](https://github.com/boa-dev/boa/pull/869):
Updated cache in workflows (@Razican)
- [INTERNAL #873](https://github.com/boa-dev/boa/pull/873)
Removed cache from MacOS builds (@Razican)
- [INTERNAL #835](https://github.com/boa-dev/boa/pull/835):
Move `Object` internal object methods to `GcObject` (@HalidOdat)
- [INTERNAL #886](https://github.com/boa-dev/boa/pull/886):
Support running a specific test/suite in boa_tester (@georgeroman)
- [INTERNAL #901](https://github.com/boa-dev/boa/pull/901):
Added "unimplemented" syntax errors (@Razican)
- [INTERNAL #911](https://github.com/boa-dev/boa/pull/911):
Change Symbol hash to `u64` (@HalidOdat)
- [INTERNAL #912](https://github.com/boa-dev/boa/pull/912):
Feature `Context::register_global_property()` (@HalidOdat)
- [INTERNAL #913](https://github.com/boa-dev/boa/pull/913):
Added check to ignore semicolon in parser (@AngelOnFira)
- [INTERNAL #915](https://github.com/boa-dev/boa/pull/915):
Improve lexer by make cursor iterate over bytes (@jevancc)
- [INTERNAL #952](https://github.com/boa-dev/boa/pull/952):
Upgraded rustyline and test262 (@Razican)
- [INTERNAL #960](https://github.com/boa-dev/boa/pull/960):
Fix unresolved links in documentation (@tofpie)
- [INTERNAL #979](https://github.com/boa-dev/boa/pull/979):
Read file input in bytes instead of string (@tofpie)
- [INTERNAL #1014](https://github.com/boa-dev/boa/pull/1014):
StatementList: Rename `statements` to `items` (@AnnikaCodes)
- [INTERNAL #860](https://github.com/boa-dev/boa/pull/860):
Investigation into ByteCode Interpreter (@jasonwilliams)
- [INTERNAL #1042](https://github.com/boa-dev/boa/pull/1042):
Add receiver parameter to object internal methods (@tofpie)
- [INTERNAL #1030](https://github.com/boa-dev/boa/pull/1030):
VM: Implement variable declaration (var, const, and let) (@AnnikaCodes)
- [INTERNAL #1010](https://github.com/boa-dev/boa/pull/1010):
Modify environment binding behaviour of function (@54k1)

# [0.10.0 (2020-09-29) - New Lexer & Test 262 Harness](https://github.com/boa-dev/boa/compare/v0.10.0...v0.11.0)

Feature Enhancements:

Expand Down
10 changes: 5 additions & 5 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

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

[build_badge]: https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fboa-dev%2Fboa%2Fbadge&style=flat
[build_link]: https://actions-badge.atrox.dev/boa-dev/boa/goto
Expand Down
2 changes: 1 addition & 1 deletion boa/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "Boa"
version = "0.10.0"
version = "0.11.0"
authors = ["boa-dev"]
description = "Boa is a Javascript lexer, parser and Just-in-Time compiler written in Rust. Currently, it has support for some of the language."
repository = "https://github.com/boa-dev/boa"
Expand Down
2 changes: 1 addition & 1 deletion boa_cli/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "boa_cli"
version = "0.10.0"
version = "0.11.0"
authors = ["boa-dev"]
description = "Boa is a Javascript lexer, parser and Just-in-Time compiler written in Rust. Currently, it has support for some of the language."
repository = "https://github.com/boa-dev/boa"
Expand Down
2 changes: 1 addition & 1 deletion boa_tester/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "boa_tester"
version = "0.10.0"
version = "0.11.0"
authors = ["boa-dev"]
description = "Boa is a Javascript lexer, parser and Just-in-Time compiler written in Rust. Currently, it has support for some of the language."
repository = "https://github.com/boa-dev/boa"
Expand Down
2 changes: 1 addition & 1 deletion boa_unicode/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "boa_unicode"
version = "0.10.0"
version = "0.11.0"
authors = ["boa-dev"]
description = "Boa is a Javascript lexer, parser and Just-in-Time compiler written in Rust. Currently, it has support for some of the language."
repository = "https://github.com/boa-dev/boa"
Expand Down
2 changes: 1 addition & 1 deletion boa_wasm/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "boa_wasm"
version = "0.10.0"
version = "0.11.0"
authors = ["boa-dev"]
description = "Boa is a Javascript lexer, parser and Just-in-Time compiler written in Rust. Currently, it has support for some of the language."
repository = "https://github.com/boa-dev/boa"
Expand Down