Skip to content

Commit

Permalink
Update release to 1.7.8-RC1 including release notes.
Browse files Browse the repository at this point in the history
  • Loading branch information
gbrail committed Dec 22, 2017
1 parent ea41a66 commit b97a550
Show file tree
Hide file tree
Showing 6 changed files with 57 additions and 7 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Rhino builds with `Gradle`. Here are some useful tasks:
```
./gradlew jar
```
Build and create `Rhino` jar in the `build/libs` directory.
Build and create `Rhino` jar in the `buildGradle/libs` directory.
```
./gradlew test
```
Expand Down
52 changes: 52 additions & 0 deletions RELEASE-NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,55 @@
# Rhino 1.7.8-RC1
## December 22, 2017

Most important changes in this release:

* JavaScript objects are no longer (somewhat) thread-safe by default
* Rhino is resistant to "hash flooding" attacks
* Rhino is only supported for Java 8 and up
* Rhino only builds with Gradle.

The primary change in this release is that the object storage format has changed
for objects derived from ScriptableObject (which is nearly all objects).

First, objects are no longer thread-safe by default. (They were thread-safe previously, but
not in a way that we could prove was 100 percent correct in all cases.) We do not believe
that the vast majority of Rhino code depended on this capability.

The feature flag Context.FEATURE_THREAD_SAFE_OBJECTS may be used to enable locking on all
objects by default in case it is needed. Furthermore, the built-in "sync" function is still
supported, which can be used to wrap a function in a similar way to the "synchronized" keyword
in Java.

Second, when an object grows to a large number of properties, the native hash table implementation
is replaced with java.util.HashMap. This more complex (but slightly slower) hash implementation
is resistant to hash collisions. This makes Rhino in general resistant to "hash flooding" attacks.

Rhino now depends on Java 8. It also works on Java 9, although a few tests are currently breaking
around Date parsing and UTF-8 encoding.

Additional changes:

[Issue 290](https://github.com/mozilla/rhino/issues/290) Resist hash flooding attacks
[Issue 303](https://github.com/mozilla/rhino/issues/303) Arrow function position set error
[Issue 323](https://github.com/mozilla/rhino/issues/323) Possible OutOfMemory due to
infinite loop on parsing
[Issue 341](https://github.com/mozilla/rhino/issues/341) Objects are only thread-safe when
feature is enabled
[Issue 351](https://github.com/mozilla/rhino/issues/351) Function-level use-strict breaks
backward compatibility
[Issue 357](https://github.com/mozilla/rhino/issues/357) Array.sort() can throw
ArrayIndexOutOfBoundsException
[Issue 295](https://github.com/mozilla/rhino/issues/295) Change WrapFactory to only wrap
"true" primitive types and not subclasses.
[PR102](https://github.com/mozilla/rhino/pull/102) Fix regexp parsing for "/0{0/"
[PR108](https://github.com/mozilla/rhino/pull/108) Attach jsdoc nodes to function params.
[PR 169](https://github.com/mozilla/rhino/pull/169) Enable calling default method
on Java 8.
[PR322](https://github.com/mozilla/rhino/pull/322) Fix static array functions
[PR353](https://github.com/mozilla/rhino/pull/353) Member box call error.
[PR355](https://github.com/mozilla/rhino/pull/358) Support array-like parameters to
Function.prototype.apply().

# Rhino 1.7.7.2
## August 24, 2017

Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#Sun, 26 Apr 2015 10:43:55 +0300
rootProject.name=rhino
group=org.mozilla
version=1.7.8-SNAPSHOT
version=1.7.8-RC1
buildDir=buildGradle
mavenSnapshotRepo=https://oss.sonatype.org/content/repositories/snapshots
mavenReleaseRepo=https://oss.sonatype.org/service/local/staging/deploy/maven
2 changes: 1 addition & 1 deletion maven/maven-pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<groupId>org.mozilla</groupId>
<artifactId>rhino</artifactId>
<name>Mozilla Rhino</name>
<version>1.7.8-SNAPSHOT</version>
<version>1.7.8-RC1</version>

<packaging>jar</packaging>
<description>
Expand Down
2 changes: 0 additions & 2 deletions release-steps.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
Update version in:
src/manifest
build.properties
gradle.properties
maven/maven-pom.xml

Expand Down Expand Up @@ -28,7 +27,6 @@ Update release in GitHub

Update to new snapshot version in:
src/manifest
build.properties
gradle.properties
maven/maven-pom.xml

Expand Down
4 changes: 2 additions & 2 deletions src/manifest
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Manifest-Version: 1.0
Main-Class: org.mozilla.javascript.tools.shell.Main
Implementation-Version: 1.7.8-SNAPSHOT
Implementation-Title: Mozilla Rhino 1.7.8 SNAPSHOT
Implementation-Version: 1.7.8-RC1
Implementation-Title: Mozilla Rhino 1.7.8 RC1
Implementation-Vendor: Mozilla Foundation
Implementation-URL: http://www.mozilla.org/rhino

0 comments on commit b97a550

Please sign in to comment.