New in this Release
Jenkins operator 0.9.0 is here! 🎉
Thanks to everyone who contributed code and reported issues, this is the changelog since the last stable release (0.8.0):
Operators
- Update the operator to go
1.26 - Updated the default Jenkins image to
2.580.1and refreshed the base plugins - Updated the seed-job agent to Java 21 and websocket connections
- Added
skipPluginsfor custom images that already contain the required plugins (also airgapped installation) - Exposed container lifecycle hooks and configurable
terminationGracePeriodSeconds. - Fixed ConfigMap watches and improved reconciliation and restart handling
- Updated default health probes to
/health, while preserving custom probe paths - Improved plugin-security validation using Jenkins Update Center metadata
- Removed the operator’s explicit override of Jenkins agent protocol settings
Backup
- Published backup images also for arm64
- Updated the default backup image to
v0.5.1, based ondebian trixie - Improved backup creation with atomic moves and locks to prevent overlapping operations
- Fixed duplicate backup/restore execution and backup-retention issues
- Improved error handling and stdout/stderr logging
- Added support for running backup scripts with arbitrary user IDs for openshift compatibility
CI / Charts
- Improved Helm defaults, image pull policy handling, and watch-namespace configuration
- Updated kubernetes dependencies, and Operator SDK
- Improved Nix development tooling, integration tests, and pre-commit checks
Before upgrading: back up Jenkins data and review the updated CRD and chart values, backup temporary files use the backup volume, so ensure it has enough free space
Full list of PRs
- fix(test): bats + chore(blog): add 0.8.1 release note by @brokenpip3 in #1033
- build(deps): bump the actions group across 1 directory with 2 updates by @dependabot[bot] in #1038
- Fix broken links on Jenkins API type docs by @BenjaminHerbert in #1067
- chore: plugins and lts version october update by @brokenpip3 in #1070
- fix(master): pass lifecycle configuration to master container by @DionJones615 in #1062
- fix(bats-tests): lifecycle hook injection test failing by @xmbhasin in #1095
- Update to go 1.22 and operator-sdk 1.35 (2025) by @xmbhasin in #1094
- chore: pin github actions, update and freeze pre-commit hooks, update nix flake by @brokenpip3 in #1097
- fix(backup): exec of backup binaries can be executed by random id (for ocp compatibility) by @brokenpip3 in #1099
- build(deps): bump the actions group across 1 directory with 5 updates by @dependabot[bot] in #1098
- build(deps-dev): bump the npm group across 1 directory with 3 updates by @dependabot[bot] in #1100
- chore: bump version to 2.492.2-lts and update helm chart readme by @brokenpip3 in #1101
- feat: add matrix tests for bats and replace the old devoptics plugin in tests by @brokenpip3 in #1102
- chore: bump jenkins and golang.org/x/crypto by @brokenpip3 in #1104
- chore: prepare release v0.9.0-beta1 by @brokenpip3 in #1105
- Auto-updated Kubernetes Manifests by @github-actions[bot] in #1106
- Release 0.9.0-beta1 Helm Chart by @github-actions[bot] in #1107
- Auto-updated Kubernetes Manifests by @github-actions[bot] in #1108
- Add option to skip install of plugins by @LEDfan in #1065
- Auto-updated Kubernetes Manifests by @github-actions[bot] in #1112
- docs: improve by @BenjaminHerbert in #1121
- fix(backup): Add error handling and logging backup and restore scripts by @BenjaminHerbert in #1120
- feat: automatic update of jenkins lts version and base plugins by @brokenpip3 in #1134
- chore: update Jenkins lts version to 2.516.3 by @github-actions[bot] in #1135
- docs: remove duplicated 'image' key by @pyatizbyantsevia in #1133
- Removes disabling insecure protocols by @fuero in #1129
- chore: update Jenkins lts version to 2.528.1 by @github-actions[bot] in #1137
- chore: update Jenkins lts version to 2.528.2 by @github-actions[bot] in #1142
- chore: update Jenkins lts version to 2.528.3 by @github-actions[bot] in #1147
- build(deps): bump the actions group across 1 directory with 9 updates by @dependabot[bot] in #1144
- prepare release v0.9.0 beta2 by @brokenpip3 in #1149
- Auto-updated Kubernetes Manifests by @github-actions[bot] in #1150
- Release 0.9.0-beta2 Helm Chart by @github-actions[bot] in #1152
- chore: update Jenkins lts version to 2.541.1 by @github-actions[bot] in #1158
- fix: retrieve plugin.json.gzip from reports.jenkins.io instead of ci.jenkins.io by @lemeurherve in #1163
- chore: update Jenkins lts version to 2.541.2 by @github-actions[bot] in #1166
- chore: update Jenkins lts version to 2.580.1 and fix seedjob jdk by @github-actions[bot] in #1191
- Auto-updated Kubernetes Manifests by @github-actions[bot] in #1195
- fix(controller): watch ConfigMaps instead of Secrets twice by @Mohamednourr in #1194
- first step of go 1.26 migration by @brokenpip3 in #1196
- update to go 1.26 part 2: update all the golang dependencies, enhance e2e speed/performance and use
/healthin probes by @brokenpip3 in #1197 - build(deps): bump the golang group across 1 directory with 2 updates by @dependabot[bot] in #1198
- build(deps): bump the actions group with 11 updates by @dependabot[bot] in #1182
- use update center json for plugin sec validation by @brokenpip3 in #1199
- build(deps): bump the actions group with 8 updates by @dependabot[bot] in #1201
- remove gomod2nix and use directly buildGoModule by @brokenpip3 in #1202
- repo cleanup by @brokenpip3 in #1203
- fix(backup/pvc): publish backup-pvc for linux/amd64 and linux/arm64 by @PawanTheGod in #1186
- build(deps-dev): bump the npm group across 1 directory with 3 updates by @dependabot[bot] in #1189
- bump to 0.9.0 by @brokenpip3 in #1204
- Release 0.9.0 Helm Chart by @github-actions[bot] in #1205
New Contributors
- @BenjaminHerbert made their first contribution in #1067
- @xmbhasin made their first contribution in #1095
- @LEDfan made their first contribution in #1065
- @fuero made their first contribution in #1129
- @Mohamednourr made their first contribution in #1194
- @PawanTheGod made their first contribution in #1186
Full Changelog: v0.8.1...v0.9.0