3.18.0 - 2026-08-24
❤️ Thanks to all contributors! ❤️
Special thanks to @arpitjain099, @abdullaabdullazade, @George928 and @RealFakeAccount for reporting security vulnerabilities!
@6543, @AhmadNajiKam, @DEATIN, @OCram85, @Palleas, @YouCD, @anbraten, @confusedsushi, @gerbsen, @hasufell, @jrouly, @kastl-ars, @lafriks, @qwerty287, @retif, @romain-rossi, @spam-n-eggs, @stevapple, @xoxys, @zmully
🔒 Security
- k8s: allow to disable runtime class name backend option [#7046]
- Don't inject additional env vars into plugins [#7040]
- Don't inject matrix env vars into plugins [#7036]
- Update
golang.org/x/mod[#7012] - Change group identifier to full_path for GitLab [#6950]
📈 Enhancement
- Allow to add custom message to manual pipelines [#6973]
- Add hidden
decode-base64agent command for Windows local backend [#7023] - Enforce unique name for services and steps if dag is used [#7032]
- Add custom list opts with all [#6992]
- Add pipeline log download endpoint [#6876]
- Reject invalid started and done workflow states [#7029]
- Sort workflow files by name [#7021]
- Reject incompatible gRPC proto version agents [#7028]
- Enforce one log entry per line with a unique index [#7004]
- Order the user feed by creation time instead of id [#7005]
- Return step logs strictly in line order [#6999]
- Find the preceding pipeline by number instead of id [#7003]
- perf(schema): cache compiled YAML validation schema [#7002]
- Pick a repo's latest pipeline by number instead of id [#7001]
- feat: allow configuring allowed orgs per forge [#6874]
- Make the Kubernetes cluster domain configurable [#6957]
- Fix vite deprecation [#6974]
- feat(web): extract ListEditor form component [#6962]
- Rename
WOODPECKER_GRPC_VERIFYtoWOODPECKER_GRPC_SKIP_VERIFY[#6947] - Update frontend schema.json for documented backend options [#6933]
🐛 Bug Fixes
- Prevent repository buttons from overlapping search bar [#7047]
- fix(server): prefix manual trigger Ref with refs/heads/ [#7051]
- fix runtime to ignore cancel as runtime error [#7031]
- Fix orphaned pipelines after repo delete [#6971]
- Migrate modernize encryption service [#6830]
- Fix running multiple cmdlets on windows [#6968]
- server: drop stale queued tasks for terminal workflows [#7015]
- fix(gitlab): avoid N+1 member lookups in Repos() [#6991]
- agent: retry connect on DeadlineExceeded, not just Unavailable [#6975]
📚 Documentation
- Update pnpm to v11.23.0 [#7061]
- Update dependency marked to v18.0.10 [#7052]
- k8s backend: fix step example using incorrect "detached" property [#7016]
- Update docs npm deps non-major [#7010]
- highlight the nodeSelector doesn't work by default [#7007]
- Update pnpm to v11.21.0 [#6982]
- Update docs npm deps non-major [#6979]
- Update documentation link for NestGuard plugin [#6954]
- Make intro example actually usable [#6953]
- Update docs npm deps non-major [#6925]
- Fix old link to Gitea docs [#6932]
📦️ Dependency
- Update web npm deps non-major [#7060]
- Lock file maintenance [#7062]
- Update web npm deps non-major [#7054]
- Update woodpeckerci/plugin-git Docker tag to v2.10.0 [#7059]
- Update docker.io/golang Docker tag to v1.27 [#7055]
- Update pre-commit hook golangci/golangci-lint to v2.13.1 [#7058]
- Update docker.io/techknowlogick/xgo Docker tag to go-1.27.x [#7056]
- Update module gitlab.com/gitlab-org/api/client-go/v2 to v2.58.2 [#7053]
- Update golang-packages to v0.36.4 [#7050]
- Update golang-packages [#7045]
- Update module github.com/getkin/kin-openapi to v0.147.0 [#7039]
- Update module github.com/urfave/cli/v3 to v3.11.0 [#7017]
- Lock file maintenance [#7018]
- Update web npm deps non-major [#7009]
- Update module gitlab.com/gitlab-org/api/client-go/v2 to v2.58.0 [#7014]
- Update postgres Docker tag to v18.6 [#7011]
- Update dependency golang to v1.26.6 [#7008]
- Update module golang.org/x/net to v0.58.0 [#6996]
- Update module golang.org/x/crypto to v0.55.0 [#6994]
- Update module google.golang.org/protobuf to v1.36.12 [#6989]
- Update pnpm to v11.21.0 [#6983]
- Update dependency eslint to v10.8.1 [#6977]
- Update module github.com/google/go-github/v89 to v90 [#6980]
- Update google.golang.org/protobuf digest to 644d026 [#6976]
- Update woodpeckerci/plugin-git Docker tag to v2.9.3 [#6978]
- Update web npm deps non-major [#6939]
- Update module github.com/docker/cli to v29.7.2+incompatible [#6966]
- Update web npm deps non-major [#6928]