diegosouzapw
aa2a7d12be
chore(release): v3.0.1 — hotfix for proxy_ prefix, LongCat validation, and MCP tool schemas
2026-03-25 08:20:04 -03:00
diegosouzapw
b15eb278e1
chore: bump version to 3.0.0, update openapi.yaml and CHANGELOG
2026-03-24 18:38:35 -03:00
diegosouzapw
b717a02394
chore: remove PR documentation and unnecessary markdown files
2026-03-24 10:33:25 -03:00
diegosouzapw
45b272ee2f
chore: bump version to 3.0.0-rc.15
...
- CHANGELOG: add rc.14 (PRs #562 , #561 ) and rc.15 (#563 per-model combo routing)
- package.json: 3.0.0-rc.13 → 3.0.0-rc.15
- openapi.yaml: version sync to 3.0.0-rc.15
2026-03-23 21:05:44 -03:00
diegosouzapw
0ea73bd527
chore(release): bump version to 3.0.0-rc.13
2026-03-23 15:39:11 -03:00
diegosouzapw
7ad5d42982
release: v3.0.0-rc.12 — merge PRs #542 , #544 , #546 , #555 + TDZ fix + build fixes
...
Community PRs:
- #546 : fix(cli): --version returning unknown on Windows
- #555 : fix(sse): centralized resolveDataDir() for path resolution
- #544 : fix(cli): secure CLI tool detection via known installation paths
- #542 : fix(ui): light mode contrast — missing CSS theme variables
Additional:
- Fix TDZ error in cliRuntime.ts (validateEnvPath before getExpectedParentPaths)
- Add pino/pino-pretty to serverExternalPackages for build stability
- 905 tests passing
2026-03-23 15:11:18 -03:00
diegosouzapw
5337111990
chore(release): bump version to 3.0.0-rc.10
2026-03-23 08:35:43 -03:00
diegosouzapw
bb06f8eb0c
fix(deps): downgrade Next.js to 16.0.10 to fix turbopack hashing regression
...
Closes #509 , #508
Docs: added rc.8 and rc.9 sprint summary to CHANGELOG.md
2026-03-23 08:20:54 -03:00
diegosouzapw
e47740e02e
feat: sub2api T05/T08/T09/T13/T14 + bump to 3.0.0-rc.7
2026-03-22 23:17:52 -03:00
diegosouzapw
d9ff0035f5
chore: bump version to 3.0.0-rc.6 (sub2api gap tasks T01-T15)
2026-03-22 21:01:33 -03:00
diegosouzapw
95ffc21b60
feat(3.0.0-rc.5): Registered Keys Provisioning API ( #464 )
...
Complete implementation of auto-provisioning API:
- DB migration 008: registered_keys, provider_key_limits, account_key_limits
- src/lib/db/registeredKeys.ts: full quota enforcement, idempotency, sha256
hashing, budget tracking, window auto-reset
- POST /api/v1/registered-keys — issue with quota check
- GET /api/v1/registered-keys — list (masked)
- GET|DELETE /api/v1/registered-keys/[id] — get/revoke
- POST /api/v1/registered-keys/[id]/revoke — explicit revoke
- GET /api/v1/quotas/check — pre-validate without issuing
- GET|PUT /api/v1/providers/[id]/limits — provider limits CRUD
- GET|PUT /api/v1/accounts/[id]/limits — account limits CRUD
- POST /api/v1/issues/report — optional GitHub issue reporting
(requires GITHUB_ISSUES_REPO + GITHUB_ISSUES_TOKEN env vars)
- Exported all from localDb.ts
2026-03-22 15:33:45 -03:00
diegosouzapw
f3c5e55b26
feat(3.0.0-rc.4): merge PR #530 — OpenCode Zen and Go providers
...
Includes all commits from @kang-heewon's PR #530 :
- OpencodeExecutor with multi-format routing
- opencode-zen + opencode-go registered in provider registry
- UI metadata added to providers.ts
- Unit tests for OpencodeExecutor (improved to avoid state coupling)
Cherry-picked from add-opencode-providers into 3.0.0-rc.
Conflicts resolved: executors/index.ts (merged pollinations+cloudflare-ai),
providerRegistry.ts (kept testKeyBaseUrl from rc.2 + PR's authType/models).
2026-03-22 15:23:00 -03:00
diegosouzapw
aa93a3f2e2
feat(3.0.0-rc.3): provider icons, model auto-sync, Gemini OAuth fix
...
feat(ui): ProviderIcon component with @lobehub/icons + PNG fallback (#529 )
- 130+ providers covered by Lobehub SVG components via LobehubErrorBoundary
- Falls back to existing /providers/{id}.png, then generic icon
- Replaces manual img state machine in ProviderCard + ApiKeyProviderCard
feat(scheduler): modelSyncScheduler — 24h model list auto-update (#488 )
- Syncs 16 major providers every 24h (MODEL_SYNC_INTERVAL_HOURS configurable)
- Wired into POST /api/sync/initialize startup hook
fix(oauth): Gemini CLI — clear error when client_secret missing in Docker (#537 )
2026-03-22 15:01:38 -03:00
diegosouzapw
8b9abcb6cc
fix(3.0.0-rc.2): resolve issues #536 , #535 , #524
...
fix(providers): LongCat AI key validation — correct base URL and auth header (#536 )
- baseUrl: longcat.chat/api/v1/chat/completions -> api.longcat.chat/openai
- authHeader: 'bearer' -> 'Authorization' + authPrefix: 'Bearer'
fix(combo): implement pinnedModel override in comboAgentMiddleware (#535 )
- Previously: pinnedModel was detected but body.model was never updated
- Now: body = { ...body, model: pinnedModel } when context_cache_protection fires
fix(cli-tools): add OpenCode config save to guide-settings endpoint (#524 )
- Added 'opencode' case to switch in guide-settings/[toolId]/route.ts
- saveOpenCodeConfig(): XDG_CONFIG_HOME aware, writes [provider.omniroute] TOML block
2026-03-22 13:31:56 -03:00
diegosouzapw
1ecc1908c7
chore(3.0.0-rc.1): bump version to 3.0.0-rc.1, close resolved issues, update CHANGELOG
...
- package.json: 2.9.5 → 3.0.0-rc.1
- docs/openapi.yaml: version → 3.0.0-rc.1
- CHANGELOG.md: add [3.0.0-rc.1] section with all batch1-3 fixes
- scripts/check-docs-sync.mjs: isSemver now accepts pre-release versions (X.Y.Z-prerelease.N)
Closed issues: #489 , #492 , #510 , #513 , #520 , #521 , #522 , #525 , #527 , #532
RC versioning: rc.1 → rc.2 → rc.N on each VPS deploy until v3.0.0 is approved
2026-03-22 12:25:30 -03:00
diegosouzapw
e5988764ce
chore(release): v2.9.5 — OpenCode providers, embedding credentials fix, CLI masked key fix, CACHE_TAG_PATTERN fix
...
- feat(providers): add OpenCode Zen and Go providers with multi-format executor (PR #530 by @kang-heewon)
- fix(embeddings): use provider node ID for custom embedding provider credential lookup (PR #528 by @jacob2826)
- fix(cli-tools): resolve real API key from DB (keyId) before writing to CLI config files (#523 , #526 )
- fix(combo): update CACHE_TAG_PATTERN to match literal \\n prefix/suffix around omniModel tag (#531 )
- chore: bump version to 2.9.5 in package.json + docs/openapi.yaml
- docs: update CHANGELOG.md with v2.9.5 release notes
2026-03-22 10:30:04 -03:00
diegosouzapw
2f2d6b8535
chore(release): v2.9.4 — bug fixes ( #491 , #515 , #517 )
...
- fix(translator): preserve prompt_cache_key in Responses API translation (#517 )
- fix(combo): escape \n in tagContent for valid JSON injection (#515 )
- fix(usage): sync expired token status back to DB on live auth failure (#491 )
- chore: bump version to 2.9.4 in package.json + docs/openapi.yaml
- docs: update CHANGELOG.md with v2.9.4 release notes
2026-03-21 17:37:51 -03:00
diegosouzapw
f0419396b5
chore(release): bump version to 2.9.3, update CHANGELOG
...
- Version bumped from 2.9.2 → 2.9.3 in package.json + docs/openapi.yaml
- CHANGELOG.md updated with full release notes for 2.9.3
(5 new free providers, 2 metadata updates, 2 custom executors, docs)
2026-03-21 15:44:35 -03:00
diegosouzapw
3859f1c9ae
chore(release): v2.9.2 — transcription Content-Type fix, Deepgram language detection, TTS error display
...
- fix(transcription): resolveAudioContentType() maps video/mp4 → audio/mp4 for Deepgram/HuggingFace
- fix(transcription): detect_language=true + punctuate=true for Deepgram auto-detection
- fix(tts): upstreamErrorResponse() correctly extracts string from nested error objects
- docs: README transcription/TTS rows updated with provider counts and capabilities
- i18n: sync 29/30 language README files with updated feature descriptions
- chore: bump version 2.9.1 → 2.9.2
2026-03-21 13:54:22 -03:00
diegosouzapw
03f2ef1e2b
fix: omniModel SSE tag data loss + v2.9.1 release ( #511 )
2026-03-21 08:55:28 -03:00
diegosouzapw
c74ed29739
chore(release): v2.9.0 — cross-platform machineId, per-key rate limits, streaming cache, Alibaba DashScope, search analytics, ZWS v5, 8 issues closed
2026-03-20 20:12:34 -03:00
diegosouzapw
4d64e64127
fix: KIRO MITM card text + v2.8.9 release ( #505 )
2026-03-20 16:14:49 -03:00
diegosouzapw
4003c38fd1
fix: OAuth batch test crash + Test All button on provider pages (v2.8.8)
2026-03-20 15:09:48 -03:00
diegosouzapw
48754fd999
release: v2.8.7 — Bottleneck 429 drop (PR #495 ), custom embedding provider fix ( #496 )
2026-03-20 12:57:08 -03:00
diegosouzapw
38266bf2ff
release: v2.8.6 — MiniMax role fix (PR #494 ), KIRO MITM card ( #487 ), triage 8 issues
2026-03-20 12:26:27 -03:00
diegosouzapw
b62e6c5a69
release: v2.8.5 — fix zombie SSE, context cache tag, KIRO MITM
...
Bug Fixes:
- #473 : Reduce STREAM_IDLE_TIMEOUT_MS 300s→120s for faster zombie stream fallback
- #474 : Fix injectModelTag() to handle first-turn (no assistant messages)
- #481 : Change KIRO configType guide→mitm for dashboard MITM controls
- CI: Fix E2E test modal overlay interception
Closed External Issues:
- #468 : Gemini CLI remote (superseded by #462 deprecation)
- #438 : Claude write files (external CLI issue)
- #439 : AppImage (documented libfuse2 workaround)
- #402 : ARM64 DMG damaged (documented xattr -cr workaround)
- #460 : Windows CLI PATH (documented fix)
2026-03-19 20:29:14 -03:00
diegosouzapw
eeb9c69aa3
chore(release): v2.8.4 — Gemini CLI deprecation, VM guide i18n, flatted security fix
...
- #462 : gemini-cli marked deprecated, Zod schema expanded
- #471 : VM guide added to i18n pipeline, 30 locale translations regenerated
- #484 : bump flatted 3.3.3→3.4.2 (CWE-1321)
- Closed : #472 , #471 , #483
2026-03-19 16:32:23 -03:00
diegosouzapw
8a8a6a4a82
chore(release): v2.8.3 — Czech i18n, SSE protocol fix
...
- #482 : Czech language + VM guide EN translation (@zen0bit)
- #483 : Stop sending trailing data: null after [DONE]
2026-03-19 14:00:18 -03:00
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
diegosouzapw
6fa77a63d7
chore(release): v2.6.4 — model name fixes across providers
2026-03-17 01:59:25 -03: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