Help>Update ImageJ... triggers "There are locally modified files!" warning when running Help>Update

fiji
imagej
updater

#1

This is on a clean install of stock Fiji, ImageJ 2.0.0-rc-65/1.51s,
downloaded today (2/2/18).

First run Help>Update ImageJ… This upgrades Fiji to
ImageJ 2.0.0-rc-65/1.51t. Now run Help>Update… The updater
runs the update check and then pops up a warning box, “Warning”
“There are locally modified files!”. (The proposed changes window
is empty, probably because there are not yet any updates for the
freshly downloaded Fiji.)

I also ran this test with a clean install of an older Fiji download
(ImageJ 2.0.0-rc-62/1.51s, downloaded 12/27/17). Running
Help>Update… upgrades Fiji to ImageJ 2.0.0-rc-62/1.51t. Then
running Help>Update… gives the same “There are locally modified
files!” warning. For this older version of Fiji there are several proposed
changes in the Updater window. If I carry on (first click “OK” on the
Warning pop-up) and click “Apply Changes”, a “Resolve
dependencies” window opens up with the choices:

Keep the local version
Update jars/ij-1.51s.jar

If I select “Keep the local version” the update appears to run
correctly, and when I quit and restart Fiji, it reports as its version
ImageJ 2.0.0-rc-65/1.51t. Note, this version ID suggests that both
updates are in effect, as both rc-62 --> rc-65 and 1.51s --> 1.51t.
(I don’t see anything that suggests that Fiji is messed up, but I don’t
have any good way to check.)

At a minimum, the “There are locally modified files!” warning is a
worrisome (semi-) false alarm. Or perhaps it indicates that the
doubly-updated Fiji installation is subtly broken somehow.

What is the approved approach to keeping a Fiji installation updated?
Should one not run Help>Update ImageJ…? Should one run
Help>Update ImageJ…, and ignore the “There are locally modified
files!” warning, and select “Keep the local version” when Fiji
auto-updates (or when running Help>Update…)? Should one
not run Help>Update (and not permit Fiji to auto-update)?

A word or two about what the two separate updates are for would
be appreciated, as well.

Thanks, mm.


#2

Dear @mountain_man,

We do have a pom-scijava project that contains a Bill of Materials with compatible versions of components. This is also used by Fiji. This BoM defines ImageJ1 as a component here. So the currently supported/tested version of ImageJ1 is:

Hence, you might be able to use newer versions of ImageJ1 but not necessarily. One reason is that we are patching ImageJ1 at runtime with ij1-patcher and this process is pretty sensitive to changes in ImageJ1 source code.

So my suggestion is to not run Help > Update ImageJ and let Help > Update take care of that.

Best,
Stefan


#3

Hello Stefan,

Thank you for your explanation.

That all makes sense. I will use Help>Update and/or let Fiji
auto-update itself, and I will not run Help>Update ImageJ.

Just for my understanding, am I right that if and when ImageJ
and/or Fiji decides it wants to use a newer version of ImageJ1
(for example, 1.51t in place of 1.51s) that it will pull in the new
version when it auto-updates (or Help>Update is run)?

Lastly, if it is not recommended to use Help>Update ImageJ,
then why does Fiji have a menu entry for that? Should that
menu entry perhaps be removed? Or, as an alternative, should
the menu entry read something like “EXPERIMENTAL” or
"DON’T USE"?

Thanks, mm


#4

That’s correct. For the updater, ij.jar (ImageJ1) is just one among many that it will update once a newer version is on an activated update site.

That’s an interesting suggestion. In practice, people use Help > Update to checkout nightly builds of ImageJ after being asked by Wayne Rasband to see if his changes solve their issue. So we can’t completely remove the menu entry. But we could patch a warning into the command when a user runs it, saying that within Fiji (or an environment where ImageJ1 gets patched) you might not want to use this command.


#5

Hi Stefan,

Thanks for the clarification.

(that is, Help>Update ImageJ…)

That makes perfect sense. (I’ll just skip running Help>Update ImageJ… – unless Wayne Rasband asks me to …)

Perhaps warning new users like me could be as simple as
changing the text of the menu entry to something like

Help>Update to an experimental ImageJ1…

That would probably be enough to clue me in to the fact that
you shouldn’t normally do this, and, if you do, you might break
something.

Thanks, mm


#6

Thanks @stelfrich for filing imagej/ij1-patcher#44 (Make Help > Update ImageJ show a warning).

See also: