Releases: 99apps-id/nesarouter
Releases · 99apps-id/nesarouter
Release list
NesaRouter v0.1.44
Fixed
- Stop Live Routing from calling
Date.now()during the first render so server HTML and browser hydration stay identical. - Render request timestamps in a fixed UTC clock to avoid timezone hydration mismatches.
Validation
- TypeScript, public OSS boundary, and 313 unit tests across 57 files pass.
NesaRouter v0.1.43
Fixed
- Prevent client-side Application errors on Usage by formatting numbers and times with a fixed
en-USlocale so server HTML and browser hydration always match. - Allow Cloudflare Web Analytics beacon under production Content-Security-Policy when the site is served behind Cloudflare.
Validation
- TypeScript, public OSS boundary, and 313 unit tests across 57 files pass.
NesaRouter v0.1.42
Fixed
- Remove a stale unit test that referenced a non-exported helper and blocked TypeScript validation of v0.1.41.
Included from v0.1.41
- New Live Routing hub, comet, path, and provider heartbeat animations.
- Development CSP fix for interactive Next.js controls.
- Stable usage formatting across server and browser locales.
Validation
- TypeScript, public OSS boundary, and 313 unit tests across 57 files pass.
NesaRouter v0.1.41
Changed
- Redesign Live Routing animations with hub flash/waves, comet trails on the selected path, and a stronger heartbeat on providers with recent traffic.
Fixed
- Allow Next.js Fast Refresh under Content-Security-Policy in development by permitting
unsafe-evalonly whenNODE_ENVis not production. - Stabilize usage number formatting with an explicit
en-USlocale so theme switches no longer trip hydration mismatches.
Validation
- Local OSS preview of language/theme toggles and live-map animations; production CSP remains without
unsafe-eval.
NesaRouter v0.1.40
Security
- Harden OAuth refresh/expiry handling, sanitize upstream OAuth failures, reject stale account targets, and isolate concurrent device flows.
- Retain callback state until successful persistence and clean up expired pending authorization data.
Fixed
- Preserve function calling across OpenAI Chat, Responses, Anthropic Messages, Gemini, Cursor, Kiro, Vertex, GitHub Copilot, OpenRouter, and OpenCode.
- Return proper JSON for stream:false on streaming upstreams while preserving usage and concurrency accounting.
- Keep tool continuations sticky to the correct provider/account and improve real inference validation for Cursor, OpenRouter, and OpenCode.
Validation
- 313 unit tests across 57 files, TypeScript, dependency audit, OSS boundary check, production build, GitHub Actions build, runtime startup, and smoke test pass.
NesaRouter v0.1.39
Fixed
- Route requests carrying tools or tool_choice only through providers that support function calling.
- Add Hermes context metadata and OpenClaw tool-capability metadata during CLI Apply/Patch.
- Make Hermes/OpenClaw connection tests require a real harmless function-call response instead of ordinary chat success.
Validation
- 287 unit tests across 55 files
- TypeScript validation
- OSS public-boundary check
- Production build
- npm audit: 0 vulnerabilities
- Internal and public function-call probes returned finish_reason=tool_calls
NesaRouter v0.1.38
Highlights
- Redesigned Live Routing with a responsive, pannable, auto-fitting provider topology and curved directional flow.
- Shows only routable providers, prevents dense nodes and dashboard tables from overlapping, and consolidates Request Inspector, Provider Fleet, and Event Stream.
- Corrected live event filtering and provider activity reconciliation.
- Hardened standalone startup for project-root DATA_DIR and atomic .next-new builds.
- Prevented bootstrap password guidance from reappearing after password setup.
- Removed private _nesa* metadata before strict OpenAI-compatible upstream requests.
Validation
- 285 unit tests across 55 files
- TypeScript validation
- OSS public-boundary check
- Production build
- Isolated end-to-end smoke test
- Runtime health and authentication-boundary checks
See CHANGELOG.md for full details.
NesaRouter v0.1.37
Fixed
- Route CLI connection tests through the internal loopback endpoint to avoid false public-tunnel hairpin failures.
- Generate current Qwen Code provider settings and clarify manual-only integrations for Gemini CLI and Continue.
- Merge Codex, Hermes, DeepSeek TUI, and jcode configuration without erasing unrelated settings.
- Persist Bash CLI environment variables across shells and provide actionable permission errors.
- Reject malformed existing JSON instead of overwriting it and fully clean NesaRouter references on reset.
- Report executable, configuration, and credential readiness separately.
Validation
- 275 tests across 53 files passed.
- TypeScript validation passed.
- OSS public-boundary check passed.
- Production build passed.
NesaRouter v0.1.36
Full Changelog: v0.1.35...v0.1.36
v0.1.33
Summary
- Fix Next.js build:
authorizeMetricslives insrc/core/metricsAuth.ts(v0.1.32 CI failed on invalid route export). - Includes all v0.1.32 changes (OpenCode free filter, DeepSeek thinking guard, CLI patchables, metrics deny-by-default, health version/503).
Install
docker pull ghcr.io/99apps-id/nesarouter:0.1.33