v1.22.0-beta11
Breaking Changes
- Fix a bug in the gateway translator where RouteOptions referenced by a route via delegateOptions were assigned by reference from the snapshot. When parent Virtual Service route options were later merged into these references, the shared snapshot proto was mutated, contaminating it for all other routes that referenced the same RouteOption for the remainder of the translation cycle. The referenced RouteOptions are now cloned before merging. The new GLOO_ISOLATE_DELEGATE_ROUTE_OPTIONS environment variable (default true) can be set to false to temporarily restore the legacy behavior. (solo-io/solo-projects#8797)
Helm Changes
- Add gatewayProxies.NAME.kind.workloadType to explicitly select the gateway proxy workload type ("Deployment" or "DaemonSet"). When set, it takes precedence over the kind.deployment and kind.daemonSet fields, avoiding the ambiguity of an empty kind.deployment object that some GitOps tools normalize inconsistently; any other value fails at render time. When unset, behavior is unchanged. (solo-io/solo-projects#8948)
Fixes
- Fix no-op Kubernetes Gateway report churn by comparing report maps by content and keeping status rendering read-only. The report-map equality checks used in change detection (glooProxy.Equals and report.Equals) compared maps of pointer values, so identical translation output could be reported as "changed" on every recompute; condition LastTransitionTime could also prevent convergence. Status rendering also wrote default conditions back into the report objects used for equality. Reports now compare semantically, ignore LastTransitionTime for change detection, and status rendering leaves ReportMap unchanged, allowing stable output to converge without redundant report/status processing. (solo-io/solo-projects#8013)
- "remove xslt" (solo-io/solo-projects#8981)
- Validate Upstreams at admission when using the Kubernetes Gateway API, so invalid configuration such as a corrupt grpcJsonTranscoder protoDescriptorBin is caught instead of causing Envoy to NACK at runtime. (solo-io/solo-projects#8980)