Oracle’s Java 8 Update 31 has been updated to …. Java 8 Update 31
Oracle has released a new update for Java 8, but this update has an interesting wrinkle. Oracle has put out a new build of Java 8, but didn’t bump the version number from Java 8 Update 31. So folks who had previously installed Java 8 Update 31 may receive a message to update to Java 8 Update 31 from their current version, which will also be Java 8 Update 31.
This may lead to some confusion.
Update 2-16-2015: It appears that the update feed for Java 8 Update 31 has been updated to reference 1.8.31.13 (aka Java 8 Update 31 build 13):
https://javadl-esd-secure.oracle.com/update/mac/au-1.8.0_31.xml
There’s no information available on why the change was made. My speculation is that Oracle decided that updating the Sparkle feed for Java 8 Update 31 so that it was no longer providing Java 8 Update 31 build 15 as an update for Java 8 Update 31 build 13 was the best way to help avoid future confusion over updates for Java 8 Update 31.
It looks like 1.8.31.15 (aka Java 8 Update 31 build 15) is still the version being provided through the Java download site:
I checked the update feeds for Java 8 Update 20 and Java 8 Update 05 and both of those feeds are still providing 1.8.31.15 as well:
https://javadl-esd-secure.oracle.com/update/mac/au-1.8.0_05.xml
https://javadl-esd-secure.oracle.com/update/mac/au-1.8.0_20.xml
Unfortunately, there is still no information available about Java 8 Update 31 build 15 and how it differs from Java 8 Update 31 build 13.
Build numbers for the two Java 8 Update 31 releases
January’s Java 8 Update 31 (released on January 20, 2015): Java 8 Update 31 build 13
February’s Java 8 Update 31 (released on February 10, 2015): Java 8 Update 31 build 15
If you have Java 8 Update 31 installed, you can find out which build you have by running the following command in Terminal:
defaults read /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Info.plist CFBundleVersion
If you have Java 8 Update 31 build 13, the following string will be returned:
1.8.31.13
If you have Java 8 Update 31 build 15, the following string will be returned:
1.8.31.15
Following installation of Java 8 Update 31 build 15, I tested on a 10.10.2 Mac against the following sites:
My work’s Juniper VPN
Oracle’s Java Test page: https://www.java.com/en/download/help/testvm.xml
Java Tester’s Java Version page: http://javatester.org/version.html
In all three cases, the Java applets on those sites launched and worked without issue using Java 8 Update 31 build 15 (though the javatester.org applet needed to be whitelisted.)
Switched my EA over to this. Thanks for pointing this out very helpful.
#!/bin/bash
# Displays Java Web Plugin Version
if [ -e /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java ]; then
result=”$(/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version 2>&1 | grep “Java(TM)” | awk ‘{ print substr($6, 1, length($6)-1); }’)”
echo “$result”
else
echo “Java not installed”
fi
Looks like some unicode quotes might have snuck into your post Jason..
Switched all JSS instances we manage over to your new EA as well, thanks for the post.
Has reading from the plist been less accurate than making a call to Java in the past? The two commands got me slightly different results.
Result from reading the CFBundleVersion: 1.8.31.13
Result from java -version call: 1.8.31-b13
#!/bin/bash
# Displays Oracle JRE version or N/A if not found
printf ”
if [ -e /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java ]; then
result=$(defaults read /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Info.plist CFBundleVersion)
printf “%s” “$result”
else
printf ‘N/A’
fi
printf ”
#ea_display_name Oracle JRE
EA script got a bit mangled in the last comment, uploaded it here: https://gist.githubusercontent.com/opragel/b2c5819f1afa50ef1d88/raw/413effced0d8e0963157c354f83cff3f6f43011d/oracleJREversion.sh
Looks like Oracle pulled back update 1.8.31.15. The update url now shows 1.8.31.13: https://javadl-esd-secure.oracle.com/update/mac/au-1.8.0_31.xml.
Martin,
It looks like 1.8.31.15 (aka Java 8 Update 31 build 15) is still the version being provided through the Java download site:
https://www.java.com/download
I checked the Sparkle update feed for Java 8 Update 20 and Java 8 Update 05 and both of those feeds are still providing 1.8.31.15 as well:
https://javadl-esd-secure.oracle.com/update/mac/au-1.8.0_05.xml
https://javadl-esd-secure.oracle.com/update/mac/au-1.8.0_20.xml
It may be that Oracle decided that updating the Sparkle feed for Java 8 Update 31 so that it was no longer providing Java 8 Update 31 build 15 as an update for Java 8 Update 31 build 13 was the best way to help avoid confusion over the update. Unfortunately, there is still no information available about Java 8 Update 31 build 15 and how it differs from Java 8 Update 31 build 13.
Hi Rick,
I’ve installed Java 8 Update 31 build 15 the day is was releases.
CFBundleVersion:
$ defaults read “/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Info” CFBundleVersion
1.8.31.15
SUFeedURL:
$ defaults read “/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Info” SUFeedURL
https://javadl-esd-secure.oracle.com/update/mac/au-1.8.0_31.xml
The content of that feed gives me 1.8.31.13:
https://javadl-esd-secure.oracle.com/update/mac/au-1.8.0_31.xml shows me:
sparkle:version=”1.8.31.13″
I’ve just downloaded Java 8. The SUFeedURL in the package is the same.
Is your SUFeedURL different?
Thanks!
Martin,
You may want to read the 2-16-2015 update on this post.
Lol, did read the update, just jumped over to the comments.