# v1.0.0-rc.3 — Release Notes **Tag:** `v1.0.0-rc.3` RC3 is the release candidate for version 1. Three things define it: the **writing surface was rebuilt**, **book projects became real**, and the whole application went through **three audits** (security, interface, code coherence) whose findings are fixed in this candidate. --- ## 1. A new editor The previous pair of editors — a WYSIWYG one (Milkdown) and a "source" one (Monaco), with a toggle between them — is gone. In its place: a single editor built on CodeMirror 6, rendering markdown live. - **Your file is the source of truth.** Open a document, save it without touching it, and the file is byte-for-byte identical — line endings and trailing whitespace included. A test corpus enforces this. - **Footnotes** are first-class: superscript references, hover tooltips, in-place editing popup, jump to definition and back, deliberate renumbering. - **Citations** render as pills, resolve against Zotero on hover, autocomplete on `@`, and unresolved keys are flagged without blocking. - **Front matter** is folded out of the way. See [The Editor](./1.16-The-Editor.md). *Side effect worth knowing:* the application ships roughly 4.7 MB less JavaScript, and starts faster. --- ## 2. Books are written in chapters The `book` project type was, until now, a label on a single file. It is now a manuscript in several files, with: - a **chapter navigator** (create, rename, reorder, attach, remove without deleting); - an **outline** of headings inside each chapter; - **search across the whole manuscript**; - **book-wide footnote renumbering** and citation checking; - **book settings**: footnotes or endnotes (per chapter or at the end), continuous or per-chapter numbering, one bibliography or one per chapter, chapter numbering — the data model and export logic for all four exist, but as of this writing none of them have a UI control yet; every book silently gets the defaults (footnotes, continuous, one bibliography, numbered) unless you hand-edit `project.json`. See [Books and Chapters](./1.15-Books-and-Chapters.md#book-settings) and [issue #24](https://github.com/cliodeck/cliodeck-app/issues/24); - a **PDF export with real chapters**, table of contents, front and back matter — and a **single-chapter export** for a working proof. See [Books and Chapters](./1.15-Books-and-Chapters.md). --- ## 3. Presentations joined the same editor A presentation project no longer opens a separate editing surface. Slide separators appear as numbered boundaries in the text, the slide navigator and the preview sit alongside, and the preview follows your cursor. The YAML front matter of a deck now configures the reveal.js export (title, author, theme, transition). --- ## 4. One assistant, one conversation The "AI Assistant" panel and the Brainstorm chat were two shells over the same engine, with unequal features. They are now a single component. The side panel gained what only the centre one had: source traceability, MCP tool badges, entity highlighting — and **"send to the document"**, which turns a reply into an adjudicable proposal right where you are writing. --- ## 5. The assistant can read your manuscript Two long-standing gaps closed: - **`context.md` finally works.** Every article and book project is created with this file, saying it will be used to improve the assistant's answers. Nothing read it. It is now sent to the assistant at the start of every conversation. A never-edited file sends nothing. - **Your manuscript is indexed** as a fourth corpus, next to your PDFs, Tropy archives and Obsidian vault. You can ask what you have already written about a subject. Manuscript excerpts are labelled distinctly from sources, and the assistant is told explicitly that it is reading your own text and must not cite it as evidence. --- ## 6. Security - **MCP tool results are inspected** before reaching the model, and bounded in size. A hostile third-party MCP server could previously inject instructions into an agent holding real tools. - **Document paths are constrained**: a compromised renderer can no longer read `~/.ssh` or write outside the project. Opening a file elsewhere still works — through a consent route the main process controls. - **Cloud consent is enforced by the main process**, not by the interface alone. Without a window to ask, the answer is no. - Temporary export directories are cleaned up **on failure too**: a failed PDF export used to leave your whole assembled manuscript in `/tmp`. - One command injection removed from the reveal.js export. --- ## 7. Fixes worth naming Several of these affected articles, not only books: - **Switching files destroyed the destination file.** Typing in one document then clicking another overwrote the second with the first one's content, and lost the keystrokes. Fixed, with regression tests. - **Any document containing a code block failed to export to PDF.** - **A citation could overwrite one of your manual footnotes**, making your own note disappear from the exported document. - **Uniformly CRLF files were converted to LF** on first save, against the editor's own fidelity contract. - Export dialogs were **entirely in hard-coded French** for every user, whatever their language. - The menu and the toolbar gave **two different results** for "Check citations". - Eight test suites had been silently skipped for months, hiding a real weakness in workspace migration. --- ## 8. Under the hood - The test suite went from 922 tests to **over 1 270**, and a CI workflow now runs it on every push — on the ABI where the SQLite suites actually execute. - `src/editor/` is a pure module (no Electron, no React): the Lezer extensions for footnotes and Pandoc citations are meant for separate publication under MIT. To our knowledge, no Lezer extension for Pandoc citations existed before. --- ## Upgrading Nothing to do: existing projects open as they are. Two notes: - Book projects created before RC3 keep their `document.md`; it is not converted automatically. Create chapters and attach files as you wish. - If a `.cliodeck/hints.md` exists in a project, it is still read, in addition to `context.md`. --- ## Known limitations - No index (`\index{}`) or typed cross-references yet. - The Word export does not honour endnote settings (LaTeX/PDF only). - Pending AI proposals expire when you switch chapters (the journal entry for that expiry can be attributed to the wrong chapter — [issue #31](https://github.com/cliodeck/cliodeck-app/issues/31)). - Code signing is not in place: macOS Gatekeeper warns on first launch (right-click → Open to bypass), and managed institutional machines may block the app outright. - Tested on macOS and Linux (arm64 only for this release — build from source on x86_64). No Windows build is published; the code should work on Windows but **has not been tested** — reports welcome. **Found in this build since release** (present at the `v1.0.0-rc.3` tag itself, confirmed by later auditing — not regressions from later work): - Unlinking an Obsidian vault deletes the shared `brain.db` — your PDF index, Tropy index and research journal too, not just the vault's own data ([issue #27](https://github.com/cliodeck/cliodeck-app/issues/27)). - Switching projects while a Zotero sync is still running can write the wrong project's collections into whichever project you switched to ([issue #33](https://github.com/cliodeck/cliodeck-app/issues/33)). - BibTeX import silently drops any entry with no `author` field — edited volumes and anonymous works vanish with only a console warning ([issue #32](https://github.com/cliodeck/cliodeck-app/issues/32)). - Triggering a book export while "Renumber footnotes" is still running can assemble a manuscript with some chapters renumbered and others not ([issue #30](https://github.com/cliodeck/cliodeck-app/issues/30)). - Switching projects with unsaved editor changes silently discards them — the same guard that protects a chapter switch has no equivalent one level up, at the project switch ([issue #37](https://github.com/cliodeck/cliodeck-app/issues/37)). - Switching projects while a PDF is still being indexed can crash that indexing job ([issue #38](https://github.com/cliodeck/cliodeck-app/issues/38)). --- ## See also - [RC2 Release Notes](./3.2-RC2-Release-Notes.md) - [Features](./Features.md)