Skip to content

v1.1.6

Choose a tag to compare

@github-actions github-actions released this 26 Jun 12:48
· 42 commits to main since this release
v1.1.6
17998ae

[1.1.6] — 2026-06-26

Correctness & robustness release. Hardens the plugin pipeline lifecycle, fixes OpenTelemetry span loss on shutdown, corrects response-cache and circuit-breaker behavior, and adds AWS Bedrock API-key (bearer) authentication. No public API breaks. Fixes #150, #151, #152, and #204.

Fixed

  • Plugin pipeline robustness (issue #150, PR #234): a panicking plugin is now recovered and isolated (the request returns a clean error and the panic stack is logged, not leaked into the response), RunOnError fires when a plugin rejects a request, and Close() was added to the Plugin interface and is called on every plugin instance (deduped) at config reload so resources like the request-logger's writer are released. A reference-counted Acquire/Close lifecycle ensures a reload never frees plugins out from under an in-flight request.
  • OTel span loss on shutdown (issue #151, PR #233): the span-exporter drain and the TracerProvider flush shared a single shutdown deadline, so a slow exporter handed the provider an already-expired context and spans were silently dropped. Each stage now gets its own deadline (shutdown_grace per stage), and both errors are surfaced via errors.Join.
  • Response-cache & circuit-breaker correctness (issue #152, PR #169): the cache key now includes logprobs / top_logprobs (so requests that differ only in those no longer cross-serve), in-memory eviction is now proper LRU (recency-based) instead of earliest-expiry, and the circuit-breaker half-open probe cap releases its slot on non-recorded outcomes (rate-limit / client cancellation) so a single ignored failure can no longer wedge the breaker open.

Added

  • AWS Bedrock API-key (bearer) authentication (issue #204, PR #235): Bedrock can now authenticate with a short-term API key via AWS_BEARER_TOKEN_BEDROCK, using the AWS SDK's native httpBearerAuth scheme. SigV4 (static credentials and the default credential chain) remains the default; bearer takes precedence when set. A bearer_token redaction policy keeps the key out of logs and error messages.

Contributors

Thanks to everyone who shipped this release:

  • @Rachit-Gandhi — authored all four fixes/features in this release: plugin pipeline robustness (#234#150), OTel shutdown deadlines (#233#151), cache & circuit-breaker correctness (#169#152), and Bedrock bearer auth (#235#204). 🙌 Thank you!
  • @MitulShah1 — release coordination & review (#236)

Full changelog: https://github.com/ferro-labs/ai-gateway/blob/v1.1.6/CHANGELOG.md