0.9.x Release Notes
This release line turned NeuroBook's AI assistant from a one-shot chat tool into a workflow that can draft, review and revise a chapter. It also added the bookshelf-first entry point, image attachments, account backup, an English documentation site and the first complete runtime and installation checks.
0.9.3-canary (limited canary, published) - 2026-08-07
Git range:
v0.9.2-canary.20260805.125926Z.39d220b7..69313ad5ccc0e54203daeeebe69589f108fa3572. Published tag:v0.9.3-canary.20260807.175842Z.771ac42b. This is a limited canary, not a stable release.
This round focuses on the failures that make a long-running Agent session hard to trust: stop-request feedback, session recovery, durable Job results and development cache ownership. It also brings the Windows-first Desktop Workbench spike into the main line.
New
- Background Jobs now keep terminal state and complete results so finished tasks remain readable after a restart (#79).
- The Windows-first Electron/Tauri Desktop Workbench spike now lives in the main line with shared title-bar, Activity Bar and Agent/IDE envelope contracts (#77).
Improved
- Source Dev defaults rebuildable cache data to
<checkout>/.agent/cachewhile respecting an explicit Cache Root (#85). - The settings center uses a stacked layout and compact horizontally scrollable navigation on narrow screens (#82).
- Retrieval uses a Git Bash-safe
rg --files -g 'index.md'enumeration command (#69). - Clean runners generate Prisma/Nuxt artifacts first and use host temporary paths for cross-platform fixtures; the cover route cold-import budget is 30 seconds (#83, #86).
- Internal: cross-platform code baseline, clean-runner Harness budget and Source Dev hoisted-linker adjustments (#75, #76, #84).
Fixed
- Failed stop requests now produce user-visible feedback (#78).
- A missing linked Agent Session no longer makes a valid primary Session look unavailable; automatic recovery does not loop forever after one failure (#80).
- Job terminal state is durably committed before it is published; corrupt single-file history is quarantined and pending deliveries cannot be cleared early (#79).
Upgrade notes
- Back up the complete State Root and important Project Workspaces before migrating. New Job history lives under
<Workspace Root>/.nbook/agent/jobs/; see the migration guide. - Restart does not resume an old Workflow, and the full Workflow graph, step timeline and pending ask remain process-owned.
- The old checkout-root
cache/image-variantsdirectory is not migrated or deleted automatically; clean it up manually after confirming the service is stopped and no custom Cache Root is in use. - Real providers and complete Agent/Workflow browser acceptance remain known limits of this canary. Public Manager provenance, the release workflow, public assets and GHCR verification passed; signed installers and the final Desktop framework choice are outside this release.
0.9.2-canary - 2026-08-05
Git range:
v0.9.1-canary.20260803.103354Z.13129ccc..v0.9.2-canary.20260805.125926Z.39d220b7.
This release made Workflow waiting, answers, result projection and error handling traceable from the Composer to the Job center, fixed a series of stop-generation UX problems, and tightened Product, Manager, Desktop and Agent configuration boundaries.
New
- Workflow pending Composer cards now keep answers separate for each run (#65).
- Workflow results, state visuals, Job details and usage projections are visible in the task center and chat surfaces (#53).
- Windows-first Desktop Envelope, Product Runtime Contract and installation-state checks entered a verifiable spike.
Improved
- Composer submission now distinguishes ordinary Enter, newline, IME composition and explicit submit shortcuts (#45, #59).
- Stopping generation now behaves: pressing stop takes effect even while a tool call is in flight, without the English error toast or red failure notification; partial output is kept, and one failure no longer produces duplicate error bubbles (#63).
- Profile/Variable authoring, Product schemas (#64), OpenCode retries and release baselines received tighter boundary checks.
- Prerelease notes are now sourced from
RELEASE.md, and extraction no longer truncates at the wrong version heading (#43, #55). - Internal: repository directory conventions moved to a three-layer layout with unified test temp roots (#60), plus several collaboration-doc updates.
Fixed
- Fixed blank Profile details after switching (#61), missed dynamic
outputSchemaresult binding and duplicate Workflow resume. - Fixed several Product archive, Manager installation, Portable lifecycle and Session Store lease contract edges.
- Fixed several edge errors around legacy sessions, attachments, report fields and Desktop install rollback.
Upgrade notes
- This is a canary. Back up the complete
data/or State Root and test startup, migration and Agent compilation with a disposable Project first. - Desktop work remains a spike; it is not a signed installer, updater or final cross-platform package.
0.9.1-canary - 2026-08-03
Git range:
v0.9.0-canary.20260803.030205Z.1252af3b..v0.9.1-canary.20260803.103354Z.13129ccc.
This release tightened runtime, installation and Agent asset boundaries and turned llmlint review and retest results into inspectable reports. It is still a canary; local results do not replace platform and manual acceptance ahead of the formal release.
New
- Added llmlint review reports and round metrics, putting rule hits, density signals and retest results into one report.
- Added explicit Agent asset and Skill installation, frontmatter and runtime validation contracts, reporting the reason when bundled resource discovery fails.
- Missing Agent conversations now show an explicit recovery result; retry, branch and
/forksemantics stay traceable, and no implicit conversation is created silently.
Improved
- Windows Product Runtime Image now uses verified identity as its sole input; the runtime, installer, Portable and container flows no longer guess the
.outputorigin from the worktree. - Profile/Variable compilation, installation updates, shutdown and release candidates use explicit staging, leases, manifests and recovery checks.
- The llmlint runtime snapshot is synchronized from its sibling repository, so the release package no longer maintains a second independent copy of the source.
Fixed
- Stop now actually stops the interface, preserves partial output and shows a neutral "stopped" state.
- Fixed several Profile/Variable authoring, installation-island, legacy-session, Skill frontmatter and report JSON boundary errors.
Upgrade notes
- This is a canary. Back up the complete
data/directory and test startup, migration and Agent compilation with a disposable Project first. - Formal release still requires the five-platform, container, Portable and human UI acceptance gates.
0.9.0-canary - 2026-08-02
This release turned the AI assistant from a one-question-one-answer tool into one that takes on whole jobs: the draft → critique → revise loop is now a single command you can run, watch and stop anytime. The app opens on a project bookshelf, you can hand images straight to the AI, a NeuroBook account with cloud backup arrived, and the documentation site gained an English version.
New
The bookshelf is the new entry point
Opening NeuroBook takes you to a bookshelf of your projects instead of dropping you straight into a novel. From there you can create, delete or open projects, manage covers, and reach your user assets.
Hand images straight to the AI
Drag an image into the chat box, paste it from the clipboard or pick it with the file chooser; you can also re-insert an image from the current conversation or project. Multiple images are sent in the order they appear in the message; failed uploads can be retried or removed, and clicking a thumbnail shows or downloads the original.
AI assistant settings are easier to find
Model settings now use a split view: search and pick an assistant on the left, and only that assistant's model and runtime settings on the right. The list marks compile status, overrides, unsaved changes and the current default, and switching assistants no longer loses an unsaved draft.
Let the AI run a whole writing workflow
New "workflows" pack multiple steps into a single command and the AI walks through them one by one, so you don't have to prompt at every step. Seven are built in: four for novelists — the full-chapter "write → review → revise" loop, cross-chapter consistency checks, book breakdown that splits a novel chapter by chapter to examine hooks and payoff moments, and batch deep dives with the 200-question character interview — plus three general ones: parallel multi-angle brainstorming, per-chapter summaries, and an automatic review-then-revise pass after writing. The AI asks before starting a workflow; you can also kick one off yourself. If you write TypeScript, workflows you place in .nbook/agent/workflows/ inside a project directory are picked up too.
A "Tasks" panel in the top bar
Workflows run in the background without occupying the chat window. The top-bar icon shows how many are running; opening it shows each task's progress, lets you cancel it, copy its result or clear finished ones. A card in the chat shows which step the flow reached, in real time.
Writing assistants trimmed from 15 to 9
The old assistants (skills) had long names and overlapping jobs, and you had to remember which order to use them in. Opening a new book now takes one novel-setup that walks the whole "create project → worldbuilding → characters → timeline" chain, and drafting with novel-writing covers "plan → write → revise". Not sure which to use? novel-guide is the map of the entire writing route, and the AI reads it before starting any task.
Query novel rankings (requires running the data service yourself)
New novel-data tool: if you run the NovelScope rankings service locally, the AI can look up its cached Qidian and Tomato rankings and per-book details for topic research. The data is a cached snapshot that carries its fetch time, and stale snapshots are flagged. The service address defaults to http://localhost:3000 and can be changed with the NOVEL_DATA_BASE_URL environment variable. NeuroBook does not provide this data service and neither does the official site; without a running service the tool is unusable.
NeuroBook account and cloud backup
A new "NeuroBook account" entry in settings links your local instance to your official-site account via device code, after which you can back up the local instance to the cloud.
Two things to be clear about: the backup covers the entire instance, including the API keys in the configuration, not just your drafts; and restore is not one-click — the downloaded backup is unpacked into a temporary directory, and you must stop the service and swap it in manually.
See what the AI's context contains
The usage bar above the chat input is now clickable and opens a floating window that can sit side by side with the chat, with two tabs:
- Composition: which blocks the next request to the model is made of and how many tokens each costs, expandable layer by layer down to "which file takes how much". Where automatic compaction would trigger is marked as well.
- Cache: recent cache hits and the reasons for misses, such as "12 minutes since the last request, past the 5-minute retention window, prefix cache expired".
The panel only reports what it observes and why; it gives no orders. "Cache data not reported" and "0% hit rate" are shown separately — diagnostically they are different things. Old conversations work too, except that part of the first round cannot be classified; the panel says so at the top.
The docs site is now in English
The documentation site gained 12 new pages covering the World Engine, the story workbench, the Markdown editor, llmlint, workflows, the AI's three modes, operations, the settings center, theming, file change history, and accounts & backup. The homepage was rewritten around "creative-writing IDE", with on-site search and four flow diagrams, and the whole site is available in English.
Improved
- Typing
/forkin the chat starts a new conversation with the same assistant and remembers which conversation it came from. Note that history is not copied — the new conversation starts empty; to try another version inside the same conversation, use the branch switcher on the message. - The bookshelf opens noticeably faster because it no longer counts volumes, chapters, word counts and worldbuilding entries in real time. The tradeoff: those numbers are temporarily gone from the shelf, replaced by the blurb.
- The writing checker was upgraded to 3.0.0 with 360 built-in rules, 266 enabled by default. Rules can check narration outside quotes and dialogue inside quotes separately, and density and sentence-pattern checks were added so normal dialogue no longer gets mixed into narration problems.
- Updating a writing-check tool that carries dependencies now reuses the already-installed dependencies instead of reinstalling them for ordinary rule or prompt updates; the tool list now shows version numbers.
- Temporary caches for AI config preview, typechecking and compilation are now limited separately, cleaned up immediately on success or failure, and directories left behind by abnormal interruption are reclaimed after expiry. On the dev machine, this round of controlled cleanup reclaimed 17.34 GB at once.
- The Windows built-in runtime image no longer copies the whole development dependency tree and doc build artifacts: core runtime files shrank from roughly 30,000 files / 1.2 GB to 3,231 files / about 127 MiB, while local AI-config compilation, database support and image processing remain.
- When install, update, start or uninstall happen at the same time, the later operation stops explicitly; after an unexpected interruption, the manager first restores a verifiable version before continuing with the new operation.
- The release page waits until the Windows, Linux and macOS installers and container images are all verified before going public. Build-failed candidates remain available to developers for debugging, but they don't appear on the normal download entry and don't consume official container version numbers.
- Opening a project shows real stages such as "preparing project data, connecting, loading files, restoring content"; reconnects show a separate status instead of a fake percentage.
- Download and install instructions were reorganized: the Windows no-install package, the Linux/macOS installers and installing with an existing Bun are now easier to tell apart.
- GitHub now has Chinese and English contribution guides and typed issue templates, so you don't have to figure out what to write. Report security vulnerabilities through GitHub's private reporting flow, not a public issue.
Fixed
- After retrying or rewriting a message, a "‹ 1/2 ›" branch switcher finally appears above the AI reply, letting you switch back to earlier versions. It almost never used to appear — every run first logged an internal "started" record that sat right at the fork, so the UI failed to recognize the branch. A retry after a failed run also counts as a branch, so even after rerunning successfully with a different model you can still switch back and see the earlier error.
- The occasional phantom branch is gone. Internal records left behind when the AI invoked a sub-assistant used to be treated as a branch, and switching to one truncated the conversation at that record.
- The "rollback" button on the message toolbar was renamed "fork from here" with a branch icon. It never deleted anything — the later conversation is kept as another branch you can switch back to — but the old name and red icon looked destructive.
- Expanding the AI panel for the first time restores existing conversations; when there is no conversation, when it is archived, when the assistant is unavailable or recovery fails, the exact reason and the matching action are shown instead of a close-and-reopen.
- Switching projects now leaves the current editing workbench first and loads configuration, the file tree and writing tools only after the target project has really opened. When switching projects or conversations quickly, stale requests, stale connections and late errors no longer overwrite the current page.
- When the outcome of creating or deleting a project, or changing a cover, cannot be confirmed, the shelf is re-read before deciding whether to allow a retry, avoiding duplicate creation or deletion.
- Three AI sessions wrongly flagged "needs confirmation" by an older upgrade are repaired automatically, restoring their original project ownership and true last-activity time; sessions whose ownership truly cannot be determined can be rebound on the project picker, or explicitly unbound from any book.
- Timeouts the AI applies to commands now actually take effect. A 30-second setting used to be able to run for 5 minutes.
- Fixed automatic conversation titles failing: the built-in summarizer used to write results back across conversations, which the safety check blocked, so the title was never generated.
- Cache hit rates were computed wrong before: the denominator missed the "write to cache" part, and it used the whole-session cumulative value — the first round writes everything into the cache, permanently dragging the number down, so later readings had no reference value. The whole app now uses one consistent definition.
- Fixed the model picker squeezing the toolbar and the send button in narrow chat layouts.
- Image upload, file snapshots and AI image reading now share one decode limit; oversized or image-disguised files are rejected before saving.
- Closing the console window of the Windows portable build no longer leaves a process holding the port, so the next start no longer fails with "port in use".
- When launching the dev build from source, closing or interrupting the launch command also cleans up the background processes it started; if another instance still holds the session data, it now reports the occupying process and its last activity time instead of a bare lock-file error.
- The Windows portable build can now uninstall itself through the bundled manager. Uninstall keeps the
datadirectory by default; only an explicit "delete data too" choice removes projects, settings and account information along with it. - Fixed updates interrupted during file switching, data upgrade or cleanup, which could leave the next operation reading stale install information, deleting the wrong candidate files, or unable to resume recovery.
- Fixed the built-in AI configuration aborting the whole compilation in some cases.
Upgrade notes
- When installing, updating or starting with the NeuroBook manager, it checks the upgrade plan first, then automatically backs up and upgrades the application database, image attachments and AI sessions; the upgrade is confirmed only after the new version passes startup and version checks, and on failure it stops the new process and restores the old data and version.
- If you run from source or an unpacked runtime package without the manager, run
bun run migrate:application-state -- --planfirst, thenbun run migrate:application-state -- --apply. If a migration is interrupted, don't start over — use--resumeor--rollbackwith the runId printed in the output. - Instances installed with an older manager need the program files reinstalled; don't copy the old
.deploydirectory. Windows portable users should back up and fully reuse thedatadirectory. - If your project already has
.agent/llmlint/session.json, save any old review records you want to keep elsewhere first, then delete the file; the new review ledger does not migrate the old format automatically. - Remote text detection sends text fragments that miss the local cache to the external service you configure. Turning off local contribution records does not turn off remote detection; if text must not leave the machine, don't run remote detection.
- Most of this release's new features have not had full manual acceptance yet — workflows, the account and cloud backup, the context inspector and the English docs site especially — so try them on a disposable project first.