Rhino is an implementation of JavaScript in Java.
Rhino is licensed under the MPL 2.0.
Rhino 1.7R5 | January 29, 2015 |
Rhino 1.7.6 | April 15, 2015 |
Rhino 1.7.7 | June 17, 2015 |
Rhino 1.7.7.1 | February 2, 2016 |
Rhino 1.7.7.2 | August 24, 2017 |
Rhino 1.7.8 | January 22, 2018 |
Rhino 1.7.9 | March 15, 2018 |
Rhino 1.7.10 | April 9, 2018 |
Rhino 1.7.11 | May 30, 2019 |
Rhino 1.7.12 | January 13, 2020 |
Rhino 1.7.13 | September 2, 2020 |
Release Notes for recent releases.
Compatibility table which shows which advanced JavaScript features from ES6, and ES2016+ are implemented in Rhino.
Information for script builders and embedders:
https://developer.mozilla.org/en-US/docs/Rhino_documentation
JavaDoc for all the APIs:
http://mozilla.github.io/rhino/javadoc/index.html
More resources if you get stuck:
https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino/Community
Rhino builds with Gradle
. Here are some useful tasks:
./gradlew jar
Build and create Rhino
jar in the buildGradle/libs
directory.
git submodule init
git submodule update
./gradlew test
Build and run all the tests.
./gradlew test -Dquick
The tests in Test262Suite and MozillaSuiteTest are run 3 times by default (at differing optimization levels).
The quick
parameter can be used to only run them once.
It is also possible to limit the Test262Suite to 1 run by setting the environment variable TEST_262_OPTLEVEL to for example -1.
./gradlew testBenchmark
Build and run benchmark tests.
- Ensure all tests are passing
- Remove
-SNAPSHOT
from version ingradle.properties
in project root folder - Create file
gradle.properties
in$HOME/.gradle
folder with following properties. Populate them with maven repo credentials and repo location.
mavenUser=
mavenPassword=
mavenSnapshotRepo=
mavenReleaseRepo=
- Run
Gradle
task to publish artifacts to Maven Central.
./gradlew publish
- Increase version and add
-SNAPSHOT
to it ingradle.properties
in project root folder. - Push
gradle.properties
toGitHub
Rhino can run as a stand-alone interpreter from the command line:
java -jar buildGradle/libs/rhino-1.7.12.jar -debug -version 200
Rhino 1.7.9 2018 03 15
js> print('Hello, World!');
Hello, World!
js>
There is also a "rhino" package for many Linux distributions as well as Homebrew for the Mac.
You can also embed it, as most people do. See below for more docs.
Most issues are managed on GitHub:
https://github.com/mozilla/rhino/issues
The Google group is the best place to go with questions: