Upgrading to Jenkins LTS 2.121.x

Each section covers the upgrade from the previous LTS release, the section on 2.121.1 covers the upgrade from 2.107.3.

Upgrading to Jenkins LTS 2.121.2

No notable changes requiring upgrade notes.

Upgrading to Jenkins LTS 2.121.1

Remoting update

The Remoting library has been updated to improve diagnosability and reliability. One of those changes ensures that exceptions are always properly serialized over the channel, even if some exception fields are blocked by JEP-200 class filters.

In order to get this fix applied, Remoting needs to be updated to version 3.13 or newer on the agent side. Without this upgrade, some remote operations on agents may fail if the call results in an exception, even if a the exception could be handled.

SSH Slaves based agents will always use the latest agent.jar, but other agent types may need to have their agent.jar updated manually. The following agent types should be updated:

  • Java Web Start agents with agent.jar / slave.jar JARs on the disk need to update those to version 3.19 or above.

  • Swarm Plugin Client needs to be updated to version 3.11 or above.

  • Agent Docker Packages offered by the Jenkins project (jenkins/slave and jenkins/jnlp-slave) need to be updated to version 3.19-1 or above.

Job/Build permission no longer implies Job/Cancel permission

To allow greater flexibility in configuring permissions, the 'implies' relationship between Job/Build and Job/Cancel has been removed. Users now need to be granted the Job/Cancel permission explicitly to cancel builds, even those they started themselves.

UI for renaming jobs has been changed

It is no longer possible to rename jobs from their configuration page. Jobs now have a link in the side panel titled "Rename" that links to a page specifically dedicated to renaming jobs.

New administrative monitor warns about undefined root URL

If you have not defined a root URL, various Jenkins features will not work correctly. To ensure to the extent possible that a root URL is configured, an administative monitor will show when it’s not.

JDK Tool Plugin detached from Jenkins core

The automatic installer for JDKs has been moved into a plugin to have a lifecycle independent from Jenkins core.

UI option for custom builds and workspace directories on the master has been removed

Build Record Root Directory and Workspace Root Directory can no longer be configured through the UI as these options were generally unsafe to use while Jenkins was running. Instead, these locations can now be customized using system properties on startup. Existing changes to these options will be retained unless and until overridden at startup.

Pipeline improvements

Various changes to Jenkins core make it easier to use Pipelines:

  • Choice parameters now allow the use of a list of options instead of a string of options separated by line breaks.

  • archiveArtifacts now throws a normal exception when no matching files could be found.

  • Jenkins no longer prevents the execution of pipelines running as a user without Job/Build permission on the master node with Authorize Project Plugin.