Skip to content

Nexus 0.6.0

Latest

Choose a tag to compare

@github-actions github-actions released this 29 Sep 17:14

Nexus 0.6.0 - September 29, 2025

Summary

This maintenance release focuses on improving client IP extraction for better rate limiting support, enhancing telemetry metrics with proper units, and reorganizing the test infrastructure for better maintainability.

Breaking Changes

Telemetry Metrics Unit Change

Impact: OpenTelemetry metrics are now reported with proper unit annotations.

Change: Histogram metrics now include the s (seconds) unit annotation, aligning with OpenTelemetry specifications for proper metric interpretation in observability platforms. Previously, metrics were reported in milliseconds.

New Features

Configurable Client IP Extraction

User Impact: Administrators can now configure how Nexus determines client IP addresses for rate limiting and logging, essential for deployments behind proxies or load balancers.

Configuration:

[server.client_ip]
# Use X-Real-Ip header to retrieve the client IP address (default: false)
x_real_ip = true

# Use X-Forwarded-For header with trusted hop count
# Absent by default, which deactivates this method
x_forwarded_for_trusted_hops = 1

Resolution Order:

  1. X-Real-Ip header (if enabled)
  2. X-Forwarded-For header at specified hop (if configured)
  3. Connection source IP (fallback)

Enhancements

HTTP Client Optimization for LLM Providers

User Impact: Improved reliability and performance when communicating with LLM providers.

Technical Details:

  • Standardized HTTP client configuration across all LLM providers
  • Applied common defaults from Grafbase Gateway for consistency
  • Modified: crates/llm/src/provider/http_client.rs
  • Affects: OpenAI, Anthropic, Google, and Bedrock providers

Dependency Updates

  • Updated OpenTelemetry Rust monorepo to v0.31
  • Updated regex crate to v1.11.3
  • Updated various GitHub Actions to latest versions
  • Switched to forked fastrace for compatibility fixes

Deployment Notes

Configuration Changes

If you're running Nexus behind a proxy or load balancer, you should configure client IP extraction:

  1. For single proxy (nginx, Cloudflare, etc.):
[server.client_ip]
x_real_ip = true
  1. For proxy chain:
[server.client_ip]
x_forwarded_for_trusted_hops = 2  # Adjust based on your proxy count

Observability Updates

Metrics were previously reported in milliseconds without any unit, now they're reported in seconds (s)