A faster release cycle for Zotero
dstillman
Zotero Team
After today's release of Zotero 8, we'll be switching to much more frequent "major" releases, with the goal of getting stable features out to all users more quickly.
See our blog post for more details, and let us know if you have any questions.
See our blog post for more details, and let us know if you have any questions.
Upgrade Storage
A more frequent release cycle will make that a more regular issue faced by users.
Ideally a user would be able to check plugin compatibility within Zotero before agreeing to a Zotero update. At its simplest could Zotero display in the plugin listing what each plugin specifies as its strict_max_version (in manifest.json) ?
As it is, I just tried to check all of my 16 plugins by going to their github pages. Version compatibility is not supplied in any consistent way there, and sometimes not at all. After much searching, I was still uncertain of some of my plugins' version 8 compatibility.
So I went to my Zotero profile directory, and then to the extensions folder there. I opened a 7-Zip console window, which showed me a list of all the XPI files (ie zip files). I opened each XPI in turn, showing all the files it contained, selected each XPI's manifest.json, then opened it in the external text editor. Then I could check the plugin's specified value for strict_max_version.
https://www.zotero.org/support/kb/profile_directory
FWIW, of my plugins, the following are not currently v8-compatible:
Zoplicate https://github.com/ChenglongMa/zoplicate/issues/176
zotero-pdf-background
DOI Manager https://github.com/bwiernik/zotero-shortdoi/issues/56
Zutilo https://github.com/wshanks/Zutilo/issues/285
Also, zotero-attachment-scanner does not show an explicit '8' but simply shows 'strict_max_version: *'. EDIT: Seems like it mostly works: https://github.com/SciImage/zotero-attachment-scanner/issues/20#issuecomment-3789358415
So I will probably be holding off on version 8 for a while.
The Chinese plugin store/repository (ironically often the best source for plugin information) does theoretically allow you to filter its list for particular version compatibility. But it currently only shows 4 from all of its plugins as version 8 compatible (I know there are more).
https://zotero-chinese.com/plugins/#zotero=zotero8
Could version compatibility also be listed here in future (as well as ideally being a more up-to-date listing of still-supported plugins) ?:
https://www.zotero.org/support/plugins
(as is, the only plugins which mention a version talk about v5 and 6 !)
We know that strict_max_version is tricky with rapid release, and we'll have guidance for plugin developers soon on the dev list. But Zotero 8 has been in beta for a year, so if plugins haven't been marked as compatible, it's probably not a plugin people should be relying on.
But I'll just say that the goal is to make it easier for plugins to stay up to date, not to integrate every useful plugin feature into Zotero.
Z6 → Z7 was a massive architectural change — across 55 "major" Firefox versions, including a complete redesign of the extensions system and a modernization of the codebase — that required all plugins to be rewritten. Z7 → Z8 was a fairly big change as well, but it required much more straightforward changes. Future releases will involve many fewer changes at once for plugin developers — that's part of the benefit of rapid releases. We're also adding new APIs for common plugin integration points, and those should generally stay stable across many versions. So it should be relatively easy for plugins updated to Z8 to stay up to date going forward.
Ultimately, though, plugin developers do need to maintain their plugins. There have been plugins that have caused major data-loss bugs or UI breakage after Zotero updates. New stable APIs will help avoid those things, and we may end up with two classes of plugins with different maintenance requirements. But regardless, we do need to know that developers both are testing with new versions and will respond quickly to any problems. If they can't commit to that, they shouldn't ask people to run their code. Given the vibrancy of the Zotero plugin ecosystem, it shouldn't be hard to find a better-maintained solution.
For example, plugin developers are responsible for their creations, I agree with that, but who is in charge of https://www.zotero.org/support/plugins ? Why is an entry still displayed when it is listed as "Not yet compatible with Zotero 5.0"?
While this is somewhat related to the plugin compatibility issue, my question is really more general: various other official web pages haven't been updated to reflect the evolution of the core Zotero software. https://www.zotero.org/support/kb/item_types_and_fields is another example, I'm sure there are more.
"All OS-compatible version updates will be automatic going forward, and we won't be supporting older versions."
might be very problematic for users. If there are auto-updates to major versions with changes that make plugins unusable, this could mean that users facing e.g. a paper deadline will find Zotero unusable for their workflow in the middle of a crunch.
Such an experience will either lead to a user abandoning Zotero as soon as possible (and most likely never coming back) or to users finding creative ways to prevent updates and then not update at all.
I strongly suggest that you consider the effects of auto-updates for users.
If for example BetterBibTex is frequently not available due to auto-updates, I'm going back to JabRef. All the nice features of Zotero are useless if I find myself suddenly unable to export a bib file without lots of manual work. There are many other plugins other users might consider essential.
I understand that complaints about bugs in old versions are annoying, but forced auto-updates are not a solution to that, unless you can guarantee that you don't break the user's workflow.
https://forums.zotero.org/discussion/comment/510775/#Comment_510775
There's no reason the Better BibTeX developer shouldn't be able to have compatibility updates (most of which won't be more than a version bump, but absolutely need testing) ready in time for future releases, and most non-BBT plugins should soon be able to switch to sandboxed APIs that won't require strict compatibility checking.
A release schedule like this is an entirely standard modern practice, going back many years. (Google and Mozilla switched to rapid releases for their web browsers 15+ years ago.) No one benefits from stable features, including new plugin APIs, remaining stuck on a beta channel for a year.
A Zotero ESR doesn't really make sense as a concept. Firefox ESRs exist primarily to make sure organizations can still get security updates even if they don't want to deal with regular major changes. They don't get general bug fixes beyond high-impact stability fixes. But most Firefox security issues don't apply to Zotero (though we try to stay up to date with Firefox ESR updates just in case), so a Zotero ESR that only received upstream security updates would just accumulate known bugs. That's exactly what happened on our "stable" releases for years and part of what we're trying to fix here.
An ESR that also received backported bug fixes would become increasingly risky over time, since the code base would have diverged further from the current development branch without any public testing of the integrated fixes. (The beta is built from the main development branch, which is always for the next major version, so backports to the current version can't be publicly tested — that's why they need to be limited to low-risk/high-impact fixes, and why we limit the backport window to no more than a few months.)
Mozilla still puts out an ESR point release roughly every four weeks, so even Firefox's model doesn't actually let organizations go months without updating.
And Firefox's is only one model. Chrome's "Extended Stable" channel for enterprises just has major releases every 8 weeks instead of every 4 weeks, and it still has regular security updates during that time. Major versions every ~8 weeks is basically our default plan here.
If you want a version of Zotero that could be updated every couple months, that's just the current major version. We'll generally wait a week or two before pushing a major version as an auto-update (usually at x.0.1 or x.0.2), so any major issues that weren't caught during the beta should've been resolved, and there will only be noticeable changes every 6–10 weeks. Enterprises that manage updates can wait a month after a major release for 9.0.4 or so, then wait for 10.0.4, 11.0.4, etc., and just update every 6–10 weeks to an extremely well-tested version.
Would it be possible for you or someone on the team to address the documentation question(s)? Or explain why not, if it is not possible?
Thanks