Changelog
What changed in Statefold, newest first.
- Show pricing on the landing page and the launch discount while it is redeemable
- Share one daily budget across Statefold-funded model calls
- Email the owner at 20% of credits left and at zero
- Grant a $3 starter credit once per GitHub account
- Let a running turn finish when credits run out, then sleep as Limited
- Add operator account support with private metadata and credit grants
- Check the CLI sign-in before starting a harness connection
- Return expose_app start failures instead of access denied
- Render Codex tool failures without leaking braces
- Fix reminder time resolution and RPC result ownership
- Keep the dot to before the reply and give a running turn one clock
- Show the platform 404 for private or missing unlisted threads
- Render Mermaid, math, alerts and highlighted code in transcript Markdown
- Give agents a preview link to reply with after expose_app
- Time a running turn that goes quiet between steps
- Align route skeletons with their loaded layouts
- Re-measure the app shell on window resize so browser zoom resizes it
- Rebuild the billing page around the balance
- Omit the thread area until the owner has a thread
- Replace the setup gate with a sidebar checklist
- Link the owner's Linear user, drop Turnstile and stop duplicate OAuth callbacks
- Close review findings and start staging from per-feature migrations
- Remove the five-minute cron and run retried work from the queue
- Fire subscriptions from Task alarms and refresh checks through a queue
- Stop idle staging traffic from exhausting the database quota
- Export accounts and retry teardown without losing shared threads
- Admit assigned Linear work with retryable private cleanup
- Add browser proof tools and stable managed app previews
- Add scoped personal API tokens and retryable metadata refresh
- Offer larger-machine forks after workspace OOM
- Extract Task input delivery and echo reconciliation
- Protect email-code sign-in with Turnstile
- Require TOTP challenges for passwordless sign-in
- Accept verified team invitations and share project history
- Start owner GitHub mentions and wake linked PR threads
- Name scratch projects and support manual sidebar rename
- Add native passkey enrollment and sign-in
- Extract Task terminal and preview access
- Extract Task workspace preservation and shutdown
- Add public getting-started and troubleshooting help
- refactor(tasks): extract notification delivery and presence
- refactor(tasks): extract GitHub projections and commit identity
- feat(cli): list and open owner threads without waking workspaces
- refactor(tasks): delete retired paid specialist tools
- feat(billing): report owner-scoped machine and thread usage
- feat(billing): replace compute hours with exact paid dollar credits
- fix(notifications): redact raw secrets and bound summary history
- fix(notifications): preserve redaction and full owner email content
- feat(notifications): deliver agent previews with account privacy and device evidence
- feat(cli): create detached tasks in a new empty project
- fix(sandbox): keep in-flight writes in saves and recover from lost snapshots
- fix(transcript): match owner actions to replies
- fix(chat): continuous feedback from send to reply through wakes and model switches
- feat(sidebar): every filter tab is always present, empty ones illustrated
- fix(transcript): reply actions sit at the end of the reply, compact
- chore(landing): recapture without the message actions pill
- fix(landing): remove the Static illustrations toggle
- feat(landing): the live workspace replaces the capture above 760px
- feat(themes): Mint is the default palette in dark mode
- fix(landing): Get started keeps the landing's ink-on-canvas colours
- fix(sidebar): phone sheet padding, width and sizes match main
- fix(keyboard): no hydration mismatch from saved shortcuts
- fix(wallpapers): ClientOnly scene that fades in, per TanStack Start guidance
- fix(wallpapers): reload shows the last painted frame, not the gradient
- feat(wallpapers): seven generated scenes replace the painted presets
- fix(tabs): the first raised tab keeps its left edge
- feat(tabs): the active chat tab is raised like a thumb
- feat(ui): continuous tool steps, merged in purple, phone and theme fixes
- fix(chat): archive, edit drafts, model search, caret, toasts and install prompt
- fix(claude): no fake owner message or diagnostics on Stop, unwrapped tool errors
- feat(settings): delete teams, readable Markdown export, honest summaries
- fix(github): wake after sleep, ship to the open PR, fresh PR state, one merge wake
- fix(ui): even padding around the selected tab in every track
- feat(transcript): restore the breathing dot before a reply
- docs(design): rewrite DESIGN.md for the new visual system, shorter settings copy
- feat(subscriptions): CI wake cards link to the pull request
- feat(sidebar): layout saved to the account, PR chips on rows
- fix(tabs): archiving a thread closes its tabs
- feat(transcript): smooth streaming replies
- feat(projects): one searchable ProjectPicker across the app
- feat(composer): modern, aligned @ menu
- fix(command): keep the best match in view and the caret where it was
- feat(ui): raised pickers, rimmed text wells and roomier keycaps
- feat(transcript): floating message actions with a details menu
- fix(ui): phone-width pass at iPhone 13 mini size
- fix(settings): let pages fill the content area
- feat(settings): a live summary on every Overview card, no top bar
- feat(settings): compact settings dialog and an Overview of summary cards
- feat(sidebar): project hover actions, mock status marks; palette leads with actions
- feat(sidebar): underline filter tabs and section-label projects
- feat(ui): add the Mint theme and floating segmented controls
- fix(ui): one selected, hover and edge treatment across the app
- fix(commands): bring back every palette action through search
- feat(sidebar): group threads by project with status rings and filter tabs
- feat(tasks): move thread details into the dock and rebuild sharing
- feat(settings): derive wallpaper contrast from pixels and add adjustments
- feat(transcript): align tool rows, group turns and name what woke a thread
- feat(commands): rebuild the command palette around recent threads
- feat(sidebar): tighten the thread sidebar into labelled status groups
- feat(ui): add themes and half-pixel elevation
- fix: provide tooltips on public threads
- fix(tasks): retry a failed turn where it failed, and keep Reconnect for lost connections
- feat: publish complete unlisted threads
- fix(codex): send ChatGPT requests uncompressed
- fix(tasks): hold back short possible secret starts without a marker
- fix(tasks): pair a replayed echo with input confirmed before the link was lost
- fix(machines): report each out-of-memory kill once per container
- fix(security): enforce session, OAuth issuer and secret revocation authority
- feat(machines): per-project machine sizes, live usage and moving a thread to a bigger machine
- fix(tasks): keep the workspace awake for commands Claude moves to the background
- fix(tasks): let harness background work finish before idle sleep
- fix(tasks): tell every harness how Statefold memory works
- fix(tasks): keep renewing credentials between turns
- perf(tasks): admit a repository start in one request
- perf(tasks): remove round trips from new thread startup
- fix(skills): authenticate refreshes and retry failures within the hour
- fix(tasks): make Stop always end in a stopped thread
- fix(subscriptions): resolve schedules in the owner's time and recover cleanly
- fix(skills): make automatic updates work in the Worker runtime
- fix(tasks): keep running tools confirmed while the stream reattaches
- fix(bridge): stop treating backpressure as lost native frames
- feat(github): add a pull request hub and owner-chosen commit identity
- feat(tasks): attach GitHub repositories mid-thread
- feat(mcp): add personal servers and Worker-held authentication
- fix(composer): render sent thread mentions as chips
- fix(tasks): admit supported image steering over HTTP
- End workspace preparation when native activity proves readiness
- Derive Command-K settings actions from one quick-settings registry
- Fix routine harness blockers and validate MCP settings
- Repair native delivery, retained exports, and failure recovery
- Improve thread sharing and export UX
- Address thread sharing review findings
- Add public thread sharing and exports
- Fix mobile sidebar trigger styling
- Release cold Claude resume input after attachment
- Wake sleeping inbox recipients before staging context
- Preserve native work through recovery and pending workspace saves
- Renew compute throughout saved result exports
- Avoid credential publication locks on current task starts
- Minimize task startup and preserve demand-only recovery
- Add customizable new-chat wallpapers and seamless preset loading
- Preserve OpenCode recovery state and transcript history
- Fix recovery probes and align notifications with native completions
- Fix task startup reliability and preserve immediate send continuity
- Prune unused fixtures and historical harness recordings
- fix: keep landing alpha badge inline on mobile
- Fix sidebar hydration and audited runtime contracts
- Update dependencies and remove obsolete Postgres socket workaround
- Keep sidebar loading markup stable during hydration
- Use user-message activity and slim thread opening reads
- Preserve routing query retention during SSR hydration
- Keep routing snapshots warm across idle thread navigation
- Preserve streamed state across delayed replies and outages
- Close task admission database clients before returning
- Make diff hover color-only and flatten collapsed-context rows
- Fix workspace dock scrolling and phone sizing
- Use the agent mark for every tab listing, on phones too
- Lead each thread tab with its agent's harness mark
- Show the changed-file count beside the workspace toggle icon
- Keep the category overflow menu inside the switcher block
- Deep ink dark palette, radius fixes and a quiet category switcher
- Neutral dark palette, inset sidebar and a one-row thread bar
- initial redesign changes.
- refactor(tasks): load conversations over HTTP and SSE
- Add Close all tabs command
- Fix child waits using live Task status and serial
- Bound repository preparation without blocking conversation recovery
- Keep compute alive during fresh workspace preparation
- Preserve task activity timestamps when opening threads
- Keep resumed workspace compute alive independently of transcript notices
- Contain detached native commands when Stop is unconfirmed
- Confirm child exec before admitting a managed process
- Bound task recovery and shutdown, contain orphaned processes, and preserve execution settings
- Add dedicated MCP settings route
- Reject misleading and credential-bearing MCP endpoint URLs
- Deliver early GitHub failures and deduplicate feedback revisions
- Enforce HTTPS secrets and live device socket authority
- Remove blocking context reads from thread opening
- Fix cross-harness delegation and recovery contracts
- docs: make the TanStack routing and data-loading setup a hard agent rule
- refactor: align routing and data loading with TanStack Start patterns
- Fix mobile chat layout, input recovery, titles and tool previews
- fix: interaction and spacing audit across primitives and screens
- fix: smooth thread loading, mobile pickers and composer, dock and settings polish
- Read composer execution display from saved source
- Restore quieter sidebar thread rows and ES2022 compatibility
- Finish Arc surfaces and resolve UI audit findings
- Polish project picker and segmented indicators
- feat: align workspace UI with Arc design system
- fix: preserve UI input and improve recovery and mobile usability
- fix: index landing page
- feat: serve landing and workspace at the same root
- fix: pick skill upload projects without starting a task
- fix: persist onboarding completion and clarify active steps
- feat: guide first-run setup through a focused onboarding flow
- fix: retain dictation feedback while transcription finishes
- fix: preserve native chat history and settle interrupted turns
- fix: deduplicate startup progress and constrain command summaries
- fix: pause recovery when native history trails saved transcript
- Make thread details a compact tabbed dialog
- Adopt shared chat primitives and native activity messaging
- fix: support upgraded dependencies without package patches
- fix: separate sidebar hover and active rows
- feat: make Docker available on demand in every thread
- fix: accept native Safari dictation MIME parameters
- Polish mobile chat and harden Statefold self-development
- Place task creation retry inline with its error
- Keep remote Artifacts available during development
- Fix settings continuity and centralize async UI state
- Improve composer context scopes and async feedback
- fix: surface connection progress and harden chat recovery
- fix: harden connections, task lifecycle and chat delivery
- fix(chat): simplify transcript activity to animated text
- fix(composer): open repository selections in separate drafts
- fix(dev): route presence upgrades before static assets
- feat(secrets): bind private account and project credentials to workspace launches
- feat(composer): add funded audio dictation and typed task titles
- fix(notifications): derive away state from presence and honor project overrides
- fix(sidebar): persist one selected category with exact owner counts
- fix(chat): render compact tool steps with type icons
- fix(chat): edit owner messages with confirmed rewind and resend
- fix(composer): unify context suggestions under at trigger
- fix(tasks): distinguish pending admission from queued input
- Move HEIC license link from attachments to Settings
- Serialize GitHub account token refresh across requests
- Use owner GitHub authentication for workspace git and gh
- Redesign the thread transcript on the landing workspace
- wip
- Format the maskable icon entry in the web manifest
- Rebrand the platform on the October redesign and split the sign-in page
- Allow explicit GitHub linking without private email evidence
- Supply repository scope for agent-created GitHub subscriptions
- Keep citation geometry out of server rendering
- Close bodyless native responses to preserve subsequent OpenCode input
- Keep thread settling and notifications tied to delivered input
- Keep billing usable when Polar refresh is unavailable
- Count all owner tasks needing attention for the installed app badge
- Preserve rich composer input through queue edits and native rewind
- Recover native controls, drafts and task metadata across interruptions
- Wake check subscriptions from complete owner-authorized GitHub evidence
- Persist subscription retry evidence and project execution defaults
- Record native harness controls and reasoning contracts
- Keep one composer chip per referenced thread, PR, file or skill
- Render composer Markdown as live preview with inline attachment chips
- Give composer context one chip system and an aligned layout
- Adopt T3's composer contract and finish shell UX (T6, T7)
- Render a structured environment brief from Task facts
- Replace workflow stages with single-execution tasks and delegation
- Move shipping to agent-owned git and gh
- Derive thread status and deliver subscriptions through durable inboxes
- Fix reviewed account security gaps and CI failures
- Move sign-in connections to account settings
- Configure onboarded transactional email sender
- Keep workspace pending components out of eager public bundles
- Defer future-dated compute usage until export eligibility
- Handle connection revocation for saved stopped workspaces
- Expose redacted connection cleanup failure diagnostics
- Add private Sentry reporting and operator dashboard
- Unify composer controls and brand the mobile task page
- Fix staging Codex quota reads through private Node egress
- Fix hydration and responsive task setup, navigation and loading feedback
- Improve CLI skill search selection and compact upload feedback
- Give platform routes page-specific document titles
- Make task launches nonblocking with bounded admission and empty workspaces
- enable claude code locally.
- Fix owner-confirmed task resumption and native delivery
- Align saved context and native harness evidence
- fix: repair task naming, transcript history and workspace review
- fix: expose task spawning with Claude-compatible MCP schema
- fix: clean up Claude connection input and transcript events
- fix: simplify composer feedback and inset workspace backup notice
- Preserve workspace snapshots and isolate embedded previews
- fix: run Docker-enabled workspaces and preserve task activity feedback
- feat: sync editable keyboard shortcuts across account sessions
- fix: release workspace RPC handles and improve navigation
- fix(ui): address UI audit findings
- fix: address application audit findings
- feat(harnesses): gate reusable Claude subscription connections
- fix(harnesses): align coding models and Gemini native execution
- refactor(composer): move recovery and setup actions outside message input
- refactor(ui): enforce compact unboxed notices across the app
- refactor(settings): align expanded connection details and refresh feedback
- fix(quota): refresh ChatGPT usage without failed-request cooldowns
- fix(connections): deny removed credentials and retry workspace cleanup
- Redesign billing around compute balances and top-ups
- Integrate Polar prepaid checkout and usage reporting
- Settle expired compute leases before live renewal
- Add prepaid compute ledger and reservation accounting
- Surface compute access in composers and preserve task retries
- Reject fresh compute admissions before creating work
- Unify compact transcript image previews
- Add explicit OpenCode Go and Zen connections
- Unify task headers and fix mobile composer layout
- Fix task resume, CLI result application and mobile controls
- Increase monthly compute allowances by 2.5x
- Preserve native harness images and public activity in task transcripts
- Allow open internet access in agent sandboxes
- Make uploaded skills available to existing tasks
- fix loader shrink.
- Clarify current billing plan and compute balance
- Require paid onboarding and validate runtime application environment
- Add Polar subscriptions and durable weighted compute allowances
- Keep agent reconnect in the composer toolbar
- Move keyboard shortcut help into personal settings
- fix(workspace): simplify tools and align preview controls
- fix(transcript): move delivery status outside message bubbles
- fix(composer): keep transient task states in the placeholder
- fix(tasks): orient harnesses to Statefold thread tools
- feat(memory): add semantic recall and sourced corrections
- feat(workspace): add Amp-style shortcuts and quiet New task navigation
- fix(workspace): preserve panel edges and restore dock header insets
- wip
- fix(composer): explicitly dismiss task references on Escape
- fix(ui): tighten workspace composition and primitive consistency
- fix(composer): give task references exclusive suggestion keyboard handling
- fix(ui): match ongoing thread spinner to workspace mockup
- fix(ui): fill button backgrounds to their measured edge
- fix(platform): match sidebar and workspace mockup composition
- fix(ui): stack workflow rows on mobile and frame shared skills empty state
- fix(tasks): unify workspace elevation, save time and opener focus
- fix(ui): align sidebar navigation and account menu with mockup
- fix(ui): match floating elevation and quiet chrome primitives
- R8: refine floating depth, touch targets and workspace details
- R7: align admission and standalone recovery surfaces
- R6: lead product pages with collections and focused editors
- R5: default to a passive workspace rail and float the dock
- R4: soften conversation chrome and expose human save times
- R3: reshape thread navigation and consolidate account controls
- R2: float workspace panels on the shared canvas
- R1: establish floating workspace tokens and primitives
- feat: complete workspace environment controls and recovery
- feat: streamline workspace tools and native agent activity
- feat: read native Codex and OpenCode subagent histories
- fix login page branding.
- Build branded split login and provider account management
- Add provider-neutral passwordless authentication and secure account linking
- Reserve tab close-button space and improve action feedback
- Group secondary workspace actions and align panel spacing
- Rank command search results across action categories
- Refresh workspace docs and stabilize command palette navigation
- Complete Codex and OpenCode native guidance rollout
- Fix saved review refresh and defunct environment service restart
- feat(tasks): preserve workspace review, context and durable obligations
- feat(tasks): restore sleeping workspaces without resuming execution
- feat(github): make Changes a compact publication workspace
- fix(github): publish exact saved work with scoped permissions
- fix(tasks): preserve skill context in discovery and peer input
- Validate task controls with a self-hosted Codex regression
- Add scoped durable cancellation for delegated task launches
- Preserve follow-up cancellation during queued admissions
- Add durable task actions, bounded scheduling and safe workspace media
- Add installable app shell and fold branding
- Reject unavailable anonymous OpenCode models before admission
- Refine composer project and model controls
- Move workflow selection into the compact composer picker
- Fix unattended Codex approvals and preserve workflow delegation
- Preserve sandbox files across sleep and refresh workspace views
- Improve memory consent, management, and bounded recovery
- Group thread creation activity and use a conversation icon
- Prevent memory extraction from exhausting its budget on reasoning
- collapse empty folders in sidebar.
- Return original saved task output without model summarization
- Fix task report waits, Codex reconnect identity and child archiving
- Polish task collaboration UX and recover delegated source workspaces
- Unify cloud task collaboration, sharing and funded specialist tools
- Expose saved workflows to task agents and pin delegated stage plans
- Add project-scoped task references and saved previews
- Summarize family threads on read and keep the parent link on the source row.
- Make child task navigation and reports compact and attributable
- Fix memory extraction requests and recovery in Workers
- Compact harness connection details and usage indicators
- Refresh platform UI and verify settings behavior
- Show task families in navigation and attributed chat context
- Enable durable cross-harness task messaging and delegation
- Isolate delegated source snapshots and result imports
- Add persisted task families and delegation contracts
- Use bundled Codex models without discovery containers
- Fix Artifacts workspace clone authorization and release RPC resources
- Add memory settings, note management, and task status indicator
- Provide bounded memory context and background extraction to task agents
- Add opt-in personal and project memory persistence
- Acknowledge task archives before workspace cleanup
- Fix process logs and publication; standardize progress feedback
- Recover OpenCode steering and clarify sleeping workspaces
- Render native questions and permissions only in the transcript
- Fix task lifecycle and mutation feedback
- Stop idle and archived task containers without losing workspace changes
- Replace settings page with routed dialog sections
- Fix task navigation latency and audit state and API boundaries
- Refresh sourced skills and isolate batch upload failures
- Expose React composition options for embedded workspaces
- Preserve native harness requests, outcomes and recovery evidence
- Improve workspace setup and deploy staging on push
- Fix GitHub reconnection and cache harness model catalogs
- Serve staging previews on Universal SSL hostnames
- Fix closing-only reasoning leaks and preview WebSocket negotiation
- Fix container harness access and chat workspace recovery
- Give model discovery a transient retry grace period
- Bound metadata retention and recover failed task deletion
- Use OpenRouter for workflow authoring and free models locally
- Fix chat replay, question drafts, and native harness recovery
- Avoid native preview tunnel failures after readiness probes
- Show the file viewer only when a file is selected
- Fix harness connection lifecycle and remaining-limit UX
- Blend code review backgrounds with the app theme
- Show a breathing activity dot while the agent is working
- Add actionable guidance and safe recovery across the workspace
- Show workspace preparation while the initial clone is pending
- Show safe warning summaries instead of native errors in chat
- Refresh saved connections immediately and remove misleading health checks
- Verify native Codex accounts before returning subscription models
- Migrate Sandbox to the stable native container runtime
- Upgrade workspace dependencies and verification tooling
- Make task workspaces file-first with compact icon tabs
- Make first harness connection labels optional
- Improve harness connection feedback and stabilize health checks
- feat(tasks): auto-archive inactive tasks and add lazy archive navigation
- feat(ui): enforce design contract and simplify project navigation