TokenFlux Docs

Changelog

All notable changes to TokenFlux are documented here.

Changelog

All notable changes to TokenFlux are documented here.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.


[1.3.0] - 2026-09-30

♻️ Changed

  • TypeScript runtime: The public server now runs on Bun and serves the React Portal through TanStack Start. Home, contact, docs, and the public model directory render server-side; account sessions remain browser-owned (#208).
  • Agent bridge: Sandboxes now run the TypeScript pi bridge with Node, preserving their workspaces, pi sessions, RPC, and streaming contracts (#208).
  • Owned REST contracts: Effect HttpApi is the source of the health and Agent REST contracts. New API traffic remains a shallow compatibility relay, and MCP stays on its independent JSON-RPC transport (#208).

🐛 Fixed

  • Portal styles: Include shared component sources in the Start Tailwind build, restoring logo sizes and responsive layouts. Browser regression checks now verify desktop/mobile home layouts and the account sidebar logo (3a870451).

🗑️ Removed

  • Retire the active Go server/bridge build chain, standalone legacy Vite entrypoint, and unused generated TypeScript SDK. Applied database migration history and documented source recovery points remain available (#217).
  • Consolidate duplicate frontend checks and remove unused UI components and completed one-time cutover tasks (#216, #218).

Before upgrading, take a consistent backup of Agent state, every sandbox workspace volume, and uploaded images. Changing the image version alone does not restore those data stores.

Full Changelog: v1.2.2...v1.3.0


[1.2.2] - 2026-09-28

✨ Features

  • Agent notifications: Agents can send a plain-text message to the Telegram chats linked to the running conversation, for progress on a long task or to alert the user about a task started from the web portal. Up to 10 per task; Telegram flood control is reported, never waited out (#205).
  • Skills and slash commands: The agent composer lists installed pi skills and runs /clear, /compact, and /reload; /reload picks up newly installed extensions, skills, and templates without losing conversations. Telegram adds /new, /stop, /help, /reload, /compact, /model, /thinking, and /session (#204).

Full Changelog: v1.2.1...v1.2.2


[1.2.1] - 2026-09-28

🐛 Fixed

  • Models directory: image/ models appear under Images even when the upstream only advertises a Chat-compatible endpoint, and image provider filters use the model lab rather than the image namespace (d356195e).
  • Agent model selection: Exclude image/ models from agent and pi model choices; search available models by name in agent creation, settings, and sessions (5907f393).

📝 Documentation

  • Record the normalized New API production catalog, its lab aliases, billing requirements, and DeepSeek routing (7c23ca39).

🚀 Deployment

  • Establish the v1.2.0 production release baseline (#203).

Full Changelog: v1.2.0...v1.2.1


[1.2.0] - 2026-09-28

✨ Features

  • Default agent: Every account gets a default agent on gpt-6-luna and one dedicated usage key that all of its agents share, so agent spending is easy to find in usage (#199).
  • Telegram channel: Connect a Telegram bot to an agent from its Telegram panel, by pasting a token or by scanning to have one created, then link chats with a one-tap link or QR code (#200).
  • Telegram groups and topics: Add an agent's bot to a group. Only the person who linked the group can use it there, by mentioning or replying to the bot. Each forum topic gets its own conversation (#201).
  • Live progress in Telegram: While a task runs, the chat shows typing and a preview of the reply and its tool calls. When the task finishes, the preview is replaced by the formatted answer. /new, /stop, and /help are in the bot's menu (#201).

♻️ Changed

  • Creating an agent no longer asks for an API key; it uses the account's agent key (#199).

Full Changelog: v1.1.0...v1.2.0


[1.1.0] - 2026-09-27

✨ Features

  • Agents (preview): Create pi agents from the portal's Agents page. Each one runs in its own sandbox with persistent sessions and a workspace, a choice of API key and model, and live progress (#191).
  • Agent extensions: Sandboxes include pi's MCP adapter, web access, context-mode, and pi-vcc extensions by default (23ead117).
  • Images in prompts: Attach images to agent prompts. The portal downscales large pictures, uploads them once, and prompts refer to them by ID (#192, #194).

🐛 Bug Fixes

  • Creating agents is rate-limited per client instead of across all users (#196).

🔒 Security

  • Agent sandboxes drop every Linux capability and cannot gain privileges, and deployment verifies they cannot reach internal services (#195).
  • Edge logs no longer record API keys, credentials in query strings, or other request headers (#190).

🚀 Deployment

  • Releases publish the agent service and sandbox images as vX.Y.Z-agent and vX.Y.Z-sandbox, and production runs the agent service with S3-compatible image storage on rustfs (#193, #194).
  • Production ships logs and traces to the host's OpenTelemetry agent (#190).

📝 Documentation

  • Document the Agents architecture (8b36f372).

Full Changelog: v1.0.0...v1.1.0


[1.0.0] - 2026-09-25

TokenFlux 1.0 runs on a new platform: accounts, API keys, billing, usage, and model routing moved to it, and TokenFlux now serves the customer portal and API from one server. Entries below this section describe the product as it existed in their release and may mention components that have since been retired.

✨ Features

  • Customer portal: Add Overview, API Keys, Models & Pricing, Usage, Billing, sign-in, and account-bound session handling (#167).
  • OAuth sign-in: Sign in with GitHub and Google, with TokenFlux branding across the portal (#177).
  • Account settings: Link another sign-in provider to an existing account and change the password after re-verifying your identity (#182).
  • Public pricing: Browse models and prices without an account (#183).
  • Legacy SDK base URLs: Clients configured with /openai/v1 or /anthropic/v1 keep working (#181).
  • Account migration: Carry existing users, balances, sign-in providers, and eligible API keys over to the new platform (#165, #181).
  • Chinese and English: The portal, sign-in, and pricing pages are available in English and Simplified Chinese, following the browser language with a switcher in the header (#188).
  • Model filters: Filter models by provider, API, capability, context window, and pricing type, with search and filters applied instantly in the browser (#187).
  • Portable deployment: Add locally validated Docker Compose and Kubernetes deployment contracts for the portal and API routing (#176).

💄 UI

  • Redesign the landing page, models catalog, and portal with a new visual language (#187).

♻️ Refactoring

  • Single server: Serve the embedded portal and relay API traffic, including streams, from one Go server (#178).
  • Legacy removal: Remove the legacy gateway, Better Auth runtime, TokenFlux business schema, Bifrost, sandbox, projects, MCP catalog, and their frontend and operations surfaces (#175); remove the one-time migration tooling after the upgrade (#185).

🔒 Security

  • API responses no longer reveal the upstream platform's name or version (#186).

🚀 Deployment

  • Production deployment manages the full stack, including the upstream platform's pinned version, and retires the pre-1.0 hosts' leftovers (#186).

🔧 Tooling

  • Upgrade GitHub Actions to Node.js 24 releases (#174).
  • Migrate UI linting and formatting to Oxc (#179).

Full Changelog: v0.6.4...v1.0.0


[0.6.4] - 2026-08-08

🐛 Bug Fixes

  • Protocol Model Admission: Exclude explicitly image-only models from text-generation catalogs and dispatch while retaining compatibility for legacy models without modality metadata.

Full Changelog: v0.6.3...v0.6.4


[0.6.3] - 2026-08-08

✨ Features

  • Bifrost Image Generation: Add a billed OpenAI-compatible image-generation route at /openai/v1/images/generations, with model admission restricted to image-output models. The existing Replicate /v1/images/generations API remains unchanged.

🛡️ Safety

  • Fail-Closed Image Streaming: Reject streaming image requests until event-level usage extraction can guarantee complete billing.

Full Changelog: v0.6.2...v0.6.3


[0.6.2] - 2026-08-08

🐛 Bug Fixes

  • Volume Pricing: Apply cache read/write and auxiliary request price overrides when a model's volume-pricing tier matches, preventing underbilling for large-context cached requests.

Full Changelog: v0.6.1...v0.6.2


[0.6.1] - 2026-08-08

🐛 Bug Fixes

  • Safe Provider Model Sync: Reject empty provider catalogs instead of deleting existing model mappings, and preserve operator-managed priority, enabled state, pricing, modalities, and supported parameters for models retained by a successful sync.

🔧 Operations

  • Container Health Checks: Add static HTTP health probes to the distroless TokenFlux and Auth images so Docker and Compose report native health status without adding a shell to either runtime image.

Full Changelog: v0.6.0...v0.6.1


[0.6.0] - 2026-08-08

✨ Features

  • Bifrost Gateway PoC: Add an opt-in Bifrost provider with OpenAI Chat Completions, OpenAI Responses, and Anthropic Messages protocol support while keeping provider selection, fallback, authentication, quota, and usage accounting in TokenFlux (#162)
  • OpenRouter Model Sync: Refresh configured OpenRouter provider models automatically every 12 hours while retaining manual sync as a fallback (#151)
  • Persistent Agent Memory: Add a durable memory.md file and consolidate persistent persona context into one extension (#148)

The Bifrost integration is an opt-in local proof of concept and is not enabled in the production deployment by default.

🐛 Bug Fixes

  • Telegram Streaming: Stream accumulated agent responses by editing one message without overwriting previously emitted text (#147)
  • Skip scheduled model synchronization for disabled OpenRouter providers (#162)

🔧 Tooling

  • Prepare repeatable setup and resume scripts for the Amp orb development environment (#161)

📦 Dependencies

  • Update go.opentelemetry.io/otel/sdk from 1.39.0 to 1.40.0 (#150)

Full Changelog: v0.5.10...v0.6.0


[0.5.10] - 2026-02-27

✨ Features

  • Replicate Billing Automation: Auto-scrape Replicate billing configuration and consolidate command packages for easier provider sync (#146)
  • Persona Consistency: Unify soul and user memory under a single persona system for projects and runtime context (#144)

♻️ Refactoring

  • Refactor persona prompt composition to append content instead of prefixing for cleaner memory behavior (#144)

Full Changelog: v0.5.9...v0.5.10


[0.5.9] - 2026-02-25

✨ Features

  • Soul Support: Add Soul support for agent personality (#143)
  • Telegram Pagination: Inline keyboard with pagination for /projects and /sessions in Telegram bot (#142)

♻️ Refactoring

  • Refactor runtime architecture and tighten container config flow (#139)

📦 Dependencies

  • Bump refraction-networking/utls from 1.7.1 to 1.8.2 (#141)

Full Changelog: v0.5.8...v0.5.9


[0.5.8] - 2026-02-06

✨ Features

  • Skills & MCP Sync: Add skills and MCP server synchronization for agent containers with background installation and system prompt registration (#136)

♻️ Refactoring

  • Migrate deployment to Uncloud with env_file secrets for improved configuration management (#135)

Full Changelog: v0.5.7...v0.5.8


[0.5.7] - 2026-02-06

✨ Features

  • Projects UI/UX Enhancement: Improved projects interface with better user experience (#134)

♻️ Refactoring

  • Remove runtime bind mounts and drop AGENT_CONTAINER_PI_CONFIG_DIR for cleaner container configuration (#133)

Full Changelog: v0.5.6...v0.5.7


[0.5.6] - 2026-02-06

✨ Features

  • Agent Session Storage: Database-backed agent session storage for persistent session management (#132)

♻️ Refactoring

  • Improve formatContent to parse streaming JSON for better response handling

Full Changelog: v0.5.5...v0.5.6


[0.5.5] - 2026-02-05

🐛 Bug Fixes

  • Fix Docker-in-Docker bind mount error by creating pi agent temp directories under dataDir (#8f7f8606)

Full Changelog: v0.5.4...v0.5.5


[0.5.4] - 2026-02-05

♻️ Refactoring

  • Use ephemeral temp directories for pi agent config
  • Use correct GID for container user and chown operations
  • Simplify landing page using Tailwind classes (#131)

🐛 Bug Fixes

  • Resolve 404 and TypeError on account page
  • Exclude 386 arch from goreleaser builds

🔥 Chore

  • Remove legacy MCP and subagent extensions and web skills

📦 Dependencies

  • Bump @modelcontextprotocol/sdk from 1.25.3 to 1.26.0 (#130)

Full Changelog: v0.5.3...v0.5.4


[0.5.3] - 2026-02-04

✨ Features

  • Admin Dashboard: Add admin dashboard with Telegram webhook management
  • Telegram Onboarding: Add /start onboarding command and register bot commands
  • Provider Model Sync: Add provider model map sync settings for easier configuration

🐛 Bug Fixes

  • Resolve nested button hydration error in ProviderCard component

📝 Documentation

  • Add AI Agent Projects documentation

Full Changelog: v0.5.2...v0.5.3


[0.5.2] - 2026-02-04

✨ Features

  • IM Integration: Add Telegram and Feishu integration for chat notifications (#128)
  • Project Templates: Add project templates for quick project creation (#125)
  • MCP & Skills Config: Add MCP servers and skills configuration to project form (#127)
  • Default Alfred Project: Default Alfred project with auto-context and IM integration UI (#129)

Full Changelog: v0.5.1...v0.5.2


[0.5.0] - 2026-01-29

Major release introducing Projects - interactive AI agents running in sandboxed Docker containers with full file system access, SSE streaming, and a ChatGPT-like interface.

✨ Features

  • Projects (AI Agents): Full-featured AI agent system with sandboxed Docker execution (#109)
    • Container-based execution with Docker SDK for secure, isolated agent runtime
    • Real-time SSE streaming with reconnection support
    • Session management with message history persistence
    • ChatGPT-like landing page with file upload support (#121)
    • File explorer with browsing, editing, and diff view (#117)
    • Go RPC wrapper for container runtime communication (#120)
    • Thinking level control and session commands API
    • Multiple runtime modes: Socket, HTTP, and TCP
  • Usage Analytics: Enhanced usage analytics page with detailed metrics (#118)
  • Pi Agent Integration: Embedded piagent config with sandbox CI (#123)

🐛 Bug Fixes

  • Normalize OpenRouter usage field to standard ChatUsage format (#108)
  • Use correct JSON field name for tool arguments in AI SDK
  • Show tool params during streaming
  • Improved Docker-in-Docker path handling and container networking (#124)

♻️ Refactoring

  • Use ai-elements CodeBlock for syntax highlighting in chat
  • Display thinking content before activities in chat UI
  • Simplified projects feature and removed v2 suffixes (#122)
  • Updated sandbox Dockerfile with improved tooling

⬆️ Dependencies

  • Bump github.com/docker/docker to v28.0.0

Full Changelog: v0.4.1...v0.5.0


[0.4.1] - 2026-01-06

✨ Features

  • Providers are now configurable with custom endpoints and headers, making it easier to plug in self-hosted or proxy backends. (#104)
  • The list-models API now aggregates models across all providers, so clients can discover everything from one place. (#106)

🐛 Bug Fixes

  • Admin authentication now requires ADMIN_EMAIL, closing a gap where admin auth could be misconfigured. (#107)
  • The TokenFlux config now includes the ADMIN_EMAIL secret by default.

📝 Documentation

  • The changelog now lives in Fumadocs for a more consistent docs experience. (#103)

Full Changelog: v0.4.0...v0.4.1


[0.4.0] - 2026-01-03

This release migrates documentation to Fumadocs for improved developer experience.

✨ Features

  • Documentation Migration: Migrate docs from Mintlify to Fumadocs (#100)

📝 Documentation

  • Update API reference documentation (#101)

Full Changelog: v0.3.8...v0.4.0


[0.3.8] - 2025-12-31

✨ Features

  • VLMs: Add MCP server for image generation (#99)
  • LLMs: Add database-backed LLM model configuration (#97)

♻️ Refactoring

  • Consolidate providers package and add builder pattern (#98)

Full Changelog: v0.3.7...v0.3.8


[0.3.7] - 2025-12-29

✨ Features

  • LLMs: Prioritize OpenRouter model metadata in list models API

Full Changelog: v0.3.6...v0.3.7


[0.3.6] - 2025-12-24

✨ Features

  • Add Hurl API tests for LLM endpoints (#96)
  • Add model alias resolution support (#93)
  • Track and store usage data for OpenCode models (#92)
  • Providers: Add fallback support when provider returns error
  • Support OpenCode messages models
  • Allow model API overrides
  • Add LLM dispatcher wiring
  • Add OpenCode provider
  • Add LLM provider registry

🐛 Bug Fixes

  • Update test assertions and add DisableQueue for test isolation
  • OpenCode: Trim whitespace when checking for missing API key
  • Providers: Add response body to fallback error logs for debugging

♻️ Refactoring

  • Deduplicate LLM provider implementations with base package (#95)

📝 Documentation

  • Align OpenCode model API config

🧪 Testing

  • Make OpenCode tests config-driven

Full Changelog: v0.3.5...v0.3.6


[0.3.5] - 2025-12-23

✨ Features

  • Initial LLM provider dispatch implementation

Full Changelog: v0.3.4...v0.3.5


[0.3.0] - 2025-12-09

Major release with significant architecture improvements.

✨ Features

  • Unified API gateway for LLM providers
  • OpenAI-compatible API endpoints
  • Multi-provider support (OpenAI, Anthropic, Google, Mistral, and more)
  • Real-time SSE streaming
  • Usage tracking and billing

Full Changelog: v0.2.0...v0.3.0

On this page

Changelog[1.3.0] - 2026-09-30♻️ Changed🐛 Fixed🗑️ Removed[1.2.2] - 2026-09-28✨ Features[1.2.1] - 2026-09-28🐛 Fixed📝 Documentation🚀 Deployment[1.2.0] - 2026-09-28✨ Features♻️ Changed[1.1.0] - 2026-09-27✨ Features🐛 Bug Fixes🔒 Security🚀 Deployment📝 Documentation[1.0.0] - 2026-09-25✨ Features💄 UI♻️ Refactoring🔒 Security🚀 Deployment🔧 Tooling[0.6.4] - 2026-08-08🐛 Bug Fixes[0.6.3] - 2026-08-08✨ Features🛡️ Safety[0.6.2] - 2026-08-08🐛 Bug Fixes[0.6.1] - 2026-08-08🐛 Bug Fixes🔧 Operations[0.6.0] - 2026-08-08✨ Features🐛 Bug Fixes🔧 Tooling📦 Dependencies[0.5.10] - 2026-02-27✨ Features♻️ Refactoring[0.5.9] - 2026-02-25✨ Features♻️ Refactoring📦 Dependencies[0.5.8] - 2026-02-06✨ Features♻️ Refactoring[0.5.7] - 2026-02-06✨ Features♻️ Refactoring[0.5.6] - 2026-02-06✨ Features♻️ Refactoring[0.5.5] - 2026-02-05🐛 Bug Fixes[0.5.4] - 2026-02-05♻️ Refactoring🐛 Bug Fixes🔥 Chore📦 Dependencies[0.5.3] - 2026-02-04✨ Features🐛 Bug Fixes📝 Documentation[0.5.2] - 2026-02-04✨ Features[0.5.0] - 2026-01-29✨ Features🐛 Bug Fixes♻️ Refactoring⬆️ Dependencies[0.4.1] - 2026-01-06✨ Features🐛 Bug Fixes📝 Documentation[0.4.0] - 2026-01-03✨ Features📝 Documentation[0.3.8] - 2025-12-31✨ Features♻️ Refactoring[0.3.7] - 2025-12-29✨ Features[0.3.6] - 2025-12-24✨ Features🐛 Bug Fixes♻️ Refactoring📝 Documentation🧪 Testing[0.3.5] - 2025-12-23✨ Features[0.3.0] - 2025-12-09✨ Features