Skip to content

Releases: 99apps-id/nesarouter

NesaRouter v0.1.44

Choose a tag to compare

@99apps-id 99apps-id released this 21 Jul 02:28

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

Choose a tag to compare

@99apps-id 99apps-id released this 21 Jul 02:18

Fixed

  • Prevent client-side Application errors on Usage by formatting numbers and times with a fixed en-US locale 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

Choose a tag to compare

@99apps-id 99apps-id released this 21 Jul 01:52

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

Choose a tag to compare

@99apps-id 99apps-id released this 21 Jul 01:46

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-eval only when NODE_ENV is not production.
  • Stabilize usage number formatting with an explicit en-US locale 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

Choose a tag to compare

@99apps-id 99apps-id released this 20 Jul 04:07

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

Choose a tag to compare

@99apps-id 99apps-id released this 19 Jul 21:20

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

Choose a tag to compare

@99apps-id 99apps-id released this 18 Jul 00:57

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

Choose a tag to compare

@99apps-id 99apps-id released this 17 Jul 08:45

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

Choose a tag to compare

@99apps-id 99apps-id released this 17 Jul 01:10

Full Changelog: v0.1.35...v0.1.36

v0.1.33

Choose a tag to compare

@99apps-id 99apps-id released this 15 Jul 15:56

Summary

  • Fix Next.js build: authorizeMetrics lives in src/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