Why has the versioning of plugins changed?

Until December 2021, the Jenkins credentials plugin was using semantic versioning, e.g. 2.6.2. Then a new release was published on December 15th with version 1055.v1346ba467ba1 and then another on January 5th with version 1061.vb_1fceb_58fa_18.

These new version numbers look more like off-mainline builds than the historical semantic versioning convention.

I’ve also noticed a bunch of other first-party plugins have changed their version numbers in a similar manner at about the same time, e.g. workflow-api.

Did the Jenkins team decide to change their policy on versioning of plugins?

I probably wouldn’t have noticed but this coincided with Jenkins LTS v2.303.3 failing to load many plugins due to dependency issues after installing all the plugin updates from https://updates.jenkins.io/stable/update-center.json which then forced an unplanned update to LTS v2.319.1 and I can’t help but wonder if the version number convention change is related.

The version numbering has changed for some plugins, but not because of any change to core.

Somewhat recently, there was work done to make people able to do release by machine / CD (which always will have a clean environment) instead of doing releases by hand (Which has the env of whatever your machine is). In the last month or so, more and more plugins have adopted to use this method, which is why your seeing the build id and sha in the version number. jep/README.adoc at 70474800713263f42e20ca549f7c8a52e3dfec19 · jenkinsci/jep · GitHub has all the technical details.

I will say a few pedantic corrections though.

  • There’s no first party plugins, there are plugins that were added to the installation wizard
  • Jenkins has never used semantic versions. Some plugins have decided to adopt it, but it was always lose

As for plugins not installing anymore. You should still be able to install them, but it might require more work. Update center is supposed to give you the latest version still compatible (based on minimum version in the metadata) for your install. There has been a lot of work done in the last 6 months to remove forked libraries, and update dependencies to reduce attack surfaces, or even just changes to make UI improvements actually possible. Sometimes there were breaking changes which plugins had to update for, and change their minium supported core version.

too much info I know, but hopefully that helps?

1 Like