|
|
|
# TBD
|
|
|
|
|
|
|
|
TODO
|
|
|
|
|
|
|
|
Features:
|
|
|
|
|
|
|
|
- [FEATURE #74](https://github.com/jasonwilliams/boa/issues/74):
|
|
|
|
Enables Boa to run within the Test 262 framework.
|
|
|
|
This will help us see what is implemented or not within the spec
|
|
|
|
|
|
|
|
# [Unreleased](https://github.com/jasonwilliams/boa/compare/v0.4.0...HEAD)
|
|
|
|
|
|
|
|
Feature enhancements:
|
|
|
|
|
|
|
|
- [FEATURE #119](https://github.com/jasonwilliams/boa/issues/119):
|
|
|
|
Introduce realm struct to hold realm context and global object.
|
|
|
|
- [FEATURE #89](https://github.com/jasonwilliams/boa/issues/89):
|
|
|
|
Implement exponentiation operator. Thanks @arbroween
|
|
|
|
- [FEATURE #47](https://github.com/jasonwilliams/boa/issues/47):
|
|
|
|
Add tests for comments in source code. Thanks @Emanon42
|
|
|
|
- [FEATURE #137](https://github.com/jasonwilliams/boa/issues/137):
|
|
|
|
Use Monaco theme for the demo page
|
|
|
|
- [FEATURE #114](https://github.com/jasonwilliams/boa/issues/114):
|
|
|
|
String.match(regExp) is implemented (@muskuloes)
|
|
|
|
- [FEATURE #115](https://github.com/jasonwilliams/boa/issues/115):
|
|
|
|
String.matchAll(regExp) is implemented (@bojan88)
|
|
|
|
- [FEATURE #163](https://github.com/jasonwilliams/boa/issues/163):
|
|
|
|
Implement Array.prototype.every() (@letmutx)
|
|
|
|
- [FEATURE #165](https://github.com/jasonwilliams/boa/issues/165):
|
|
|
|
Implement Array.prototype.find() (@letmutx)
|
|
|
|
- [FEATURE #166](https://github.com/jasonwilliams/boa/issues/166):
|
|
|
|
Implement Array.prototype.findIndex() (@felipe-fg)
|
|
|
|
- [FEATURE #39](https://github.com/jasonwilliams/boa/issues/39):
|
|
|
|
Implement block scoped variable declarations (@barskern)
|
|
|
|
- [FEATURE](https://github.com/jasonwilliams/boa/pull/161):
|
|
|
|
Enable obj[key] = value syntax.
|
|
|
|
- Demo page has been improved, new font plus change on input. Thanks @WofWca
|
|
|
|
|
|
|
|
Bug fixes:
|
|
|
|
|
|
|
|
- [BUG #113](https://github.com/jasonwilliams/boa/issues/113):
|
|
|
|
Unassigned variables have default of undefined (@pop)
|
|
|
|
- [BUG #61](https://github.com/jasonwilliams/boa/issues/61):
|
|
|
|
Clippy warnings/errors fixed (@korpen)
|
|
|
|
- [BUG #147](https://github.com/jasonwilliams/boa/pull/147):
|
|
|
|
Updated object global
|
|
|
|
- [BUG #154](https://github.com/jasonwilliams/boa/issues/154):
|
|
|
|
Correctly handle all whitespaces within the lexer
|
|
|
|
- Tidy up Globals being added to Global Object. Thanks @DomParfitt
|
|
|
|
|
|
|
|
# 0.4.0 (2019-09-25)
|
|
|
|
|
|
|
|
v0.4.0 brings quite a big release. The biggest feature to land is the support of regular expressions.
|
|
|
|
Functions now have the arguments object supported and we have a [`debugging`](docs/debugging.md) section in the docs.
|
|
|
|
|
|
|
|
Feature enhancements:
|
|
|
|
|
|
|
|
- [FEATURE #6](https://github.com/jasonwilliams/boa/issues/6):
|
|
|
|
Support for regex literals. (Big thanks @999eagle)
|
|
|
|
- [FEATURE #13](https://github.com/jasonwilliams/boa/issues/13):
|
|
|
|
toLowerCase, toUpperCase, substring, substr and valueOf implemented (thanks @arbroween)
|
|
|
|
- Support for `arguments` object within functions
|
|
|
|
- `StringData` instead of `PrimitieData` to match spec
|
|
|
|
- Native function signatures changed, operations added to match spec
|
|
|
|
- Primitives can now be boxed/unboxed when methods are ran on them
|
|
|
|
- Spelling edits (thanks @someguynamedmatt)
|
|
|
|
- Ability to set global values before interpreter starts (thanks @999eagle)
|
|
|
|
- Assign operators implemented (thanks @oll3)
|
|
|
|
-
|
|
|
|
|
|
|
|
Bug fixes:
|
|
|
|
|
|
|
|
- [BUG #57](https://github.com/jasonwilliams/boa/issues/57):
|
|
|
|
Fixed issue with stackoverflow by implementing early returns.
|
|
|
|
- Allow to re-assign value to an existing binding. (Thanks @oll3)
|
|
|
|
|
|
|
|
# 0.3.0 (2019-07-26)
|
|
|
|
|
|
|
|
- UnexpectedKeyword(Else) bug fixed https://github.com/jasonwilliams/boa/issues/38
|
|
|
|
- Contributing guide added
|
|
|
|
- Ability to specify file - Thanks @callumquick
|
|
|
|
- Travis fixes
|
|
|
|
- Parser Tests - Thanks @Razican
|
|
|
|
- Migrate to dyn traits - Thanks @Atul9
|
|
|
|
- Added implementations for Array.prototype: concat(), push(), pop() and join() - Thanks @callumquick
|
|
|
|
- Some clippy Issues fixed - Thanks @Razican
|
|
|
|
- Objects have been refactored to use structs which are more closely aligned with the specification
|
|
|
|
- Benchmarks have been added
|
|
|
|
- String and Array specific console.log formats - Thanks @callumquick
|
|
|
|
- isPropertyKey implementation added - Thanks @KrisChambers
|
|
|
|
- Unit Tests for Array and Strings - Thanks @GalAster
|
|
|
|
- typo fix - Thanks @palerdot
|
|
|
|
- dist cleanup, thanks @zgotsch
|
|
|
|
|
|
|
|
# 0.2.1 (2019-06-30)
|
|
|
|
|
|
|
|
Some String prototype methods are implemented.
|
|
|
|
Thanks to @lennartbuit we have
|
|
|
|
trim/trimStart/trimEnd added to the string prototype
|
|
|
|
|
|
|
|
Feature enhancements:
|
|
|
|
|
|
|
|
- [String.prototype.concat ( ...args )](https://tc39.es/ecma262/#sec-string.prototype.slice)
|
|
|
|
- [String.prototype.endsWith ( searchString [ , endPosition ] )](https://tc39.es/ecma262/#sec-string.prototype.endswith)
|
|
|
|
- [String.prototype.includes ( searchString [ , position ] )](https://tc39.es/ecma262/#sec-string.prototype.includes)
|
|
|
|
- [String.prototype.indexOf ( searchString [ , position ] )](https://tc39.es/ecma262/#sec-string.prototype.indexof)
|
|
|
|
- [String.prototype.lastIndexOf ( searchString [ , position ] )](https://tc39.es/ecma262/#sec-string.prototype.lastindexof)
|
|
|
|
- [String.prototype.repeat ( count )](https://tc39.es/ecma262/#sec-string.prototype.repeat)
|
|
|
|
- [String.prototype.slice ( start, end )](https://tc39.es/ecma262/#sec-string.prototype.slice)
|
|
|
|
- [String.prototype.startsWith ( searchString [ , position ] )](https://tc39.es/ecma262/#sec-string.prototype.startswith)
|
|
|
|
|
|
|
|
Bug fixes:
|
|
|
|
|
|
|
|
- Plenty
|
|
|
|
|
|
|
|
# 0.2.0 (2019-06-10)
|
|
|
|
|
|
|
|
Working state reached
|
|
|
|
|
|
|
|
- Tests on the lexer, conforms with puncturators and keywords from TC39 specification
|
|
|
|
- wasm-bindgen added with working demo in Web Assembly
|
|
|
|
- snapshot of boa in a working state for the first time
|