diegosouzapw
659e2b414d
feat(release): v2.8.2 — model alias routing fix, log export, 2 merged PRs
2026-03-19 11:13:49 -03:00
diegosouzapw
a265c7096e
feat(release): v2.8.1 — streaming log fix, Kiro compat, cache tokens, Chinese i18n, configurable tool call ID
2026-03-19 08:45:54 -03:00
diegosouzapw
fe5c20a04e
feat(release): v2.8.0 — Bailian Coding Plan, editable provider URLs, 812 tests
2026-03-19 02:28:45 -03:00
diegosouzapw
a09b298127
feat(release): v2.7.10 — Alibaba Cloud Coding, Kimi Coding API-key, Docker pino fix
2026-03-19 01:50:00 -03:00
diegosouzapw
ce34d329d3
chore(release): v2.7.9
2026-03-18 17:19:42 -03:00
diegosouzapw
1b68deb0f6
feat(release): v2.7.8 — budget save fix + combo agent UI + omniModel tag strip
...
- fix(budget): warningThreshold sent as fraction 0-1 not percentage 0-100 (#451 )
- feat(combos): Agent Features UI in combo modal (system_message, tool_filter_regex,
context_cache_protection) — previously server-only (#454 )
- fix(combos): strip <omniModel> tags before forwarding to provider (#454 )
2026-03-18 15:38:04 -03:00
diegosouzapw
718be831af
feat(release): v2.7.7 — Docker pino crash fix + Codex responses worker fix
...
- fix(docker): copy pino-abstract-transport + pino-pretty in standalone (#449 )
- fix(responses): remove initTranslators() from /v1/responses route (#450 )
- chore(deps): commit package-lock.json with each version bump
2026-03-18 15:13:26 -03:00
diegosouzapw
146a491769
feat(release): v2.7.5 — login UX + Windows CLI healthcheck
...
- fix(ux): show default password hint on login page (#437 )
- fix(cli): spawn shell:true on Windows for .cmd CLI resolution (#447 )
2026-03-18 14:52:05 -03:00
diegosouzapw
684b81d835
feat(release): v2.7.4 — search playground, i18n fixes, Copilot limits, Serper validation
...
- feat(search): search playground + search tools page + local rerank (#443 @Regis-RCR)
- fix(analytics): localize day/date labels with Intl.DateTimeFormat (#444 @hijak)
- fix(copilot): correct account type display, filter unlimited quotas (#445 @hijak)
- fix(providers): stop rejecting valid Serper API keys on non-4xx (#446 @hijak)
2026-03-18 12:11:00 -03:00
diegosouzapw
896ce9c0e2
feat(release): v2.7.3 — fix Codex direct API weekly quota fallback
...
- fix(codex): resolveQuotaWindow() prefix-matches 'weekly' → 'weekly (7d)' cache keys
- fix(codex): applyCodexWindowPolicy() enforces useWeekly/use5h toggles in direct API
- 4 new regression tests, 766 total passing
- Closes #440
2026-03-18 08:41:13 -03:00
diegosouzapw
d3dfd9ce57
feat(release): v2.7.2 — fix light mode contrast in logs UI
...
- fix(logs): text colors in filter buttons + combo badge now have dark: variants
- Bumped version to 2.7.2
- Updated CHANGELOG and openapi.yaml
2026-03-18 00:42:22 -03:00
diegosouzapw
928b7120f4
feat(release): v2.7.1 — unified web search routing + Next.js 16.1.7 security
...
- POST /v1/search: 5 providers (Serper, Brave, Perplexity, Exa, Tavily), 6,500+ free/mo
- Search analytics dashboard tab + GET /api/v1/search/analytics
- db: request_type column on call_logs (migration 007)
- Next.js 16.1.7: 6 CVEs fixed (critical: CVE-2026-29057 HTTP request smuggling)
- docs/openapi.yaml: bumped to 2.7.1
2026-03-17 16:27:31 -03:00
diegosouzapw
095c84ac16
fix(providerRegistry): remove duplicate claude-haiku-4-5-20251001 from anthropic provider to prevent ambiguous model resolution
2026-03-17 13:10:23 -03:00
diegosouzapw
f02c5b5c69
fix(install/v2.6.10): Windows better-sqlite3 prebuilt download ( #426 )
...
npm version patch run BEFORE staging files — this is an ATOMIC commit.
Adds Strategy 1.5 to scripts/postinstall.mjs:
- Uses @mapbox/node-pre-gyp install --fallback-to-build=false
(bundled within better-sqlite3) to download the correct prebuilt
binary for the current OS/arch (win32-x64/arm64, darwin-x64/arm64)
WITHOUT requiring node-gyp, Python, or MSVC build tools.
- Tries node-pre-gyp.cmd (Windows) or node-pre-gyp (Unix) from .bin/
with fallback to direct path in @mapbox/node-pre-gyp/bin/
- Falls back to npm rebuild only if prebuilt download fails.
- Windows-specific error: shows Option A (npx node-pre-gyp) and
Option B (rebuild) with Visual Studio Build Tools links.
Fixes : #426 (better_sqlite3.node is not a valid Win32 application)
2026-03-17 10:09:45 -03:00
diegosouzapw
838f1d645c
fix(v2.6.9): CI budget checks, #409 file attachments, atomic release workflow
...
Includes version bump — v2.6.9 — committed ATOMICALLY with all changes:
fixes:
- fix(ci/t11): Remove 'any' from comments in openai-responses.ts + chatCore.ts
(\bany\b regex counted comment text as explicit any violations)
- fix(chatCore/#409): Normalize unsupported content part types before forwarding
Cursor sends {type:'file'} for .md attachments; Copilot/OpenAI providers reject
with 'type has to be either image_url or text'. Now: file/document→text block,
unknown types dropped with debug log. Fixes claude-* models via github-copilot.
workflow:
- chore(generate-release): ATOMIC COMMIT RULE — npm version patch MUST run before
feature commits so the release tag always points to a commit with full changes
2026-03-17 09:09:01 -03:00
diegosouzapw
ce2c30c437
chore(release): v2.6.8 — combo agents, auto-update, detailed logs, MITM Kiro
2026-03-17 08:58:03 -03:00
diegosouzapw
e45ef00bef
chore(release): v2.6.7 — SSE fixes, local provider_nodes, proxy registry
...
PRs merged: #414 (deps) #415 #417 #419 #420 #421 (SSE fixes)
#418 (Claude passthrough) #422 #416 #423 (local nodes)
#427 (strip empty blocks) #428 (OAuth refreshable)
#429 (proxy registry)
Contributors: @prakersh, @Regis-RCR, @dependabot
2026-03-17 08:17:11 -03:00
diegosouzapw
a9f69711c6
fix(build): remove node: protocol prefix from all src/ imports (#turbopack-compat)
...
Turbopack (Next.js 15) does not process node: URL prefixes correctly when
bundling server-side files that get transitively included. Removed the node:
prefix from 17 files:
- src/lib/db/migrationRunner.ts (node:fs, node:path, node:url)
- src/lib/db/core.ts (node:path, node:fs)
- src/lib/db/backup.ts (node:path, node:fs)
- src/lib/db/prompts.ts (node:fs)
- src/lib/dataPaths.ts (node:path, node:os)
- src/app/api/settings/route.ts
- src/app/api/storage/health/route.ts
- src/app/api/oauth/[provider]/[action]/route.ts
- src/app/api/db-backups/{exportAll,import,export}/route.ts
- src/shared/middleware/correlationId.ts
- src/shared/utils/requestId.ts
- src/lib/apiBridgeServer.ts
- src/lib/cacheLayer.ts
- src/lib/semanticCache.ts
- src/lib/oauth/providers/kimi-coding.ts
Also updated generate-release.md: Docker Hub sync and dual-VPS deploy
are now mandatory steps in every release.
2026-03-17 04:24:46 -03:00
diegosouzapw
a8ab16a720
chore(release): v2.6.5 — reasoning params filter, local 404 fix, Kilo Gateway, dep bumps
...
- fix(sse): strip unsupported params for o1/o1-mini/o1-pro/o3/o3-mini (PR #412 @Regis-RCR)
- fix(sse): model-only lockout (5s) for local provider 404 (PR #410 @Regis-RCR)
- feat(api): Kilo Gateway provider — 335+ models, alias 'kg' (PR #408 @Regis-RCR)
- deps: better-sqlite3 12.8, undici 7.24.4, https-proxy-agent 8 (PR #413 )
2026-03-17 03:05:45 -03:00
Diego Rodrigues de Sa e Souza
a00ef0fc7e
Merge pull request #413 from diegosouzapw/dependabot/npm_and_yarn/production-4d4ff746af
...
deps: bump the production group with 5 updates
2026-03-17 03:03:49 -03:00
diegosouzapw
6fa77a63d7
chore(release): v2.6.4 — model name fixes across providers
2026-03-17 01:59:25 -03:00
dependabot[bot]
d98ec59c79
deps: bump the production group with 5 updates
...
Bumps the production group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [better-sqlite3](https://github.com/WiseLibs/better-sqlite3 ) | `12.6.2` | `12.8.0` |
| [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent ) | `7.0.6` | `8.0.0` |
| [undici](https://github.com/nodejs/undici ) | `7.24.2` | `7.24.4` |
| [wreq-js](https://github.com/sqdshguy/wreq-js ) | `2.1.1` | `2.2.0` |
| [zustand](https://github.com/pmndrs/zustand ) | `5.0.11` | `5.0.12` |
Updates `better-sqlite3` from 12.6.2 to 12.8.0
- [Release notes](https://github.com/WiseLibs/better-sqlite3/releases )
- [Commits](https://github.com/WiseLibs/better-sqlite3/compare/v12.6.2...v12.8.0 )
Updates `https-proxy-agent` from 7.0.6 to 8.0.0
- [Release notes](https://github.com/TooTallNate/proxy-agents/releases )
- [Changelog](https://github.com/TooTallNate/proxy-agents/blob/main/packages/https-proxy-agent/CHANGELOG.md )
- [Commits](https://github.com/TooTallNate/proxy-agents/commits/https-proxy-agent@8.0.0/packages/https-proxy-agent )
Updates `undici` from 7.24.2 to 7.24.4
- [Release notes](https://github.com/nodejs/undici/releases )
- [Commits](https://github.com/nodejs/undici/compare/v7.24.2...v7.24.4 )
Updates `wreq-js` from 2.1.1 to 2.2.0
- [Release notes](https://github.com/sqdshguy/wreq-js/releases )
- [Commits](https://github.com/sqdshguy/wreq-js/compare/v2.1.1...v2.2.0 )
Updates `zustand` from 5.0.11 to 5.0.12
- [Release notes](https://github.com/pmndrs/zustand/releases )
- [Commits](https://github.com/pmndrs/zustand/compare/v5.0.11...v5.0.12 )
---
updated-dependencies:
- dependency-name: better-sqlite3
dependency-version: 12.8.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: https-proxy-agent
dependency-version: 8.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: production
- dependency-name: undici
dependency-version: 7.24.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: wreq-js
dependency-version: 2.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: zustand
dependency-version: 5.0.12
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-16 19:03:12 +00:00
diegosouzapw
9b255e643a
chore(release): v2.6.3 — compile-time hash-strip fix, Synthetic provider (PR #404 ), VPS PM2 path fix
2026-03-16 11:00:43 -03:00
diegosouzapw
5d7772ecb0
chore(release): v2.6.2 — fix all module hashing, Anthropic tools filter, custom endpoint paths, Alibaba Cloud provider
2026-03-16 09:53:32 -03:00
diegosouzapw
74d3374d5c
chore(release): v2.6.1 — fix better-sqlite3 startup crash on npm global installs ( #394 )
2026-03-15 21:51:35 -03:00
diegosouzapw
44478c36a3
chore(release): v2.6.0 — issue resolution sprint ( #390 #340 #344 #377 #378 #337 )
2026-03-15 19:15:38 -03:00
Diego Rodrigues de Sa e Souza
fa267274b0
Merge pull request #386 from kfiramar/chore-test-script-loader-consistency
...
chore(tests): align targeted test runners
2026-03-15 19:08:47 -03:00
diegosouzapw
2979a36a7c
chore(release): v2.5.9 — codex passthrough + route validation + JWT persist
2026-03-15 15:46:06 -03:00
diegosouzapw
c905119d82
fix(build): remove --webpack from prepublish.mjs — fixes VPS app/server.js missing in npm package
2026-03-15 14:56:20 -03:00
diegosouzapw
c581ca8339
fix(build): remove deprecated --webpack flag from next build script
2026-03-15 14:05:46 -03:00
diegosouzapw
ccf9d9214a
chore(release): v2.5.7 — media playground error handling fixes
2026-03-15 13:55:28 -03:00
Kfir Amar
0f13965391
chore(tests): align targeted test runners
2026-03-15 18:25:22 +02:00
diegosouzapw
441534853b
chore(release): v2.5.6 — Antigravity OAuth fix, JWT session persistence
2026-03-15 13:05:52 -03:00
diegosouzapw
8e06dc5ace
chore(release): v2.5.5 — model list dedup, Electron build hardening, Kiro credit tracking
2026-03-15 12:34:58 -03:00
diegosouzapw
4b7a9233e7
chore(release): v2.5.4 — logger fix, login bootstrap, HMR origins, CI hardening
2026-03-15 01:12:27 -03:00
diegosouzapw
36856b18db
chore: release v2.5.3
...
bug fixes (PRs #373 , #371 , #372 , #369 by @kfiramar):
- fix(db): provider_connections.group column migration for existing DBs
- fix(i18n): replace missing deleteConnection key with delete in tooltip
- fix(auth): clear stale error metadata on genuine provider recovery
- fix(startup): unify env loading across npm/electron startup paths
code quality improvements (per kilo-code-bot review):
- docs: document result.success vs response.ok patterns in auth.ts
- refactor: normalize overridePath?.trim() in electron/main.js
- docs: explain preferredEnv merge order intent
2026-03-14 19:53:59 -03:00
diegosouzapw
245243c7e7
chore: release v2.5.2 (version bump, npm conflict with 2.5.1)
2026-03-14 16:01:14 -03:00
diegosouzapw
759ac0df3d
chore: release v2.5.1
...
- PR #368 : gpt-5.4 in Codex model registry (cx/gpt-5.4, codex/gpt-5.4)
- PR #367 : Codex fast tier toggle (default-off, full stack, 48 tests)
- PR #366 : Codex quota policy 5h/weekly with auto-rotation
- fix #356 : analytics charts show provider display names not raw IDs
2026-03-14 15:55:06 -03:00
diegosouzapw
da14390fe0
chore: release v2.5.0
...
Includes:
- PR #363 : strict-random strategy, API key controls, connection groups, Limits UX (AndersonFirmino)
- PR #365 : external pricing sync with LiteLLM 3-tier resolution (Regis-RCR)
- fix #355 : stream idle timeout 60s → 300s for thinking models
- fix #350 : combo test bypasses REQUIRE_API_KEY via X-Internal-Test header
- fix #346 : filter tools with empty function.name before forwarding upstream
2026-03-14 15:31:27 -03:00
diegosouzapw
1b354be827
feat: T07 — API Key Round-Robin per provider connection
...
- New: open-sse/services/apiKeyRotator.ts — round-robin rotation
between primary API key + providerSpecificData.extraApiKeys[]
- Modified: open-sse/executors/base.ts — buildHeaders() rotates key
using getRotatingApiKey() when extraApiKeys configured
- Modified: open-sse/handlers/chatCore.ts — injects connectionId into
credentials to enable per-connection rotation index tracking
- Modified: providers/[id]/page.tsx — 'Extra API Keys' UI section in
EditConnectionModal: add/remove keys, persisted in providerSpecificData
T08 (quota window rolling) and T13 (wildcard model routing) confirmed
already implemented in accountFallback.ts and wildcardRouter.ts.
2026-03-14 15:03:54 -03:00
diegosouzapw
75a6d850fc
chore: release v2.4.3
...
- fix: Codex/GitHub limits page HTTP 500 → graceful 401/403 messages
- fix: MaintenanceBanner false-positive on page load (stale closure)
- fix: add title tooltips to edit/delete buttons in ConnectionCard
- feat: add fill-first and p2c routing strategies to combo picker
- feat: Free Stack template pre-fills 7 free provider models
- feat: combo create/edit modal wider (max-w-4xl)
2026-03-14 12:49:36 -03:00
diegosouzapw
b0f5f92f1a
feat(release): v2.4.2 — task-aware routing, HuggingFace/Vertex providers, streaming fixes, token tracking, playground uploads
...
- feat: Task-Aware Smart Routing (T05) — auto-select model by task type
- feat: HuggingFace and Vertex AI provider support
- feat: Playground audio/image file uploads for transcription and vision
- feat: ModelSelectModal shows ✓ for already-added models (#180 )
- fix: Claude Haiku routed to OpenAI without provider prefix (#73 )
- fix: Token counts always 0 for Antigravity/Claude streaming (#74 )
- fix: OpenAI SDK stream=False drops tool_calls (#302 )
- fix: Media page generation errors — inline rendering for images/transcription
- fix: Round-robin state management for excluded accounts (#349 )
- fix: Qwen user agent and CLI fingerprint compatibility (#352 )
- deps: undici→7.24.2, dompurify→3.3.3, docker actions v4
- docs: CHANGELOG 2.4.2 with full feature/fix list
- docs: README with Task-Aware Routing table entry
2026-03-14 11:04:09 -03:00
diegosouzapw
d976abb5e0
chore: v2.4.1 — combos free-stack always visible
2026-03-13 11:29:51 -03:00
diegosouzapw
1e93ee5c34
chore: release v2.4.0
...
Bump from 2.3.17 to 2.4.0 to reflect the significance of this release:
- Free Stack combo template ecosystem
- Transcription playground overhaul (Deepgram default, $200/$50 free badges)
- 44+ providers documented, hasFree badges on NVIDIA/Cerebras/Groq
- README: Start Free section, Free Models section, Free Transcription Combo
- tierPriority as 7th scoring factor in auto-combo UI
- i18n 30 languages fully synced
2026-03-13 11:20:31 -03:00
diegosouzapw
1b6c502c7f
feat: free-stack combo, Deepgram transcription default, README free sections, provider hasFree badges
...
- Combos: add 'Free Stack ($0)' as 4th combo template (round-robin: Kiro+iFlow+Qwen+GeminiCLI)
- Media/Transcription: Deepgram (Nova 3) as default provider, show $200/$50/free badges
- providers.ts: hasFree + freeNote for NVIDIA NIM (40 RPM), Cerebras (1M tok/day), Groq (30 RPM)
- README: new early '🆓 Start Free' 5-step table before Quick Start
- README: new '🎙️ Free Transcription Combo' section (Deepgram/AssemblyAI/Groq)
- README: NVIDIA NIM model list updated (Kimi K2.5, GLM 4.7, DeepSeek V3.2)
- i18n: templateFreeStack + templateFreeStackDesc synced to 30 languages
- Bump version to 2.3.17
2026-03-13 11:13:02 -03:00
diegosouzapw
4e4532c057
docs(readme): 44+ providers, free models section, accurate free tier quotas
...
- Update provider count from 36+ to 44+ in 3 locations (line 5, unified endpoint, one-endpoint sections)
- Add new section '🆓 Free Models — What You Actually Get' with 7 provider tables:
- Kiro: 3 Claude models (unlimited via AWS Builder ID)
- iFlow: 5 models unlimited (kimi-k2-thinking, qwen3-coder-plus, deepseek-r1, minimax-m2.1, kimi-k2)
- Qwen: 4 models unlimited (qwen3-coder-plus, qwen3-coder-flash, qwen3-coder-next, vision-model)
- Gemini CLI: 180K/month + 1K/day
- NVIDIA NIM: ~40 RPM dev-forever (70+ models), transitioning from credits to rate limits
- Cerebras: 1M tokens/day, 60K TPM / 30 RPM
- Groq: 30 RPM / 14.4K RPD
- Include $0 Ultimate Free Stack combo recommendation
- Update NVIDIA NIM from '1000 credits' to 'dev-forever free' (×3)
- Add Cerebras row to pricing table
- Fix iFlow 8→5 models (with names), Qwen 3→4 models (with names)
- Bump version to 2.3.16
2026-03-13 11:03:24 -03:00
diegosouzapw
9055fc2129
feat(auto-combo): add tierPriority factor label + autoCombo i18n section (30 languages)
...
- Add 'tierPriority: 🏷️ Tier' to FACTOR_LABELS in auto-combo dashboard (7th scoring factor)
- Add 'autoCombo' i18n section with 20 keys to en.json
- Sync autoCombo i18n keys to 29 language files (ar, bg, da, de, es, fi, fr, hi, hu, id, it, ja, ko, nl, no, pl, pt-BR, pt, ro, ru, sk, sv, th, tr, uk, vi, zh-CN, zh-TW + all others)
- Bump version to 2.3.15
2026-03-13 10:40:59 -03:00
diegosouzapw
b8fec94b0d
feat(release): v2.3.14 — iFlow fix, MITM compile, GeminiCLI fallback, new models, tier scoring API
2026-03-13 10:19:38 -03:00
diegosouzapw
f6c0744d67
feat(release): v2.3.13 — tiered quota scoring, model fallback, auth fixes, pnpm fix
...
- Tiered quota scoring (Ultra>Pro>Free) as 7th Auto-Combo factor
- Intra-family model fallback on 404/400/403 errors
- Configurable API bridge timeout (API_BRIDGE_PROXY_TIMEOUT_MS)
- INITIAL_PASSWORD accepted on first login with timingSafeEqual
- README </details> truncation fix (affects all GitHub renders)
- pnpm @swc/helpers override conflict removed
- CLI path injection hardening (isSafePath validator)
- 429 retry, Gemini CLI headers, Claude response_format injection
- deepseek-3.1/3.2, qwen3-coder-next pricing added
- starchart.cc star widget in all 30 READMEs
2026-03-12 18:18:53 -03:00
diegosouzapw
02b19e63e8
fix(pnpm): remove @swc/helpers override conflict, add pnpm build-scripts config ( #328 )
...
The @swc/helpers override in package.json duplicated the direct dependency
at the exact same version (0.5.19), causing 'EOVERRIDE' errors when pnpm
users tried to rebuild native modules like better-sqlite3.
Fixes:
- Remove redundant 'overrides' block (direct dep already pins 0.5.19)
- Add pnpm.onlyBuiltDependencies for @parcel/watcher, @swc/core,
better-sqlite3, esbuild, omniroute, sharp (replaces pnpm approve-builds)
- Add pnpm usage note to README Quick Start
Closes #328
2026-03-12 18:06:27 -03:00