Upgrade Notes
- Operations center CloudBees Assurance Program plugin changes since 2.528.3.35200
-
The following plugins have been removed from the operations center CloudBees Assurance Program since 2.528.3.35200:
-
Google Metadata plugin (
google-metadata-plugin)
-
- Controller CloudBees Assurance Program plugin changes since 2.528.3.35200
-
The following plugins have been added to the controller CloudBees Assurance Program since 2.528.3.35200:
-
commons-collections4 v4.x API Wrapper Plugin (
commons-collections4-api) -
Jersey 3 API (
jersey3-api)
-
The following plugins have been removed from the controller CloudBees Assurance Program since 2.528.3.35200:
-
Ant Plugin (
ant) -
Dashboard View (
dashboard-view) -
Docker Pipeline (
docker-workflow) -
Jenkins Git server Plugin (
git-server) -
Google Metadata plugin (
google-metadata-plugin) -
Gradle Plugin (
gradle) -
Timestamper (
timestamper)
- Removed controller-side option for non-HTTP-based shared agent management
-
The system property
-Dcom.cloudbees.opscenter.client.plugin.OperationsCenterRootAction.remotingSlaveManager=trueis no longer supported by controllers; shared agent management is now always performed via HTTP. The operations center will continue to support remoting mode for older controllers using this option until those versions are no longer supported in one year.
Feature Enhancements
Overall/Managepermission is enabled by default-
The
Overall/Managepermission introduced with Jenkins version 2.222 is now enabled by default in CloudBees CI. For more information on this permission, refer to Delegate administration.
- Added Scope support for HashiCorp Vault credentials
-
When you add or edit a HashiCorp Vault credential, a Scope field now appears. Select SYSTEM if you want the credential to be available only to the controller, which prevents credentials from being accessible in Pipelines and jobs. Select GLOBAL to retrieve application credentials for use in your Pipelines and jobs. Existing Vault credentials will continue working as they always have, so you do not need to make any changes. For extra security, it is a good idea to set Vault authentication credentials to SYSTEM, so Pipeline code cannot access them.
Resolved Issues
- Liveness probe failures in HA controllers after replica crashes
-
Under certain conditions, after a replica crashed in an HA controller, remaining replicas could take too long attempting to query the defunct replica for information about load (such as the number of running builds). This could block access to the Jenkins queue, leading to liveness probe failures and outages.
- Skip empty safe names to prevent unintended all-safe searches in CyberArk credentials lookup
-
In the CloudBees CyberArk Credentials Provider plugin (
cloudbees-cyberark-credentials), empty safe names in CyberArk configurations are now rejected by form validation and skipped at runtime, preventing the plugin from omitting theSafeparameter and unintentionally searching across all safes accessible to the configured AppID. When an empty safe name is encountered at runtime, it is now ignored and a warning is logged.
For backward compatibility, you can restore the previous behavior by setting the com.cloudbees.jenkins.plugins.cyberark.credentials.CyberArkStoreConfiguration.allowEmptySafe=true system property, but this is not recommended.
|
- Bitbucket Branch Source plugin: Server EOL and webhook changes
-
Starting with version 937.2.2, the Bitbucket Branch Source plugin no longer officially supports Bitbucket Server due to the Atlassian End of Support Policy. The plugin should continue working with existing Bitbucket Server installations, though official support has been removed. However, CloudBees cannot guarantee future compatibility of the Bitbucket Branch Source plugin with Bitbucket Server.
-
Third-party webhook plugin changes: Built-in support for Atlassian Marketplace webhook plugins has been deprecated in version 937.x. Previously, it supported:
-
Webhook to Jenkins for Bitbucket by Appfire
-
Jenkins and Azure DevOps Post Webhooks for Bitbucket by Move Work Forward
This change does not affect native Bitbucket webhooks. To maintain this functionality with third-party webhook plugins, install the Bitbucket Webhooks Integration plugin (available as a Tier 3 plugin).
-
-
CasC configuration format: Existing CasC configurations will continue to work without modification, but will generate deprecation warnings in build logs. If you need to eliminate these warnings, you must update to the new format:
Prior to version 936.x (still functions, but has been deprecated):
bitbucketServerEndpoint: serverUrl: "https://bitbucket.example.com" # lowercase 'url' manageHooks: true credentialsId: "admin-creds" webhookImplementation: NATIVEAfter version 937.x (recommended):
bitbucketServerEndpoint: serverURL: "https://bitbucket.example.com" # capitalized 'URL' webhook: serverWebhook: manageHooks: true credentialsId: "admin-creds"
-
- Open source SSH launcher incompatible with multiple executor mode in HA controller
-
In an HA controller environment, using the open source SSH launcher on a permanent agent did not work when you selected multiple executors.
FileAlreadyExistsExceptionwhen restoring from backups with stale metadata files from previous restore-
If a backup was taken after a Restore job without restarting the controller, stale metadata files were erroneously included in the backup. Restoring from such a backup caused a
FileAlreadyExistsExceptionduring startup due to file duplication.
- CasC
force-reload-bundleAPI returned incorrect response -
The CasC
/casc-bundle-mgnt/force-reload-bundleendpoint now correctly returns a 200 status code upon successful reload.
- Plugin versioning strategy changes now apply to existing plugins
-
Resolved an issue when configuring custom Update Centers on the operations center, where changing the plugin versioning strategy did not apply to plugins that were already configured. When an Update Center was configured with an upstream source and the plugin versioning strategy was changed (for example, from Require explicit configuration before publishing to Implicit publish the latest version), newly stored plugins still followed the previous strategy. Plugin versioning strategy changes now correctly apply to all plugins.
- Transient Git errors caused permanent import failures
-
Fixed an issue where catalog imports would permanently fail due to transient Git connection errors (for example,
Connection closedorCould not read from remote repository). These errors are now eligible for automatic retry.
- NullPointerException when calling
BTreeMap.containsKey -
An exception could appear in the operations center system log under certain conditions when processing messages from controllers, as observed when using the trigger remote job feature. The error is now reported more clearly.
- Checkpoints list was not showing at build level in Pipeline Stage View
-
The Checkpoints list, which was inadvertently hidden at the build level in the Pipeline Stage View following a security patch in the CloudBees CI 2.528.1.29783 release, has been restored. The underlying security improvements remain fully active.
- CasC Bundle Retriever deployment fails without image registry override
-
Addressed an issue where setting the image registry override for the CasC Bundle Retriever to
nullduring the Helm upgrade process for CloudBees CI on modern cloud platforms caused the deployment to fail instead of defaulting to a common registry.
- Reconnection errors in TCP agents were incorrectly treated as fatal
-
Under certain timing conditions, a TCP inbound agent whose connection was closed due to a transient controller outage could attempt to reconnect but encountered an error that was incorrectly treated as fatal. This issue affected in-cluster agents connected to an HA controller.
- Support bundle directories were incorrect for HA controller replicas with restarted containers.
-
When a container was restarted, typically due to a crash, in a replica pod of an HA controller, it was given a suffixed name (for example,
-2) for HA replica tracking. However, some information in support bundles, such as thereplicas/live/*/andreplicas/exited/*/subdirectories, still used the bare pod name. Support bundles now use the correct suffixed pod names.
- The DAV store extension erroneously serializes the Jenkins object
-
Previously, the CloudBees Backup plugin (
infradna-backup) serialized the Jenkins object in$JENKINS_HOME/com.infradna.hudson.plugins.backup.store.DAVStore.xml. The issue has been resolved.
Upon upgrade, the Old Data Monitor will show a record for com.infradna.hudson.plugins.backup.store.DAVStore.DescriptorImpl, which is expected. The unreadable data for that record is safe to delete.
|
- Operations center pod status column showed stale data in an AWS IRSA-based multiple cluster setup
-
Previously, in AWS IAM Roles for Service Accounts (IRSA) multi-cluster environments, operations center event listeners would stop functioning after the Kubernetes access token to the controller’s Kubernetes cluster had expired, thus it was unable to watch the events from other Kubernetes clusters.