Rust编写的JavaScript引擎,该项目是一个试验性质的项目。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

9.5 KiB

CHANGELOG

# 0.6.0 (2020-14-02) - Migration to Workspace Architechure + lexer/parser improvements

The lexer has had several fixes in this release, including how it parses numbers, scientific notation should be improved.
On top of that the lexer no longer panics on errors including Syntax Errors (thanks @adumbidiot), instead you get some output on where the error happened.

Moving to a workspace architecture

Boa offers both a CLI and a library, initially these were all in the same binary. The downside is those who want to embed boa as-is end up with all of the command-line dependencies.
So the time has come to separate out the two, this is normal procedure, this should be analogous to ripgrep and the regex crate.
Cargo has great support for workspaces, so this shouldn't be an issue.

Benchmarks

We now have benchmarks which run against master!
Thanks to Github Actions these will run automatically a commit is merged.

Feature enhancements:

Bug fixes:

# 0.5.1 (2019-12-02) - Rest / Spread (almost)

Feature enhancements:

  • FEATURE #151: Implement the Rest/Spread operator (functions and arrays).
  • FEATURE #193: Implement macro for setting builtin functions
  • FEATURE #211: Better Display support for all Objects (pretty printing)

# 0.5.0 (2019-11-06) - Hacktoberfest Release

Feature enhancements:

Bug fixes:

  • BUG #113: Unassigned variables have default of undefined (@pop)
  • BUG #61: Clippy warnings/errors fixed (@korpen)
  • BUG #147: Updated object global
  • BUG #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 section in the docs.

Feature enhancements:

  • FEATURE #6: Support for regex literals. (Big thanks @999eagle)
  • FEATURE #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: 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:

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