The Fredrin changelog
Everything we shipped between June 29, 2026 and July 10, 2026 — page 14 of 18.
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
New
- Add workspace-level sharing to support organizations
- Show project invitation notification in the notification bar
- Skill sources: dispatch freeze: worktree materialization, audit line, unattended degrade
- Skill sources: recipes → owned presets, promote flow, unavailable-step rendering
- Skill sources: desktop loader: lazy clones, sanitized plugin dirs, multi --plugin-dir
- skill sources: fredrin-workflow.json step chips + step: id persistence
- skill sources: SkillSource model, install service, Skills catalog
- Skill sources: Fredrin tracker adapter in fredrin-plugin + upstream PRs to mattpocock/skills
- Show faded silhouette of report with loading spinner during generation
- move collapse control to a sidebar edge handle
- animate running-activity indicator on sidebar project rows
- save AI-edited ticket description directly without confirmation
- distinguish community category tabs from posts
- hyper-minimalist restyle of Chat/Terminals top buttons
- open ticket images in a new tab on click
- Hibernate idle Workers: kill needsInput PTY trees after TTL, wake with claude --resume on reattach
- Diagnose and resolve an unspecified error
- Broker shutdown must kill Worker PTY trees (update leak: orphaned zsh→claude processes)
- Show live Worker count in tray + ask on quit: keep running or stop all Workers
- Move report top section into a popup modal triggered by New Report
Fixed
- keep ticket-create draft fetch off React transition lane
- notarize + staple DMGs, refuse unsigned macOS publishes
- match /community board pills to community board pages
- retry transient LLM failures in goal creation
- render on-disk Memory even when git can't track it
New
- Clear project bold state when a project is clicked
- Rename "observations" to "reports"
- Remove bottom panel chat provider switcher
- Fix app being unresponsive while a ticket is being created
- Quit-time Claude resume refresh: run bounded detection at quit so sub-30s sessions resume live (and /clear resumes the right id)
- Add attention indicators for observation reports ready for review
- Show all apps in the Apps tab, do not gate apps inside project settings
- Investigate chat disappearing when ticket is set to completed
- bold projects-list entry when a terminal/chat awaits input
- Launch Claude from Chat tab with dangerously-skip-permissions always enabled
- Replace AI/LLM server start/stop management with script discovery and listing
- Fix recurring problem so it never happens again
- Global fredrin CLI + MCP: upload artifacts and attach at create
- Worker cold start: materialize ticket previews + description attachments into the worktree
- ticket-creating prompts port + verify chat-chosen designs/artifacts
- Ticket create contract: accept attachments and attach them atomically as MANUAL previews
Fixed
- Remove redundant 'Session · running' row in ticket view
- make aggregate error badge clickable, surface orphaned issues
- highlight active workflow preset by step set, not order
New
- Fix new-chat launch failure when shell prompts for updates (e.g. ohmyzsh)
- Update ticket build progress checkboxes in real-time instead of at the end
- Ensure Fredrin always checks for and applies ticket dependencies on creation
- Wire sibling dependencies when the agent creates a goal + tickets (dependsOn on create)
- Add LLM-powered theme creator for custom user themes
- Add ability to save a custom Observation as a Preset
- remove Recurring option from Task Create
- Show apps under Apps tab instead of Experimental
- remove the agent profiles UI section
- store workflow add-on overrides as diffs against live built-ins
- blocking add-ons degrade to stated-assumptions mode on unattended dispatch
- resolve CLI verbs in add-on instructions at embed time
- dedupe Thorough preset to one blocking plan phase
- workflow outcome telemetry: prune add-ons by evidence
- Improve Observations page layout, report persistence, chat, and customizable presets
- Default Memory folder to .fredrin/memory instead of repo-root fredrin/
- Move FREDRIN.md into .fredrin/: consolidate Fredrin footprint (worktree half)
- Merge Chat and Terminals pillars into one tabbed surface
- Consolidate two 3-dots menus into a single menu
- Observations: scheduled runs + email delivery
- Merged PR does not auto-complete its ticket (stuck in Review)
- Rebuild Observations as customizable LLM-generated HTML reports with presets, orchestration, and scheduling
- Fix ticket incorrectly moved to Review status while still in progress
Fixed
- right-size the ticket-dialog merge split-button
- scope Merge popup dismiss to the popup and make it a Merge split-button
- consistent lucide chevron for all native <select> dropdowns
- remove stray focus ring on Apps tab strip controls
- commit regenerated release-prs.ts + wait out deploy lag before emailing
- walkthrough default records the real app, not a Fredrin recreation
- raise workflow add-on bounds so shipped defaults survive normalize
- include typecheck/lint gate in built-in Design preset
- contain Group-tickets dialog content within its card
New
- Improve goal display on ticket in compact view
- Goal Pulse 3/5: off-track escalation tickets + merge attribution overlay
- Cache tickets to avoid refetching and redrawing on every Tasks tab visit
- Goal Pulse 5/5: shaping grill asks "how should we measure this?" (intent-first metric binding)
- show parent goals instead of labels on board ticket cards
- Goal Pulse 2/5: background pulse loop on the scheduler tick + rail health chips
- navigate to an app when toggling it on from the Apps menu
- Goal Pulse 1/5: metric contract on Goal + read-only Pulse panel section
- Goal Pulse 4/5: Google Search Console connector (analytics capability)
- Analyze & improve Memory
New
- Fix in-app update so updates install without redirecting to file download
- Desktop app reports local CLI capabilities so Models detection works without remote pairing
- Reposition ambiguous "2 waiting" indicator onto the terminal tab
- Goal creation v2: instant shell, intent-first create, on-board proposal review
- Rework Servers Start All: deterministic plan/execute with failure-scoped AI fixer
- Add signed-in identity/logout affordance to Community header
- pillar-tab attention dots for Chat, Tasks, and Terminals
- Redesign model/LLM onboarding: detection-first, Managed fallback, opt-in API keys
- Auto-fix merge conflicts directly from the tasks board Merge button
- Add reset build button on ticket detail to discard worktree and return to workflow screen
- hyper-minimal native goal shaping in the side panel
- split the goals rail into Goals and Automations sections
- make goal-branch auto-merge opt-in with a one-sentence ship section
- add a goal automation panel: schedule, task prompt, auto-merge, recent runs
- add a goal detail panel for plan, tickets, and ship status
- ship native goal shaping: describe a goal and let the agent draft its tickets
New
- apply WORKFLOW.md rules at ticket intake
- add a per-project WORKFLOW.md rules file and settings editor
- auto-save provider API key inline, drop Save button
- inject goal context into planning-session seed
Fixed
- show comment delete button only on hover
- close terminal tab immediately on ⌘W without confirm prompt
- scroll project top-nav instead of overlapping window chrome
New
- match ticket ID in top-right search
- windows packaging + release pipeline (squirrel installer, CI build, spaces publish)
- headless agent runs on windows (git-bash pty, tcp hook listener)
- desktop windows support (git-bash terminals, tcp control planes, cli transport)
- worktree wrapper + hooks run on windows (tcp hook transport, jq preflight)
- broker windows transport (named pipe + tcp companion) and git-bash pty
- Windows window chrome, tray icon, and Setup.exe updater
- platform-aware keyboard shortcuts (ctrl / ctrl+shift on windows)
- windows runtime foundation (git-bash resolution + spawn shims)
- windows download routes + platform-aware marketing surface
- show goal creation age on rail rows, drop completion count
- zoom markdown/text artifacts with Cmd++/Cmd+-
- delay Cmd-hover shortcut hints by 2s before fade-in
- clarify "connector" jargon in scheduled-goal report binding
Fixed
- attribute claude sessions per tab so restart resumes the right one
- reword project Delete to Remove to avoid implying file loss
- map raw error.message to stable codes in project.ts actions
- bind Group-by-Goal toggle to Cmd+G only, drop Ctrl+G
- route desktop server-error scrape redaction through @fredrin/redact
- gate MCP list_projects/list_statuses on project access (IDOR)
- gate cross-project surfaces on ProjectMember access (IDOR)
- wrap long goal-chip names instead of overflowing the card
- remove YOLO-switch tooltip in create-ticket preset popover
New
- add Sharks sample app as copyable user template
Fixed
- retire flat-verb CLI examples in bundled fredrin skill
- recover from orphaned body pointer-events that dead-locks clicks
New
- rework project top nav into Terminals, Tasks, and an Apps dropdown
Fixed
- fill plan-progress rail from bottom instead of top
- standardize workflow item edit typography to app scale
This is what a board of agents shipping in parallel looks like. Free to start on macOS, Windows and Linux.