|
|
|
@ -1,5 +1,138 @@
|
|
|
|
|
# CHANGELOG |
|
|
|
|
|
|
|
|
|
## What's Changed |
|
|
|
|
|
|
|
|
|
# [0.14.0 (2022-03-15) - Virtual Machine](https://github.com/boa-dev/boa/compare/v0.13...v0.14) |
|
|
|
|
|
|
|
|
|
<!-- Release notes generated using configuration in .github/release.yml at main --> |
|
|
|
|
|
|
|
|
|
### Feature Enhancements |
|
|
|
|
|
|
|
|
|
- Implement functions for vm by @HalidOdat in [#1433](https://github.com/boa-dev/boa/pull/1433) |
|
|
|
|
- Implement Object.getOwnPropertyNames and Object.getOwnPropertySymbols by @kevinputera in [#1606](https://github.com/boa-dev/boa/pull/1606) |
|
|
|
|
- Implement `Symbol.prototype.valueOf` by @hle0 in [#1618](https://github.com/boa-dev/boa/pull/1618) |
|
|
|
|
- Implement Array.prototype.at() by @nekevss in [#1613](https://github.com/boa-dev/boa/pull/1613) |
|
|
|
|
- Implement Array.from by @nrabulinski [#1831](https://github.com/boa-dev/boa/pull/1831) |
|
|
|
|
- Implement String.fromCharCode by @hle0 in [#1619](https://github.com/boa-dev/boa/pull/1619) |
|
|
|
|
- Implement `Typed Array` built-in by @Razican in [#1552](https://github.com/boa-dev/boa/pull/1552) |
|
|
|
|
- Implement arguments exotic objects by @jedel1043 in [#1522](https://github.com/boa-dev/boa/pull/1522) |
|
|
|
|
- Allow `BindingPattern`s as `CatchParameter` by @lowr in [#1628](https://github.com/boa-dev/boa/pull/1628) |
|
|
|
|
- Implement `Symbol.prototype[ @@toPrimitive ]` by @Nimpruda in [#1634](https://github.com/boa-dev/boa/pull/1634) |
|
|
|
|
- Implement Generator parsing by @raskad in [#1575](https://github.com/boa-dev/boa/pull/1575) |
|
|
|
|
- Implement Object.hasOwn and improve Object.prototype.hasOwnProperty by @kevinputera in [#1639](https://github.com/boa-dev/boa/pull/1639) |
|
|
|
|
- Hashbang lexer support by @nekevss in [#1631](https://github.com/boa-dev/boa/pull/1631) |
|
|
|
|
- Implement `delete` operator in the vm by @raskad in [#1649](https://github.com/boa-dev/boa/pull/1649) |
|
|
|
|
- Implement Object.fromEntries by @kevinputera in [#1660](https://github.com/boa-dev/boa/pull/1660) |
|
|
|
|
- Initial implementation for increment/decrement in VM by @abhishekc-sharma in [#1621](https://github.com/boa-dev/boa/pull/1621) |
|
|
|
|
- Implement `Proxy` object by @raskad in [#1664](https://github.com/boa-dev/boa/pull/1664) |
|
|
|
|
- Implement object literals for vm by @raskad in [#1668](https://github.com/boa-dev/boa/pull/1668) |
|
|
|
|
- Implement Array findLast and findLastIndex by @bsinky in [#1665](https://github.com/boa-dev/boa/pull/1665) |
|
|
|
|
- Implement `DataView` built-in object by @Nimpruda in [#1662](https://github.com/boa-dev/boa/pull/1662) |
|
|
|
|
- Clean-up contribution guidelines, dependencies, Test262, MSRV by @Razican in [#1683](https://github.com/boa-dev/boa/pull/1683) |
|
|
|
|
- Implement Async Generator Parsing by @nekevss in [#1669](https://github.com/boa-dev/boa/pull/1669) |
|
|
|
|
- Implement prototype of `Intl` built-in by @hle0 in [#1622](https://github.com/boa-dev/boa/pull/1622) |
|
|
|
|
- Add limited console.trace implementation by @osman-turan in [#1623](https://github.com/boa-dev/boa/pull/1623) |
|
|
|
|
- Allow `BindingPattern` in function parameters by @am-a-man in [#1666](https://github.com/boa-dev/boa/pull/1666) |
|
|
|
|
- Small test ux improvements by @orndorffgrant in [#1704](https://github.com/boa-dev/boa/pull/1704) |
|
|
|
|
- Implement missing vm operations by @raskad in [#1697](https://github.com/boa-dev/boa/pull/1697) |
|
|
|
|
- Added fallible allocation to data blocks by @Razican in [#1728](https://github.com/boa-dev/boa/pull/1728) |
|
|
|
|
- Document CodeBlock by @TheDoctor314 in [#1691](https://github.com/boa-dev/boa/pull/1691) |
|
|
|
|
- Generic `JsResult<R>` in `context.throw_` methods by @HalidOdat in [#1734](https://github.com/boa-dev/boa/pull/1734) |
|
|
|
|
- Implement `String.raw( template, ...substitutions )` by @HalidOdat in [#1741](https://github.com/boa-dev/boa/pull/1741) |
|
|
|
|
- Updated test262 suite and dependencies by @Razican in [#1755](https://github.com/boa-dev/boa/pull/1755) |
|
|
|
|
- Lexer string interning by @Razican in [#1758](https://github.com/boa-dev/boa/pull/1758) |
|
|
|
|
- Adjust `compile` and `execute` to avoid clones by @Razican in [#1778](https://github.com/boa-dev/boa/pull/1778) |
|
|
|
|
- Interner support in the parser by @Razican in [#1765](https://github.com/boa-dev/boa/pull/1765) |
|
|
|
|
- Convert `Codeblock` variables to `Sym` by @raskad in [#1798](https://github.com/boa-dev/boa/pull/1798) |
|
|
|
|
- Using production builds for WebAssembly by @Razican in [#1825](https://github.com/boa-dev/boa/pull/1825) |
|
|
|
|
- Give the arrow function its proper name by @rumpl in [#1832](https://github.com/boa-dev/boa/pull/1832) |
|
|
|
|
- Unwrap removal by @Razican in [#1842](https://github.com/boa-dev/boa/pull/1842) |
|
|
|
|
- Feature `JsArray` by @HalidOdat in [#1746](https://github.com/boa-dev/boa/pull/1746) |
|
|
|
|
- Rename "Boa" to boa_engine, moved GC and profiler to their crates by @Razican in [#1844](https://github.com/boa-dev/boa/pull/1844) |
|
|
|
|
- Added conversions from and to serde_json's Value type by @Razican in [#1851](https://github.com/boa-dev/boa/pull/1851) |
|
|
|
|
- Toggleable `JsValue` internals displaying by @HalidOdat in [#1865](https://github.com/boa-dev/boa/pull/1865) |
|
|
|
|
- Implement generator execution by @raskad in [#1790](https://github.com/boa-dev/boa/pull/1790) |
|
|
|
|
- Feature arrays with empty elements by @HalidOdat in [#1870](https://github.com/boa-dev/boa/pull/1870) |
|
|
|
|
- Removed reference counted pointers from `JsValue` variants by @Razican in [#1866](https://github.com/boa-dev/boa/pull/1866) |
|
|
|
|
- Implement `Object.prototype.toLocaleString()` by @HalidOdat in [#1875](https://github.com/boa-dev/boa/pull/1875) |
|
|
|
|
- Implement `AggregateError` by @HalidOdat in [#1888](https://github.com/boa-dev/boa/pull/1888) |
|
|
|
|
- Implement destructing assignments for assignment expressions by @raskad in [#1895](https://github.com/boa-dev/boa/pull/1895) |
|
|
|
|
- Added boa examples by @elasmojs in [#1161](https://github.com/boa-dev/boa/pull/1161) |
|
|
|
|
|
|
|
|
|
### Bug Fixes |
|
|
|
|
|
|
|
|
|
- Fix BigInt and Number comparison by @HalidOdat [#1887](https://github.com/boa-dev/boa/pull/1887) |
|
|
|
|
- Fix broken structure links in the documentation by @abhishekc-sharma in [#1612](https://github.com/boa-dev/boa/pull/1612) |
|
|
|
|
- Use function name from identifiers in assignment expressions by @raskad [#1908](https://github.com/boa-dev/boa/pull/1908) |
|
|
|
|
- Fix integer parsing by @nrabulinski in [#1614](https://github.com/boa-dev/boa/pull/1614) |
|
|
|
|
- Fix `Number.toExponential` and `Number.toFixed` by @nrabulinski in [#1620](https://github.com/boa-dev/boa/pull/1620) |
|
|
|
|
- Badge updates by @atouchet in [#1638](https://github.com/boa-dev/boa/pull/1638) |
|
|
|
|
- refactor: fix construct_error functions by @RageKnify in [#1703](https://github.com/boa-dev/boa/pull/1703) |
|
|
|
|
- Fix internal vm tests by @raskad in [#1718](https://github.com/boa-dev/boa/pull/1718) |
|
|
|
|
- Removed a bunch of warnings and clippy errors by @Razican in [#1754](https://github.com/boa-dev/boa/pull/1754) |
|
|
|
|
- Fix some broken links in the profiler documentation by @Razican in [#1762](https://github.com/boa-dev/boa/pull/1762) |
|
|
|
|
- Add proxy handling in `isArray` method by @raskad in [#1777](https://github.com/boa-dev/boa/pull/1777) |
|
|
|
|
- Copy/paste fix in Proxy error message by @icecream17 in [#1787](https://github.com/boa-dev/boa/pull/1787) |
|
|
|
|
- Fixed #1768 by @Razican in [#1820](https://github.com/boa-dev/boa/pull/1820) |
|
|
|
|
- Fix string.prototype methods and add static string methods by @jevancc in [#1123](https://github.com/boa-dev/boa/pull/1123) |
|
|
|
|
- Handle allocation errors by @y21 in [#1850](https://github.com/boa-dev/boa/pull/1850) |
|
|
|
|
- Fix wasm use outside browsers by @Razican in [#1846](https://github.com/boa-dev/boa/pull/1846) |
|
|
|
|
- Add assertion to check that a break label is identified at compile-time by @VTCAKAVSMoACE in [#1852](https://github.com/boa-dev/boa/pull/1852) |
|
|
|
|
- Correct reference error message by @aaronmunsters in [#1855](https://github.com/boa-dev/boa/pull/1855) |
|
|
|
|
- Fixing main branch workflows by @Razican in [#1858](https://github.com/boa-dev/boa/pull/1858) |
|
|
|
|
- Correct pop_on_return behaviour by @VTCAKAVSMoACE in [#1853](https://github.com/boa-dev/boa/pull/1853) |
|
|
|
|
- Fix equality between objects and `undefined` or `null` by @HalidOdat in [#1872](https://github.com/boa-dev/boa/pull/1872) |
|
|
|
|
- Removing the panic in favour of an error result by @Razican in [#1874](https://github.com/boa-dev/boa/pull/1874) |
|
|
|
|
- Make `Object.getOwnPropertyDescriptors` spec compliant by @HalidOdat in [#1876](https://github.com/boa-dev/boa/pull/1876) |
|
|
|
|
- Make `Error` and `%NativeError%` spec compliant by @HalidOdat in [#1879](https://github.com/boa-dev/boa/pull/1879) |
|
|
|
|
- Fix `Number.prototype.toString` when passing `undefined` as radix by @HalidOdat in [#1877](https://github.com/boa-dev/boa/pull/1877) |
|
|
|
|
- Cleanup vm stack on function return by @raskad in [#1880](https://github.com/boa-dev/boa/pull/1880) |
|
|
|
|
- `%NativeError%.[[prototype]]` should be `Error` constructor by @HalidOdat in [#1883](https://github.com/boa-dev/boa/pull/1883) |
|
|
|
|
- Make `StringToNumber` spec compliant by @HalidOdat in [#1881](https://github.com/boa-dev/boa/pull/1881) |
|
|
|
|
- Fix `PropertyKey` to `JsValue` conversion by @HalidOdat in [#1886](https://github.com/boa-dev/boa/pull/1886) |
|
|
|
|
- Make iterator spec complaint by @HalidOdat in [#1889](https://github.com/boa-dev/boa/pull/1889) |
|
|
|
|
- Implement `Number.parseInt` and `Number.parseFloat` by @HalidOdat in [#1894](https://github.com/boa-dev/boa/pull/1894) |
|
|
|
|
- Fix unreachable panics in compile_access by @VTCAKAVSMoACE in [#1861](https://github.com/boa-dev/boa/pull/1861) |
|
|
|
|
- Continue panic fixes by @VTCAKAVSMoACE in [#1896](https://github.com/boa-dev/boa/pull/1896) |
|
|
|
|
- Deny const declarations without initializer inside for loops by @jedel1043 in [#1903](https://github.com/boa-dev/boa/pull/1903) |
|
|
|
|
- Fix try/catch/finally related bugs and add tests by @jedel1043 in [#1901](https://github.com/boa-dev/boa/pull/1901) |
|
|
|
|
- Compile StatementList after parse passes on negative tests by @raskad in [#1906](https://github.com/boa-dev/boa/pull/1906) |
|
|
|
|
- Prevent breaks without loop or switch from causing panics by @VTCAKAVSMoACE in [#1860](https://github.com/boa-dev/boa/pull/1860) |
|
|
|
|
- Fix postfix increment and decrement return values by @raskad in [#1913](https://github.com/boa-dev/boa/pull/1913) |
|
|
|
|
|
|
|
|
|
### Internal Improvements |
|
|
|
|
|
|
|
|
|
- Rewrite initialization of builtins to use the `BuiltIn` trait by @jedel1043 in [#1586](https://github.com/boa-dev/boa/pull/1586) |
|
|
|
|
- Unify object creation with `empty` and `from_proto_and_data` methods by @jedel1043 in [#1567](https://github.com/boa-dev/boa/pull/1567) |
|
|
|
|
- VM Tidy Up by @jasonwilliams in [#1610](https://github.com/boa-dev/boa/pull/1610) |
|
|
|
|
- Fix master refs to main by @jasonwilliams in [#1637](https://github.com/boa-dev/boa/pull/1637) |
|
|
|
|
- Refresh vm docs and fix bytecode trace output by @raskad [#1921](https://github.com/boa-dev/boa/pull/1921) |
|
|
|
|
- Change type of object prototypes to `Option<JsObject>` by @jedel1043 in [#1640](https://github.com/boa-dev/boa/pull/1640) |
|
|
|
|
- Refactor `Function` internal methods and implement `BoundFunction` objects by @jedel1043 in [#1583](https://github.com/boa-dev/boa/pull/1583) |
|
|
|
|
- change that verbosity comparison to > 2 by @praveenbakkal in [#1680](https://github.com/boa-dev/boa/pull/1680) |
|
|
|
|
- Respect rust 1.56 by @RageKnify in [#1681](https://github.com/boa-dev/boa/pull/1681) |
|
|
|
|
- Add bors to CI by @RageKnify in [#1684](https://github.com/boa-dev/boa/pull/1684) |
|
|
|
|
- Adding VM conformance output to PR checks by @Razican in [#1685](https://github.com/boa-dev/boa/pull/1685) |
|
|
|
|
- Start removing non-VM path by @jasonwilliams in [#1747](https://github.com/boa-dev/boa/pull/1747) |
|
|
|
|
- Using upstream benchmark action by @Razican in [#1753](https://github.com/boa-dev/boa/pull/1753) |
|
|
|
|
- Fix bors hanging by @RageKnify in [#1767](https://github.com/boa-dev/boa/pull/1767) |
|
|
|
|
- add more timers on object functions by @jasonwilliams in [#1775](https://github.com/boa-dev/boa/pull/1775) |
|
|
|
|
- Update the PR benchmarks action by @Razican in [#1774](https://github.com/boa-dev/boa/pull/1774) |
|
|
|
|
- General code clean-up and new lint addition by @Razican in [#1809](https://github.com/boa-dev/boa/pull/1809) |
|
|
|
|
- Reduced the size of AST nodes by @Razican in [#1821](https://github.com/boa-dev/boa/pull/1821) |
|
|
|
|
- Using the new formatting arguments from Rust 1.58 by @Razican in [#1834](https://github.com/boa-dev/boa/pull/1834) |
|
|
|
|
- Rework RegExp struct to include bitflags field by @aaronmunsters in [#1837](https://github.com/boa-dev/boa/pull/1837) |
|
|
|
|
- Ignore wastefull `RegExp` tests by @raskad in [#1840](https://github.com/boa-dev/boa/pull/1840) |
|
|
|
|
- Refactor the environment for runtime performance by @raskad in [#1829](https://github.com/boa-dev/boa/pull/1829) |
|
|
|
|
- Refactor mapped `Arguments` object by @raskad in [#1849](https://github.com/boa-dev/boa/pull/1849) |
|
|
|
|
- Fixed dependabot for submodule by @Razican in [#1856](https://github.com/boa-dev/boa/pull/1856) |
|
|
|
|
- Refactorings for Rust 1.59 by @RageKnify in [#1867](https://github.com/boa-dev/boa/pull/1867) |
|
|
|
|
- Removing internal deprecated functions by @HalidOdat in [#1854](https://github.com/boa-dev/boa/pull/1854) |
|
|
|
|
- Remove `toInteger` and document the `string` builtin by @jedel1043 in [#1884](https://github.com/boa-dev/boa/pull/1884) |
|
|
|
|
- Extract `Intrinsics` struct from `Context` and cleanup names by @jedel1043 in [#1890](https://github.com/boa-dev/boa/pull/1890) |
|
|
|
|
|
|
|
|
|
**Full Changelog**: https://github.com/boa-dev/boa/compare/v0.13...v0.14 |
|
|
|
|
|
|
|
|
|
# [0.13.0 (2021-09-30) - Many new features and refactors](https://github.com/boa-dev/boa/compare/v0.12.0...v0.13.0) |
|
|
|
|
|
|
|
|
|
Feature Enhancements: |
|
|
|
|