The Fredrin changelog
Everything we shipped between July 18, 2026 and July 21, 2026 — page 12 of 18.
New
- Redesign Notes UI to be hyper-minimalistic
- Add Cmd+P global hotkey for Spotlight-style project switcher
- Hide Context app from users until ready
- SEO: /docs/slack and /docs/remote-agent have no canonical and no JSON-LD schema
- SEO: consolidate 7 duplicate comparison URLs: /fredrin-vs-* and /compare/* both live and self-canonical
- hide Windows/PC support on landing until the build is signed
- Determine if 'Resume' and 'Start New Session' actions behave identically
- redact secrets server-side at agent-output ingest chokepoints
- Serve active-content attachments (html/js/svg) from sandbox origin, not app origin
- admin Tickets page: sortable cross-workspace ticket list with engagement columns
- Blog: "Codex vs Claude Code": neutral-observer comparison (14,800/mo)
- Blog: "AI coding agent": 5,400/mo (re-measured; earlier zero was wrong)
- Promote reviewed security ADRs from proposed to accepted
- Scope Ably realtime channels to per-conversation instead of per-workspace
- Harden Electron shell: allowlist openExternal schemes and enable renderer sandbox
- Add regression tests: workspaceScope confinement on all v1 resource routes
- SEO: 13 live pages missing from production sitemap.xml: list them and add a coverage test
- Careers: resume upload + storage, downloadable from the admin Applications view
- Record agent chat messages sent in ticket detail into the activity log
- Blog: split BLOG_POSTS into one module per post so posts can be written in parallel
- Increase width of bottom-center create ticket element
- Add ability to Edit a Report, including setting/changing its Schedule
- Replace volume-animating icon next to project name in left pane list
- Make Claude Code reliably apply ticket dependencies at creation time
- Add admin management for all subscription plans (TEAM, seats, etc.)
- GEO/AEO infra: llms.txt refresh, AI-crawler robots audit, Article+FAQPage JSON-LD on blog posts
- Fix Google Search Console connector failing to connect in production
- Members can't discover workspace settings for workspaces they don't own (sidebar ⋯ menu is owner-only)
- SEO: compare pages for orchestrator competitors: Conductor, Omnara, Nimbalyst, Sculptor
- remove default effort level from project settings. it doesnt make sense. it should be set at workspace level
- Show Claude icon for chats inside a Claude session
- SEO/GEO: Forward Deployed Engineer Handbook: pillar page at /forward-deployed-engineer
Fixed
- show email content on admin campaign detail page
- contain and scroll the admin campaign composer dialog
- theme the branches popup for dark mode and shorten its placeholder
- filter tasks by "created by", not the running/building assignee slot
- wait for dark:false event, not the marker, in agent-dark-outage step 4
- restore /releases to the generated PR list instead of a hardcoded array
- prefer paired agent's cfg.server over dispatch apiBaseUrl for FREDRIN_API
New
- drop the "Created by" label and name avatars in a tooltip on hover
- Unify /community/* pages with landing page layout and theme
- Hide emails, show 'Created by', and eliminate unassigned items
- Declutter the ticket detail metadata header
- Fix "Go to billing" opening new window instead of modal popup
- Improve UX to align with ultra-minimalistic design system
- create an app to take down Notes. it should mimic Obsidian as much as possible. it should let you easily create dir/file trees however you wish it to be.
- Wire the careers apply form to a real submission endpoint (landing → main app → Applications)
- SEO: port the one-keyword-one-owner guard from src/app to apps/landing
- Admin: Applications section: Application model, service, and /admin/applications list
- Ensure all Chat tabs and the last-active tab restore correctly after restart
- Fix and redesign preset dropdown UI in Reports tab with cleaner design options
- Fix: Chat tab resumes an older Claude conversation after quit/update: pin a deterministic session id per tab
- gh setup banner: network flake misclassified as not signed in: make rate_limit second opinion tri-state, classify offline
- Rename /hiring → /careers across the marketing site
- Update Team plan pricing to $99/mo (5 seats) + $29/mo/seat
- Revert the chat tab feature from ticket detail view
- Replace generic 'default branch' label with actual resolved branch name
- Restrict remote agents feature to Pro tier and above
- comment count as corner sticker, excluding the viewer's own comments
- serve rebuilt landing on www.fredrin.com as a Vercel microfrontend
- Show actual branch name instead of "repo default" and remove duplicate display
- Support remote SQLite URLs in database app
- Add creator › runs-on chevron to ticket detail metadata
- Break up god-components on highest-churn UI surfaces
- Remove hold-Cmd hotkey tooltip overlay feature
- Add tab-based LLM chat sessions to ticket backlog detail view
- Shareable https ticket deep links (/t/<identifier> interstitial) + click-to-copy ticket ID
- LLM auth loopback proxy v2: re-derive FRED-VO0ATB on current main (job env never holds the real subscription token)
- Reap expired fredrin_live_ keys and tag key provenance
- Wire up Vitest and add smoke tests for src/server/services/*
- Add baseline security headers and CSP in next.config.ts
- Enforce workspaceScope on v1 ticket/comment/message routes
- Configurable default target branch per project, with per-ticket override
- Change 'Create Goal' button to checkbox for grouping tickets under one goal
- Show comment count on ticket cards on the board view
- Investigate ADR memory entries stuck in 'proposed' status after PR merge
- Add 1-second delay before tooltip appears on top apps tabs
- Rate-limit the unauthenticated /api/agents/pair endpoint
- In full ticket view, position ticket ID and author like compact view to stop title truncation
- Add LLM chat feature to Database app for plain-English querying (Sonnet 5)
- Fix database connections leaking across projects (not project-scoped)
- Distinguish ticket creator from assigned agent in ticket/board UI
- Retire the server-side corpus read path and fix the context API contract
- Update copy to clarify team feature requires Team plan
- Decide whether Memory needs a code-level graph (gated on eval data)
- Fix reports not showing all users and all presets
- Fix open tracking showing 0 after opening campaign email
- Fix version mismatch between app UI and report (v0.24 vs 0.2.3)
- Move the re-litigation guard into the desktop preamble (or retire it)
- Close the retrieval eval loop on-machine
- Migrate subscription tokens to user-owned with workspace-share opt-in
- Make an empty context pack loud instead of silent
- Fix inaccurate status counts in sidebar for Personal and Workspace views
- Fix agent failing to set proper ticket dependencies when creating goal+tickets in chat
- Fix terminal split: silent close, dropped split panes, and cross-project snapshot leak
- Goal staging-merge loop: Fredrin's squash-only Merge can never satisfy the conflict ticket it files
- Send desktop notification on @mention of a user
- Finish merging staging/make-onboarding-easier-for-beginners into main
- Generate workflow item from user-written prompt instead of manual entry
- Investigate router.refresh() commit wedge: RSC payload fetched but never applied in the busy desktop app (38 refresh-dependent call sites)
- Fix "pg not found" error
- Finish merging staging/make-onboarding-easier-for-beginners into main
- Rename "Plugins" to "Skills" throughout the app
Fixed
- stop the Apps tooltip lingering after clicking away
- remove the word 'curated' from user-facing copy
- one shared presence store so a machine's online dot agrees on every board card
- Clean up settings header: drop the "Settings" title, switcher left, search right
- Distinguish the board filter's "No team" row; drop the sticky click background
- hold compact token counts to 3 significant digits
- compute the context pack in the worktree, not on the hosted server
- switch renders all-white when on: share one pill Switch component
- move Preview cleanup off the self-hosted build runner to ubuntu-latest
- bound wedged test files so a hang fails fast and names itself
New
- Add smooth fade-in hover tooltips to every top menu item
- Add "Last Updated" and "Last Merged" sort options to column sort-by control
- Support assigning tickets to teams; fix board filters to show tickets in selected teams
- Add two-way Slack integration: ticket intake, digests, and /fredrin slash command
- Add Codex 5.6 model family and effort levels to models list
- Make Codex start in YOLO mode like Claude in chat app
- Hide experimental Context app behind a disabled-by-default settings toggle
- Allow creating new session when ticket status is Blocked
- Add button to analyze local dot files for database connections via LLM
- Restore missing counter in minimized projects list view
- Build Context App: LLM-chat-driven project info hub with editable sections
- Build "Database" app for managing DB connections and viewing/editing tables and records
- Multi-workspace remote agent pairing: additive login, per-pairing claim loops
- change projects dropdown to show all other workspaces/projects you can switch to
- Realtime health watchdog + deploy-skew auto-reload for long-lived desktop webviews
- slow fallback poll for sidebar count pills when realtime is down
- Support generating multiple reports simultaneously
- Integrate plugins (skill packs) with named workflows: membership, Plugins page, recipes, bridge
- Fix inconsistent greyed-out status display for active remote agents
- Show report list item immediately with 'Creating...' status instead of blocking UI
- Convert Group By into nested menu (day/week/month/year, user) matching Sort By UX
- combine settings title, workspace switcher, and search into one header row
- Reduce notification noise: restrict triggers to review-required and mentions/messages
- Fix team filter to show no tasks when no tickets are assigned to teams
- Allow a user to belong to multiple teams simultaneously
- Add button to commit file changes directly to main branch
- Fix inability to send chat message on a blocked ticket
- add `update` command to fredrin-agent CLI
- Sharpen online vs offline agent status so the two states read at a glance
- Auto-resume parked sessions drained by agent self-update
- Add Teams: assign members, filter tickets by team, restrict project access by team
Fixed
- Recognize a repo-root CONTEXT.md as Memory (stop re-scaffolding)
- show offline screen and auto-reconnect when the network drops mid-session
- space the collapsed project header off the macOS traffic lights
- move top-tab 'new' indicator dot to the icon's top-left corner
- gate /api/ably/token on accessibleProjectWhere seam
- shrink GitHub settings CTA buttons from sm to xs
- stop hiding .fredrin from the code explorer
- label the add-project dialog "Add a project" not "Import from GitHub"
- update left pane immediately after creating a new project
- Restore cmd+V image paste in ticket chat right pane
- show current user's real avatar and name instead of "Me" in create-box assignee pill
- Fan LOCAL capability reports out to all of a user's workspaces
- recover login-shell PATH so desktop probe sees CLIs outside the allowlist
New
- Plugin SessionStart hook re-injects full FREDRIN.md on claude --resume: skip on source=resume
- Add per-remote-agent daily/weekly usage caps (hourly or tokens)
- Allow admin to set which workflow items are enabled by default
- Show report progress meter in main pane for generating report item
- Add search and sort for goals list
- Fix Fredrin app icon showing square corners in Cmd+Tab switcher
- Fix ticket status: only move Running→Review on agent completion or PR
- Fix mismatch: goal shaping progress shows 5/6 but Completed column is empty
Fixed
- Restore maximize/expand button on the right terminal panel across all surfaces
- Center create-task composer on the board pane, not the viewport
- Keep sidebar expand button visible while the projects pane is collapsed
- Render report chat agent output as formatted Markdown, not raw text
- Hide top-bar project name unless Projects pane is collapsed
- scroll "Pair a new agent" popup and harden agent update check
This is what a board of agents shipping in parallel looks like. Free to start on macOS, Windows and Linux.