Tracking parity with https://raw.githubusercontent.com/shopware/varnish-shopware/refs/heads/main/rootfs/etc/varnish/default.vcl\n\n- [ ] Cookie parsing: set sw-cache-hash from sw-cache-hash cookie when header missing\n- [ ] /widgets/checkout/info 204: match VCL logic exactly\n- [ ] BAN semantics: implement ban list and evaluate on lookup\n- [ ] PURGE-by-URL: implement url->keys index (respect context variants)\n- [ ] Hit-for-miss / uncacheable caching for sw-dynamic-cache-bypass\n- [ ] Grace/stale revalidation strategy (serve-stale + background refresh)\n- [ ] Streaming proxying (avoid buffering entire bodies)\n- [ ] ESI support plan (optional)\n- [ ] Observability: metrics + tracing fields\n\nNotes: docs/varnish-parity.md
Tracking parity with https://raw.githubusercontent.com/shopware/varnish-shopware/refs/heads/main/rootfs/etc/varnish/default.vcl\n\n- [ ] Cookie parsing: set sw-cache-hash from sw-cache-hash cookie when header missing\n- [ ] /widgets/checkout/info 204: match VCL logic exactly\n- [ ] BAN semantics: implement ban list and evaluate on lookup\n- [ ] PURGE-by-URL: implement url->keys index (respect context variants)\n- [ ] Hit-for-miss / uncacheable caching for sw-dynamic-cache-bypass\n- [ ] Grace/stale revalidation strategy (serve-stale + background refresh)\n- [ ] Streaming proxying (avoid buffering entire bodies)\n- [ ] ESI support plan (optional)\n- [ ] Observability: metrics + tracing fields\n\nNotes: docs/varnish-parity.md