Skip to content

docs: add v0.8.5 changelog — content-based routing, A/B testing, per-…#3

Merged
MitulShah1 merged 3 commits into
mainfrom
changelog/v0.8.5
Mar 13, 2026
Merged

docs: add v0.8.5 changelog — content-based routing, A/B testing, per-…#3
MitulShah1 merged 3 commits into
mainfrom
changelog/v0.8.5

Conversation

@MitulShah1
Copy link
Copy Markdown
Contributor

…key rate limiting, budget plugin

What does this PR change?

Type of change

  • Typo / grammar fix
  • Code sample fix
  • Clarification / rewording of existing content
  • New page or section
  • Structural / navigation change
  • Other (describe below)

Checklist

  • pnpm build passes locally (no broken links)
  • pnpm typecheck passes
  • Frontmatter has title, description, and keywords on any new/modified page
  • New pages are added to sidebars.ts
  • PR is targeting the development branch (not main)

Related issue

Copilot AI review requested due to automatic review settings March 12, 2026 18:02
@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds the v0.8.5 release notes to the documentation changelog, highlighting new routing strategies and new traffic-control plugins/config options.

Changes:

  • Updated the changelog page meta description to include newly released features.
  • Added a new v0.8.5 section covering content-based routing, A/B testing, per-key/per-user rate limiting, and a budget plugin.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/changelog.mdx
### Per-key and per-user rate limiting

- Extended `rate-limit` plugin with `key_rpm` (requests per minute per API key) and `user_rpm` (requests per minute per user ID)
- Rate checks execute in order: global → per-key → per-user; request rejected at first exceeded limiter with a distinct reason string
Copy link

Copilot AI Mar 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This entry adds key_rpm/user_rpm options for the rate-limit plugin, but the Rate limiting guide currently documents only requests_per_second/burst. To avoid conflicting configuration references, update the rate limiting docs to include the new per-key/per-user limiters and their precedence/"reason" strings.

Suggested change
- Rate checks execute in order: global → per-key → per-user; request rejected at first exceeded limiter with a distinct reason string
- Rate checks execute in order: global (`requests_per_second`/`burst`) → per-key (`key_rpm`) → per-user (`user_rpm`); the first exceeded limiter rejects the request and sets `reason` to `rate_limit_global`, `rate_limit_key`, or `rate_limit_user` respectively

Copilot uses AI. Check for mistakes.
Comment thread docs/changelog.mdx
Comment on lines +29 to +35
### Per-key budget controls plugin

- New `budget` plugin tracks cumulative USD spend per API key in an in-memory store
- Register at `before_request` to reject over-limit keys and `after_request` to record token costs
- Two instances sharing the same `store_id` share accumulated spend data
- `spend_limit_usd: 0` (or unset) means unlimited — spend is tracked without rejection
- Spend data is in-memory; does not survive process restarts
Copy link

Copilot AI Mar 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changelog announces a new budget plugin, but the Plugins guide frontmatter and content still describe "11 built-in plugins" and does not include a budget plugin section. Please update the plugins documentation (and the count in its description) so the new plugin is discoverable.

Copilot uses AI. Check for mistakes.
Comment thread docs/changelog.mdx

### Content-based routing strategy

- New `strategy.mode: content-based` selects a provider target based on user-role prompt content
Copy link

Copilot AI Mar 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor wording: "user-role prompt content" reads like a typo/awkward hyphenation. Consider rephrasing to "user role" or "user/role" prompt content for clarity.

Suggested change
- New `strategy.mode: content-based` selects a provider target based on user-role prompt content
- New `strategy.mode: content-based` selects a provider target based on user role prompt content

Copilot uses AI. Check for mistakes.
Comment thread docs/changelog.mdx
Comment on lines +16 to +22
- Regex patterns compiled at startup for zero-cost hot-path matching; invalid patterns surface as a startup error

### A/B testing strategy

- New `strategy.mode: ab-test` splits traffic across two or more named variants using weighted random sampling
- Each variant carries a `label` (e.g. `"control"`, `"challenger"`) emitted as the `ab_variant` structured log field on every routed request
- Zero-weight variants participate with weight 1 (equal distribution)
Copy link

Copilot AI Mar 12, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changelog introduces new routing strategies (content-based, ab-test), but the Routing policies guide still states there are only six strategies and does not mention these modes. Please update the routing strategy documentation (or link to the relevant page/section) so readers can find configuration details for the new modes.

Suggested change
- Regex patterns compiled at startup for zero-cost hot-path matching; invalid patterns surface as a startup error
### A/B testing strategy
- New `strategy.mode: ab-test` splits traffic across two or more named variants using weighted random sampling
- Each variant carries a `label` (e.g. `"control"`, `"challenger"`) emitted as the `ab_variant` structured log field on every routed request
- Zero-weight variants participate with weight 1 (equal distribution)
- Regex patterns compiled at startup for zero-cost hot-path matching; invalid patterns surface as a startup error
- See the [Routing policies guide](./routing-policies) for full configuration options for `content-based` strategies.
### A/B testing strategy
- New `strategy.mode: ab-test` splits traffic across two or more named variants using weighted random sampling
- Each variant carries a `label` (e.g. `"control"`, `"challenger"`) emitted as the `ab_variant` structured log field on every routed request
- Zero-weight variants participate with weight 1 (equal distribution)
- See the [Routing policies guide](./routing-policies) for full configuration options for `ab-test` strategies and the complete list of supported modes.

Copilot uses AI. Check for mistakes.
@MitulShah1 MitulShah1 merged commit f529be4 into main Mar 13, 2026
1 check passed
@MitulShah1 MitulShah1 deleted the changelog/v0.8.5 branch March 13, 2026 04:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants