Skip to content

v0.4.2

Choose a tag to compare

@smallchao smallchao released this 12 Jul 03:33

EvoForge v0.4.2

This release brings Supabase into the connection family, teaches the MCP client to speak OAuth, redesigns the launch page around the product itself, and adds interface styles — plus a batch of cross-platform fixes for Windows and macOS.

✨ New

Supabase is now a first-class connection. Connect your Supabase account through the Supabase CLI with one click — browser login, live status, and organization detection, mirroring the Cloudflare flow. Detection prefers a native install (Scoop/winget/direct download; npm global installs are blocked upstream) and falls back to npx supabase automatically.

OAuth 2.1 for remote MCP servers. Streamable HTTP MCP servers that require authorization (Notion, Linear, Sentry, mcp.supabase.com, and most official remote servers) can now be connected: metadata discovery, dynamic client registration, and the PKCE flow all happen behind a single Authorize button in the MCP panel. Tokens persist across restarts, refresh automatically, and can be revoked anytime.

Interface styles. Four complete looks — Cold Gray (the classic), Paper (warm, ink-on-paper), Mist (nordic blue-gray), and Graphite (pure high-contrast monochrome with a true-black dark mode). Each re-skins every surface, border, and gray in the app, composes freely with the five accent colors and both color modes (4 × 5 × 2 = 40 combinations), and switches instantly from Settings → Interface with live preview tiles. The color mode itself is now a clean Light / Dark choice; legacy "default" configs migrate automatically.

The launch page now shows the product, not wallpaper. The brand panel replaces its decorative noun list with a session silhouette — one agent run, sketched step by step (browse → run → write → distill → remember). Setup can be skipped entirely with Set up later and finished in Settings whenever you're ready; errors surface as toast bubbles instead of inline text.

🤖 Agent

The agent now knows Supabase is connected. When the CLI is authenticated, every turn informs the model of your connected organization, and it will operate Supabase directly — link projects, push schema, run SQL, deploy Edge Functions, manage secrets, generate types. Destructive operations still require your explicit confirmation.

Connection status is authoritative. Asked whether Cloudflare or Supabase is connected, the agent answers from the injected status instead of burning a tool call on a verification command.

Cleaner shell output on Windows. The bash tool now forces UTF-8 console output and non-terminating error handling, so native commands no longer produce mojibake or noisy NativeCommandError blocks when they write warnings to stderr.

🔧 Fixed

First-run setup failed with "model profile requires model". The launch page resubmitted synthesized placeholder profiles with an empty model, which the backend rightly rejected. Placeholders are now dropped on save — your first configuration goes through.

Titlebar dropdown menus were transparent. The menu surface referenced a CSS variable that was never defined; menus (Help and friends) now render on a proper opaque panel in both light and dark mode.

CLI tools invisible to the app on macOS. GUI apps launched from Finder inherit a minimal PATH, hiding Homebrew-installed CLIs (supabase, wrangler, gh, npx). Tool resolution now probes the well-known install prefixes (/opt/homebrew/bin, /usr/local/bin, ~/.local/bin, ~/.cargo/bin) as a fallback.

npx fallbacks could hang forever. First-time npx supabase / npx wrangler runs prompt "Ok to proceed?" on stdin — with no TTY in a GUI process, that wait never ended. Both fallbacks now pass --yes.