Released: 2026-08-04
Varnish version: 6.0.18r3
Artifact Firewall version: 0.4.0
auth_policy option to virtual registries, letting operators skip or actively strip preflight authorization checks on backends that already permit anonymous access. preflight (default) keeps today’s behavior of verifying every request via a HEAD check; ignore skips the check and shares cache with anonymous requests while still forwarding Authorization unchanged to the backend; drop strips Authorization before it ever reaches the backend.auth_token_ttl to virtual registries (default 60s). Orca now caches OCI auth tokens per credential and scope for this window and hands the same bearer token back, keeping the downstream authorization cache key stable so already-cached images keep serving while the upstream registry or its token endpoint is unreachable (the cached token and preflight are revived for up to 1 week). Set auth_token_ttl: 0 to disable and pass token requests straight through. Only active when the Authentication feature is licensed.config.json, the package index, and .crate downloads.repo.hex.pm directly and through a JFrog Artifactory Hex repository. Firewall rules are enforced on the tarball download rather than by filtering the package metadata, which Hex signs and clients verify.supervisor.config_watch, enabled by default with a 15 second interval) or on demand with SIGHUP, and when the change affects the generated VCL, Varnish switches to it atomically without restarting, so the cache survives. Settings that require a restart are refused and leave the running config in place, and under Kubernetes the ConfigMap has to be mounted as a directory rather than with subPath, which is never updated in place.cluster.extra_tokens, a list of additional tokens accepted from peers alongside cluster.token. This lets a cluster token be rotated with a rolling redeploy (stage the new token in extra_tokens, promote it to token, then retire the old value) instead of a coordinated restart of every node at once..jar, .war, .aar, .zip) instead of on the .pom, which now streams through whatever the verdict. A build blocked on a pinned version fails when it fetches the artifact rather than when it reads the descriptor, and a denied version no longer breaks the resolution of builds that never fetch it./redirectz, so with redirects.deny_unknown_hosts enabled the origin’s object host must be listed in redirects.extra_known_hosts.HEAD existence check being cached by digest alone, so a push could skip uploading a layer another repository already cached (unknown blob). HEAD is now keyed by repository; GET stays digest-only and shared.HEAD fix above not surviving a cluster hop, where a self-routed request normalizes to GET on the wire and could collapse back to a digest-only key. A manifest HEAD could also return Content-Length: 0 on the forwarded leg. The original request method now survives the hop and any retry to origin.dns_ttl option, which produced VCL that failed to compile.redirects.deny_unknown_hosts blocks a transparent redirect target. Clients now receive the intended 502 redirect target host not allowed instead of a generic 503.<file>.metadata), which previously bypassed the cache.vulnerability.base.json and vulnerability.update.json), which previously bypassed the cache.401 challenge could carry a relative WWW-Authenticate realm instead of the absolute URL the token specification requires.