🐛 Fixes
Propagate tracing headers even when not sampling a trace (Issue #4544)
When the router was configured to sample only a portion of the trace, either through a ratio or using parent based sampling, and when trace propagation was configured, if a trace was not sampled, the router did not send the propagation headers to the subgraph. The subgraph was then unable to decide whether to record the trace or not. Now we make sure that trace headers will be sent even when a trace is not sampled.
Load TLS native certificate store once (Issue #4491)
When TLS was not configured for subgraphs, the OS-provided list of certificates was being parsed once per subgraph, which resulted in long loading times on macOS. With this change, the native root store is generated once and then reused across subgraphs, resolving the long loading times.
Apollo library dependency updates (Issue #4525, Issue #413)
Updates to our own dependencies of apollo-rs
and apollo-federation
bring in upstream fixes for operation validation including adjustments to field merging and enum input values for Rust-based validation.
By @goto-bus-stop in #4510