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 22.214.171.124||February 2, 2016|
|Rhino 126.96.36.199||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.
Information for script builders and embedders:
JavaDoc for all the APIs:
More resources if you get stuck:
How to Build
Rhino builds with
Gradle. Here are some useful tasks:
Build and create
Rhino jar in the
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).
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.
Build and run benchmark tests.
Releasing and publishing new version
- Ensure all tests are passing
-SNAPSHOTfrom version in
gradle.propertiesin project root folder
- Create file
$HOME/.gradlefolder with following properties. Populate them with maven repo credentials and repo location.
mavenUser= mavenPassword= mavenSnapshotRepo= mavenReleaseRepo=
Gradletask to publish artifacts to Maven Central.
- Increase version and add
-SNAPSHOTto it in
gradle.propertiesin project root folder.
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:
To submit a new PR, please use the following process:
- Ensure that your entire build passes "./gradlew check". This will include code formatting and style checks and runs the tests.
- If you fixed ECMAScript spec compatibility, take a look at test262.properties and see if you can un-disable some tests.
- Push your change to GitHub and open a pull request.
- Please be patient as Rhino is only maintained by volunteers and we may need some time to get back to you.
- Thank you for contributing!
Code formatting was introduced in 2021. The "spotless" plugin will fail your build if you have changed any files that have not yet been reformatted. Please use "spotlessApply" to reformat the necessary files.
If you are the first person to touch a big file that spotless wants to make hundreds of lines of changes to, please try to put the reformatting changes alone into a single Git commit so that we can separate reformatting changes from more substantive changes.
The Google group is the best place to go with questions: