What werf/werf shipped
Written by FoxPlug from public releases; not affiliated with Werf. An automatic summary of the public release, pull request and commit data of github.com/werf/werf. Werf did not write it and does not use or endorse FoxPlug. Every line links to the public change it describes.
Get a weekly update like this for your product, free
Week of September 21, 2026
What shipped
- werf v3.6.0 released with support for scanning several Kubernetes namespaces for used images during cleanup. Pull request #7914
- werf v3.5.0 released with build report improvements, version tracking, and deploy resource rendering. Release
- Build preparation before workers start accelerated from 26 minutes 33 seconds to 4 minutes 58 seconds on large configurations by eliminating redundant git and checksum operations. Pull request #7928
- Content anchor resolution now runs concurrently in parallel builds instead of serially, reducing the pre-build phase from 327 seconds to seconds on configurations with thousands of anchors. Pull request #7931
- SSH connections for git requests are now reused instead of creating a new handshake for each request, reducing time spent on fixed overhead from roughly 1 second per call. Pull request #7930
- Registry tag listings are now cached and reused across stage lookups instead of fetching fresh listings for each cache miss. Pull request #7934
- Local submodule reuse now works for nested submodule names containing slashes, eliminating unnecessary re-clones during builds. Pull request #7932
- Empty and partial git stage dependencies are now honored correctly instead of being implicitly expanded to later stages. Pull request #7906
- Operations statistics now cover the entire command run including config render and giterminism initialization, with a single summary printed before exit. Pull request #7856
- v2-to-v3 migration guides published with workflow-based navigation, before/after examples, and concrete upgrade actions in English and Russian. Pull request #7899
Why it matters
werf v3.6.0 launches with significant performance improvements for builds with many images or remote repositories. Build preparation times dropped dramatically through concurrent processing and connection reuse, while the new branch version scheme allows continued v2 maintenance alongside v3 development.
Changelog entry
- cleanup: scan several kubernetes namespaces for used images Pull request #7914
- build: reduce pre-worker-start phase from 26:33 to 4:58 by eliminating per-image git re-preparation and checksumming Pull request #7928
- build: resolve content anchors concurrently in parallel builds Pull request #7931
- build, git: reuse one ssh connection for git requests Pull request #7930
- storage: reuse recent tags listings for stage lookups on cache misses Pull request #7934
- git: keep local submodule reuse for nested submodule names Pull request #7932
- build: honor empty and partial git stage dependencies Pull request #7906
- build: collect operations statistics for the whole command run Pull request #7856
- git: keep a healthy cached worktree on canceled builds Pull request #7935
- build: ship missing networking helpers in official images Pull request #7925
werf v3.6.0: Build prep now 5x faster on large configs through concurrent anchor resolution and SSH connection reuse. v2 maintenance continues on branch 2.
werf v3.6.0 shipped with substantial performance gains: build preparation dropped from 26 minutes to under 5 minutes on large configurations by processing content anchors concurrently and reusing SSH connections for git requests. Registry tag listings are now cached across stage lookups. The project also transitions to separate v2 and v3 maintenance branches, enabling continued v2 support while advancing v3 with improved Kubernetes namespace scanning and documentation.
Week of September 14, 2026
What shipped
- Cleanup now preserves final images correctly when stages are published to both primary and final repositories. Pull request #7867
- GitLab registry cleanup uses the supported manifest-by-tag API instead of falling back to slower digest deletion. Pull request #7866
- Deploy renders included charts at the project root correctly when
deploy.helmChartDir: .is configured. Pull request #7865 - ReleaseInstall now returns rendered resources from the deploy operation. Pull request #7869
- Build reports now include the werf version that produced them for easier tracking across CI runs. Pull request #7859
- Deploy prevents panics when release deletion fails. Pull request #7861
Why it matters
This week addresses cleanup correctness for dual-repository setups, improves registry performance for GitLab users, and fixes deploy rendering with included charts. Build reports are now more traceable with version information included.
Changelog entry
- feat(deploy): return rendered resources from ReleaseInstall Pull request #7869
- fix(deploy): render included charts at the project root Pull request #7865
- fix(cleanup): preserve retained final images when stages are published to both repo and final-repo Pull request #7867
- fix(cleanup): avoid slow tag deletion in GitLab registries by preferring manifest-by-tag API Pull request #7866
- feat(build): include werf version in the build report Pull request #7859
- fix(deploy): prevent panic when release deletion fails Pull request #7861
Werf now preserves final images correctly in cleanup, speeds up GitLab registry operations, and fixes chart rendering for includes. Build reports include version info for better traceability.
This week's werf updates focus on cleanup reliability and registry performance. Final images are now properly retained in dual-repository setups, GitLab cleanup operations are faster with the manifest-by-tag API, and Helm chart rendering works correctly with includes at the project root. Build reports now include version information for improved traceability across CI runs.