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
)
-
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
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
orMANAGE
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
involvingQueueLoadBalancer
class in a High Availability (HA) controller-
Under certain circumstances, a High Availability (HA) controller queue maintenance could trigger a
StackOverflowError
betweenQueueLoadBalancer
andQueue#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 withSYSTEM_READ
permission-
Previously, only users with the
ADMINISTRATOR
permission could access this admin monitor. Now, users withSYSTEM_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.