Skip to content

Commit 94285df

Browse files
committed
release v0.19
1 parent ab5ea4d commit 94285df

File tree

1 file changed

+101
-0
lines changed

1 file changed

+101
-0
lines changed

blog/2024-07-09-boa-release-19.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
<!-- ---
2+
layout: post
3+
tags: [post]
4+
title: "Boa release v0.19"
5+
author: Boa Developers
6+
--- -->
7+
8+
## Summary
9+
10+
Boa v0.19 is now available! After 4 months of development we are very happy to present you the latest
11+
release of the Boa JavaScript engine. Boa makes it easy to embed a JS engine in your projects, and
12+
you can even use it from WebAssembly. See the [about](/about) page for more info.
13+
14+
In this release, our conformance has grown from 85.03% to 86.20% in the official ECMAScript Test Suite
15+
(Test262). Interestingly, this isn't due to us passing more tests, but in fact the total number of tests from test262
16+
[reducing by around 2000](https://github.com/tc39/test262/commit/ea2268aa4382013f5533b91f9ef50366ad065a86) from the [removal of custom calendars and timezones](https://github.com/tc39/proposal-temporal/issues/2826). Overall, Boa's conformance in real terms has improved by ~6%.
17+
18+
You can check the full list of changes [here][changelog], and the full information on conformance
19+
[here][conformance].
20+
21+
## Highlights
22+
23+
### Temporal
24+
25+
Boa is continuing to progress on the [Temporal](https://github.com/tc39/proposal-temporal). The Temporal API is a new
26+
set of built-in objects and functions that is designed to be a more modern replacement for the `Date`
27+
object, providing a more feature-rich and flexible API for working with dates and times.
28+
29+
It is currently a [stage 3 proposal](https://tc39.es/proposal-temporal/docs/) and we are working
30+
alongside the TC39 champions to put together a solid Rust implementation. Since Temporal is such an
31+
extensive specification, we have done most of the work outside of Boa so that it can be used in other
32+
projects. This work can be found in the [temporal_rs](https://github.com/boa-dev/temporal/) repository.
33+
34+
We hope to release a full blog post on Temporal in the future, but for now you can see the previous release notes for some examples on how to use it.
35+
You can also look at the [Temporal Cook Book](https://tc39.es/proposal-temporal/docs/cookbook.html) for some examples too!
36+
37+
If you're interested in learning more or want to contribute to the native Rust implementation of
38+
Temporal, feel free to check out `temporal_rs`'s [issues](https://github.com/boa-dev/temporal/issues)!
39+
40+
Boa's conformance on the Temporal test suite has grown from 23.99% to 27.86% in this release.
41+
42+
### New Benchmark Suite, Faster CI and reduced repo size
43+
44+
Boa has had an overhaul of its older criterion benchmark suite to a new [end to end benchmark suite](https://boajs.dev/benchmarks).
45+
We had finally outgrown the old benchmark suite and needed a new one that could handle the new features and improvements we were making to the engine.
46+
The former benchmark suite has been there almost since the beginning, and was created as a way to keep an eye on certain functions and routines within Boa itself. Although useful, it
47+
wasn't comparable to other engines due to being so specific on how Boa works.
48+
49+
The new suite is taken from [V8's old benchmark suite](https://github.com/mozilla/arewefastyet/tree/master/benchmarks/v8-v7) which, despite being deprecated, is still for comparative performance.
50+
Over time we will eventually need to work with other engines to have a more advanced benchmarking suite which can take into account modern JavaScript, but for now this is a good start.
51+
52+
This change also offered a nice side effect of not having benchmark or test262 data in the main repository anymore. Last time we released we had [reports](https://www.reddit.com/r/rust/comments/1b91ora/comment/ktue8rf/) of the repository being too large, so we've taken steps to reduce the size of the repository by moving this data to a separate repository and building a nightly version for reporting. Not only this makes it easier for anyone cloning Boa today but pushes to `main` are now much faster due to us not having to run test262 or Benchmarks each time.
53+
54+
## Intl updates
55+
56+
## Builtins updates
57+
58+
## APIs updates
59+
60+
### Experimental features
61+
62+
## Optimizations
63+
64+
## Conclusion
65+
66+
### How can you support Boa?
67+
68+
Boa is an independent JavaScript engine implementing the ECMAScript specification, we rely on the
69+
support of the community to keep it going. If you want to support us, you can do so by donating to
70+
our [open collective]. Proceeeds here go towards this very website, the domain name, and remunerating
71+
members of the team who have worked on the features released.
72+
73+
If financial contribution is not your strength, you can contribute by asking to be assigned to one of
74+
our [open issues], and asking for mentoring if you don't know your way around the engine. Our
75+
[contribution guide] should help you here. If you are more used to working with JavaScript or frontend
76+
web development, we also welcome help to improve our web presence, either in [our website], or in our
77+
[testing representation] page or benchmarks page. You can also contribute to our Criterion benchmark
78+
comparison GitHub [action].
79+
80+
We are also looking to improve the documentation of the engine, both for developers of the engine
81+
itself and for users of the engine. Feel free to contact us in [Discord].
82+
83+
[open collective]: https://opencollective.com/boa
84+
[open issues]: https://github.com/boa-dev/boa/issues?q=is%3Aopen+is%3Aissue+no%3Aassignee
85+
[contribution guide]: https://github.com/boa-dev/boa/blob/main/CONTRIBUTING.md
86+
[our website]: https://github.com/boa-dev/boa-dev.github.io
87+
[testing representation]: https://github.com/boa-dev/boa/issues/820
88+
[action]: https://github.com/boa-dev/criterion-compare-action
89+
[Discord]: https://discord.gg/tUFFk9Y
90+
91+
### Thank You
92+
93+
Once again, big thanks to [all the contributors][contributors] of this release!!
94+
95+
[contributors]: https://github.com/boa-dev/boa/graphs/contributors?from=2023-07-08&to=2024-03-05&type=c
96+
[changelog]: https://github.com/boa-dev/boa/blob/v0.18/CHANGELOG.md
97+
[conformance]: https://boajs.dev/boa/test262/
98+
[feed]: https://boajs.dev/blog/rss.xml
99+
[collective]: https://opencollective.com/boa
100+
[easy_issues]: https://github.com/boa-dev/boa/issues?q=is%3Aopen+is%3Aissue+label%3AE-Easy
101+
[first_issues]: https://github.com/boa-dev/boa/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22

0 commit comments

Comments
 (0)