Upgrade Notes

Removed controller remoting transport option for directory lookup

Controllers sometimes need to contact the operations center to inspect folders and jobs on the operations center or other connected controllers. As of CloudBees CI 2.426.1.2, this mechanism was switched from remoting to using HTTP, to better support HA controllers, but a system property -Dcom.cloudbees.opscenter.client.plugin.RemoteDirectoryServiceImpl.useHttp=false was retained to permit switching back to the original implementation. This mode has been removed and the property is ignored if set.


New Features

None.

Feature Enhancements

WebSocket enabled by default for new client controller items

When creating a new client controller item, WebSocket is now enabled by default for the connection to the operations center, requiring no special network configuration. WebSocket uses the standard HTTP or HTTPS port, and for deployments using Kubernetes Gateway API, it works with no additional configuration because Gateway API routes HTTP/HTTPS traffic through HTTPRoute resources. This does not affect new controllers defined via Configuration as Code.


Administrative monitor for misuse of build artifact discard options

A new administrative monitor detects jobs configured to discard artifacts from older builds without deleting the builds altogether, which can cause serious performance problems.

Resolved Issues

bat Pipeline steps hung on Windows SSH agents after controller restart

bat Pipeline steps would hang indefinitely on Windows agents connected via SSH after a controller restart. This requires the following variable to be set: -Dorg.jenkinsci.plugins.durabletask.WindowsBatchScript.USE_BINARY_WRAPPER=true


Amazon EC2 plugin performance improvements

The Amazon EC2 plugin now uses a single SSH client to benefit from an NIO performance enhancement that reduces the number of threads created on controllers using the plugin, and prevents thread leaks when connection errors occur.


Potential deadlocks in HA-specific administrative monitors

A coding pattern used in several administrative monitors present in HA controllers was prone to deadlocks and has been fixed. (An actual deadlock of this form was only observed in a newly introduced monitor prior to its release.)


HA controller replicas can get stuck at startup when a crashed replica leaves a stale NFSv3 file lock

During HA managed controller startup, replicas come online sequentially, coordinated by an exclusive lock on $JENKINS_HOME/.launching. In rare cases, if a replica was killed abruptly while holding this lock, NFSv3 may not have released it, leaving the lock held by a process that no longer existed. Any subsequent replica attempting startup would block indefinitely waiting to acquire the lock.


File lock acquisition now retried during HA emergency adoption

If an HA replica crashed while running a build and left behind a file lock that was not immediately released, another replica could have attempted to adopt it, failed to acquire the lock, and permanently given up. The cluster now repeatedly attempts to adopt the build, assuming the lock will eventually be released.


LinkageError in Bitbucket Branch Source plugin caused by duplicate Jackson annotations

A LinkageError in the Bitbucket Branch Source plugin was caused by duplicate jackson-annotations classes shipped by both Jackson 2 API plugin and Jackson Annotations 2 API plugin.


Race condition aborting an sh step

When a Pipeline build running an sh (or bat or powershell) step is aborted, either directly by a user or in response to an event such as a timeout, the sh step should fail and the abort reason should propagate up to stop the build as a whole. Due to a race condition, if the user process happened to exit with code zero (success) within milliseconds of the abort request, the sh step could succeed and the build continued (potentially to success) and the abort was lost. Any abort received by the step now always fails the step, regardless of exit status or step configuration.


Reduced timeout for closing User Activity Monitoring database

A managed controller is by default given 30 seconds to shut down upon receiving a termination signal. The User Activity Monitoring plugin was allowing up to five seconds to finish writing a single JSON file, which was excessive, especially since this data collection is best-effort. The timeout has been reduced by default to one second to ensure that other more critical shutdown processes have plenty of time to run.


Credentials fingerprints disabled by default in HA controllers

The default fingerprint storage is not compatible with HA managed controllers, yet Jenkins credentials attempted to record build fingerprints by default. Aside from the files becoming potentially corrupt from concurrent access, this could be a performance bottleneck in high-volume builds. Therefore, HA managed controllers now default to -DCredentialsProvider.fingerprintEnabled=false.


HA multi-executor agent scale-down occasionally triggered unnecessary JVM restart

When using multiple executors on a permanent agent in an HA controller and reducing the scale, background threads occasionally remained running after the scale-down. These threads appeared to indicate that stopping the extraneous executors had failed, when in fact there was no real issue, forcing the agent JVM to restart unnecessarily.


Performance issues caused by ExpiringTokensMonitor

Previously, the expiring service account tokens monitor triggered expensive Role-Based Access Control permission checks on every folder during page load, causing timeouts on instances with many folders. This has been fixed.


Job instance list failed to load

Previously, the list of job instances failed to load when viewing a Multibranch Pipeline Template via the Pipeline Template Catalog folder path.


Test SSH Connection incorrectly reported missing credentials for folder-scoped and restricted credentials on shared agents

The Test SSH Connection validation button on shared agents configured with folder-scoped or restricted SSH credentials incorrectly reported credentials cannot be found.


master-networkpolicy.yaml invalid YAML due to incorrect JMX selector indentation

Previously, JMX network policy rules in master-networkpolicy.yaml rendered with incorrect indentation, producing invalid YAML.


Restart from stage option missing when viewed from a different HA replica

The Restart from stage build action was not loaded correctly on HA replicas after a Declarative Pipeline build completed. This caused the Restart from stage button to appear missing when viewing the build from a different replica than the replica it ran on.


Removed Tomcat-specific code that counted HTTP worker threads

Support for running CloudBees CI in Tomcat ended in October 2025. A support bundle component that counted HTTP worker threads was still checking for Tomcat configurations and has been simplified to check for Jetty only.

Known Issues

Hazelcast upgrade from 5.6.0 to 5.7.0

The Hazelcast library used for peer-to-peer communications in High Availability (HA) controllers will be upgraded from version 5.6.0 to 5.7.0 in the July 2026 CloudBees CI release. Since Hazelcast Community Edition does not support members of different minor versions sharing a cluster, a regular rolling upgrade across this change is not possible. If you are running an HA controller on any previous version, the upgrade should be automatic, although there will be a temporary outage similar to upgrading a non-High Availability (HA) controller.


Blue Ocean end-of-life

Starting with the July 2026 CloudBees CI on traditional platforms release, Blue Ocean will reach end-of-life (EOL) and will no longer be supported. After this date, Blue Ocean will not receive updates, security patches, or technical support and will be removed from the CloudBees Assurance Program (CAP).

What this means for you:

  • Blue Ocean may continue to work, but is no longer supported by CloudBees.

  • No further updates or security patches will be provided.

  • Technical support for Blue Ocean will no longer be available.

CloudBees encourages all customers to use CloudBees Pipeline Explorer as an alternative.


Duplicate plugins in the Operations center Plugin Manager UI

When you search for a specific plugin under the Available tab in the Operations center Plugin Manager, the search results show duplicate entries for the plugin.