Zotero Beta on Mac wrong version metadata

I use MacUpdate app for updating my apps, After Updating to latest beta is show me previous beta as the newer one. The 5.0.97 beta versioning was ok. After getting in touch with the support of the app I get this answer"

"Took another look, and it seems they made a mistake. The beta2 has the version in the Get Info String of the app instead of the version field (those are at 6.0). Hopefully they’ll get it sorted by the next one. You may wish to send them a bug report and/or right-click → Ignore this Update. If the issue persist next release, we’ll think of a new solution."

  • Please reconsider using MacUpdate or similar adware-supported utilities. Zotero has its own auto-update system. Essentially all non-Apple Mac software will (if you wish) automatically notify you that an update is available.
  • MacUpdater, you mean?

    This wasn't a mistake — we just don't have a great option here. Apple's versioning scheme for app numbers is really limited, with no ability to specify beta versions, and we were previously putting an invalid version string in one of the available fields:


    <key>CFBundleGetInfoString</key>
    <string>Zotero 5.0.97-beta.58+44b6cd052, © 2006-2018 Contributors</string>
    <key>CFBundleShortVersionString</key>
    <string>5.0.97-beta.58+44b6cd052</string>
    <key>CFBundleVersion</key>
    <string>5.0.97</string>


    Both CFBundleShortVersionString and CFBundleVersion are supposed to be just [Major].[Minor].[Patch], which can't describe our beta versions. We were already using "5.0.97" for the beta for CFBundleVersion, and we recently changed CFBundleShortVersionString to do the same to stop using an invalid number (though it's possible that a technically invalid number is better than a non-unique number).

    Basically, though, there's no option here that 1) uses valid macOS version strings, 2) encodes the release channel, 3) uses a lower number for beta versions than production versions for the same release version (e.g., 5.0.97-beta.1 < 5.0.97), and 4) shows the actual version number for production builds.

    We could sacrifice (1) and keep doing what we were doing before, with an invalid version string. It's not clear to me if MacUpdater was actually doing something with that string (in which case it would've had to have been parsing invalid version strings) or just displaying it to you for manual action, but using an invalid string seems like a bad idea regardless.

    We could sacrifice (4) and use some arbitrary scheme where the channel was embedded in a longer number (e.g., 5.0.1097058 for 5.0.97-beta.58, 5.0.2097000 for 5.0.97), but I don't love the idea of showing long, incorrect version numbers for production releases.

    So that leaves sacrificing (3), which would let us use 5.0.97 for the production release and something like 5.0.1097058 for 5.0.97-beta.58. That's probably our best option, and it's hard to think of how using different scheme for different channels would really could a problem.

    Unless anyone has other insight on this, I'll go ahead and make that change for an upcoming beta.

    (If we want these numbers to always be accurate, we'd also either need to stop doing hotfix builds like 5.0.97.1, which we've used for various purposes previously, or use something like 5.0.9700, 5.0.9701, etc. for the release version strings (which is legible enough that I'm still comfortable with it).)
  • edited February 25, 2022
    @DWL-SDCA: While I would also always recommend just relying on apps' own updaters, I suspect @danielborek was talking about MacUpdater, which seems to be a respectable (if arguably unnecessary) Mac utility, not the adware website.
  • edited February 25, 2022
    Or, well, maybe not. I guess MacUpdate does have a desktop app that does this. I would certainly recommend not using that.
  • edited February 25, 2022
    I am sorry for the confusion, indeed it was MacUpdater App (by corecode),
    I use it most often to show me if there are any updates, I update through Zotero's own mechanism

    @dstillermann thank you for your swift reply
    I am in contact with one of the MacUpdater developers through support email, I forwarded him this conversation and asked him if he has something to add
    (MacUpdater might find another way to version Zotero Beta perhaps)

    > 3) uses a lower number for beta versions than production versions for the same release version (e.g., 5.0.97-beta.1 < 5.0.97)
    >I don't love the idea of showing long, incorrect version numbers for production releases.

    This is indeed a big limitation of apple versioning system

    in my case, In MacUpdater Zoom is shown with build numbers in brackets, for example, 5.9.3 (4239),
    In case there is no increment in the version but there is a newer build this works in a similar manner for other apps, like Alfred, in case there is a newer version the build number is shown, something like Alfred 4.6.3 [1285] and the build of the older on, in case if installed is the latest, the 4.6.3 is shown

    I think MacUpdater might find a workaround this or another way, but I hope the discussion may improve this aspect of Zotero and the developers of Zotero will choose the solution that is best for them
Sign In or Register to comment.