id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc 11390,Switch to Java 8,Don-vip,Don-vip,"This ticket is the successor of #8465 :) Like for Java 7 two years ago, Oracle released their final versions of Java 7 ('''7u79 and 7u80'''), and the same auto-update feature for Windows and OSX users. We already have a significant majority of users who run JOSM with Java 8: All users: {{{ Java Main Version --> 6 (598, 4.3%) 7 (5128, 37.3%) 8 (8009, 58.2%) 9 (22, 0.2%) }}} Recent versions (>=7001): {{{ Java Main Version --> 6 (37, 0.3%) 7 (4370, 35.7%) 8 (7818, 63.8%) 9 (22, 0.2%) OS: FreeBSD (2, 0.0%) Linux (2749, 22.6%) Mac (911, 7.5%) OpenBSD (1, 0.0%) SunOS (3, 0.0%) Windows (8500, 69.9%) }}} Java 7 users: {{{ OS: FreeBSD (2, 0.0%) Linux (2394, 49.5%) Mac (129, 2.7%) OpenBSD (3, 0.1%) SunOS (3, 0.1%) Windows (2310, 47.7%) }}} Java 8 users: {{{ OS: Linux (567, 7.1%) Mac (786, 9.9%) Windows (6613, 83.0%) }}} Linux is clearly behind. Main distributions of Java 7 users are: {{{ O 251 ( 5.2%) Linux Debian GNU/Linux 8.0 (jessie) O 157 ( 3.2%) Linux Mint 17.1 Rebecca O 102 ( 2.1%) Linux Ubuntu 14.04.1 LTS O 809 (16.7%) Linux Ubuntu 14.04.2 LTS O 154 ( 3.2%) Linux Ubuntu 14.10 O 222 ( 4.6%) Linux Ubuntu 15.04 }}} Java 8 is not yet available in Debian Jessie or Ubuntu LTS, but it will be [https://lists.debian.org/debian-java/2015/04/msg00082.html released soon] in [http://backports.debian.org/changes/jessie-backports.html Jessie backports] then [https://bugs.launchpad.net/trusty-backports/+bug/1368094 Trusty backports]. The transition will be easier than Java 7: - Java 8 is available and stable on all platforms - There's no need this time to build a new package for OSX - JOSM is [/jenkins/job/JOSM-Java8/ built and tested daily] with Java 8 for quite some time. It works fine and there's even a large performance gain in rendering: see [/jenkins/job/JOSM/jdk=JDK7/lastCompletedBuild/testReport/org.openstreetmap.josm.data.osm.visitor.paint/StyledMapRendererPerformanceTest/history/ Java 7 results] vs [/jenkins/job/JOSM/jdk=JDK8/lastCompletedBuild/testReport/org.openstreetmap.josm.data.osm.visitor.paint/StyledMapRendererPerformanceTest/history/ Java 8 results] So, what's new? * [http://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html What's New in JDK 8] * [http://openjdk.java.net/projects/jdk8/features JDK8 features] * [http://www.oracle.com/technetwork/java/javase/8-compatibility-guide-2156366.html#A999198 Incompatibilities between Java SE 8 and Java SE 7] * [http://www.oracle.com/technetwork/java/javase/8-known-issues-2157115.html Known Issues for JDK 8] Other useful links: * https://leanpub.com/whatsnewinjava8/read * https://www.techempower.com/blog/2013/03/26/everything-about-java-8/ '''Proposed plan:''' 1. ~~Restore informative message ""''JOSM will soon no longer work with this version of Java...''"" on server side~~ 1. ~~Ask OSX and Windows users to switch (revert/update [https://josm.openstreetmap.de/changeset/7001/josm/trunk/src/org/openstreetmap/josm/tools/PlatformHookWindows.java this] and [https://josm.openstreetmap.de/changeset/7001/josm/trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java this])~~: done in r8923 1. ~~Wait for Debian Jessie backport~~: [https://twitter.com/smanux/status/600255297995853824 done] 1. ~~Wait for Ubuntu Trusty backport~~ It seems it will never happen 1. ~~Ask Linux users to switch (revert/update of [https://josm.openstreetmap.de/changeset/7001/josm/trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java this])~~: done in r10166 1. Switch about one month after that",enhancement,closed,major,16.07,Core,,fixed,java8,stoecker bastiK simon04 skyper Klumbumbus