ImageJ update issue - "locally modified" ij.jar is 1.52p despite update to 1.53c


This issue is incredibly minor and just slightly annoying, but I was hoping someone might be able to help. I’m currently running imageJ v1.53c, at least according to the Update ImageJ... command. However, whenever I run the Update... command to update plugins, I get a “locally modified files” prompt. Going into Advanced mode, it says that jars/ij.jar is locally modified, with it being jars/ij-1.52p.jar, and that there’s an update available. If I update jars/ij.jar through this Update... command, my version of imageJ (as assessed by Update ImageJ...) reverts to v1.52p, and I’m unable to run commands requiring a later versions of ImageJ.

Updating from Update ImageJ... brings me back to 1.53c (again, as assessed by Update ImageJ...). I’m able to run commands that require the latest version, but the jars/ij.jar is still 1.52p and I get the “locally modified” prompt through the Update... command.

I assume FIJI, via the Update... command, thinks I’m running a locally-modified version of imageJ v1.52p because the ij-[x.xx] in the jars/ folder is named “ij-1.52p,” despite it actually having the 1.53c code? I don’t want to tinker with it since I don’t know what I’m doing and it currently seems to be working fine. But how would I get out of this loop? is there an ij-1.53c that I can download and drop into the jars/ folder? Should I just change the name of my version? Or does every version of imageJ just use a file named ij-1.52p, and I shouldn’t be concerned?

The problem is that the update sites (i.e. ImageJ, Fiji, and Java-8) still ship an ij.jar (i.e. the ImageJ1 component) version 1.52p because there had been some issues with the headless mode and newer versions of ij.jar. The issues have since been fixed, but a new version of ij1-patcher (that makes running in headless mode possible) and ij.jar yet need to be uploaded with the next big round of updates (happening anytime soon).

While the Help > Update… command gets the latest state of the update sites, the Help > Update ImageJ… command is “inherited” from plain ImageJ1 and fetches the latest ij.jar, regardless if it’s compatible with the other components of Fiji or not.

That said, it actually is safe to update to 1.53c, but you might still see issues when running headless (e.g. from the command line, on a cluster, …) unless you also install the latest ij1-patcher version.

In the future, the update site will hopefully not lag behind the ij.jar version so much anymore, because there’s now some automated tooling in place in pom-scijava to make sure all components are compatible with each other.

1 Like

Thanks for the explainer, that was really helpful.

I’m not using ImageJ in headless mode (at least not yet) so it makes sense that I’d be oblivious to these compatibility issues. A lot of my macros use commands added after 1.52p, and it’s working fine for me as long as I bring it back up to 1.53c with update imageJ... after updating other plugins. I’ll just leave it as is for now and I’ll be pleasantly surprised when I realize I haven’t run into this issue in months. And if i start running it in headless before the fix, its good to know that the ij1-patcher is out there.

Thanks for all of your hard work!

I’ve also had some issues recently and started shipping ij-1.53 via an update site.

Awesome to hear there is a solution on the way :slightly_smiling_face: Is there a roadmap/timeline indicating when ij-1.53 will be shipped? Roughly?

Btw. thanks everyone for the hard word involved behind the scenes.