14 Apr 2026

#### Bug fixes

- Fix memory leak in LoadBalancer controller where `deleteService` and `releaseAddressFromService` left stale entries in the `ipsByBlock` index, causing unbounded memory growth in kube-controllers in clusters with high LoadBalancer service churn. [calico 12369](https://github.com/projectcalico/calico/pull/12369) (@caseydavenport)
- ebpf: Fix  conntrack counter accounting for NAT-outgoing flows where bytes_in and packets_in were always zero. [calico 12324](https://github.com/projectcalico/calico/pull/12324) (@lucastigera)
- ebpf: Fix that BPF programs could be incorrectly removed from workload interfaces on recent kernels due to change in kernel use of IFLA_LINK netlink message. [calico 12210](https://github.com/projectcalico/calico/pull/12210) (@tomastigera)
- Fix memory leak in routing table logic. The "interfaces to ARP" set was not properly cleaned out when an interface was removed, resulting in leaving old interface names in the set. [calico 12193](https://github.com/projectcalico/calico/pull/12193) (@fasaxc)
- Fix a goroutine leak in Felix's interface monitor that could occur on netlink reconnect. [calico 12193](https://github.com/projectcalico/calico/pull/12193) (@fasaxc)
- Fix goroutine leak after nflog reader restart. [calico 12193](https://github.com/projectcalico/calico/pull/12193) (@fasaxc)
- Fix BGP syncing on Windows [calico 12063](https://github.com/projectcalico/calico/pull/12063) (@rbrtbnfgl)
- Fix failure to enable ingress bandwidth QoS controls when a non-default qdisc previously existed on the workload interface (handle != 0). [calico 11972](https://github.com/projectcalico/calico/pull/11972) (@coutinhop)
- Fix CNI delete timeout to start after IPAM lock acquisition, preventing "context deadline exceeded" failures during high pod churn [calico 11942](https://github.com/projectcalico/calico/pull/11942) (@sridhartigera)
- LoadBalancer controller prevent nil pointer dereference in handleBlockUpdate [calico 11924](https://github.com/projectcalico/calico/pull/11924) (@MichalFupso)
- ebpf: corrected setting of bpf_skb_adjust_room flags for UDP [calico 11661](https://github.com/projectcalico/calico/pull/11661) (@tomastigera)

#### Other changes

- ebpf: Add JSON output support to calico-bpf dump commands (counters, conntrack, NAT, routes, arp, ifstate, maps) [calico 12313](https://github.com/projectcalico/calico/pull/12313) (@tomastigera)
v- Use indexer for EndpointSlice lookups to avoid O(n) scans in confd [calico 11936](https://github.com/projectcalico/calico/pull/11936) (@haojiwu)
- Skip nftables cache reload for cleaned disabled tables [calico 11869](https://github.com/projectcalico/calico/pull/11869) (@haojiwu)
- ebpf:  Added support to Kubernetes Service Traffic Distribution for Services and for the `service.kubernetes.io/topology-mode` annotation, replacing the deprecated `service.kubernetes.io/topology-aware-hints` behavior. [calico 11859](https://github.com/projectcalico/calico/pull/11859) (@lucastigera)
