Boa is an embeddable and experimental Javascript engine written in Rust. Currently, it has support for some of the language.
This release makes the execution of the official ECMAScript test suite possible in Boa. It also brings a new lexer and many new features. You can see the release announcement or the changelog for more information.
see changelog!
See changelog!
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.
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.
We now have benchmarks which run against master!
Thanks to Github Actions these will run automatically a commit is merged.
Feature enhancements:
Bug fixes:
Feature enhancements:
Feature enhancements:
Bug fixes:
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:
arguments
object within functionsStringData
instead of PrimitieData
to match specBug fixes:
Thanks to @callumquick we have some more string methods implemented!
Thanks to @lennartbuit we have trim/trimStart/trimEnd added to the string prototype
Bug fixes + better support for decimal digits from @topaxi
code tidyup from @Atul9