CloudBees CI release highlights

What’s new in CloudBees CI 2.479.3.1

Watch video

Upgrade Notes

Operations center CloudBees Assurance Program plugin changes since 2.479.2.3

The following plugins have been added to the Operations center CloudBees Assurance Program since 2.479.2.3:

  • Commons Compress API (commons-compress-api)


Controller CloudBees Assurance Program plugin changes since 2.479.2.3

The following plugins have been added to the Controller CloudBees Assurance Program since 2.479.2.3:

  • Commons Compress API (commons-compress-api)


New Features

None.

Feature Enhancements

Support for Java 21

Support for Java 21 was added for non-FIPS versions of CloudBees CI. CloudBees recommends that you upgrade your instances to Java 21 as soon as possible for the best experience. For more information, refer to Migrate to Java 21 for CloudBees CI on modern cloud platforms or Migrate to Java 21 for CloudBees CI on traditional platforms.

In the April 2026 release, support for Java 17 will be discontinued and you will be unable to run new versions of the product on Java 17. Releases that occurred during the support window for Java 17 will continue to run on Java 17.


Adding startup probe in global configurations page

In the Manage Jenkins  Configure Controller Provisioning page, you can now define the default values for the startup probe. This ensures that these defaults are applied whenever a new managed controller is started.


High Availability (HA) Pipeline durability warning update

A warning is displayed if CloudBees CI High Availability (HA) is enabled and Pipeline durability is not set to the maximum survivability/durability or if any Pipeline job has enabled the "Do not allow the pipeline to resume if the controller restarts" property. This warning, previously shown only to administrators, will now also be visible to users with the SYSTEM_READ or MANAGE permissions.


Automatically refresh display of a High Availability (HA) controller cluster state

The Cluster state section of the High Availability (HA) screen now refreshes itself every few seconds without requiring the page to be reloaded.


High Availability (HA) controllers no longer run reverse proxies through a configured (forward) proxy

Since all replicas of a High Availability (HA) controller are expected to be on the same LAN, reverse proxy functionality (for example, used to display a build managed by a replica other than the one with the sticky session) no longer honors the Jenkins (forward) proxy configuration. The corresponding administrative monitor has also been removed, as there is no longer a need to list replica IP addresses among the no-proxy hosts.


Reporting storage class provisioner in CloudBees Analytics

The Operations center on Kubernetes occasionally sends CloudBees summaries of the configuration of the managed controller. This summary now includes a list of storage class provisioners (not storage class names) that indicate the types of filesystems that are in use.


The /queue/api/json API now returns aggregated output from all replicas

Previously, the aggregation API /queue/api/json only returned the output from the replica that processed the request and this resulted in deviation between the API output and the UI Build Queue panel. With the implementation of supporting aggregated output in /queue/api/json, the output now contains queue items from all replicas. This is similar to the other two aggregation APIs /jobs/../api/json and /computer/api/json.


Allow users with SYSTEM_READ permission to view administrative monitors about agents

Previously, only users with administrator rights could access this administrative monitor. Now, users with SYSTEM_READ permission can also view the warning, but they cannot take any action on it (for example, uninstall the plugin or dismiss the notification).

Resolved Issues

Redundant save of $JENKINS_HOME/config.xml from High Availability (HA) replicas

When one replica in a High Availability (HA) controller saved $JENKINS_HOME/config.xml, the other replicas reloaded it from disk as expected, but also resaved it. This was not the best use of I/O, and potentially a source of occasional errors in network filesystems.


High Availability (HA) improves robustness of queue adoption when a replica is terminated

When a replica is terminated unexpectedly, some queue items could get lost and this causes Pipelines to wait indefinitely. Now, these queue items are rescheduled automatically and allow the Pipelines to proceed normally.


ClassNotFoundException: QueueLoadBalancerAction in the Manage Old Data screen

When you upgraded a High Availability (HA) controller to the 2.479.3.1 release, it may have triggered a display of unwanted entries in the Manage Old Data screen. Now, it no longer displays the unwanted entries.


Multi-branch project refuses to build new commit

Under certain circumstances, a Multi-branch project configured to use the Initial Index Build Prevention strategy may have incorrectly refused to trigger a build of a new commit, whether from an event or branch indexing. Now, a Multi-branch project no longer incorrectly refuses to trigger a build of a new commit.


StackOverflowError involving QueueLoadBalancer class in a High Availability (HA) controller

Under certain circumstances, a High Availability (HA) controller queue maintenance could trigger a StackOverflowError between QueueLoadBalancer and Queue#getCauseOfBlockageForItem.


Build storm prevention failed to log justifications

When using the Multi-branch project trait to avoid triggering builds due to branch reindexing without real changes, no messages were printed to the branch indexing log that explains why a build was or was not being triggered. This made it more difficult to diagnose problems.


Errors in High Availability (HA) controllers missing Elasticsearch Reporter plugins when configured on the operations center

When the Elasticsearch Reporter plugins were installed on the operations center and configured to push the configuration to the managed controllers, an High Availability (HA) managed controller lacked the controller plugins. Errors could be thrown that synchronized settings from the operations center with the result that some replicas would be unable to use the operations center single sign-on (SSO) and potentially other functions.


Honor the abort builds setting of Multi-branch projects in High Availability (HA) controllers

When a Multi-branch Pipeline project is configured to abort builds of merged or otherwise closed branches or change requests ahead of actually deleting them, builds that run on corresponding branch projects were not consistently aborted in High Availability (HA) controllers.


Internal changes for CI Catalog Server logs related to Failed to write

The incorrect logs related to Failed to write in the CI Catalog Server were not accurate and could have led to a false analysis.


New Operations center displayed an administrative monitor suggesting uninstallation of Blue Ocean but cannot uninstall it

The operations center displayed an administrative monitor advising you to uninstall Blue Ocean, but if you tried to uninstall it, some components would be reinstalled on the next startup. (It was possible to either dismiss the monitor or disable the plugins without uninstalling them.) Now, these plugins are not forcibly installed, or they are not included in the default list of plugins to install in the setup wizard.


Jenkins instance does not fail and continues to start up if the Update Center JSON file is unavailable or non-parseable

The Jenkins instance will now immediately fail to start if the Update Center JSON file is unavailable or cannot be parsed.


Added enhanced support for data persistence of the Configuration as Code bundle assigned to the controller via the API and Jenkins CLI workflow

Added enhanced support for data persistence of the Configuration as Code bundle that is assigned to the controller via the API and Jenkins CLI workflow.


Update the client controller to revert to the existing configuration when the Configuration as Code bundle file is inaccessible through the proxy

This change improves the resilience of the client controllers by implementing a fallback mechanism. When the Configuration as Code bundle file is inaccessible due to proxy issues, the system will automatically revert to the existing configuration, ensuring continued operations without disruptions. This provides a more reliable experience in environments with proxy-related access limitations or misconfigurations.


Configuration as Code remote validation did not work properly with the override merge strategy

The Configuration as Code remote validation did not work properly with the override merge strategy as an unexpected warning was raised without a descriptive reason.


Describable object was ignored during Configuration as Code item export

When a NullPointerException was returned after reading the value of a describable’s property, the Configuration as Code item export ignored the describable object.


Restrict the plugin catalog in controllers while in FIPS mode

The plugin catalog is no longer displayed in the controller UI when running in FIPS mode.


Restrict insecure delivery automation URLs in FIPS mode

In FIPS mode, the CloudBees Platform Common plugin (cloudbees-platform-common) now enforces the use of secure URLs for the delivery automation endpoint. Any attempt to configure an insecure URL will be rejected, ensuring compliance with FIPS requirements.


Changed FIPS error severity in the Controller Lifecycle Notification plugin

The severity of FIPS-related errors in the Controller Lifecycle Notification plugin (operations-center-webhooks) has been upgraded from changed to errors. This change ensures that critical compliance issues are more prominently highlighted.


Generating the User Activity Report summary no longer takes a long time in certain environments

The generation of the User Activity Report summary no longer takes a long time in environments with many duplicated User IDs or emails.


IncompatiblePluginAdministrativeMonitor should be accessible to users with SYSTEM_READ permission

Previously, only users with the ADMINISTRATOR permission could access this admin monitor. Now, users with SYSTEM_READ permission can also view the warning, but they will not be able to take any action on it (for example, uninstall the plugin or dismiss the notification).


CloudBees HashiCorp Vault Plugin did not support replication of credentials and folder-level authentications for HA/HS

Since the release of the CloudBees HashiCorp Vault Plugin version 1.501, the HA/HS replication support for credentials configured via this plugin was not functional. Since the release of the CloudBees HashiCorp Vault Plugin version 1.521, replication support for folder-level authentication configurations in this plugin was also not functional.


The operations center and controllers are not correctly subscribed in messaging system with a dynamic load

The operations center and controllers were not correctly subscribed in the messaging system with a dynamic load which led to new submissions not being analyzed and data could not be seen since the CloudBees CI 2.462.1.3 release.


Negative log size displayed for files larger than 2GB in the CloudBees Pipeline Explorer

Previously, a negative value was displayed for the file size in the CloudBees Pipeline Explorer UI when the log size was greater than 2GB. This issue has been resolved.


SSH Credentials plugin (ssh-credentials) was not updating the validation messages

When an SSH Username with private key credential was created or updated, the validation messages in the form were not updated because a JavaScript error prevented it. Now, when the validation message is displayed and the value is changed, the validation error is updated.


The CloudBees SSH Build Agents plugin supports the ed25519 host key

With the EDDSA API plugin, the SSH ed25519 key is now supported and can be used during key exchange negotiations.


Remove invalid core validation in the Update Center JSON file

Removed an incorrect validation that was performed in the Update Center data file when a mirror server was configured to manage the plugins using Configuration as Code. The file was considered invalid when a new CloudBees CI version was available.

Known Issues

Authentication to the operations center Configuration as Code Retriever API fails

After upgrading to CloudBees CI version 2.462.1.3 or later, authentication to the operations center Configuration as Code Retriever endpoint API at ${OC_URL}/casc-retriever/* fails. This is due to the removal of the authentication method enabled by the attribute .OperationsCenter.CasC.Retriever.secrets.adminPassword.


GitHub Plugin settings would not load on startup

The Github Plugin configuration failed to load during the Operations center startup. Refer to GitHub Plugin settings not loaded on startup after upgrading for more information.


Duplicate plugins in the Operations Center Plugin Manager UI

When you search for a specific plugin under Available tab in operations center Plugin Manager, the search results shows duplicate entries of the searched plugin.


Firefox download of .tgz suffix files will not unpack in CloudBees CI 2.479.1.x, 2.479.2.x, and 2.479.3.x

CloudBees CI users running versions 2.479.1.4, 2.479.2.3, and 2.479.3.1 with the Firefox web browser will be unable to unpack compressed tar archives with the .tgz suffix due to a bug in Eclipse Jetty 12.0.0 through 12.0.14. The issue has been fixed in Eclipse Jetty 12.0.15 and will be included in a future release of CloudBees CI.

The following workarounds are available for users running CloudBees CI versions 2.479.1.4, 2.479.2.3, and 2.479.3.1:

  • Run CloudBees CI with the --compression=none flag to disable content compression by Eclipse Jetty 12.

  • Use Google Chrome or Microsoft Edge instead of Firefox to download the archive with the .tgz suffix.

  • Download with a tar.gz suffix instead of a .tgz suffix.