v0.4.0
@frontman/client
Minor Changes
-
99f8e90Thanks @BlueHotDog! - Add file and image attachment support in the chat input. Users can attach images and files via drag & drop, clipboard paste, or a file picker button. Pasted multi-line text (3+ lines or >150 chars) is collapsed into a chip. Attachments are sent as ACP resource content blocks with base64-encoded blob data and rendered as thumbnails in both the input area and message history with a lightbox preview. -
99f8e90Thanks @BlueHotDog! - Add cancel/stop generation support. Users can now stop an in-progress AI agent response by clicking a stop button in the prompt input. Implements the ACPsession/cancelnotification protocol for clean cancellation across client, protocol, and server layers. -
#342
023e9a4Thanks @itayadler! - Add current page context to agent system prompt. The client now implicitly collects page metadata (URL, viewport dimensions, device pixel ratio, page title, color scheme preference, scroll position) from the preview iframe and sends it as an ACP content block with every prompt. The server extracts this data and appends a[Current Page Context]section to user messages, giving the AI agent awareness of the user's browsing context for better responsive design decisions and route-aware suggestions. -
#372
2fad09dThanks @itayadler! - Add first-time user experience (FTUE) with welcome modal, confetti celebration, and provider connection nudge. New users see a welcome screen before auth redirect, a confetti celebration after first sign-in, and a gentle nudge to connect an AI provider. Existing users are auto-detected via localStorage and skip all onboarding flows.
Patch Changes
-
#379
68b7f53Thanks @BlueHotDog! - Fix source location detection for selected elements in Astro projects.- Refactor Astro integration from Astro middleware to Vite Connect middleware for more reliable request interception
- Capture
data-astro-source-file/data-astro-source-locannotations onDOMContentLoadedbefore Astro's dev toolbar strips them - Add ancestor walk fallback (up to 20 levels) so clicking child elements resolves to the nearest annotated Astro component
- Harden integration:
ensureConfigguard for no-args usage,duplex: 'half'for POST requests,headersSentguard in error handler, skip duplicate capture on initialastro:page-load - Add LLM error chunk propagation so API rejections (e.g., oversized images) surface to the client instead of silently failing
- Account for
devicePixelRatioin screenshot scaling to avoid exceeding API dimension limits on hi-DPI displays
-
99f8e90Thanks @BlueHotDog! - Fixed click-through on interactive elements (links, buttons) during element selection mode by using event capture with preventDefault/stopPropagation instead of disabling pointer events on anchors -
99f8e90Thanks @BlueHotDog! - Remove dead initialization timeout code (StartInitializationTimeout,InitializationTimeoutExpired,ReceivedDiscoveredProjectRule) that was never wired up —sessionInitializedis set viaSetAcpSessionon connection -
#357
ebec53aThanks @itayadler! - Redesign authentication UI with dark Frontman branding. The server-side login page now features a dark theme with the Frontman logo and GitHub/Google OAuth buttons only (no email/password forms). Registration routes redirect to login. The root URL redirects to the sign-in page in dev and to frontman.sh in production. The client-side settings modal General tab now shows the logged-in user's email, avatar, and a sign-out button. The sign-out flow preserves areturn_toURL so users are redirected back to the client app after re-authenticating. -
#377
15c3c8cThanks @itayadler! - ### Fixed- Stream
tool_call_startevents to client for immediate UI feedback when the LLM begins generating tool calls (e.g.,write_file), eliminating multi-second blank gaps - Show "Waiting for file path..." / "Waiting for URL..." shimmer placeholder while tool arguments stream in
- Display navigate tool URL/action inline instead of hiding it in an expandable body
- Stream
@frontman-ai/astro
Patch Changes
-
#379
68b7f53Thanks @BlueHotDog! - Fix source location detection for selected elements in Astro projects.- Refactor Astro integration from Astro middleware to Vite Connect middleware for more reliable request interception
- Capture
data-astro-source-file/data-astro-source-locannotations onDOMContentLoadedbefore Astro's dev toolbar strips them - Add ancestor walk fallback (up to 20 levels) so clicking child elements resolves to the nearest annotated Astro component
- Harden integration:
ensureConfigguard for no-args usage,duplex: 'half'for POST requests,headersSentguard in error handler, skip duplicate capture on initialastro:page-load - Add LLM error chunk propagation so API rejections (e.g., oversized images) surface to the client instead of silently failing
- Account for
devicePixelRatioin screenshot scaling to avoid exceeding API dimension limits on hi-DPI displays
-
99f8e90Thanks @BlueHotDog! - Fix missinghostparam in Astro config that caused the client to crash on boot. Both Astro and Next.js configs now assert at construction time thatclientUrlcontains the requiredhostquery param, using the URL API for proper query-string handling.
@frontman/frontman-client
Minor Changes
-
99f8e90Thanks @BlueHotDog! - Add file and image attachment support in the chat input. Users can attach images and files via drag & drop, clipboard paste, or a file picker button. Pasted multi-line text (3+ lines or >150 chars) is collapsed into a chip. Attachments are sent as ACP resource content blocks with base64-encoded blob data and rendered as thumbnails in both the input area and message history with a lightbox preview. -
99f8e90Thanks @BlueHotDog! - Add cancel/stop generation support. Users can now stop an in-progress AI agent response by clicking a stop button in the prompt input. Implements the ACPsession/cancelnotification protocol for clean cancellation across client, protocol, and server layers.
Patch Changes
- #336
b98bc4fThanks @BlueHotDog! - Suppress Sentry error reporting during Frontman internal development via FRONTMAN_INTERNAL_DEV env var
@frontman/frontman-core
Patch Changes
- Updated dependencies [
99f8e90]:- @frontman/[email protected]
@frontman-ai/nextjs
Minor Changes
- #335
389fff7Thanks @itayadler! - Add AI-powered auto-edit for existing files duringnpx @frontman-ai/nextjs installand colorized CLI output with brand purple theme.- When existing middleware/proxy/instrumentation files are detected, the installer now offers to automatically merge Frontman using an LLM (OpenCode Zen, free, no API key)
- Model fallback chain (gpt-5-nano → big-pickle → grok-code) with output validation
- Privacy disclosure: users are informed before file contents are sent to a public LLM
- Colorized terminal output: purple banner, green checkmarks, yellow warnings, structured manual instructions
- Fixed duplicate manual instructions in partial-success output
Patch Changes
-
#337
7e4386fThanks @itayadler! - Move installer to npx-only, remove curl|bash endpoint, make --server optional- Remove API server install endpoint (InstallController + /install routes)
- Make
--serveroptional with defaultapi.frontman.sh - Simplify Readline.res: remove /dev/tty hacks, just use process.stdin
- Add
config.matcherto proxy.ts template and auto-edit LLM rules - Update marketing site install command from curl to
npx @frontman-ai/nextjs install - Update README install instructions
-
#336
b98bc4fThanks @BlueHotDog! - Suppress Sentry error reporting during Frontman internal development via FRONTMAN_INTERNAL_DEV env var -
99f8e90Thanks @BlueHotDog! - Fix missinghostparam in Astro config that caused the client to crash on boot. Both Astro and Next.js configs now assert at construction time thatclientUrlcontains the requiredhostquery param, using the URL API for proper query-string handling.
@frontman/frontman-protocol
Minor Changes
99f8e90Thanks @BlueHotDog! - Add protocol versioning, JSON Schema export, and cross-language contract tests. Protocol types are now the single source of truth, with schemas auto-generated from Sury types and validated in both ReScript and Elixir. Includes CI checks for schema drift and breaking changes.
@frontman-ai/vite
Minor Changes
- #355
84b6d9bThanks @itayadler! - Add@frontman-ai/vitepackage — a ReScript-first Vite integration with CLI installer (npx @frontman-ai/vite install), replacing the old broken@frontman/vite-plugin.- Vite plugin with
configureServerhook and Node.js ↔ Web API adapter for SSE streaming - Web API middleware serving Frontman UI, tool endpoints, and source location resolution
- Config with automatic
isDevinference from host (production =api.frontman.sh, everything else = dev) - CLI installer: auto-detects package manager, analyzes existing vite config, injects
frontmanPlugin()call - Process shim for production client bundle (Vite doesn't polyfill Node.js globals in browser)
- Vite plugin with