2015-12-22 - The road to Java 8

For many reasons, ImageJ needs to switch to Java 8. Hence, in recent months, the ImageJ team at LOCI has been taking steps toward migrating ImageJ and Fiji toward Java 8. This week marks a significant milestone in that effort:

  1. Several ImageJ and Fiji components migrated to Java 7 or 8; and
  2. A new Java-8 update site was created, which offers the latest releases of these components.

Key points about ImageJ's Java 8 migration strategy

  1. Individual ImageJ and Fiji components are being migrated to Java 7 or Java 8 as needed (see below for a current list).
  2. The ImageJ and Fiji update site will continue to ship the final Java-6-compatible versions of these components.
  3. Updates for components which require Java 7 or 8 will be provided using the new Java-8 update site—not the ImageJ or Fiji update sites.

How to update

  • If you still need Java 6, do nothing.
    • You will keep receiving updates of the latest Java-6-compatible component versions.
    • But you will no longer receive updates for components which have migrated to Java 7 or 8.
  • If you want the latest updates, update your ImageJ installation to use Java 8 and then enable the Java-8 update site.
    • Make sure you switch your ImageJ over to Java 8 before enabling the Java-8 update site!

Components which have already migrated

The following ImageJ and Fiji components now require a minimum Java version of Java 7 or Java 8:

Component Requires Why? Latest version Final Java 6 version
ImageJ2
imagej-ops Java 8 See 0137b89b 0.24.1 0.23.0
imagej-ui-swing Java 8 Depends on imagej-ops 0.17.1 0.16.0
imagej Java 8 Depends on imagej-ops 2.0.0-rc-44 2.0.0-rc-43
Fiji
legacy-imglib1 Java 7 Depends on mines-jtk 1.1.5 1.1.4-DEPRECATED
3D_Blob_Segmentation Java 7 Depends on 3D_Viewer 3.0.0 2.0.2
3D_Viewer Java 7 Depends on j3dcore and j3dutils 4.0.1 3.1.0
Descriptor_based_registration Java 7 Depends on SPIM_Registration, mines-jtk, j3dcore 2.0.12 2.0.11
Fiji_Developer Java 8 Depends on imagej-ui-swing 2.0.4 2.0.3
SPIM_Registration Java 7 Depends on 3D_Viewer, j3dcore, j3dutils, legacy-imglib1 4.0.0 3.0.5
Simple_Neurite_Tracer Java 7 Depends on 3D_Viewer, j3dcore, j3dutils 3.0.0 2.0.4
TrackMate_ Java 7 Depends on 3D_Viewer, j3dcore, j3dutils 3.0.0 2.8.1
Trainable_Segmentation Java 7 Depends on mines-jtk 3.0.0 2.3.0
TrakEM2_Archipelago Java 7 Depends on Simple_Neurite_Tracer, legacy-imglib1 (via TrakEM2) 2.0.1 2.0.0
VIB_ Java 7 Depends on 3D_Viewer, j3dcore, j3dutils 3.0.0 2.0.3
Volume Calculator Java 7 Depends on 3D_Viewer, j3dcore, j3dutils 2.0.0 1.0.2

Conflicting update sites

It is the responsibility of individual update site maintainers to decide if and when they follow this migration process. The following update sites are known to cause conflicts when enabled with the Java-8 update site. If your workflow requires components from these sites, we do not recommend enabling the Java-8 update site.

Note: if you are a maintainer of one of these update sites and need any guidance on how to update your project to comply with the Java-8 update site, please contact us on the ImageJ forum.

Name Site Maintainer Issue
ClearVolume http://sites.imagej.net/ClearVolume/ ClearVolume BugZilla #1209

Feedback

Please post any comments to the ImageJ forum. Thank you for the continued feedback and support!