Why can't I install the latest plugin on my Jenkins LTS?
I regularly go, as all Jenkins admin do, to my system’s Plugin Management page to see what plugins can be upgraded.
Although I am running the latest LTS version, I can’t update some key plugins (for example the JUnit plugin). This is even more intriguing as some are part of the plugins installed by default by the setup wizard. No "install" tick box and the plugin is labeled "unavailable". There is a note saying "This version of the plugin exists but it is not being offered for installation, so the latest bug fixes or features are not available to you. This is typically the case when plugin requirements, e.g. a recent version of Jenkins, are not satisfied. If you are using the latest version of Jenkins offered to you, newer plugin releases may not be available to your release line yet. See the plugin documentation for information about its requirements.".
The message indicates to Jenkins administrators that a newer plugin version is available but that the installed Jenkins core doesn’t provide a necessary prerequisite – typically being too old.
Why is this happening now? Did I miss something?
As part of the continuous improvement of Jenkins, some critical and high impact changes are introduced. This is typically the case of GUI changes (icons, fonts, layout) as is currently happening. It is also the case for new core features that can be consumed by plugins.
Such changes are typically first introduced in the cutting edge Jenkins weekly release. Plugins are adapted to take advantage of these changes and the minimal Jenkins version required for those new plugin releases is set to a very new release of Jenkins that includes these changes. This causes a clear requirement disruption compared to the generally slow and low-impact plugin requirement evolution.
It will require more time before these major changes will be available in an LTS Jenkins version. In the meantime, the new plugin will have to wait before it can be installed on that release line.
If you need to install that latest plugin version because it also fixes that annoying bug, you will have to evaluate whether it is worth switching to the weekly release line.
Note that this story is a strong reminder to keep your Jenkins system as current as possible if you don’t want to miss out on new features and important bug fixes.
Special thanks to Daniel Beck to have given me the "raw" explanation of this unexpected behavior.