Upgrade Notes
- Upgrade the Swarm and Parameterized Scheduler plugins before upgrading CloudBees CI High Availability controllers
-
Jenkins core is dropping the
commons-lang2library, which is no longer supported. The Swarm plugin (swarm) and Parameterized Scheduler plugin (parameterized-scheduler) have a dependency on it; if you use either plugin, manually upgrade them to the following versions before upgrading your CloudBees CI High Availability (HA) controller:-
Swarm plugin version
1258.vda_14ddda_0613 -
Parameterized Scheduler plugin version
379.v95c73f233a_df
-
- Operations center CloudBees Assurance Program plugin changes since 2.568.2.37664
-
The following plugins have been added to the operations center CloudBees Assurance Program since 2.568.2.37664:
-
Nimbus JOSE JWT API Plugin (
nimbus-jose-jwt-api)
-
- Controller CloudBees Assurance Program plugin changes since 2.568.2.37664
-
The following plugins have been added to the controller CloudBees Assurance Program since 2.568.2.37664:
-
Nimbus JOSE JWT API Plugin (
nimbus-jose-jwt-api)
-
Feature Enhancements
- Simplified UI for Move/Copy/Promote, trigger remote build, and copy remote artifact
-
UI controls used to select local or remote folders or items have been simplified to plain text fields with completion and validation, reducing complexity and more closely aligning with Configuration as Code (CasC), REST, and CLI usage. This includes the target folder selection for Move/Copy/Promote, the source job for copy remote artifact, and the target job for trigger remote build. For build steps, configuration is done through the UI for Freestyle projects and through the Pipeline Syntax tool for Pipeline projects.
cjp-protocol URLs are now also supported and properly retained when saving configurations.
For more information, refer to:
- CloudBees Pipeline Explorer Related builds badge now uses a neutral color
-
The badge on the Related builds panel in CloudBees Pipeline Explorer now uses a neutral gray color instead of orange, which previously suggested an error or warning state.
Resolved Issues
- CasC bundle validation now correctly handles directory references in the
bundle.yamlfile foritems,rbac, andpluginsconfiguration -
In CasC, bundles can reference entire directories instead of listing individual YAML files. Previously, the bundle validation endpoint incorrectly reported these bundles as invalid when a directory was referenced in the
rbac,items, orpluginssections of thebundle.yamlfile, even though the bundles loaded correctly at runtime. Bundle validation now correctly handles directory references across all supported bundle sections.
- Configuration as Code bundle
jcascconfiguration no longer silently skips entries when multiple directories or files are listed -
When a Configuration as Code (CasC) bundle’s
jcascsection listed more than one entry where at least one entry was a directory, only the first entry was applied to the controller. All remaining entries, whether a second directory or a standalone file, were silently ignored with no error or warning. This has been resolved; alljcascentries in a bundle are now applied correctly.
- CasC for the operations center no longer hangs at startup when a controller’s Kubernetes cluster is unreachable
-
Previously, when the operations center was configured with controllers running on a secondary Kubernetes cluster, startup could stall or hang for several minutes while applying its CasC bundle if that cluster was temporarily unreachable or experiencing network issues. Startup now continues normally even when a controller’s cluster cannot be reached; any pending disk-resize checks for those controllers run in the background and no longer block the operations center from coming online.
- Role-Based Access Control groups in the controller
items.yamlfile could not refer to a service account defined in the operations center on first startup -
Local group definitions in a controller CasC bundle
items.yamlfile can refer to service account members defined in the operations center (typically in the operations centerrbac.yamlfile) when using single sign-on (SSO) with managed authorization. However, validation checking whether the service account name existed could have failed when the controller first started up, before it had connected to the operations center to synchronize its root RBAC configuration. Validation of global service account names is now skipped when applied from a CasC bundle.
vaultGithubAppcredentials could fail with aNullPointerExceptionafter a Jenkins restart-
vaultGithubAppcredentials provided by the CloudBees HashiCorp Vault plugin (cloudbees-hashicorp-vault) could become unusable after a Jenkins restart, causing operations that rely on them (such as Multibranch Pipeline or Organization Folder scans and connection tests) to fail with aNullPointerException. This occurred because the credential type extends the GitHub App credentials from the open-source GitHub Branch Source plugin (github-branch-source), whose deserialization logic did not re-initialize the required internal state for a subclass. The deserialization logic has been updated to correctly initialize the required state. As a temporary workaround for previous versions, saving the affected credential again restores it until the next restart.
- Support bundles from HA controllers no longer lose entries when log files are very large
-
When an HA controller generated a support bundle with extremely large log files, some entries could be lost and their content replaced with errors. This occurred because temporary files were deleted if adding them to the support bundle
.zipfile took more than one minute. This timeout could be exceeded when using log file aggregation mode (the default) or when other large files were included. Temporary files are now deleted immediately after they are read, regardless of how long the read takes.
- Quiet Restart now correctly starts controller in quieting down mode
-
A regression in the CloudBees Quiet Start plugin (
cloudbees-quiet-start) caused the Stay in "quieting down" state when restarted checkbox to have no effect, starting the controller in normal operation mode instead of quieting down mode upon restart. This allowed builds to run immediately on controller start, contrary to the expected behavior. When Stay in "quieting down" state when restarted is selected, the controller now correctly starts in quieting down mode, preventing builds from running immediately upon restart.
- Groups page no longer renders empty under certain conditions
-
Under certain conditions, the Role-Based Access Control (RBAC) Groups page or its permission table could appear empty. Rendering of the RBAC Groups page has been improved to handle these cases correctly.
- Steps Reference in Pipeline syntax no longer breaks when the Pipeline Event Step plugin is installed
-
The Pipeline Event Step plugin (
pipeline-event-step) included HTML help files that worked for inline display in the Snippet Generator but broke rendering of the Steps Reference. This has been resolved; Steps Reference now renders correctly when the plugin is installed.
- Skip group Includes and Excludes fields no longer show incorrect form validation errors
-
When configuring a skip group, the Includes and Excludes fields accept either an Ant-style pattern like
deploy/*or a blank value. A literal name likedeploy/mainwith no wildcards was valid but triggered a form validation error. Form validation has been removed from these fields, as there are no clearly invalid values.
- Skip group
untilfield now updates correctly when applying CasC bundles -
When using
unclassified.skipGroup.skipGroupsinjenkins.yaml, edits tountildid not take effect when applying revised CasC bundles unless other skip group fields (such asdescription) were also modified. Theuntilfield now updates correctly when a CasC bundle is applied.