This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Summary
AI summaryUnified image versioning to date-based v2026.5.2.
Full changelog
What's Changed
Added
- Unify all images to date-based versioning v2026.5.2 (versioning)(be70d14)
Fixed
-
Update golangci-lint to v2.11.4 for Go 1.26.1 compatibility(05d2e7b)
-
Remove nolint comments and fix root lint issues(5518f67)
-
Use bracket notation for dhparam.pem key in secret test (helm-test)(f0d23ec)
-
Update code for k8s.io/client-go v0.36.0 compatibility(5e5220f)
-
Use format string directly in Eventf call(470cf4b)
-
Rename unused parameter rv to _ in Bookmark method(09d74d1)
-
Add pre-commit scope and use valid conventional commit prefix (ci)(b6c5639)
-
Skip commitlint for Renovate pre-commit update commits (ci)(32d2c29)
-
Update go-github imports to v85 and remove duplicate in go.mod(f870ba8)
-
Build nginx base image locally and regenerate helm-docs (ci)(a705666)
-
Install helm-docs in pre-commit workflow (ci)(bdfacc3)
-
Update expected registry to ghcr.io/forkline in helm tests (test)(1c800f2)
-
Build and load kube-webhook-certgen image for e2e tests (ci)(d74fc65)
-
Correct path to kube-webhook-certgen TAG in e2e scripts (ci)(40e6509)
-
Update WaitForEndpoints to use EndpointSlice API (e2e)(b59f19f)
-
Update NamespaceContent to use endpointslices API (e2e)(9c5e0c3)
-
Resolve golangci-lint errors in e2e framework(4333140)
-
Add perf to allowed commit types (commitlint)(ca4914d)
-
Add commitlint and pre-commit to allowed scopes (commitlint)(d6ac263)
-
Include NGINX base image in docker save and kind load (e2e)(ba68525)
-
Fix yamllint line-length errors in workflow files (ci)(b1fa57c)
-
Fix multiline variable assignment in Helm workflow (ci)(62011a7)
-
Fix yamllint line-length in helm curl command (ci)(e1c166b)
-
Split SHA256 line to comply with yamllint 80-char limit (ci)(1775c37)
-
Use env directive for AH_SHA256 to fix shell and yamllint issues (ci)(ec630c7)
-
Move AH_SHA256 to run script to fix env directive parsing issue (ci)(84d7a7c)
-
Use forkline e2e-test-runner image instead of upstream registry.k8s.io (ci)(7cfc09b)
-
Resolve CI failures in unify-versioning branch (ci)(46afbf5)
-
Change test.sh shebang to /bin/sh for Alpine compatibility(285aa75)
-
Build Go binaries directly in CI instead of run-in-docker.sh (e2e)(bb0b028)
-
Run unit tests directly instead of using Docker (ci)(6cf0f27)
-
Resolve yamllint line-length errors in e2e workflow (ci)(6abbe60)
-
Output Go binaries to rootfs/bin/amd64 for Dockerfile (e2e)(18fab47)
-
Resolve CI test failures (tests)(9486785)
-
Add actions write permission for retry workflow (ci)(032425e)
-
Resolve yamllint line-length error in e2e.yml (ci)(567fde2)
-
Resolve lint errors in test files (test)(c89298e)
-
Resolve remaining lint issues (test)(394b920)
-
Use temp directory for SSL tests and fix port conflicts (test)(3f7c72d)
-
Add constants for repeated string literals in flags tests (test)(f22272a)
-
Resolve lint issues in flags_test.go and structure.go(57d13dc)
-
Add ginkgo installation step to e2e workflow (ci)(efffc07)
-
Update golangci-lint config for v2 compatibility (ci)(420139b)
-
Use temp directories for controller tests (test)(f5a9189)
-
Tag nginx base image with full registry path before docker save (e2e)(e0e717c)
-
Use temp directories for tests requiring /etc paths (test)(e1862ce)
-
Fix test.sh PKG variable issue and update chart-testing version (ci)(47b5931)
-
Format maxmind.go to satisfy gofumpt (lint)(ef89374)
-
Allow capitalized commit types (commitlint)(e27db62)
-
Revert e2e-test-runner to upstream registry.k8s.io image (e2e)(04d2011)
-
Add timeouts to tests that hang in CI environments (test)(732e7d9)
-
Add lint to allowed scopes (commitlint)(9c930e9)
-
Downgrade type/subject-empty rules to warnings (commitlint)(f8574a5)
-
Include commitlint config in pre-commit cache key (ci)(309e7a9)
-
Wait for cert-manager webhook certs before starting controller (helm)(9cfe009)
-
Use controller image for cert-manager wait initContainer (helm)(ece6d54)
-
Use POSIX-compliant [[:space:]] instead of \s in regex (ci)(5799506)
-
Resolve yamllint line-length errors in pre-commit workflow(2c39a5f)
-
Build static binaries with CGO_ENABLED=0 for Alpine compatibility (e2e)(7ec4c24)
-
Build static e2e test binary with CGO_ENABLED=0 for Alpine compatibility (e2e)(62ee488)
-
Resolve all pre-commit hook failures(282e743)
-
Exclude golden test data from trailing whitespace/EOF hooks(13f22c4)
-
Exclude annotations-risk.md from end-of-file-fixer(78409cc)
Chore
-
Update pre-commit hook alessandrojcm/commitlint-pre-commit-hook to v9.25.0 (pre-commit)(27cabb8)
-
Update pre-commit hook renovatebot/pre-commit-hooks to v43.141.2 (pre-commit)(ccf72e0)
CI
-
Run required Go checks on all PRs with path-filtered skip(225e785)
-
Add proactive scopes to prevent future timing races (commitlint)(6652dc0)
-
Publish latest images on every push to main(80524be)
Build
-
Update module github.com/google/go-github/v48 to v84 (#15) (deps)(adc490c)
-
Update dependency kustomize to v5 (#11) (deps)(8592391)
-
Update squidfunk/mkdocs-material Docker tag to v9.7.6 (#9) (deps)(9144ccc)
-
Update dependency mkdocs-material to v9.7.6 (#5) (deps)(13f8874)
-
Update go modules (#8) (deps)(45bcdaa)
-
Group all update types together in renovate config (deps)(3da319e)
-
Update google.golang.org/grpc/examples digest to 1c132b9 (#27) (deps)(aa1f09e)
-
Update module helm.sh/helm/v4 to v4.1.4 [SECURITY] (#31) (deps)(3b1950f)
-
Update alpine Docker tag to v3.23.4 (#36) (deps)(3795290)
-
Update go modules (deps)(df66def)
-
Update go modules (deps)(10d7af6)
-
Update module github.com/google/go-github/v84 to v85 (deps)(097aff4)
Performance
-
Reuse published images from registry in e2e build job (ci)(011dc3f)
-
Use latest tag for e2e image reuse and push it on release (ci)(5f8cb19)
Testing
-
Add more regression tests for critical paths(9c78df8)
-
Add annotation Validate, Equal, and error type tests to increase coverage(422af24)
-
Add parser, task queue, util, and net tests for coverage(2bd8a68)
-
Add inspector, store, and collector coverage tests(49298ce)
-
Add dummy collector tests for metric package(b4409f9)
-
Add FilterIngresses test for store package(98bb16a)
-
Add createOpentelemetryCfg unit test(334b8e2)
Pre-commit
-
Update pre-commit hook norwoodj/helm-docs to v1.14.2 (#17)(82e9b9f)
-
Update pre-commit hook renovatebot/pre-commit-hooks to v43.104.1 (#10)(dc957c9)
-
Update pre-commit hook renovatebot/pre-commit-hooks to v43.104.2 (#19)(43a136c)
-
Update pre-commit hook renovatebot/pre-commit-hooks to v43.104.3 (#22)(c496c02)
-
Update pre-commit hook renovatebot/pre-commit-hooks to v43.104.4 (#23)(0430476)
-
Update pre-commit hook renovatebot/pre-commit-hooks to v43.104.6 (#24)(6ef6286)
-
Update pre-commit hook renovatebot/pre-commit-hooks to v43.104.7 (#25)(3a94390)
-
Update pre-commit hook renovatebot/pre-commit-hooks to v43.104.8 (#26)(a0da084)
-
Update pre-commit hook renovatebot/pre-commit-hooks to v43.104.10 (#28)(b72ab56)
-
Update pre-commit hook renovatebot/pre-commit-hooks to v43.140.0(5badf94)
Container Images
ghcr.io/forkline/ingress-nginx/controller:v2026.5.2ghcr.io/forkline/ingress-nginx/nginx:v2026.5.2ghcr.io/forkline/ingress-nginx/kube-webhook-certgen:v2026.5.2
Helm Chart
- appVersion:
2026.5.2
kubectl plugin
Binaries available on the GitHub Release page.
Full Changelog: https://github.com/forkline/ingress-nginx/compare/v2026.4.3-1...v2026.5.2
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About forkline/ingress-nginx
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]