Skip to content

Changelog

Latest release 0.29. See the available installer.

v0.29 — 2026-10-01

Hosted MCP server with OAuth, phone messenger-style navigation, CI workflow sparklines, and cloud mirror budget.

Features

  • Hosted MCP server at nocturnal.sh/mcp: connect from Claude, Codex, or any MCP client with your Nocturnal account — no npx install, no API key. OAuth consent flow in Cloud Functions.
  • Phone navigation redesigned as a three-level stack: Projects → Chats → Chat, matching a messenger's model. The header shows the chat's status line while it works and project details are one tap away.
  • CI sidebar reworked: runs grouped by workflow with dot-history sparklines, failing-workflow count, and one-click 'fix with agent' that drafts a prompt from the failed run's logs.
  • Phone agents screen rebuilt: pinned and unpinned chats in one scroller, archived toggle, Planning / Building mode switch, and a project-details button in the header.
  • Handoff and provider-switch notices shown in the transcript so you can see what each model was given when it took over.

Fixes

  • Cloud mirror trims long prompts and drops the oldest archived sessions when the agents list approaches Firestore's 1 MiB document limit — no more silent mirror failures on busy accounts.
  • Queued run's cwd resolved from the project path at start time, not at queue time, so a run queued from the phone (no local path) lands in the right directory.
  • nvm prefix conflict fixed in the fork build script (`--no-use` + `--delete-prefix`) so `deploy-mac.sh` works when the shell's default Node differs from the fork's `.nvmrc`.
  • Process manager reuses the row id on ad-hoc restarts instead of minting a new one — `maxRestarts` now applies and the registry stays bounded.
  • Run Now button debounced to prevent double-starts from fast taps.
  • MobileProjectPicker removed; replaced by a proper MobileProjectList screen with search.
  • Project icon discovery broadened: checks more framework-convention paths (favicon.svg, logo files).

Infrastructure

  • MCP server split: `createMcpServer` factory shared between the local stdio transport and the new hosted HTTP transport in Cloud Functions. Hosted server uses Firebase Auth via OAuth 2.1 (`mcp-oauth.ts`, `mcp-http.ts`).
  • `renderHostedMcpInstructions` in core for the cloud server's briefing; `MCP_HOSTED_COMMANDS` and `MCP_URL` constants alongside the existing local install commands.
  • Phone Flutter: `AppSession` gained `sessionsFor(projectId)`, `projectById`, and the agents screen takes a `projectId` prop instead of relying on the selected project.
  • CI workflow rows helper (`ciWorkflowRows` in `ci-runs.ts`) groups runs by workflow with dot history, used by both HistorySidebar and CITab.
  • Firebase Hosting: `/mcp` rewrite to the `mcpServer` function; `/authorize` page for the OAuth consent step; `authorizeMcp` callable for validating and approving requests.
  • `openSessionInTerminal` replaces raw `openTerminal` for agent resume, giving a proper error path.

v0.28 — 2026-09-30

Plan quick summaries, stage chat mode, multi-device MCP server, CI sidebar with fix-from-chat, and handoff preview.

Features

  • Plan quick summary: the brief card has a compact view — one headline, three key changes, decisions that need you, and phase names — so you can scan a plan in seconds and open the full detail when you want it.
  • Stage chat mode: plan phases can run as follow-ups inside a single session (`stageSessionMode: continue`) instead of one chat per phase, keeping context across the build.
  • Handoff preview: before you send, a notice under the composer says what the next model will be given when switching provider, persona, or starting a plan chat on a new thread.
  • CI sidebar and fix-from-chat: the history sidebar shows recent runs with failing-workflow counts, click-to-focus into the CI tab, and a one-click draft that hands a failed run's logs and annotations to an agent.
  • MCP server v0.2: multi-device routing (every tool takes an optional `device`), sign-in and state tools, cloud relay with caller-kind forwarding, hosted publishing from `deploy-hosting.sh`, and truncation guard on large results.
  • Push notifications name the latest ask, not the chat title — a long conversation's push now says what just finished.

Fixes

  • Process manager: ad-hoc restarts reuse the same row id instead of leaving a crashed entry behind and minting a new one — `maxRestarts` now applies correctly and the registry stays bounded.
  • Process spawn errors (`ENOENT`, missing cwd) caught and logged instead of crashing the engine.
  • Waiting-on-you assistant messages stay expanded so you can read the question without clicking Show more.
  • Deferred plan stages: phases that depend on a decision or earlier phase are projected into the queue with their plan position (`Phase 4 of 10`) and not double-counted when already queued inside a stage chat.
  • Composer draft restored from memory instead of resetting on re-render.
  • Plan chat context carries the plan body on provider switch or first turn so the new model does not have to rebuild it from the transcript.

Infrastructure

  • Plan stages refactored: `writeStagePrompt` / `dispatchInStageChat` / `materializeDeferredStage` split out of the monolithic dispatcher; deferred-stage decision and run helpers in core with tests.
  • Sidebar logic (`core/sidebar.ts`): folder sort, archive reorder, and project-order helpers extracted from the daemon with unit tests.
  • Plan brief (`core/plan-brief.ts`): `planQuickSummary` builds the compact view from the same brief data; `stripInlineMarkdown` added to `core/markdown.ts`.
  • Cloud relay forwards `source: 'mcp-agent'` as `CallerKind` so remote MCP agents hit the same proposal gate as local ones.
  • Firebase Hosting headers: `/npm/**` serves JSON with CORS for the published MCP package registry; `/mcp/*.tgz` is immutable-cached.
  • Agent sessions: `lastPromptForRun` / `sessionNotificationTitle` in core, plumbed through runner → mirror → push so notifications and the agents panel show the latest ask.
  • CI helpers extracted to `$lib/ci-runs.ts` (shared between CITab and HistorySidebar); CI run focus store for sidebar → tab navigation.

v0.27 — 2026-09-27

Cross-provider chat handoff and per-section tab memory.

Features

  • Cross-provider chat: switch between Claude and Codex mid-conversation and each provider picks up where the other left off — Nocturnal hands over the turns the new thread missed.
  • Tab memory per workspace section: switching between Planning and Building (or leaving and returning to a project) lands on the exact tab you left in each section.

Fixes

  • Failed resume retries now carry the full transcript into the fresh thread instead of starting blank.

Infrastructure

  • Provider handoff system: `agent-provider-handoff.ts` in core (with `buildHandoffPrompt` and `planProviderContinuation`), per-session provider cursors (`agent-provider-cursors.json`), `hasNativeThread` on adapters (Claude checks `~/.claude/projects/`, Codex checks `codex-threads.json`).
  • Tab return logic extracted to `project-return.ts` with per-mode memory recorded on every activation.

v0.26 — 2026-09-27

Claude in Chrome, port suggestions, in-app browser sign-in, and App Store compliance fixes.

Features

  • Claude in Chrome: agent runs connect to your browser by default so Claude can drive Chrome through the extension. Toggle it per-account in the model menu or Settings.
  • Port suggestions: `port.suggest` returns free replacement ports without changing anything — use it from the CLI, MCP, or let the resolve-conflicts draft prompt point the agent at it.
  • In-app browser for mobile sign-in: the auth handoff opens in an in-app sheet (SFSafariViewController / Custom Tabs) instead of jumping to the default browser, then dismisses itself on success.

Fixes

  • Right-hand panes (plans, issues, previews) capped at 50% width so large text sizes no longer collapse the main column.
  • Composer bar and CI header wrap instead of overlapping at wider zoom levels.
  • Port-conflict draft simplified: the prompt now tells the agent to call `port_suggest` for free numbers instead of embedding a long spec.
  • Mobile project picker opens from the left edge like the desktop rail, with archive-aware search.
  • Site pages opened from the phone app hide pricing, offers, and navigation chrome (App Store 3.1.3(f)).
  • Account deletion reachable from the device picker (before any Mac is linked), satisfying App Review.

Infrastructure

  • FS-watch sweep: a 15 s heartbeat re-checks config-dir signatures and re-arms any watcher that died silently (EMFILE, volume swap).
  • `agentClaudeChrome` setting plumbed end-to-end: core schema, cloud state sync, daemon config, Claude adapter args, runner, dashboard model picker, settings handler, and state-sync test.
  • `port.suggest` command added to core schema, catalog, daemon handler (shared `planProjectPorts` helper), CLI `noc ports suggest`, agents-md guide, and public docs.
  • App-surface detection (`app-surface.ts`) suppresses billing and external-link chrome on site pages when opened from the native app.

v0.25 — 2026-09-23

Project chat mode with proposal review gate for agent roadmap changes.

Features

  • Project chat mode: a dedicated conversation that sees the roadmap, inbox, and plans — agents propose changes through a review gate instead of editing directly.
  • Proposal review cards: when an agent suggests roadmap changes, a card appears for you to accept, reject, or edit before anything moves.
  • Per-run MCP bridge so project chats can call plan and issue commands scoped to their session.
  • Claude Opus 5.5 added to the context window map.

Fixes

  • Plan stage status labels clarified (manual marks vs. automated transitions).
  • Stage chat replies now resume the stage run correctly instead of starting a detached session.

Infrastructure

  • Proposal system: gated commands, sealed batching, narrative summaries, and accept/reject/edit flow across daemon, dashboard, CLI, MCP, and Flutter.
  • Planning chat caller kind distinguished from agent-tool so the gate can treat priority decisions differently from unprompted suggestions.
  • Roadmap move command added to the proposal gate.

v0.24 — 2026-09-20

This release adds staged plan execution with a new plan requests workspace, improves how plans and history are reviewed, and strengthens the installer build and adoption process.

Features

  • Plans can now be broken into staged steps that run one at a time, giving more control over how larger pieces of work are carried out.
  • A new plan requests area lets you review, discuss, and approve plans before they are acted on, with a dedicated card view showing what each plan covers.
  • The planning screen and plans list have been reorganized to make it easier to see plan status and move between plans.
  • Agents waiting in the queue can now be reordered, so you can change the order in which pending work gets picked up.
  • The project history sidebar has been improved with clearer organization of past activity.
  • A new keyboard shortcut layer and command palette entries make it faster to open new tabs and navigate between sections of the dashboard.
  • The desktop app's title bar and dashboard window have been refined for a more polished look and better window controls.
  • The new tab page and agent detail views received layout and usability improvements.

Fixes

  • Fixed issues with how verification checks run for projects, making status reporting more reliable.
  • Corrected project adoption behavior so that setting up a new project is handled more consistently.

Infrastructure

  • Rewrote the internal documentation covering how project isolation works, giving a clearer reference for how separate projects and their data are kept apart.
  • Improved the installer build and packaging scripts to make releases more reliable and easier to verify before shipping.
  • Added automated tests covering plan creation, keyboard shortcuts, project adoption, verification checks, and the dashboard window, reducing the chance of regressions in future updates.
  • Added a safeguard test to catch unintended changes in user role and permission handling.

v0.23 — 2026-09-18

This release adds staged plan execution with shareable plan requests, lets you reorder the agent queue, and introduces a new release verification and job tracking system alongside many dashboard improvements.

Features

  • Plans can now run in stages, so a larger piece of work can be broken into steps that execute and are checked one at a time instead of all at once.
  • You can now share a plan request with someone else so they can review or approve it before work begins.
  • The agent queue can now be reordered, so you can change the order in which waiting agents will run.
  • A new planning tab lets you draft, review, and manage plans before handing them off to an agent.
  • A new jobs system tracks longer-running background work and shows its progress and status in the dashboard.
  • A new release management feature tracks version releases and verifies that a release is healthy before it is considered complete.
  • Pull requests are now tracked automatically, so open pull requests for a project show up without manual checking.
  • A new incoming changes view shows updates coming in from git so you can see what changed before pulling it in.
  • Agents can now use reusable templates to start new work with pre-set instructions or configuration.
  • Artifacts (files produced by agent work) can now sync automatically between the engine and the cloud.
  • A new isolation feature allows agent work to run in a separated environment, reducing the risk that one agent's changes interfere with another.
  • Agent sessions gained an assertion guard that watches for and flags unexpected or risky actions during a run.
  • Notifications and the command palette received updates to surface more relevant information faster.
  • Settings and the deployment tab were expanded with new options related to the above features.

Fixes

  • Various small corrections were made to git integration, agent session handling, and the settings page to improve reliability.

Infrastructure

  • Firestore security rules and cloud functions (push notifications and sharing) were updated to support plan sharing and the new release and job tracking features.
  • A large set of new automated tests was added across the engine, shared logic, and dashboard to cover plans, jobs, releases, verification, git integration, artifact syncing, and isolation, reducing the chance of regressions in future updates.
  • Internal documentation covering the system's architecture, agent behavior, and the change checklist was expanded to reflect all the new functionality.

v0.22 — 2026-09-18

Staged plan execution, plan-request sharing, and agent queue reordering.

Features

  • Staged plan execution: plans can be split into ordered stages with per-stage model, effort, and verification checks — run them sequentially or in parallel from the build dialog.
  • Plan-request sharing: external clients get a single planning conversation on your Mac without seeing other projects or sessions (Firestore rules + relay scoped by planRequestOnly flag).
  • Agent queue reordering: drag queued sessions to change their run order within a project.
  • Cloud-synced plan content: plan body stored as a versioned artifact in Firestore so every device sees the same text.

Fixes

  • fs-watch and ports poller reliability improvements.
  • Git service edge-case hardening.

Infrastructure

  • Firestore rules for plan-request clients, artifacts collection, and per-session subcollection reads.
  • Plan stages schema with anchors, dependency graph, completion protocol, and reconciliation against the markdown body.
  • Queue run ids and ranking for stable reorder across sessions.

v0.1 — 2026-09-18

This release brings Nocturnal to life end-to-end: a project dashboard, AI coding agent management, a desktop app, mobile apps, cloud sync, and marketing tools all working together for the first time.

Features

  • Added a central dashboard where you can see and manage all your software projects in one place, including live views of git changes, running processes, ports in use, continuous integration status, and GitHub issues.
  • Added support for running AI coding assistants (Claude Code and Codex) directly from the dashboard, including choosing which AI model to use and how much effort it should put into its thinking.
  • AI coding assistants can now be queued up to run one after another, will automatically pick back up if interrupted, and keep a visible plan of what they intend to do next.
  • Added a project sidebar showing recent activity, git branches, and quick navigation so you can jump between projects faster.
  • Added a desktop application, a customized version of a popular code editor, that comes with the Nocturnal dashboard built in.
  • Added native mobile apps for iPhone and Android so you can check on your projects and control AI coding sessions remotely from your phone.
  • Added account sign-in with cloud sync, so your settings and project information stay consistent across every device you use.
  • Added the ability to invite collaborators to view and take part in an AI coding session together.
  • Added a command-line tool and a connector for AI assistant tools so other programs and scripts can control Nocturnal directly.
  • Added a marketing board and capture studio for planning, creating, and rendering marketing images and social media posts, with direct posting to X (formerly Twitter), LinkedIn, Instagram, TikTok, and Facebook.
  • Added an administrator dashboard for managing accounts and monitoring usage across the service.
  • Added subscription billing and payment support for paid accounts.
  • Added keyboard shortcuts throughout the dashboard for faster navigation without a mouse.
  • Added push notifications that alert you when an AI agent finishes a task or needs your input.
  • Added the ability to share a read-only link to a project or coding session with someone else.
  • Redesigned and expanded the public website, including documentation pages and a changelog page that shows what changed in each release.

Fixes

  • Fixed an issue where AI agents waiting for a response in "ask" mode could get stuck repeating themselves instead of pausing correctly.
  • Removed automatic creation of a new git branch for every AI conversation; agents now work on whichever branch you already have checked out, giving you more control over your project history.
  • Improved sign-in security so the app no longer requires pasting in a long-lived access token by hand.

Infrastructure

  • Added separate, independent build pipelines for Mac and Windows so installers can be produced and released for each platform on its own schedule.
  • Added automated testing that runs whenever code changes are proposed, to catch problems before they ship.
  • Renamed the background "daemon" process to "engine" throughout the product for clarity.
  • Added an automated version-numbering and changelog system, which is what generates release notes like this one.