What’s New
Release notes for the Mac app, newest first. The same notes ship inside the app under Help ▸ Release Notes. Older history lives there too.
1.9.0
End-to-end encryption, everywhere
Shared projects can now be sealed so the server itself can't read them — and the whole sharing story gets safer, on every platform.
End-to-end encrypted shared projects
- Create a shared project as end-to-end encrypted: documents, the binder, and research files are sealed on your device with AES-256-GCM before upload, and the server stores only ciphertext. The decryption key travels solely in the share link — the part after the “.”, which browsers never transmit — and on Mac and iOS it lives in your Keychain.
- Live co-editing stays sealed: encrypted projects collaborate through a blind relay that stores and forwards only blobs it cannot open. Mac, iOS, and the web speak one byte-identical format, so everything interoperates.
- The Shared Project popover now explains the protection in plain words, encrypted projects wear a padlock in the Welcome screen's recents, and the owner can rotate the encryption key from the web to revoke read access from every previously shared link.
Safer sharing
- For a project saved to an account, the owner link's full powers now require the owner's sign-in — without it, the link quietly acts as an edit link, so a leaked owner link costs no more than a leaked edit link. The Mac and iOS apps keep syncing through it untouched.
- iOS now asks for the passcode when opening a protected shared project — the same secure prompt-and-retry the Mac has.
- Fixed: Split at Selection in a shared project now pushes the new document's text to the server — other devices used to receive only the title. The same fix covers Duplicate and Copy.
Review, one click away
- A new toolbar shortcut jumps straight to the inspector's Comments & Suggestions pane.
See exactly what compiles
- Compile ▸ Compile & Preview Log gains Save input markdown: every pandoc run — HTML preview, PDF preview, compile — writes the exact text it was fed into the project folder, and each log entry shows where, with a Reveal button. Together with the command line already in the log, any run can be reproduced verbatim.
- The same Lua filter can no longer run twice by accident — the cause of “command already defined” LaTeX errors when a filter was listed in both a defaults file and the profile.
Folio Writer Cloud
August 2026 — the private web studio
The web editor at cloud.foliowriter.app grew up this month. Everything below is live now.
End-to-end encrypted projects
- One checkbox at creation seals a project. Because the server can't read it, typeset preview and PDF export run in your browser — Typst compiled to WebAssembly, with nothing readable leaving the tab. Search decrypts and scans locally, and Download rebuilds a plaintext
.folio in the browser so the Mac and iOS apps open it like any local project.
- Encrypted projects wear padlocks everywhere, the toolbar pill explains the protection, and this browser's key vault keeps your dashboard links complete.
Accounts
- Sign in with an email code or an authenticator app. The welcome page shows your tier and quotas; projects you open with an owner link save themselves to your account; rename and remove from the dashboard.
A finer writing room
- Composition mode — just you and a centered page, with its own remembered text size (A− / A+). Line width is now a setting (or full width), line numbers are an option, and the editor gained comfortable gutters. Headings in the editor now look the size they print.
- Click the big document title to rename it in place. The Metadata document previews as the title page it produces, and double-clicking the preview jumps the editor to that spot. Exports carry native-style metadata: title, subtitle, authors, date.
Preview, your way
- Drag the divider to resize the preview (double-click resets), or detach it into its own window — it keeps rendering live, with its own zoom, on whichever screen you like.
Sharing, safer and clearer
- The share dialog says plainly whether a password is set — with tips on using one — the owner link asks before it lets itself be copied, and “Replace content” now takes the
.folio itself. Recent on this device can be cleared (keys included) or hidden until sign-in.
iPhone & iPad
- Safe-area aware chrome, no zoom-jump when focusing fields, roomier touch targets, and layouts that hold together from a phone to an ultra-wide display.
1.8.8
Import, proof, and map your work
Bring your work in, see it the way it will print, and map how it all connects.
Import from Scrivener
- File ▸ Import ▸ Scrivener Project… opens a
.scriv project and rebuilds it inside Folio: the full binder hierarchy, each document converted from RTF to Markdown, with synopses, labels, and statuses carried across. It's free — bring a lifetime of work with you.
Preview as PDF
- A new Preview as PDF button in the preview panel renders the current document or the whole manuscript through the real PDF engine and shows the actual pages — page-accurate proofing before you compile. Refresh on demand, save the proof, and it flags when the text has moved on since the last render.
Diagrams in the preview
- Fenced
mermaid code blocks now render as flowcharts, sequence diagrams, and the rest — right in the live HTML preview, fully offline. The renderer is bundled; nothing is fetched.
Graph view, closer to Obsidian
- Links now carry directional arrows, nodes are colored by their binder folder with a legend, and both are toggles in the graph's Display controls. Chapters and sections read as clusters at a glance.
1.8.6
Folio Helper, now effortless
Folio Helper, now effortless — the compile companion stops asking for your attention.
Install once, never think about it again
- One click installs it (Compile ▸ Set Up External Tools…): downloaded, signature-verified, placed in Applications. Approve the Applications folder once and that's the last interaction it needs.
- Updates are automatic: Folio Writer checks about once a day and the running helper replaces itself in the background — verified, no dialogs, no relaunch dance. Settings ▸ Compile can turn this off, and the tools panel keeps a manual update button.
- The tools panel now says exactly what it will do — Install, Update to the new version, Reinstall, or just Restart when the update is already on disk — and starting the helper no longer takes several tries.
- Settings ▸ Compile's Detected list updates the moment the helper comes up, instead of showing a stale "not found".
iPhone & iPad
- Settings gains Reopen the last project — the same preference as the Mac's. Turn it off to start on the project picker instead.
1.8.5
Tags, journaling, and a command palette
Tags, journaling, and a big quality-of-life pass — the editor learns a few of Obsidian's best habits.
Tags
- One tag layer, two doors: per-document Keywords in the inspector and inline #tags typed straight into the text feed a single index. Tags render as colored capsules everywhere — the inspector, the ⌘L Tags tab, and the editor itself (each tag keeps the same color on every device, nothing extra stored).
- The Keywords field is now a chip editor: type freely, Space or Return commits, ✕ removes — and it suggests your existing tags as you type, so spellings converge instead of forking.
- Settings ▸ Editor ▸ Inline #tags chooses what a typed tag does: render as a capsule, stay plain text, or Move to Keywords — stripped from the text and filed in the inspector the moment you finish it.
- Tag Index… (beside the Name Index): every tag with per-document mention counts — click a document to jump to the tag there. Rename a tag project-wide from its context menu (Keywords and inline occurrences, all case variants).
- Search understands
tag: and #… filters, # autocompletes in the editor, and crossref anchors (#fig: #tbl: #eq:) are never mistaken for tags. Typst code, YAML metadata, and .bib files are exempt.
Journaling
- A Journal section lives in your draft: ⌥⌘J opens today's entry (created from your chosen template), titles follow your date format, and entries file themselves into Year / Month / Day folders — all configurable in the new tabbed Project Settings.
- A calendar (⇧⌥⌘J, or collapsible at the bottom of the binder) dots the days that have entries — click any day to open or create it.
Command palette & navigation
- ⇧⌘P Command Palette — searchable commands with shortcuts, recents, and match highlighting. ⌃⌘L Quick Open jumps to any document; ⌘L navigates documents, tags, headings, figures, and review stops with full keyboard control (↑↓ to move, ←→ to switch tabs).
- Split editor (⌥⌘\\) shows two documents side by side. Open in Default App is ⇧⌥⌘O. Menus are reorganized: a new Go menu, Format ▸ Lines, and Write ▸ Review.
Templates
- Placeholders, Templater-style:
{{date+7:yyyy-MM-dd}}, {{time}}, {{title}}, {{project}}, {{author}}, {{clipboard}}, {{prompt:Question|Default}}, {{choose:Label|A,B,C}}, {{cursor}}, {{selection}} — and Insert Template drops any template at the caret in the open document.
Research
- Extract Text (OCR) on any research image turns photographed pages into a searchable note.
Also new
- Rich text pastes as Markdown: a selection copied from Word, Pages, or a web page keeps its bold, headings, lists, and links — and, with pandoc installed, tables and footnotes too. Pictures in the paste are filed into Research automatically. Settings ▸ Editor turns it off; Paste and Match Style always pastes plain.
- Multi-selection drag & drop: dragging several documents — in the binder, outline, or corkboard — now moves ALL of them, in order; ⌥-drag copies the whole selection.
- Project Health (one calm panel): sync, backups, conflict copies, manuscript checks, linked files, project size, and compile-tool readiness — with plain-words status for the Folio Helper.
- Compiles show elapsed time, can always be stopped, and a hung engine is stopped automatically by per-engine time limits.
- Document vs. manuscript preview mode is remembered per project.
- iPhone & iPad: long-press and drag reorders binder rows reliably.
Packaging note
- Pandoc Defaults files, Lua filters, extra arguments, the post-process command, Extract Text (OCR), and the interactive template placeholders ({{prompt}}, {{choose}}, {{clipboard}}) are now part of Premium; the Tag Index joins Pro. Existing settings are kept and take effect again on upgrade.
Faster & fixed
- Memory, way down: images decode at the size they're shown instead of full resolution, and caches are capped — image-heavy projects drop hundreds of MB and feel smoother.
- The tag index updates incrementally — typing never rescans the whole project.
- Filters listed in a compile or preview Defaults file are no longer run a second time from the profile — the defaults file owns its filter order.
- Reference files keep plain names (
Bibliography/References.bib) — no more ID suffixes.
- Fixed: a crash when several previews rendered at once, Project Settings clipping, and rough edges in the navigator and command palette.
1.8.4
Sync you can trust — and see
Sync you can trust — and see. This release hardens multi-device writing end to end, makes iCloud round-trips fast, and puts a live sync status in every window. It also brings the whole app to six languages.
Sync, hardened
- Two devices editing the same project can no longer lose work: a stale copy resurfacing from an offline device is recognized and refused, structural changes merge field by field instead of replacing the binder, notes are only ever removed by an explicit delete, and any edit that would shrink a document first preserves the longer text in the project's conflict archive.
- Automatic version history: every save of every document — and of the binder itself — lands in a rolling, synced history inside the project (checkpoints about every ten minutes of writing, the twenty most recent states per file). File ▸ Browse All Versions… now shows versions recorded on *any* device, badged "Synced history"; on iPhone and iPad, the editor's ⋯ menu gains Version History with a changes view and one-tap restore.
Sync, fast
- The hours-long iCloud delay is fixed: Folio now *asks* iCloud for updated files instead of waiting for the system to fetch them on its own schedule — on every device, every few seconds while you work.
- Continuous typing reaches the disk at least every four seconds, so your words are on their way while you're still writing; when the other device is live, both sides check each other at a two-second cadence.
- A quiet sync indicator under the binder shows Saving…, Syncing…, or Synced at a glance — and File ▸ Sync Now (⇧⌘Y), a click on the indicator, or pull-to-refresh on iOS forces the full round trip on demand.
In your language
- The interface, help, tutorial, and release notes now ship in Simplified Chinese, Japanese, Korean, French, German, and Spanish — on the Mac and on iOS.
Editor
- Paste images straight into the text: ⌘V files the picture into Research and inserts the markdown link at the caret. Right-click ▸ Import from iPhone or iPad captures from a nearby device's camera into the same flow.
- Chat can answer from your project: retrieval over the draft and Research (PDFs included) happens locally, and answers cite the documents they used.
- Composition mode can hang a background picture behind frosted glass, and the synopsis field is now the same live-markdown editor as Notes.
iPhone & iPad
- Drag and drop to rearrange the binder — and the corkboard's index cards.
- New documents are created in the draft folder (never loose at the bottom of the tree); long-press offers New Document After and New Document Inside.
1.8.3
Reviews come home; figures stay honest
Arriving quietly ahead of 1.9: the assistant proposes instead of overwriting, reviews come home from PDFs as well as Word, figures know when they're out of date, the same project compiles a slide deck, and your bibliography gets a health check against Crossref.
The assistant proposes — it never overwrites
- A rewrite now arrives as tracked suggestions by default: each change is accepted or rejected in the inspector, attributed to the assistant — the same review queue a co-author's edit lands in. Replace is still there, one click away (and Settings ▸ Assistant can make it the default again).
- The chat panel gained Insert as Suggestion: a drafted paragraph lands as a reviewable insertion instead of raw text.
Import Review from PDF
- Reviewers return marked-up PDFs at least as often as .docx — now their notes, highlights, underlines, and strike-outs import as anchored comments, matched to your text and attributed to the annotation's author. Remarks whose passage can't be found are kept as unanchored comments rather than dropped. Everything feeds the response-to-reviewers builder, same as a Word review.
Reproducible figures
- Every figure a Research script generates now remembers the script and the data files that produced it. Edit either, and the figure wears a stale badge in the binder; Write ▸ Run Stale Scripts re-runs only what's out of date, refreshing figures in place.
Slides from the same project
- Compile ▸ Slides (Reveal.js): your headings become slides, executed Python/R figures land on them, citations resolve — and with the Quarto renderer the deck is a single self-contained HTML file that presents offline. Compile the talk from the same project as the paper, scoped to just the sections you select.
Bibliography health check
- Write ▸ Check Bibliography Health audits your references against Crossref: DOIs that don't resolve, papers with a retraction or expression of concern, preprints that now have a published version, and article entries missing a DOI. The report lands as a note in Research, refreshed on every run.
Editor
- Settings ▸ Editor ▸ Re-align tables when you leave them — turn the automatic pipe-table re-squaring off to keep tables exactly as typed (⌥⌘T still re-aligns on demand).
1.8
Run your analysis where you write it
Run your analysis where you write it. Python and R code cells execute through Quarto and drop their figures straight into the manuscript — live in the preview, or captured into Research as files. Plus a Markdown importer, cross-references that follow your renderer, and an editor that treats code as code.
Code that runs, figures that land
- Write a
{python} or {r} code cell and turn on Execute (Quarto) in the preview: matplotlib and ggplot figures render in place. It runs through Quarto, powered by the free Folio Helper, so it works in the App Store edition once the Helper is installed. Execution is manual — it runs on refresh, never on every keystroke — and each render uses a clean kernel, so the first figure is never dropped.
- Analysis scripts in Research. New Python Script / New R Script (or File ▸ Import ▸ Script…) makes an editable script that lives beside your sources. Run it (⌃⌘R) and every figure it draws lands in a
Figures folder inside Research, named after its #| label — re-run and the figure updates in place instead of piling up copies.
- Set the interpreter Quarto executes against in Settings ▸ Compile ▸ Python for Quarto (exported as
QUARTO_PYTHON, and RETICULATE_PYTHON so a document that mixes R and Python renders through knitr too).
Import and split Markdown
- File ▸ Import ▸ Markdown File… brings a Markdown file into the project and breaks it into binder documents at the heading level you choose — flat, or nested to match the outline.
Cross-references that match the renderer
- Write
@fig:x or @fig-x; Folio converts the whole document to pandoc-crossref's colon dialect or Quarto's hyphen dialect to match the renderer you compile with (and the preview you're viewing), and never touches your code — no more (fig-x?) question marks when the styles don't line up.
Editor
- Syntax highlighting for Quarto
{python} and {r} cells — keywords, strings, # comments, and #| cell options.
- Code blocks are strictly protected: table auto-formatting never rewrites a fenced block, even a stray
| inside an unclosed fence.
- Clear Styles (Format menu) now acts on the current line when nothing is selected, and greys out when there is nothing to strip.
- The New-document button's menu — child documents, folders, templates — shows its dropdown chevron again.
Print
- File ▸ Print… (⌘P) prints the rendered preview — headings, figures, citations and all; Print Editor Text… (⌃⌘P) prints the raw Markdown of the focused editor. Both always print dark-on-white paper, even when you write in dark mode.
Boards
- On the by-label / by-status track boards, drag a card onto a column (or onto a card already in it) to assign that label or status — the target lane highlights with a "+" cue as you drag. The context menu still works; now the board itself does too.
- Drag supported files from Finder onto the Research folder in the binder to import them — the accent ring with a + badge shows the drop will import, not move.
Goals
- The writing sprint moved into the Writing Targets popup, beside the document, project, and session goals — start a 15/25/45-minute sprint right where you set your word targets (click the target status in the footer, or the Writing Targets & Sprint menu item in composition).
Compile
- Lua filters: pass custom pandoc Lua filters through the compile sheet (they run after pandoc-crossref and apply in the live preview too). Saved per compile profile — and they keep working across relaunches in the App Store edition.
- "Skip a document's first heading if it repeats its title" is on by default.