Each section covers the upgrade from the previous LTS release, the section on 2.121.1 covers the upgrade from 2.107.3.
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
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.
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.
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.
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.
The automatic installer for JDKs has been moved into a plugin to have a lifecycle independent from Jenkins core.
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.
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.