Rhino 1.9.0
This release represents about a year of work on Rhino by a growing team of contributors.
Some of the improvements include:
- Compatibility improvements in areas like destructuring and spread syntax.
- Performance improvements from 10 to 30% in benchmarks like Delta Blue, Earley-Boyer, and Crypto in both interpreted and compiled mode
- Better support for generics and other things when Java integration is used.
Some other improvements:
JavaScript Language Updates:
- ES6+: Significant advancements in destructuring, spread syntax for
arrays/objects, Symbol API, and improved let/const scoping.
TypedArray.from/of and BigInt.asUintN/asIntN fixes. - RegExp: New features like named capture groups, lookbehind
assertions, and Unicode mode support. - Future ES (ES2024/2025): Early implementation of proposals such as
Promise.withResolvers, Promise.try, ArrayBuffer transfer methods, and
new Set methods.
Core Engine Enhancements:
- Major Refactoring: Extensive migration of built-in objects to a
lambda-based architecture and a comprehensive overhaul of the
interpreter bytecodes for better performance and maintainability. - Concurrency & Interop: Continued focus on thread safety improvements
and enhanced Java interoperability, including better generics
support.
Going forward -- we have lots of plans for Rhino, including some changes that may
affect compatibility for projects that embed Rhino into larger frameworks. We think
that these changes will be worth it because they will unlock better language
compatibility and performance.
As such, the next version going forward will be 2.0.0-SNAPSHOT.
16 different contributors gave their time and energy to Rhino 1.9.0.
Thanks to everyone who contributed!
New Contributors
- @mio-19 made their first contribution in #1790
- @ZZZank made their first contribution in #1804
- @focJSi made their first contribution in #1830
- @balajirrao made their first contribution in #1828
- @anivar made their first contribution in #1978
- @dilbertKocik made their first contribution in #2065
- @zhurvla made their first contribution in #2073
Full Changelog: Rhino1_8_0_Release...Rhino1_9_0_Release