Releases: woodpecker-ci/woodpecker
3.14.0-rc.0
3.14.0-rc.0 - 2026-04-01
❤️ Thanks to all contributors! ❤️
@6543, @CrimsonFez, @LUKIEYF, @MartinSchmidt, @Pnkcaht, @Sim-hu, @TumbleOwlee, @api2062, @brainbaking, @cliffmccarthy, @confusedsushi, @dccdis, @hhamalai, @hnb2, @mehrdadbn9, @mofr93, @myers, @myselfghost, @paulovitorbal, @qwerty287, @samoli, @savv, @stardothosting
🔒 Security
- Send 404 if logs are not allowed to access [#6349]
- Prevent registering as arbitrary agents with system token [#6283]
- Update
fast-xml-parser[#6258] - Update
dompurifyandsvgo[#6198] - Update edwards25519 [#6143]
- chore(deps): update dependency lodash to v4.17.23 [security] [#5997]
✨ Features
- Support one-shot agent execution mode [#6150]
- Add external secret extension implementation [#6252]
- make it possible to disable the isolated home for local agents [#6251]
- Add Container Registry credential extension [#5993]
- Support exclusive config extensions [#5978]
📈 Enhancement
- Add netrc option for config/registry extension [#6333]
- Migrate to moby [#6357]
- Deprecate commit avatar envs [#6356]
- Refactor server/pubsub into interface [#6318]
- Separate cron field [#6346]
- Refactor pipeline runtime code [#6166]
- Show Woodpecker version on pipeline details [#6316]
- Unify import aliases [#6328]
- Improve linter warning when step has no when block [#6314]
- Improve error message when no workflows for manual were found [#6313]
- Server return conflict status when stale repo causes duplicate insert [#6276]
- Show global/org registries in org/repo registries tab [#6291]
- Forward skipped step state once it's known [#6295]
- Only add compatibility environment variables for drone-ci to plugins [#6271]
- Creating new engine runtime now requires backend as argument [#6268]
- Compare admins case-insensitively [#6261]
- Allow to cancel on failure [#6158]
- Refactor so storage detects if Insert fails because of unique constraint [#6259]
- Add configure the max number of lines loaded in log webview [#6250]
- Add "Load more" pagination to pipeline list [#6200]
- refactor: pipeline runtime add description and prevent race [#6167]
- refactor: use upstream slices.Concat and remove utils.MergeSlices [#6185]
- Add enhanced function for error message handling in http request for configuration fetching [#5712]
- Remove fixed badge width in UI [#6157]
- Refactor pipeline engine [#6073]
- Added cancel info so one can see why it was cancelled [#6072]
- Document required forge methods [#6049]
- Dynamic log following [#6036]
- Per-Workflow and Per-Workflow-Step badge generation [#5977]
- Render MD in pipeline titles [#5999]
- Simplify and Fix server task queue [#6017]
- fix(agent): workflow runner use shutdown context [#6021]
- Update Architecture: move
pipeline/rpc=>rpc&server/{grpc => rpc}[#6012] - Implement retry logic in HTTP Send method [#5857]
- CLI: Allow single output template [#5882]
- Improve service syntax related docs and tests nits [#5991]
- Remove deactivated secrets type from container defintion [#5983]
🐛 Bug Fixes
- Fix workflow beeing skipped and marked as failed when agent starts before server [#6361]
- Only redirect after login [#6348]
- Set workflow services stuck in running state to finished [#6337]
- Fix bitbucket api deprecations [#6324]
- Fix workflow serialize to omit skip_clone if false [#6319]
- Fix build deb rpm packages [#6309]
- Enable crons if created via CLI [#6228]
- Fix message on gitlab tag event [#6196]
- fix(bbdc): resolve annotated tag object SHA to commit SHA before posting build status [#6203]
- Prevent leaking goroutines on cancelled steps [#6186]
- Independently evaluate status filter and support on workflows [#6183]
- Fix status merging with skipped pipelines [#6176]
- Update pipeline config schema [#6156]
- Fix OAuth token refresh race condition with singleflight [#6153]
- Fully merge statuses [#6119]
- Only set tag env on tags [#6142]
- Fix bitbucket email [#6102]
- Detached or service steps report back too [#6039]
- Don't propagate workflow error from agent back to agent [#6056]
- Fix pipeline cancellation status handling and step state synchronization [#6011]
- Add retry logic for CreatePipeline with backoff [#6067]
- Fix OAuth token refresh in webhook handling for Bitbucket and GitHub [#6059]
- Refresh token before forge calls [#6035]
- Local backend: cleanup generated script for cmd.exe shell [#6029]
- Local backend: setup clone step respects context [#6030]
- Fix: Agent now gracefully handles running containers when killed [#6018]
- Local backend: handle canceled steps case [#6008]
🧪 Tests
- Extend workflow integration tests [#6272]
- Add registry service tests [#6330]
- Add workflow integration test [#6270]
- Increase timeout for migration tests [#6206]
- Ignore fixtures for coverage [#6197]
- Use tabs for indentation in embedded JSON [#6103]
- Add some tests [#6076]
- Ignore mocks for coverage [#6074]
📚 Documentation
3.13.0
3.13.0 - 2026-01-14
❤️ Thanks to all contributors! ❤️
@6543, @Javex, @KhalidAlansary, @MartinSchmidt, @abhiyerra, @anbraten, @bentasker, @gjuoun, @gsaslis, @henkka, @jolheiser, @mogsie, @qwerty287, @sloonz, @sugar700, @tuxmainy, @xoxys
🔒 Security
- Update quic-go/qpack & quic-go/quic-go [#5885]
- fix: updateRepoPermissions to cleanup old permissions [#5790]
✨ Features
- Add cli contexts [#5929]
📈 Enhancement
- Allow to add a note to secrets [#5898]
- Log addon errors [#5923]
- Custom vars for crons [#5897]
- Allow to disable a cron [#5896]
- Add background to status icons [#5880]
- Fix dead page and cleanup router [#5519]
- feat(kubernetes): add support for pod affinity and anti-affinity configurations [#5854]
- Public key endpoint [#5860]
- Allow untrusted repo to still drop network for steps [#5820]
- Add support for headless Kubernetes services [#5764]
- server/forge: rename var to be more descriptive and test value [#5806]
- add events query parameter to badge url [#5728]
- Extract default step-builder options into server [#5785]
- feat: include CI_COMMIT_TAG env in deployment events [#5773]
🐛 Bug Fixes
- Use repo-user for api call of cron [#5967]
- Close opened file on LogFind [#5961]
- Delete/Deactivate repo ignores missing repo at forge [#5953]
- Correctly update repo permissions [#5928]
- Revert repos pagination for GH and BB [#5924]
- fix: send correct argument to rpc call for name/url [#5922]
- fix: secrets-file flag [#5909]
- Do not run crons for disabled repos [#5884]
- Show warning if there is no workflow to run [#5883]
- fix(datastore): fix pagination bug in workflowsDelete skipping records [#5881]
- Remove rounded corners in fullscreen log view [#5879]
- Fix some ListItems and Queue view background in dark mode [#5878]
- Make disabled checkboxes match overall style [#5869]
- Fix CLI trusted updating [#5861]
- Send configuration as part of the request for external configuration [#5831]
- fix(bitbucketdatacenter): fix CI_COMMIT_PULL_REQUEST [#5769]
- On set/get of repo make sure forge_id is set and on fetch respected [#5717]
- Improve repair endpoints [#5767]
📚 Documentation
- chore(deps): lock file maintenance [#5963]
- chore(deps): update dependency @types/node to v24.10.7 [#5954]
- chore(deps): update dependency @types/react to v19.2.8 [#5941]
- chore(deps): update dependency @types/node to v24.10.6 [#5935]
- chore(deps): update dependency @types/node to v24.10.5 [#5933]
- fix(docs): update woodpecker-cli secret command [#5927]
- Update Docs and nix-flake to reflect current dev environment [#5926]
- Update Helm chart installation command [#5872]
- docs: add BunnyCDN Cache Purge Plugin [#5906]
- chore(deps): update dependency isomorphic-dompurify to v2.35.0 [#5904]
- chore(deps): update dependency @types/node to v24.10.4 [#5862]
- chore(deps): update docs npm deps non-major [#5855]
- chore(deps): update docs npm deps non-major [#5829]
- Update link for Codeberg Pages Deploy plugin [#5811]
- chore(deps): update dependency yaml to v2.8.2 [#5803]
- chore(deps): update dependency prettier to v3.7.3 [#5799]
- chore(deps): update docs npm deps non-major [#5791]
- chore(deps): update dependency isomorphic-dompurify to v2.33.0 [#5778]
- chore(deps): update docs npm deps non-major [#5774]
📦️ Dependency
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v1.14.0 [#5969]
- fix(deps): update golang-packages [#5966]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v1.12.0 [#5962]
- chore(deps): update dependency simple-icons to v16.5.0 [#5957]
- fix(deps): update golang-packages [#5956]
- chore(deps): update dependency @types/node to v24.10.7 [#5955]
- fix(deps): update module github.com/google/go-github/v80 to v81 [#5946]
- chore(deps): update woodpeckerci/plugin-git docker tag to v2.8.0 [#5945]
- chore(deps): update golangci/golangci-lint docker tag to v2.8.0 [#5944]
- chore(deps): update docker.io/woodpeckerci/plugin-codecov docker tag to v2.2.0 [#5943]
- chore(deps): update web npm deps non-major [#5942]
- chore(deps): update docker.io/woodpeckerci/plugin-surge-preview docker tag to v1.4.2 [#5938]
- chore(deps): update docker.io/woodpeckerci/plugin-ready-release-go docker tag to v3.4.1 [#5937]
- chore(deps): update docker.io/woodpeckerci/plugin-docker-buildx docker tag to v6.0.4 [#5936]
- chore(deps): update docker.io/woodpeckerci/plugin-editorconfig-checker docker tag to v0.3.3 [#5934]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v1.11.0 [#5919]
- chore(deps): lock file maintenance [#5916]
- chore(deps): update dependency simple-icons to v16.4.0 [#5915]
- fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.33 [#5910]
- chore(deps): lock file maintenance [#5913]
- chore(deps): lock file maintenance [#5907]
- chore(deps): update dependency simple-icons to v16.3.0 [#5905]
- chore(deps): update web npm deps non-major [#5903]
- fix(deps): update module google.golang.org/grpc to v1.78.0 [#5901]
- chore(deps): lock file maintenance [#5895]
- fix(deps): update module github.com/tink-crypto/tink-go/v2 to v2.6.0 [#5894]
- chore(deps): update dependency @antfu/eslint-config to v6.7.2 [#5893]
- chore(deps): update dependency vue-i18n to v11.2.7 [#5892]
- ch...
3.12.0
3.12.0 - 2025-11-18
❤️ Thanks to all contributors! ❤️
@1001Josias, @6543, @JohnWalkerx, @LUKIEYF, @MeurillonGuillaume, @Utkarsh9571, @Xuxe, @anbraten, @chamburr, @henkka, @hhamalai, @marcusramberg, @pixelateapotato, @qwerty287, @yyewolf
🔒 Security
- chore(deps): update dependency vite to v7.1.11 [security] [#5660]
📈 Enhancement
- feat(bitbucketserver): get changes from all commits in a single push event [#5748]
- Support for file changes in Bitbucket Cloud [#5730]
- feat(agent): log agent version on startup [#5724]
- Add Header User-Agent for request client [#5664]
- Switch from BoolTrue to optional.Option[bool] [#5693]
- Enhancement log stream reading and writing and handle new lines and max-size [#5683]
- Make local backend work with
cli exec[#4102] - Make pipeline/frontend/yaml/* types able to be marshaled back to YAML [#1835]
- Add log service addon [#5507]
- Support multiple users with same login name but different forges [#5612]
- Release linux/riscv64 binaries [#5663]
🐛 Bug Fixes
- Fix crash when a HTTP/2 client goes away on SSE streams [#5738]
- Add created icon [#5747]
- Fix badge label padding [#5725]
- Fix workflow path filter for GitHub [#5721]
- Fix secret on new forge [#5715]
- Revert to forge internal implementation of pagination for
Repos()andTeams()for gitea/forgejo [#5679] - fix: panic due to an invalid memory address when injectSecretRecursive encounters nil values [#5699]
- Fix so agents don't need to specify a required label twice [#5684]
- Fix nil pointer dereference during GitHub Hook parsing [#5681]
- Allow username to be used with multiple forges [#5676]
- Create GitHub forge via WebUI fails to be loaded [#5675]
- Bitbucket: ignore push hooks with no changes propperly [#5672]
- fix(bitbucketdatacenter): prevent adding new repos with empty branch [#5669]
- cli: show description of default value for
--backend-local-temp-dirinstead of value [#5656]
📚 Documentation
- Add docs for 3.12 [#5763]
- chore(deps): lock file maintenance [#5760]
- chore(deps): update docs npm deps non-major [#5752]
- chore(deps): update docs npm deps non-major [#5733]
- Fix typo in about.md [#5716]
- docs: add warning about 27-axis matrix limit [#5700]
- chore(deps): update dependency isomorphic-dompurify to v2.31.0 [#5709]
- chore(deps): update dependency @types/node to v24 [#5706]
- chore(deps): update docs npm deps non-major [#5701]
- Update path to plugins moved to woodpecker-community [#5698]
- chore(deps): update docs npm deps non-major [#5688]
- docs(plugins): add github-app-token and github-comment plugins to repository [#5671]
📦️ Dependency
- fix(deps): update module github.com/urfave/cli/v3 to v3.6.1 [#5759]
- chore(deps): update dependency vue-tsc to v3.1.4 [#5758]
- fix(deps): update module github.com/google/go-github/v78 to v79 [#5757]
- fix(deps): update module github.com/docker/cli to v29 [#5756]
- chore(deps): update postgres docker tag to v18.1 [#5755]
- chore(deps): update web npm deps non-major [#5754]
- chore(deps): update pre-commit hook golangci/golangci-lint to v2.6.2 [#5753]
- chore(deps): update dependency golangci/golangci-lint to v2.6.2 [#5751]
- fix(deps): update golang-packages [#5746]
- fix(deps): update golang-packages [#5745]
- fix(deps): update module github.com/urfave/cli/v3 to v3.6.0 [#5743]
- chore(deps): lock file maintenance [#5744]
- fix(deps): update golang-packages [#5741]
- chore(deps): update dependency simple-icons to v15.20.0 [#5742]
- fix(deps): update module github.com/google/go-github/v77 to v78 [#5739]
- fix(deps): update module github.com/google/go-github/v76 to v77 [#5737]
- fix(deps): update dependency marked to v17 [#5736]
- chore(deps): update web npm deps non-major [#5735]
- chore(deps): update pre-commit hook golangci/golangci-lint to v2.6.1 [#5734]
- chore(deps): update dependency golangci/golangci-lint to v2.6.1 [#5732]
- chore(deps): update dependency golang to v1.25.4 [#5731]
- fix(deps): update golang-packages to v28.5.2+incompatible [#5723]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.159.0 [#5720]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.158.0 [#5718]
- chore(deps): lock file maintenance [#5711]
- chore(deps): update dependency golangci/golangci-lint to v2.6.0 [#5702]
- chore(deps): update web npm deps non-major [#5705]
- fix(deps): update module github.com/yaronf/httpsign to v0.4.1 [#5708]
- chore(deps): update node.js to v24 [#5707]
- chore(deps): update pre-commit hook golangci/golangci-lint to v2.6.0 [#5704]
- chore(deps): update gitea/gitea docker tag to v1.25 [#5703]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.157.1 [#5697]
- chore(deps): lock file maintenance [#5695]
- chore(deps): update web npm deps non-major [#5694]
- fix(deps): update dependency @vueuse/core to v14 [#5692]
- chore(deps): update dependency vitest to v4 [#5691]
- chore(deps): update docker.io/mysql docker tag to v9.5.0 [#5690]
- chore(deps): update web npm deps non-major [#5689]
- chore(deps): update dependency mvdan/gofumpt to v0.9.2 [#5687]
- fix(deps): update github.com/urfave/cli-docs/v3 digest to 72b87d1 [#5686]
- fix(deps): update module code.gitea.io/sdk/gitea to v0.22.1 [#5682]
- fix(deps): update module github.com/urfave/cli/v3 to v3.5.0 [#5668]
- fix(deps): update module xorm.io/xorm to v1.3.11 [[#56...
3.11.0
3.11.0 - 2025-10-19
❤️ Thanks to all contributors! ❤️
@6543, @Gusted, @MartinSchmidt, @anbraten, @eikemeier, @henkka, @joariasl, @marcusramberg, @qwerty287, @xoxys
✨ Features
- Allow to configure a config extension per repo [#3349]
📈 Enhancement
- Improve log.CopyByLine to be more robust [#5641]
- Add pagination for
Repos()andTeams()in Forge interface [#5638] - Modernize a couple of loops, fix incorrect function docs [#5637]
- Allow agents to require labels on workflows [#5633]
- Add repo filter options to GetRepos api [#5631]
- Add branch filter to cli pipeline purge [#5616]
- Switch to GitHub REST API to load changed files [#5618]
- Enhance Bitbucket Datacenter build status reporting [#5611]
- List all repos in repository view if user is admin [#5595]
- Add disabled badge to agents [#5593]
- Improve error message when agent fails to connect [#5587]
- local backend: test shells if unknown [#5570]
🐛 Bug Fixes
- Fix missing background in pipeline deploy popup [#5630]
- Support matrix environ badges only with no key-values [#5578]
- local backend: fix steps having logs form other steps [#5582]
- local backend: fix windows cmd.exe command escaping [#5569]
- Bump buildx and limit max parallel builds [#5579]
- Don't split language if not required [#5576]
📚 Documentation
- chore(deps): update docs npm deps non-major [#5649]
- Document Forge interface precisely [#5636]
- chore(deps): update dependency @types/node to v22.18.10 [#5624]
- chore(deps): update docs npm deps non-major [#5622]
- chore(deps): lock file maintenance [#5607]
- chore(deps): update dependency @tsconfig/docusaurus to v2.0.4 [#5605]
- chore(deps): update docs npm deps non-major [#5600]
- Fix Kubernetes install docs to use OCI artifacts instead of deprecated helm chart [#5596]
- Document pipeline backend engine interface precisely [#5583]
📦️ Dependency
- chore(deps): update dependency simple-icons to v15.17.0 [#5655]
- chore(deps): update dependency jsdom to v27.0.1 [#5653]
- fix(deps): update module github.com/google/go-github/v75 to v76 [#5652]
- chore(deps): update dependency @antfu/eslint-config to v6 [#5651]
- chore(deps): update web npm deps non-major [#5650]
- chore(deps): update dependency golang to v1.25.3 [#5648]
- fix(deps): update module github.com/yaronf/httpsign to v0.3.3 [#5647]
- fix(deps): update module github.com/charmbracelet/huh to v0.8.0 [#5643]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.157.0 [#5640]
- chore(deps): lock file maintenance [#5634]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.156.0 [#5626]
- chore(deps): lock file maintenance [#5627]
- chore(deps): update dependency @types/node to v22.18.10 [#5625]
- chore(deps): update web npm deps non-major [#5623]
- chore(deps): update docker.io/woodpeckerci/plugin-trivy docker tag to v1.4.3 [#5621]
- chore(deps): update dependency golang to v1.25.2 [#5620]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.155.0 [#5617]
- fix(deps): update golang-packages [#5614]
- fix(deps): update golang-packages [#5610]
- chore(deps): update dependency simple-icons to v15.16.1 [#5606]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.151.0 [#5604]
- chore(deps): update woodpeckerci/plugin-git docker tag to v2.7.0 [#5603]
- chore(deps): update web npm deps non-major [#5602]
- chore(deps): update woodpeckerci/plugin-release docker tag to v0.2.6 [#5601]
- chore(deps): update docker.io/woodpeckerci/plugin-surge-preview docker tag to v1.4.1 [#5598]
- chore(deps): update docker.io/woodpeckerci/plugin-trivy docker tag to v1.4.2 [#5599]
- fix(deps): update golang-packages [#5594]
- chore(deps): update docker.io/woodpeckerci/plugin-editorconfig-checker docker tag to v0.3.2 [#5577]
- chore(deps): lock file maintenance [#5566]
Misc
3.11.0-rc.0
3.11.0-rc.0 - 2025-10-02
❤️ Thanks to all contributors! ❤️
@6543, @anbraten, @marcusramberg, @qwerty287, @xoxys
✨ Features
- Allow to configure a config extension per repo [#3349]
📈 Enhancement
- Improve error message when agent fails to connect [#5587]
- local backend: test shells if unknown [#5570]
🐛 Bug Fixes
- Support matrix environ badges only with no key-values [#5578]
- local backend: fix steps having logs form other steps [#5582]
- local backend: fix windows cmd.exe command escaping [#5569]
- Bump buildx and limit max parallel builds [#5579]
- Don't split language if not required [#5576]
📚 Documentation
- Document pipeline backend engine interface precisely [#5583]
📦️ Dependency
- chore(deps): update docker.io/woodpeckerci/plugin-editorconfig-checker docker tag to v0.3.2 [#5577]
- chore(deps): lock file maintenance [#5566]
Misc
- Announce only stable releases [#5580]
3.10.0
3.10.0 - 2025-09-28
❤️ Thanks to all contributors! ❤️
@6543, @Gusted, @da-Kai, @henkka, @hhamalai, @j04n-f, @klausi85, @marcusramberg, @qwerty287, @xoxys, @zhedazijingang
🔒 Security
- chore(deps): update dependency vite to v7.1.5 [security] [#5495]
✨ Features
- New event pull request metadata [#5214]
- Add task UUID label to Kubernetes pods [#5544]
- feat: expose listing available organizations via woodpecker-go / CLI [#5481]
- Add milestone to metadata [#5174]
📈 Enhancement
- Trace errors during SetupWorkflow, make service step setup errors visible to user [#5559]
- Enable completion support for cli [#5552]
- Add
StepFinishedto log service [#5530] - Migrate to mockery v3 [#5547]
- Show human readable information in queue info [#5516]
- feat(bitbucketdatacenter): Implement missing OrgMembership method [#5476]
- Cleanup columns in forges table [#5517]
- Allow to get secrets from file [#5509]
- refactor: use slices.Contains to simplify [#5468]
- Hide unsupported forge options [#5465]
- Collapse changed files in file-tree [#5451]
- Simplify queue interface [#5449]
🐛 Bug Fixes
- Support for pull requests opened events from forked repositories [#5536]
- Add back-off retry for pod log streaming to kubernetes backend [#5550]
- Fix dir not found handling [#5533]
- Show readable error [#5501]
- fix: allow spaces in cli string slices [#5494]
- fix: changed schema definition for "backend_options.kubernetes.tolerations" to accept an array of objects [#5478]
- Print execution errors [#5448]
📚 Documentation
- chore(deps): update dependency @types/react to v19.1.15 [#5562]
- chore(deps): update docs npm deps non-major [#5554]
- Add MCP tool to awesome docs [#5546]
- chore(deps): update docs npm deps non-major [#5527]
- chore(deps): update docs npm deps non-major [#5512]
- Add a blog post [#5510]
- chore(deps): update docs npm deps non-major [#5503]
- docs: add SonarQube to plugins list [#5502]
- Add Bitbucket key limit known issue [#5497]
- chore(deps): update dependency @types/node to v22.18.1 [#5484]
- chore(deps): update docs npm deps non-major [#5472]
- Add ui proxy docs [#5459]
- chore(deps): update dependency @types/react to v19.1.11 [#5454]
- Add easypanel community package [#5446]
- Add some blogs and videos [#5445]
📦️ Dependency
- chore(deps): update dependency vue-tsc to v3.1.0 [#5563]
- fix(deps): update golang-packages [#5561]
- chore(deps): update postgres docker tag to v18 [#5557]
- chore(deps): update docker.io/postgres docker tag to v18 [#5556]
- chore(deps): update web npm deps non-major [#5553]
- chore(deps): update pre-commit hook hadolint/hadolint to v2.14.0 [#5555]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.148.0 [#5548]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.147.1 [#5541]
- chore(deps): update pre-commit hook golangci/golangci-lint to v2.5.0 [#5535]
- fix(deps): update dependency simple-icons to v15.16.0 [#5532]
- fix(deps): update module github.com/gin-gonic/gin to v1.11.0 [#5531]
- fix(deps): update web npm deps non-major [#5528]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.146.0 [#5524]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.145.0 [#5523]
- chore(deps): lock file maintenance [#5514]
- fix(deps): update dependency marked to v16.3.0 [#5513]
- fix(deps): update dependency simple-icons to v15.15.0 [#5508]
- chore(deps): update dependency jsdom to v27 [#5506]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.144.1 [#5505]
- chore(deps): update web npm deps non-major [#5504]
- fix(deps): update golang-packages [#5499]
- fix(deps): update golang-packages [#5496]
- fix(deps): update golang-packages [#5493]
- chore(deps): lock file maintenance [#5492]
- fix(deps): update golang-packages [#5491]
- fix(deps): update dependency simple-icons to v15.14.0 [#5490]
- fix(deps): update module github.com/prometheus/client_golang to v1.23.2 [#5489]
- chore(deps): update dependency @intlify/unplugin-vue-i18n to v11 [#5487]
- fix(deps): update web npm deps non-major [#5486]
- chore(deps): update dependency golang to v1.25.1 [#5485]
- fix(deps): update module github.com/prometheus/client_golang to v1.23.1 [#5483]
- fix(deps): update golang-packages to v28.4.0+incompatible [#5480]
- fix(deps): update golang-packages [#5479]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.142.5 [#5475]
- fix(deps): update web npm deps non-major [#5473]
- fix(deps): update golang-packages [#5467]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.142.2 [#5466]
- fix(deps): update golang-packages [#5463]
- chore(deps): lock file maintenance [#5458]
- fix(deps): update golang-packages [#5457]
- fix(deps): update dependency simple-icons to v15.12.0 [#5456]
- fix(deps): update web npm deps non-major [#5455]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.142.0 [#5452]
- fix(deps): update golang-packages [#5442]
Misc
3.9.0
3.9.0 - 2025-08-20
❤️ Thanks to all contributors! ❤️
@6543, @anbraten, @clintonsteiner, @henkka, @hhamalai, @hrfee, @ivaltryek, @lilioid, @qwerty287, @scottshotgg, @wgroeneveld, @xoxys
🔒 Security
- Remediate webpack vulnerability in webpack-dev-server [#5264]
- fix(deps): update module github.com/docker/docker to v28.3.3+incompatible [security] [#5373]
- Prevent secrets from leaking to Kubernetes API Server logs [#5305]
✨ Features
- feat(k8s): Kubernetes namespace per organization [#5309]
- Add and edit additional forges in UI [#5328]
📈 Enhancement
- Rename oauth variables [#5435]
- Add
fsGroupChangePolicyoption to Kubernetes backend [#5416] - Rework background colors for light/dark theme [#5411]
- Allow to set default approval mode [#5406]
- Add Agent-level Tolerations setting [#5266]
- feat(k8s): k8s priority class name config [#5391]
- Count reopening an pull as opening an pull [#5370]
- Add pipeline log fullscreen [#5377]
- Show changed files as file-tree [#5379]
- Replace header bg with border [#5380]
- Prevent body jump when scrollbar appears [#5381]
- Show oauth host and favicon on login [#5376]
- Support secrets in
cli exec[#5374] - Simplify backend types [#5299]
🐛 Bug Fixes
- Handle empty url and oauth_host on login page [#5434]
- Fix background color of pipeline step list [#5431]
- Fix bitbucket status sending [#5372]
- Correct OpenApi LookupOrg router path [#5351]
- fix(agent): handle context cancellation [#5323]
- woodpecker-go/types: fix time-related struct field tags [#5343]
- Reload repo on hook [#5324]
- Fix loading icons and add missing loading indicators [#5329]
- Use correct parameter for forge selection on login [#5325]
📚 Documentation
- chore(deps): lock file maintenance [#5430]
- chore(deps): update docs npm deps non-major [#5420]
- Remove X link [#5412]
- fix(deps): update docs npm deps non-major [#5395]
- fix(deps): update docs npm deps non-major [#5384]
- Remove references of kaniko [#5371]
- Add ASCII JUnit Test Report plugin [#5355]
- fix(deps): update docs npm deps non-major [#5340]
- chore(deps): update docs npm deps non-major [#5316]
📦️ Dependency
- fix(deps): update module google.golang.org/grpc to v1.75.0 [#5437]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.141.1 [#5432]
- chore(deps): update golang-lang [#5423]
- chore(deps): update docker.io/golang docker tag to v1.25 [#5422]
- fix(deps): update dependency simple-icons to v15.11.0 [#5427]
- chore(deps): update pre-commit hook golangci/golangci-lint to v2.4.0 [#5425]
- chore(deps): update postgres docker tag to v17.6 [#5424]
- fix(deps): update web npm deps non-major [#5421]
- fix(deps): update golang-packages [#5415]
- fix(deps): update golang-packages [#5413]
- fix(deps): update golang-packages [#5407]
- chore(deps): lock file maintenance [#5404]
- chore(deps): update pre-commit hook pre-commit/pre-commit-hooks to v6 [#5399]
- fix(deps): update dependency simple-icons to v15.10.0 [#5400]
- fix(deps): update web npm deps non-major [#5396]
- chore(deps): update docker.io/woodpeckerci/plugin-ready-release-go docker tag to v3.4.0 [#5394]
- chore(deps): update dependency golang to v1.24.6 [#5393]
- fix(deps): update golang-packages [#5392]
- chore(deps): lock file maintenance [#5388]
- chore(deps): update pre-commit hook golangci/golangci-lint to v2.3.1 [#5386]
- fix(deps): update web npm deps non-major [#5385]
- fix(deps): update module github.com/prometheus/client_golang to v1.23.0 [#5382]
- fix(deps): update golang-packages [#5375]
- chore(deps): lock file maintenance [#5369]
- fix(deps): update module github.com/bmatcuk/doublestar/v4 to v4.9.1 [#5365]
- fix(deps): update module github.com/google/go-github/v73 to v74 [#5363]
- chore(deps): update dependency @antfu/eslint-config to v5 [#5362]
- chore(deps): update web npm deps non-major [#5361]
- chore(deps): update docker.io/mysql docker tag to v9.4.0 [#5359]
- fix(deps): update golang-packages [#5356]
- 📦 update web dependencies [#5352]
- chore(config): migrate renovate config [#5350]
- chore(deps): lock file maintenance [#5348]
- fix(deps): update golang-packages [#5347]
- fix(deps): update golang-packages [#5336]
- chore(deps): lock file maintenance [#5344]
- fix(deps): update web npm deps non-major [#5341]
- fix(deps): update dependency vue-i18n to v11.1.10 [security] [#5335]
- fix(deps): update golang-packages [#5333]
- chore(deps): lock file maintenance [#5320]
- fix(deps): update web npm deps non-major [#5317]
- fix(deps): update module github.com/bmatcuk/doublestar/v4 to v4.9.0 [#5318]
- chore(deps): update dependency golang to v1.24.5 [#5314]
- fix(deps): update golang-packages [#5313]
- fix(deps): update golang-packages [#5311]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.134.0 [#5308]
- chore(deps): lock file maintenance [#5307]
Misc
3.8.0
3.8.0 - 2025-07-05
❤️ Thanks to all contributors! ❤️
@OCram85, @henkka, @johanvdw, @mmatous, @qwerty287
📚 Documentation
- chore(deps): lock file maintenance [#5302]
- chore(deps): update dependency @types/node to v22.15.34 [#5280]
- chore(deps): update dependency @types/node to v22.15.33 [#5277]
- fix(deps): update docs npm deps non-major [#5267]
- add Peckify plugin [#5260]
- fix(deps): update docs npm deps non-major [#5252]
- fix(deps): update docs npm deps non-major [#5226]
🐛 Bug Fixes
- Fix gitlab MR fetching [#5287]
- Use pipeline number in title [#5275]
- Adjust documentation urls [#5273]
- Fix doc links in agent settings [#5251]
📈 Enhancement
- Add pipeline author and avatar env vars [#5227]
- Support for pull request file changes in bitbucketdatacenter [#5205]
📦️ Dependency
- chore(deps): update dependency vue-tsc to v3 [#5301]
- chore(deps): update web npm deps non-major [#5300]
- chore(deps): update docker.io/woodpeckerci/plugin-ready-release-go docker tag to v3.3.0 [#5298]
- chore(deps): update docker.io/woodpeckerci/plugin-trivy docker tag to v1.4.1 [#5297]
- chore(deps): update docker.io/woodpeckerci/plugin-docker-buildx docker tag to v6.0.2 [#5295]
- chore(deps): update docker.io/woodpeckerci/plugin-editorconfig-checker docker tag to v0.3.1 [#5296]
- chore(deps): lock file maintenance [#5289]
- fix(deps): update web npm deps non-major [#5281]
- fix(deps): update golang-packages [#5291]
- chore(deps): update pre-commit hook golangci/golangci-lint to v2.2.1 [#5288]
- fix(deps): update dependency marked to v16 [#5284]
- chore(deps): update dependency @vitejs/plugin-vue to v6 [#5282]
- chore(deps): update pre-commit hook golangci/golangci-lint to v2.2.0 [#5286]
- chore(deps): update dependency vite to v7 [#5283]
- fix(deps): update module github.com/google/go-github/v72 to v73 [#5285]
- chore(deps): update pre-commit hook rbubley/mirrors-prettier to v3.6.2 [#5278]
- fix(deps): update golang-packages to v28.3.0+incompatible [#5274]
- chore(deps): lock file maintenance [#5271]
- fix(deps): update dependency vue-i18n to v11.1.7 [#5270]
- fix(deps): update dependency simple-icons to v15.3.0 [#5269]
- fix(deps): update web npm deps non-major [#5268]
- fix(deps): update golang-packages to v0.33.2 [#5265]
- fix(deps): update golang-packages [#5261]
- fix(deps): update module github.com/go-viper/mapstructure/v2 to v2.3.0 [#5259]
- chore(deps): lock file maintenance [#5257]
- fix(deps): update dependency simple-icons to v15.2.0 [#5256]
- fix(deps): update web npm deps non-major [#5254]
- chore(deps): update gitea/gitea docker tag to v1.24 [#5253]
- fix(deps): update golang-packages [#5250]
- chore(deps): lock file maintenance [#5233]
- fix(deps): update dependency simple-icons to v15.1.0 [#5246]
- fix(deps): update web npm deps non-major [#5244]
- fix(deps): update golang-packages [#5242]
- chore(deps): update dependency golang to v1.24.4 [#5241]
Misc
- Disable package name linting [#5294]
3.7.0
3.7.0 - 2025-06-06
❤️ Thanks to all contributors! ❤️
@6543, @Epsilon02, @Levy-Tal, @OCram85, @Spiffyk, @SuperSandro2000, @deltamualpha, @qwerty287, @rruzicic, @sebastinez, @xoxys
📚 Documentation
- update docs-link for todo checker [#5236]
- Add
sccacheplugin [#5234] - fix(deps): update dependency redocusaurus to v2.3.0 [#5203]
- chore(deps): update docs npm deps non-major [#5197]
- Add reference to woodpecker-community plugin org [#5186]
- fix(deps): update docs npm deps non-major [#5183]
- Move
gitea-packageplugin to codeberg [#5175] - add Portainer Service Update plugin [#5172]
- Split 'pull' option docs from 'image' docs [#5161]
- chore(deps): update docs npm deps non-major [#5164]
- Add Bluesky post plugin [#5156]
📈 Enhancement
- Move forge webhook fixtures into own files [#5216]
- Treat no available route in grpc as fatal error [#5192]
🐛 Bug Fixes
- Always collect metrics (reverts #4667) [#5213]
- fix(bitbucketDC): manual event has broken commit link [#5160]
- fix(bitbucketdc): build status gets incorrectly reported on multi workflow builds [#5178]
- fix(bitbucketdc): build status not reported on PR builds [#5162]
📦️ Dependency
- fix(deps): update golang-packages to v28.2.1+incompatible [#5217]
- fix(deps): update dependency simple-icons to v15 [#5232]
- chore(deps): update woodpeckerci/plugin-git docker tag to v2.6.5 [#5230]
- fix(deps): update web npm deps non-major [#5228]
- chore(deps): update docker.io/woodpeckerci/plugin-surge-preview docker tag to v1.4.0 [#5225]
- chore(deps): update docker.io/alpine docker tag to v3.22 [#5224]
- fix(deps): update golang-packages [#5209]
- chore(deps): lock file maintenance [#5204]
- fix(deps): update dependency simple-icons to v14.15.0 [#5202]
- fix(deps): update dependency vue-i18n to v11.1.4 [#5201]
- chore(deps): update docker.io/woodpeckerci/plugin-surge-preview docker tag to v1.3.6 [#5200]
- fix(deps): update web npm deps non-major [#5198]
- fix(deps): update module github.com/oklog/ulid/v2 to v2.1.1 [#5194]
- fix(deps): update module github.com/gin-gonic/gin to v1.10.1 [#5193]
- fix(deps): update module gitlab.com/gitlab-org/api/client-go to v0.129.0 [#5190]
- chore(deps): lock file maintenance [#5189]
- chore(deps): update pre-commit hook igorshubovych/markdownlint-cli to v0.45.0 [#5187]
- fix(deps): update dependency simple-icons to v14.14.0 [#5188]
- fix(deps): update web npm deps non-major [#5185]
- fix(deps): update golang-packages to v0.33.1 [#5184]
- fix(deps): update golang-packages [#5180]
- chore(deps): lock file maintenance [#5171]
- fix(deps): update module github.com/google/go-github/v71 to v72 [#5167]
- fix(deps): update dependency simple-icons to v14.13.0 [#5170]
- fix(deps): update module github.com/urfave/cli/v3 to v3.3.3 [#5169]
- fix(deps): update web npm deps non-major [#5166]
- chore(deps): update postgres docker tag to v17.5 [#5165]
- chore(deps): update dependency golang to v1.24.3 [#5163]
Misc
3.6.0
3.6.0 - 2025-05-07
❤️ Thanks to all contributors! ❤️
@Spiffyk, @SuperSandro2000, @gsaslis, @joshuachp, @lukashass, @maurerle, @pat-s, @qwerty287, @renich, @sp1thas, @xoxys
✨ Features
- Use docker go client directly [#5134]
📚 Documentation
- Simplify NixOS docs [#5120]
- chore(deps): lock file maintenance [#5150]
- plugins: Add SSH/SCP plugin [#4871]
- chore(deps): update dependency @types/node to v22.15.3 [#5142]
- chore(deps): lock file maintenance [#5136]
- Explain tasks [#5129]
- Mention named volumes [#5130]
- chore(deps): update docs npm deps non-major [#5128]
- Fix link to agent configuration in
v3.5docs [#5122] - Fix link to agent configuration in
nextdocs [#5119] - Move
plugin-s3to Codeberg [#5118] - Use slugified plugin urls in docs [#5116]
- Fix example value for
WOODPECKER_GRPC_ADDRin autoscaler docs [#5102] - .deb and .rpm installation commands fixed [#5087]
- chore(deps): update dependency @types/react to v19.1.2 [#5107]
- Slugify plugin names used for urls [#5098]
- Mention
backend_optionsin workflow syntax docs [#5096] - Document rootless container requirements for skip-clone [#5056]
📈 Enhancement
- View full pipeline duration in tooltip [#5123]
- Set dynamic page titles [#5104]
- Use centrally typed inject provide in Vue [#5113]
- Scroll to selected pipeline step [#5103]
🐛 Bug Fixes
📦️ Dependency
- fix(deps): update golang-packages [#5152]
- chore(deps): update pre-commit hook golangci/golangci-lint to v2.1.6 [#5149]
- chore(deps): update docker.io/woodpeckerci/plugin-docker-buildx docker tag to v6.0.1 [#5147]
- chore(deps): update pre-commit hook adrienverge/yamllint to v1.37.1 [#5148]
- chore(deps): update docker.io/woodpeckerci/plugin-docker-buildx docker tag to v6 [#5144]
- fix(deps): update web npm deps non-major [#5143]
- fix(deps): update module github.com/getkin/kin-openapi to v0.132.0 [#5141]
- chore(deps): update dependency vite to v6.3.4 [security] [#5139]
- fix(deps): update module github.com/urfave/cli/v3 to v3.3.2 [#5137]
- fix(deps): update module github.com/urfave/cli/v3 to v3.3.1 [#5135]
- fix(deps): update module github.com/docker/docker to v28 [#5132]
- fix(deps): update module github.com/docker/cli to v28 [#5131]
- fix(deps): update dependency vue-router to v4.5.1 [#5126]
- chore(deps): update pre-commit hook golangci/golangci-lint to v2.1.5 [#5125]
- fix(deps): update web npm deps non-major [#5077]
- fix(deps): update golang-packages [#5121]
- fix(deps): update golang-packages [#5111]
- chore(deps): lock file maintenance [#5112]
- chore(deps): update docker.io/mysql docker tag to v9.3.0 [#5109]
- chore(deps): update docker.io/woodpeckerci/plugin-ready-release-go docker tag to v3.2.0 [#5110]
- chore(deps): update pre-commit hook golangci/golangci-lint to v2.1.2 [#5108]
- fix(deps): update golang-packages [#5097]