v0.2 — Prompt management with A/B testing
Server-side prompt templates with versioning and Jinja2 variables, plus deterministic traffic-split A/B tests. Same hash, same variant — every single time.
Stop hardcoding prompts in client code. v0.2 ships server-side prompt management and deterministic A/B testing — both gated through the same single endpoint your SDK already calls.
Prompt templates
Create a template once, reference it by ID from any request. Templates are versioned: editing a template creates a new version automatically, and you can pin a request to a specific version (prompt_version) or always take the latest (default).
Templates support Jinja2 variables. Pass values via extra_body:
{
"model": "gemini-2.5-flash",
"extra_body": {
"nrouter_prompt_template_id": "summarizer_v2",
"nrouter_prompt_variables": { "doc_type": "research paper", "max_words": 200 }
}
}Per-template cost and token usage roll up in the dashboard so you can compare "summarizer_v2" vs "summarizer_v3" without instrumenting your own analytics.
A/B testing — deterministic
The A/B engine (nrouter_backend/prompts/ab_test_engine.py) hashes a stable key (request ID, user ID, or org-scoped seed) and splits traffic by configured percentages. Same hash, same variant, every time — so the same user sees the same variant across requests, and your analytics aren't poisoned by re-bucketing.
Variants can swap the model (gpt-5 vs gemini-2.5-pro), the prompt template, or both. A test is a state machine: draft → running → paused → completed. While running, the per-variant cost, latency, and error rate are visible in real-time on the prompts dashboard.
A/B tests are not overridable per-request — the whole point is determinism. If you need a control-group bypass, create a virtual key outside the experiment scope.
Manage prompts + experiments at /{org}/prompts.
Platform release verification & compatibility standards
All nRouter release notes reflect changes deployed across our global edge routing infrastructure. Below is our baseline deployment architecture and verification criteria.
Zero-Downtime Rolling Delivery
Releases deploy via immutable container digests with automated health verification. Existing streaming responses complete uninterrupted while new requests seamlessly route to updated instances.
Drop-In API Backward Compatibility
Our interface remains strictly compatible with standard OpenAI client SDKs and wire formats. Enhancements degrade gracefully or fail open with explicit error reporting to protect calling workloads.
How can engineering teams verify capabilities in this release?
Teams can inspect currently supported capabilities and active model deployments programmatically via the authenticated /capabilities endpoint, or review live latency profiles at /models.
Where can edge cases or regressions be reported?
If your team experiences unexpected response behavior, report the issue with the relevant x-nr-request-id header to support@nrouter.ai or via the community Slack at /community.