RELEASES

What's new in Codron

Every released version, with the changes that shipped in it. Already on Codron? Auto-update brings new versions in for you.

EARLIER · page 4 of 7

  1. v0.11.0Jul 4, 2026New Device tab runs your mobile app on a real iOS Simulator or Android emulator, booted from the Run button and tiled beside Codron
    • · Mobile projects (Expo, Flutter, React Native) get a Web | Device toggle on the preview tab. Device drives the real, interactive simulator or emulator instead of a screenshot: you tap and type on the actual device. Hit run and Codron builds, installs, and launches your app on it (flutter run, expo run, or react-native run), streaming the build log.
    • · Run boots the device for you. The picker lists both running devices and bootable ones (installed iOS simulators, your Android AVDs), tagged by state; pick any and Codron boots it (simctl boot or emulator) before building, so you never have to pre-launch anything.
    • · Arrange tiles the two windows: the real device window on the left, Codron on the right, snapped to the device's actual size the moment it appears (it keeps trying through the boot instead of waiting for the whole build). On macOS this needs a one-time Accessibility grant to move the device window.
    • · iOS and Android live in one picker. Booted simulators plus the newest iPhones, running emulators plus your AVDs, all in the same dropdown; switch platforms there. Codron runs one app at a time, and closing the simulator or emulator yourself flips the button from stop back to run.
    • · This replaces the earlier preview-as-web trick for these stacks (0.10.11 steered you toward React Native for exactly that reason). Flutter and native emulator work now runs directly, launched and arranged by Codron.
  2. v0.10.13Jul 2, 2026Reset powers down clean instead of auto-running, Claude sign-out clears the token for real, and the left DOCS panel becomes one reading list for every project document
    • · The left DOCS panel is now one reading list for the whole project: briefing, plan, the architecture diagram, artifacts Codron made, and references you added, all as uniform read-only rows sharing one preview. The center references tab goes back to being just the file manager (upload and delete).
    • · Reset now lands a stuck project in standby instead of auto-engaging. Nothing runs and no tokens burn until you press engage; engage is the explicit restart.
    • · Claude sign-out actually clears the token now, and the agent restarts on sign-in and sign-out, so a new or cleared token takes effect without relaunching Codron. Previously sign-out left a stale token that 401'd every engagement.
    • · Project settings wait for the real config to load before rendering, instead of briefly showing defaults you could correct against and accidentally save. A failed load shows an error with retry.
    • · Smaller fixes: the decision-needed notification opens the Overview triage instead of a removed route, /new seeds the engine picker from your saved global default, project delete rides out a transient Windows file lock, unset projects no longer run a higher Claude effort than the picker showed, and a copy pass finishes the cycle-to-engagement wording and humanizes the remaining status labels.
  3. v0.10.12Jul 2, 2026One-click architecture diagrams, Claude Sonnet 5 and Fable 5 in the model picker, and bounded orders no longer roll into the mission loop
    • · New Architecture row in the docs list generates a proper drawio flow diagram of your app in one click, running a background drawio-skill session; preview inline, stop mid-run, regenerate when the shape changes. Sits alongside briefing and plan in the docs list, with the open-in-drawio action tucked inside the viewer so the row itself stays clean.
    • · Model picker updates: Claude Sonnet 5 is in and Sonnet 4.6 is out; Claude Fable 5 is also available as an opt-in (Opus 4.8 stays the default).
    • · Order scope: a bounded, imperative order (e.g. 'add X, then stop') now runs a single cycle and hands back to standby, instead of rolling straight into the ambition-tier mission loop and picking up its own next thing. Broader 'ship this feature' orders still flow through the mission loop as before.
    • · The /new page shows the briefing-draft progress live while a scratch is being promoted, instead of leaving you staring at a frozen scratch until the draft lands.
  4. v0.10.11Jun 29, 2026Disengage and quit now actually kill the agent and its dev servers on Windows, a Reset button unsticks parked loops, and mobile-app projects preview in-app
    • · Disengage now actually stops the agent on Windows. Codron runs the engine CLI through a shell so the claude.cmd / codex.cmd shims resolve on PATH, which left the real claude.exe orphaned when you paused: output kept streaming and the project sat half-alive until the 15-minute watchdog. Disengage, cycle abort, and timeouts now kill the whole process tree (taskkill /T /F on Windows), so a pause takes effect right away.
    • · Quitting Codron no longer leaves dev servers running on Windows. The desktop app now asks the agent to shut down over IPC before it force-kills it, so the agent gets a chance to stop every dev server it started, exit ngrok tunnels, and mark its dev_sessions rows stopped. Previously those servers kept holding their ports and came back as errored on the next launch.
    • · New Reset button for cycles stuck in a run-stop-run-stop loop. When a cycle parks on a wedged escalation or a stale resume session, disengage then re-engage just fed the same broken state back in. Reset (next to engage and disengage) aborts any in-flight cycle, clears the on-disk escalation and decision handoff plus the stuck session id, and flips the project back to engaged, without touching your plan.md, memory.md, or source code. A confirm guards it so a stray click cannot wipe the handoff.
    • · The reset confirmation uses Codron's own dialog instead of the bare OS popup, and every button now acknowledges a press. The native confirm painted jarring white Windows chrome; it now uses the in-app dialog with a danger style. Separately, a single global rule gives every button a slight darken-and-shrink on click, so presses across the dashboard no longer look inert.
    • · Mobile-app projects now preview in-app, no emulator needed. When the agent builds a React Native or Expo app, the preview pane runs it as web and defaults to a phone-width frame, so you see the real mobile layout each cycle. The agent is also steered to choose React Native plus Expo for mobile work (which previews inside Codron) over Flutter or native iOS/Android, which need an emulator you would launch yourself.
    • · First-run onboarding now checks for Git, not just Node. A clean machine (especially a fresh Windows install) often has no Git, and the wizard used to finish anyway, then every engagement failed the instant the agent tried to scaffold, clone, commit, or sync, all of which call git. Git now sits beside Node as a prerequisite with one-click install (winget on Windows, brew on Mac, with a download fallback), and the Welcome step lays out the three setup moments up front. The download page also flags that Linux is unsupported and the macOS build is Apple Silicon only.
    • · The Free plan now includes GitHub push. Agents on Free can commit and open pull requests, so you can run the whole delegate-overnight, wake-up-to-a-PR loop without upgrading; that was previously walled behind Pro. Pro now centers on scale and shipping live products: unlimited projects and machines plus the deploy and cloud tools (Vercel, gcloud, Supabase, ngrok). The Settings Integrations tab reflects the line, those tools prompt to upgrade on Free while GitHub stays available.
    • · The project status pill is less likely to get stuck after a cycle. The end-of-cycle status write was fire-and-forget, so a transient Supabase blip or an abort could leave the row stuck on engaged with nothing to correct it. That write is now awaited and retried once, with a second resync after the cycle slot frees as a backstop, covering the abort and watchdog paths too.
  5. v0.10.10Jun 29, 2026Order draft survives stray clicks, the engagement status pill holds until the cycle really ends, and today's cost stops drifting
    • · The session 'order' modal no longer dismisses on a click outside the dialog. That click used to fire Cancel, which also aborts the in-flight draft stream, so a stray click on the page mid-generation threw the draft away (and the draft is the operator's only copy). The backdrop is no longer a dismiss target; the Cancel button (and Escape on the underlying form) are the only ways to close.
    • · The project status pill stops flipping early at the end of a cycle. The agent writes state.json mid-cycle to mark itself standby/accomplished/pinned, and the file watcher used to push that straight to the cloud, so the top-bar chip flipped to STANDBY while the activity panel was still streaming the last few tool calls. The watcher now skips the status field while a cycle is in flight; the runner's explicit end-of-cycle sync commits the final status once the engine subprocess actually exits, so the chip and the activity stream agree.
    • · The sidebar's '$X today' chip now agrees with the Usage strip. The chip was reading a stored running tally that a separate runner bug had stuck on the latest cycle's cost only (sidebar showed $19, Usage strip showed $72 on the same day). It now queries the engagements table over the same browser-local-midnight window the Usage strip uses, so the two panels can no longer drift; KST operators no longer see the 0-9am UTC vs local mismatch either.
    • · The scratch view freezes while a briefing draft is being generated. The textarea, send, title rename, and delete all disable so a chat sent mid-draft can't race the agent's transcript read. The promote button is also gated on streaming, so the last assistant reply isn't dropped from the transcript a draft is built from. On draft failure, the agent's real error is forwarded into /new instead of a generic blank-form message.
    • · Briefing drafts pull more out of a long scratch. Pasted specs, design docs, and API materials are lifted out into named .codron/references/*.md entries instead of being inlined into the briefing. The transcript is now synthesized recent-turns-verbatim plus a folded head so the opening 'what we want to build' framing survives long conversations, with a hard char cap so a giant pasted spec can't time the draft out.
    • · Reload in the preview tab gives a visible press and a busy spin. The button had only hover styles and fired an async call with no progress signal, so a click looked like a no-op. It now darkens momentarily on press and spins the icon with a 400ms floor so even instant resolves register.
    • · Memory.md now holds the open frontier too. The separate 'backlog' doc kind was used about 0.07x per cycle vs reports at 1x, so it's folded into memory.md as one place with two shapes: '- [ ]' bullets for what's still pending, prose for accumulated learnings. Existing backlogs were appended into memory at migration time; on-disk .codron/backlog.md files are left alone and quietly skipped from sync.
  6. v0.10.9Jun 27, 2026Activity and feed fixes for cycle handoffs, plus mobile-viewport preview and env_request key prefill
    • · The activity pane no longer gets stuck on 'engaging, waiting for the first step' when a new cycle starts right after the previous one ends. The first broadcast events of the new cycle could land before the project's status flipped to engaged through Realtime, and the old code wiped the list on that status flip. Events are now partitioned by engagement id, so the new cycle's events render the moment they arrive instead of waiting on a status round-trip.
    • · Filled in the awkward gap between back-to-back cycles. The pane used to flash empty for a couple of seconds while the agent was writing its feed doc and syncing status. It now holds a green-tinted 'debriefing' state for ~3.5s after a cycle ends (auto-canceled if the next cycle starts inside that window) and keeps the prior event tail visible until something new lands. The status vocabulary was retuned to match: 'working' is now 'on task' / 'filing report' / 'debriefing' alongside the existing engaged/standby/stood-down words.
    • · A failed cycle no longer carries a red border in the feed once a newer cycle has run past it. The HALT chip and the red engagement number still mark the failure, but the border (which is the cue to act on it) drops away once the failure is history. The retry button already worked this way.
    • · Custom machine names survive agent restarts. The agent was re-stamping display_name to os.hostname() on every boot when it found an existing row, so any rename you did from the dashboard reset to the bare hostname on the next restart, upgrade, or reinstall. The hostname is now only used to seed the very first insert; once the row exists, your rename is the source of truth.
    • · Replaced the 'preview on your phone' QR code with a desktop letterbox toggle that crops the preview to a phone-class width (390px). The QR flow only worked when the dev server happened to bind past loopback, which Vite and Flutter Web do not by default, so for most stacks the button silently produced an unreachable URL. The letterbox exercises the same width-based responsive breakpoints on any dev server, no LAN reachability required.
    • · Variables tab now prefills the keys an agent asks for. When the agent posts an env_request card with the keys it needs, the 'Fill in the Variables tab' button opens the tab with those keys already laid out as empty rows, so you only have to type values. A key you delete stays deleted (the seeding does not fight you).
    • · MCP settings no longer look empty on the first visit to a project's Settings tab. The MCP section was reading its initial enabled/specific values once at mount, which on the first render was before the project data had arrived; later fetches were silently ignored. It now remounts once the project data lands, so the saved MCP config shows up as saved.
    • · Fresh repos show the real branch name in the Source tab. The 'No commits yet on <branch>' status line that git prints on an empty repo was being captured whole as the branch name. The pre-commit chrome is also lighter on a brand-new repo (no upstream-sync ops, less spam about the all-staged initial commit).
    • · The SIGN IN button on the ngrok onboarding card actually opens the authtoken dashboard now. The old check used ngrok's own config-check command, which exits non-zero whenever ngrok.yml does not exist, which is exactly the first-run state the button is meant to resolve. Token paste still lives in the same Settings card after you copy from the dashboard.
    • · Swept the remaining em-dashes out of user-visible strings (toasts, tooltips, helper text, the onboarding retry message, the Telegram divider) and updated the order-draft system prompt so the model stops mirroring them back. Code comments are left alone.
  7. v0.10.8Jun 26, 2026The 0.10.7 blank-preview fix, finished: the reload button and the first dev-server start now actually paint
    • · Starting a frontend dev server now paints the preview on the first try. 0.10.7 simplified the preview to 'just reload the page on every tab entry', which fixed the blank pane when you switch tabs and come back, but left two paths still broken. The real cause of a blank pane is the native preview surface getting allocated a beat too late, so the very first page load can finish painting before there's anything to paint into. Switching tabs cured it because that re-seats the surface; the first load never did. Now the first successful load re-seats automatically, once, so the page shows up without you having to switch away and back.
    • · The reload button can now recover a blank pane. It previously just re-fetched the page into the same dead surface, so when the preview was blank, clicking reload did nothing visible (the exact thing you'd reach for first). It now does what switching tabs does (re-seats the surface and reloads), so one click brings the page back.
  8. v0.10.7Jun 25, 2026Preview, DEV SERVER, and SHARE rows stop drifting from reality; the live activity log gets per-tool icons
    • · Preview no longer sits blank with the dev server visibly running. The pane had two layers of rescue logic (a 30-shot retry budget on the renderer side, and a 'invalidate the compositor surface a few times across rAF and hope a repaint lands' code path on the Electron side) that worked unreliably on tab re-entry. The symptom: the DEV SERVER strip shows READY with a green dot, the URL is filled in, and the preview area below stays black until you stop+start the server. Both rescue paths are gone now; landing on the preview tab (or the dev server transitioning to ready) just reloads the page. The reload button does the same thing it always did.
    • · DEV SERVER and SHARE rows resync themselves when you come back to the window. Both used to fetch state on mount and otherwise ride a realtime channel. If that channel dropped an UPDATE (laptop sleep, a wifi blip), the UI stayed pinned to the last status it saw, sometimes showing READY localhost:3000 with a Share URL long after the agent had actually stopped both. Stop clicks on a phantom-running server then read as 'no reaction' (correctly: there was nothing to stop). The cards now refetch fresh state whenever the window regains focus, the tab becomes visible, or the network comes back online, so the displayed state can't drift from the actual one for long.
    • · Ctrl+R / Cmd+R reloads the dashboard in the packaged app, too. The shortcut was previously dev-only on the assumption that 'reloading a bundled asset is meaningless', which missed that the actual thing you want to reload is the renderer's cached React state, exactly the situation when a realtime UPDATE goes missing and the UI looks stuck. The shortcut now works in the installed build, so one keystroke forces a fresh fetch. Ctrl+Shift+R force-reloads bypassing the cache.
    • · The live activity panel now has shape-coded tool calls. Every tool used to render with the same → glyph and the same uppercase white label, so a column of Read / Edit / Bash rows all looked identical, and you couldn't tell at a glance what kind of work was happening. Each tool kind now gets its own icon (file for Read, pencil for Edit/Write, search for Grep, terminal for Bash, robot for Task, …) and the tool name renders as a small uppercase chip, so the panel reads as a scannable action log instead of a wall of arrows.
    • · Enter sends in the engagement composer, matching session and scratch. The bottom-of-engagement composer (where you type orders) needed Cmd/Ctrl+Enter to submit, while the session and scratch composers above used plain Enter, so muscle memory inserted a newline half the time. The three composers behave the same way now: Enter sends, Shift+Enter for a newline.
  9. v0.10.6Jun 24, 2026Pending decisions surface immediately in feed, the Share button self-heals when its UI falls behind, and small dashboard friction goes away
    • · When an engagement parks on a pending decision, the center panel now jumps you to the feed automatically. Before, if you were on the session tab and the agent halted to ask you something, the screen didn't change: the session sat frozen with no fresh tool rows, and you could miss for a while that the agent had actually stopped waiting for you. The feed is where decision cards live (approve / reject / fill in variables), so it's where you need to be the moment the agent parks. The jump only fires when you're on session (so an intentional move to preview/settings doesn't get yanked back) and only once per decision, so you can still navigate freely after.
    • · The Share button (per-project ngrok tunnel) now self-heals when the UI has fallen behind the actual tunnel state. The button rendered as 'share' even when the tunnel was already live with a public URL, because if the UI fetched its state during the first realtime blip or before the ready event landed, it stayed stuck on stopped. Clicking share was a silent no-op (the agent saw the tunnel already running and returned early without re-publishing the status). Now a duplicate share-click re-emits the current state so the UI flips to the live URL on the next click.
    • · The new-project briefing form no longer pre-checks the optional 'Send Telegram notifications' toggle. The label said optional but the box was checked by default, so projects ended up wired into Telegram you hadn't actually set up. It now starts unchecked, matching the label; check it deliberately if you want pings for that project.
    • · Deleting a project from its page no longer leaves you staring at a half-torn-down view while the delete finishes server-side. The page now navigates back to the overview the moment you confirm; the delete itself runs in the background.
    • · Preview pane retries through Chromium's transient error pages. After a fresh dev-server start, Chromium occasionally reports load success while still rendering its 'this site can't be reached' interstitial; the preview now keeps trying until it actually has your page, so you don't have to hit reload yourself.
    • · Dashboard project list: long project names no longer truncate the tier chip (Free/Pro). The chip lives in its own grid column now and stays readable regardless of how long the project name is.
  10. v0.10.5Jun 24, 2026Feed cards drop the per-engagement diff chip; the live activity panel runs leaner under the hood
    • · The +N/-M diff chip is gone from engagement feed cards. It only rendered for a fraction of engagements (an engagement that analyzed, decided, or closed out touched no files, so the chip was usually absent), and when it did show, the raw line count wasn't something you acted on. The outcome chip and the field-report summary already tell you what an engagement did, so the diff number was noise sitting next to the signal.
    • · The live activity panel runs leaner. The right-panel tool stream you watch while an engagement works used to be written to the database row by row (thousands of rows piling up for a view that's only useful while the engagement is live). It now streams over an ephemeral realtime channel instead: you see the same live progress, with nothing persisted afterward. One behavior change falls out of this: open a project mid-engagement and you'll see the steps from that point on, not a replay of earlier ones (the durable record of what happened is still the feed card and its field report).

UPDATE INFO

Codron auto-updates from download.codron.app. A new version triggers a Restart-to-apply toast in the running app. You can also re-download the installer from the download page at any time.

Releases · Codron