Upgrade Notes

Removed Blue Steel redirect

When using path-based routing on Kubernetes, navigating to the CloudBees CI root URL no longer redirects to Blue Steel. It now redirects to the main operations center dashboard instead.


Removed temporary MaxRAM override option

The cluster endpoint option introduced in 2.528.1.29783 for overriding MaxRAM has been removed. This is no longer needed because the Java version in managed controller images now correctly detects container memory, even on new Linux kernels. If your endpoint was configured with an operations center CasC bundle using setMaxRam: true, you must remove this option.


JaCoCo coverage reporting removed from CloudBees SCM Reporting plugin

The CloudBees SCM Reporting plugin (cloudbees-github-reporting) no longer supports reporting JaCoCo coverage results due to the deprecation of the JaCoCo plugin. To enable coverage reporting, install the Coverage plugin (coverage) and update your Pipelines to use the recordCoverage step as described in the Coverage plugin documentation.


JaCoCo coverage reporting removed from CloudBees Slack Integration plugin

The CloudBees Slack Integration plugin (cloudbees-slack) no longer supports reporting JaCoCo coverage results, as the JaCoCo plugin (jacoco) has been deprecated. To enable coverage reporting, install the Coverage plugin (coverage) and update your Pipelines to use the recordCoverage step as described in the Coverage plugin documentation.


Operations center CloudBees Assurance Program plugin changes since 2.541.1.35570

The following plugins have been removed from the operations center CloudBees Assurance Program since 2.541.1.35570:

  • Matrix Authorization Strategy Plugin (matrix-auth)


Controller CloudBees Assurance Program plugin changes since 2.541.1.35570

The following plugins have been added to the controller CloudBees Assurance Program since 2.541.1.35570:

  • Coverage Plugin (coverage)

The following plugins have been removed from the controller CloudBees Assurance Program since 2.541.1.35570:

  • Jersey 2 API (jersey2-api)

  • Jenkins JaCoCo plugin (jacoco)

  • Matrix Authorization Strategy Plugin (matrix-auth)


New Features

None.

Feature Enhancements

Optimized credentials lookup

Previously, when a plugin performed a runtime lookup of credentials, it typically located specific credentials based on ID, but had to retrieve and filter all credentials of a type or domain, even if only one was needed. While this had minimal impact for local credentials stores or cached external stores, it was inefficient when a connected controller requested credentials from the operations center, which would send back a lengthy response containing all credentials. Worse, if the operations center was configured to delegate to Vault or CyberArk, the act of snapshotting the secrets could force extra operations for credentials that were not actually being used. Now, users can directly request a specific credential by ID, and the operations center need only return that one.

Resolved Issues

Memory leak in Slave Statistics with commands containing large, unique environment variables

Fixed a memory leak in SlaveCommandStatistics that affected long-lived agents running frequent commands with large, unique environment variables. The issue occurred when the classification pattern failed to match commands containing brackets, causing each unique environment variable to be stored as a separate map key. Over time, this led to severe memory exhaustion, especially with Docker commands, but could affect any frequently executed command with varying environment variables.


File descriptor leak in CloudBees License Tracker plugin when Segment API is unreachable

Previously, the CloudBees License Tracker plugin (cloudbees-license-tracker) leaked file descriptors in environments where the Segment analytics service (api.segment.io) was unreachable, including air-gapped deployments. The underlying analytics-kotlin library failed to close file descriptors when batch uploads failed, leading to accumulation of open files that could exhaust system file descriptor limits. File descriptors are now properly closed even when the Segment API is unreachable.


Error when displaying agent load statistics in one-replica HA controller

When an HA controller was using only one replica, an error prevented the agent load statistics pages from displaying.


Broken notification in Slack when build was superseded

When a build was superseded by a newer build of the same project or marked “not built”, personal Slack notifications were missing the build status.

Known Issues

Blue Ocean and team controllers end-of-life

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

What this means for you:

  • Team controllers will cease to function starting with the July 2026 release.

  • 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 and Team controllers will no longer be available.

CloudBees strongly encourages all customers to complete their migration away from Team controllers before the EOL date to ensure uninterrupted service. For detailed migration guidance, please refer to In-place conversion of team controllers to managed controllers. If you have questions or need assistance, please contact CloudBees Support.


End of support for Java 17 in April 2026

Starting in April 2026, CloudBees CI will no longer support Java 17, and you will need to migrate to Java 21. An administrative monitor has been added to print if either the operations center or any of the connected controllers are being run with JDK 17. If you have any concerns or questions, please contact CloudBees Support.


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.