Skip to content

SRouter v0.1.4

Choose a tag to compare

@seaavey seaavey released this 01 Sep 09:05
· 87 commits to main since this release

SRouter v0.1.4

Release date: 2026-09-01

Summary

v0.1.4 is a feature-heavy release focused on provider flexibility, security hardening, dashboard polish, and a complete settings redesign. Includes bulk account onboarding, B.AI provider support, per-key model restrictions, and a security audit pass.


🚀 New Features

  • Bulk add accounts for Qoder PAT and Codex tokens — one-shot onboarding of multiple credentials (#66, #65)
  • B.AI provider support with default free models (#67)
  • allowed_models restriction for virtual API keys — limit which models a key can route (#66)
  • srouter init CLI command for Docker and Source Code execution (#65)
  • Custom provider dialog in the providers catalog (#76)
  • Mesh routing topology redesign — hub-and-spoke radial orbit with live request glow (#63)
  • Analytics page design spec — RPS, top models, traffic health (spec-only, implementation follows in a separate PR) (#79)

🎨 UI/UX

  • Minimal single-scroll settings page — complete redesign: no tabs, no card boxes, hairline-separated sections, 34 kB settings chunk (down from 67 kB) (#81)
  • API keys management polish — better UX + key editing support (#70)
  • Custom provider category removed from creation sheet, leaner catalog cards (#61)
  • Connect OAuth modal polish (#76)

🛡️ Security Hardening

  • Tunnel auth, CORS/CSRF, rate limiting, request limits, SSRF, esbuild — full security audit pass (#75)
  • developer role normalization — accept developer role from OpenAI SDK v5+, normalize to system

⚡ Performance

  • SQLite pragmas and indexes optimization (#69)

🧰 Refactors & Infrastructure

  • Standardized schemas to snake_case across types/api/web + provider verification fix (#73)
  • Pricing catalog synced with models.dev dataset + update script (#74)
  • Docker data persisted to host ~/.srouter via bind mount
  • Docker publish workflow re-enabled (manual dispatch only)

🐛 Fixes

  • Restore custom models feature (#60)
  • Fix fallback registry category to api_key (#62)
  • Fix CLI bin entrypoint and isolate CLI_VERSION (#67)
  • Fix 9router JSON backup migration (#65)
  • Update provider categories to free_tier (GoRouter, TabiToken, BluesMinds, SeekAI)
  • Adaptive currentColor SVG for OpenCode Zen logo

📋 PR & Issue References

PR Description
#81 Minimal single-scroll settings page
#79 Analytics page design spec
#76 Custom provider dialog
#75 Security hardening (tunnel/CORS/CSRF/rate-limit/SSRF)
#74 Pricing sync + update script
#73 snake_case schema standardization
#70 API keys UX + editing
#69 SQLite perf
#67 B.AI provider
#66 allowed_models + bulk accounts
#65 srouter init + 9router migration
#63 Mesh topology redesign
#62 Fallback registry fix
#61 Remove custom provider category
#60 Restore custom models

🔄 Upgrade Notes

  • Docker: data now persists to ~/.srouter via bind mount — pull ghcr.io/seaavey/srouter:latest
  • CLI: srouter init scaffolds Docker/source execution; srouter migrate supports 9router JSON backups

Full changelog: compare v0.1.3...v0.1.4