The Fredrin changelog
Everything we shipped between July 9, 2026 and July 15, 2026 — page 6 of 10.
New
- Build dispatch + workflow telemetry ignore a scope's chosen workflow source
- Add granular per-role model selection to admin settings
- Reorganize and restructure user-level settings, moving some to workspace level
- Add workflow selector to ticket detail mission view (reuse workspace settings pattern)
- Implement workspace-level workflows with Fredrin or user-defined selection
- Make blocked-by tickets clickable to open them, after evaluating UX and feasibility
- Fix duplicate PAIRED agent rows on pair retry (Defect #2)
- Create /guides page with /guides/remote-agents sub-page
- SEO optimize website for target keyword set
- Move post textarea into a modal triggered by a CTA on the community page
- Fix activity ownership to attribute to ticket creator or a system Fredrin avatar
- Resume by Claude session id: reattach to the selected session, not the newest transcript
- Simplify agent CTA button and add Resume / Start a new session actions
- Align the compact card's PR/merge section to the title and right edge
- Explain and fix new status columns not appearing on the board
- Workspace pricing: first workspace free, each additional workspace is its own paid subscription (checkout-first)
- Replace total-time-to-complete with completed-ago time on ticket bottom-left
- Add moderation to the community with post management, reporting, and flagged queue
- Add separate user-level settings in top-right corner
- Style the workflow step tooltip to match the app
- Remove the 'This worker will' section
- Show ticket ID on a meta row in the compact board view
- Update team plan pricing to $29/mo across public front pages
- Allow admin to configure the default OpenRouter model used for summarization
- Hide Claude Subscriptions section without removing it
- Hide insights for now
- Wrap description text when it is too long
- Add AI-powered editing option for report presets
- Parked session blocks agent self-update indefinitely: make isBusy park-aware and drain on a genuine update
- Standardize ticket agent section UI across local and remote agents
- fredrin-agent self-updates on every repo commit: make buildId a content hash of the bundle, not the commit SHA
- Investigate why design options no longer block a ticket when asking a human for input
Fixed
- size Connectors connect buttons to match the rest of the app
- show newly paired machines in Settings without reopening the dialog
- make workflow preset pills uniform in size and shape
- contain dialog content that bleeds past the panel edge
New
- Redesign and simplify Mission UI to match admin workflows
- Give remote agents unique avatars with full-name hover tooltip
- Add ability to rename workspaces via workspace settings
- Add admin management of report presets
- Fix model/effort section overflow by containing it and removing the icon
- Align admin ticket detail view with the user-facing ticket detail popup
- Show assignable users on avatar click instead of 3-dot hover menu
- Show stacked avatars of users who approved a ticket
- Add ability to create a post in the community app
- Broker's own session token also dies at 12h: heartbeat captures it in a closure and never refreshes
- Add member invite codes with admin-set quota and email delivery
- Build Insights & spend dashboard: throughput, cycle time, agent success rate, token cost
- Show chosen workflow items on hover in ticket detail
- click a pasted image to enlarge it in a lightbox
- refresh landing demo video to the new cut
- Agent health: heartbeat self-report (dual instance, stale/unwritable runtime, leaked workers) + UI flags + fredrin-agent doctor
- Agent session token expires mid-session (12h TTL) and can never be refreshed: CLI dies silently for the rest of the app session
- Add Fredrin CLI awareness to new project chat
- Publish fredrin-agent as a Docker image in the release chain (headless Linux pairs)
- show created timestamp in Admin → Leads
- Fix build not auto-submitting pre-filled chat when creating a ticket
- Fix premature chat session termination and ensure session resume works
- make admin workflow defaults authoritative; retire user-level add-on overrides
- Teammate cannot see synced chat history for remote-agent-run (PAIRED) tickets: sharedJob/teammate branches require source:DESKTOP
- Move model/effort selectors into the workflow dropdown popup
- Fix newly-filed ticket showing Resume button instead of chat history
- show Reset build on every ticket's ⋯ menu unconditionally
- move a project between workspaces via sidebar drag-and-drop
- move "In chat only" skills tray to the workflow settings screen
- Add minimalistic model + effort selector to ticket create
Fixed
- Record and log why the self-update idle gate skipped a check
- present the Managed model option as "Coming Soon"
- surface expired-token 401s instead of masking them as 'not found'
- make the ticket-view assignee dropdown scrollable
- one instance per pairing: startup lock + nonce-bound job claims (FRED-EI1QV7)
- refresh teammate chat content on the 15s poll (stale observer chat)
New
- Add Cmd+F hotkey to open search in tasks view
- Workspace subscription token: run `claude setup-token` once, every paired agent uses it via scoped injection
- Teammates can view each other's agent sessions when conversation sync is ON (live + history)
- drag-to-reorder projects in the workspace list
- Release-announce email silently drops recipients (delivers ~10 of 24): Resend rate limit
Fixed
- hide native scrollbar washing out the Needs attention strip
- always show "Reset build" in ticket ⋯ menu
New
- Redesign goal detail screen UI/UX: sections, automation area, and CTAs
- Add sort options to ticket tasks column section
- Ensure goal/ticket creation resolves and creates dependency tickets
- Simplify model choosing to Managed vs Bring your own (side-by-side cards)
- log build output summary to ticket activity feed
- Investigate garbled remote agent output on Ubuntu vs. correct output on macOS
- Remove per-lane restrictions and update pricing page
- Configure Claude in remote agent to run in YOLO mode
- rename "Manage presets…" to "Manage Workflows…" in the workflow-preset popover
- Fix assignee box in create ticket section: alignment and missing remote agents
- Ensure agent auto-pushes PR without human intervention and never SIGHUPs
- Surface and edit a remote agent's repoRoot + cloned-projects list in Settings
- Per-project setup script for remote-agent worktrees (deps/env bootstrap)
- Assess and close remote-agent project-setup UX gaps
- Allow assigning a user from the tickets list view via avatar click
- Confirm ticket intent when user says "build" in a ticket-related chat session
- Add assignee field to ticket creation box
- Base new ticket worktrees on fetched origin/<default>, not local main HEAD
- Fix remote agent not resuming ticket status after blocked questions are answered
- add workspace settings menu to grouped sidebar headers
- Fix duplicate goal on add and broken goal creation
- Fix ticket stuck in creation silhouette state after switching projects
Fixed
- bind assignee picker popover to viewport so agents list scrolls instead of clipping
- detect, stop, and replace a running fredrin-agent in the install prompt
- Code tab editor unusable: self-host Monaco assets past the enforced CSP
- hide revoked agents from the remote-pairing view (FRED-UOPVGJ)
- move user-level GitHub connection out of workspace settings group
- remote agent Build no longer dropped before jobs load (FRED-3B3CID)
- make code-editor search-hit reveal a one-shot per click
- authenticate remote-agent repo clones so private repos resolve
- show an offline screen instead of a black window on offline startup
New
- hide close-pane X in single-pane Chat to prevent close-all-windows
- start a new chat session from a completed remote agent ticket
- Fix small PTY sizing and replace stacked PTYs with a session menu on remote agent completion
- show mentioned user's avatar alongside their name in ticket comments
- install remote agents by pasting a prompt into Claude Code
- make the merged-PR strip's file count open the changed-files diff
- SEC: Managed/BYOS key is stealable from the PTY login-shell env by untrusted repo code + desktop plist hygiene
- Managed LLM should actually profit: close margin leaks + rethink markup/overage
- Goal panel empty state: hand off planning to chat
- Retire native goal-shaping machinery (code, schema, docs + reversal ADR)
- Remote agent: fetch origin and base new worktrees on origin/<default> (stale-clone bases)
- Agent presence: count job traffic as proof of life: mid-job agent must never read offline
- SEC: Harden /api/v1/runtime/llm-env: it returns raw decrypted keys gated on workspace-scope only
- Agent build-version reporting: Agent.buildId column, claim-ping payload, stale-build chip in Servers tab
- Remote agent supervision by default: login auto-installs the service; add fredrin-agent restart
- Auto-redispatch orphaned remote runs to an online agent; Stop & Re-run must not default to a dead box
- Agent daemon hang watchdog: worker-thread stall detector self-exits so supervision can revive
New
- allow naming a remote agent instead of showing only hostname
- Desktop broker: PTY master writes can EAGAIN-spin the broker event loop (same libuv blocking-writes bug as FRED-3FHO6G)
- Redesign ticket approval indicator: approver avatars + quiet "Approved" instead of a loud thumbs-up
- Alert when a remote agent goes dark while owning live runs (notification + at-risk card marker)
- Agent daemon hang: runaway stream-write loop in a timer callback pins the event loop at job launch
- Remove top menu icon tray
- replace goal shaping interview with plain inline goal create
- SEC: Promote site-wide CSP from Report-Only to enforcing (protect the Electron bridge + managed/BYOS keys)
- Goal panel: quick-add tickets into a goal (+ filter-aware orb create)
- Add user autocomplete/selection when typing @ in comment field
- Live remote run: surface agent heartbeat staleness + one-click Stop & Re-run
- Community API plumbing: expose boards read + reply via v1 API and CLI so agents can read and respond
- Agent daemon: global error handlers: one unhandled rejection must not silently kill every live session
- Add ticket approval signal similar to GitHub PR approval
- Send email notification when someone replies to a user in community
- Remove dispatch-time model routing: model shown in picker is what runs
- add ability to re-phrase a ticket description/plan to language easier for the user to understand. like 'explain to me like i'm 10.' , it should be like a mini-summary report section somewhere perha
- Notify users when they are @-mentioned (bell notification → deep-link to thread)
- Worktree binding guard false-positive: stale FREDRIN_BOUND_TICKET_ID stamp bricks a ticket's build with no self-heal
- Add Community as an app pillar in the desktop shell
- Unlock model/runtime/effort pickers when a ticket is sent back to backlog with no live conversation
- Edit HELLO.txt to say 'hello everyone'
- update Sonnet model reference to Claude Sonnet 5
- Make remote pairs shared for all workspace members
- Fix CI action on the Review red-CI banner: dispatch the Worker to fix failing GitHub checks
- Fix chat scrolling feeling like it glides / has poor scroll experience
- Pair-new-agent dialog: add install instructions: users don't know fredrin-agent exists
- Teammate's live desktop session shows Mission first-run screen: render "running on <user>'s machine" surface (metadata only)
- add multi-select assignee filter to the board header
- Remote dispatch hardening: no silent remote fallback on desktop, no false Running state, persistent dispatch-failure surface
- Assigned ticket loses mission screen: keep first-run surface, dispatch remote on Plan/Build
- Remote-agent jobs always mirror conversation to server: gate applies to local broker sessions only
Fixed
- stop parked-TUI repaints from resetting the hibernation idle clock
- gh auth probe passes when the ACTIVE account is healthy despite a broken secondary account
New
- Improve UI/UX of the settings models section
- Self-heal orphaned remote-agent sessions + recovery UX (un-orphan on liveness, Re-run, explain crash-Blocked)
- Show the applied workflow preset on the ticket (derive from embedded build-steps)
- Fix workflow item not persisting after save
- First-run onboarding: auto-install the agent CLI when missing: Managed fallback currently dispatches a Worker with no binary
- Always-on remote sessions: settings-configurable inactivity timeout; reaper closes >3-day or completed tickets
- Explicit workflow preset pick must win over Auto and re-picks must rewrite embedded steps
- Remote dispatch policy for blocking add-on steps: park+notify attended, degrade unattended
- Fix community creation date always showing as "created today"
- Remove non-Codex/Claude providers from UI only
- Run on a ticket with a prior remote session should resume, not start fresh
- Remote session mirror distorts: replay hygiene, resize convergence, gap resync
- fredrin-agent service: boot persistence + crash auto-restart
- Remote-agent timeout must not kill sessions awaiting human input
- Remote-agent session typing latency: sub-200ms echo (batch input, fast flush, direct Ably)
- remove redundant Paired agent picker from ticket chat panel
- Assign a ticket to a paired remote agent: "Runs on" picker routes all dispatch paths
- Make the timestamp on the community page dynamic
- Add ability to create new workspaces
- redesign Workflow tab as a Cursor-style phase pipeline
- Add option to kill process on conflicting port when starting server
Fixed
- remote-agent chat session fills the panel like regular chat
- preview-cleanup no longer depends on system jq
- show resize cursor across the full sidebar border
This is what a board of agents shipping in parallel looks like. Invite-only on macOS, Windows and Linux.