Repository navigation
Folio v0.1.0
Folio 0.1.0 is the first public release of the local-first book layout app: make a picture book, a novel or a paperback in Easy mode, bring your words in from Word, Google Docs, ODT, Markdown or a paste, and send the result to Amazon KDP, Kindle, Kobo or a print shop.
Downloads
- Windows 11 (x64 and ARM64): a setup
.exeand an.msi. They are unsigned, so SmartScreen warns on first run; choose More info, then Run anyway. - Linux (x86_64 and aarch64):
.deb,.rpmand AppImage. The packages are unsigned. Make the AppImage executable and run it. - For AI agents:
folio-0.1.0.mcpbis a one-click bundle for Claude Desktop, and the@liminal-hq/folio-mcpnpm packages are attached as tarballs (they are not on npm yet). The installers carryfolio-mcptoo, for Help > Connect an agent. SHA256SUMScovers every file. Check your download against it.
What is in it
- Books of every kind. Picture books, novels, textbooks, cookbooks and illustrated guides, poetry and memoirs with photos, each from a preset with the right trim size, bleed, grid and styles, and a New book wizard that shows the cover the look would give. Easy mode talks in plain words and hides what you do not need; Expert shows everything, and switching never removes anything.
- The page. Text, picture and note boxes, shapes, tables, master pages, ruler guides, page marks, colour, gradient and texture backgrounds, turned frames, section page numbers, and swatches you can manage from a Swatches tab. Text flows through frames and columns, and a story editor edits a flow a paragraph at a time.
- Words in. Import Word, OpenDocument, Rich Text, Markdown and plain text, and choose what each style of the imported document becomes.
- Proofing. Spelling with a bundled English (Canada) dictionary and downloads for other languages, underlined as you type, and a Check book dialog (preflight) that says how to fix what it finds, including text in a font nobody has and small text in a rich black.
- Covers that do the maths. The spine from the page count and the paper, wrap and bleed for the paperback cover, words on the back cover, and a barcode.
- Out. KDP interior and paperback cover PDFs, a print-shop PDF (PDF/X-4), a share PDF, a soft proof for a press's CMYK profile, a cover picture for a store, reflowable EPUBs for Kindle and Kobo, and fixed-layout EPUBs for picture books. After an export, Where do these go? says where to upload each file.
- Yours to keep. A
.foliofile is an open zip of JSON, Markdown and your pictures. Nothing leaves your computer unless you export it, there is no account, and Folio keeps a recovery copy while you work. - Agents.
folio-mcplets an AI agent work on the books you have open, and you can undo what it does. - Updates, only when you ask. Folio looks for a newer version from Help > Check for updates, or at start if you turn that on in Preferences > Updates. It is off until you do.
Known limits
- The installers and packages are not signed by a publisher, so Windows warns on first run. The updater does check the signature of every update.
- Windows on ARM is built and checked in CI but has not been run on ARM hardware. There is no macOS build.
- Fixed-layout EPUBs are checked on a Kobo Aura, and Amazon's converter (Kindle Previewer) accepts them, but they have not been looked at on a Kindle.
- Updating has not been tried end to end on a real install; the first chance is 0.1.1. An AppImage keeps a copy of
folio-mcpfor agent programs and refreshes it only when Connect an agent is opened. - From this release a change to the book file format comes with a migration, but the format is young. Keep a copy of anything that matters.
What's Changed
Enhancements
- Add the shared window chrome as folio-chrome by @ScottMorris in #2
- Add the unpublished window plugins by @ScottMorris in #3
- Add the Tauri app shell with a frameless main window by @ScottMorris in #4
- Let the Tauri MCP drive the app in development only by @ScottMorris in #5
- Keep app settings in Rust, shared by every window by @ScottMorris in #6
- Lay out the main window with the app menu, menu bar and regions by @ScottMorris in #7
- Add the About, Preferences and Book tools windows by @ScottMorris in #8
- Port the full document model into folio-model by @ScottMorris in #15
- Read and write .folio files by @ScottMorris in #16
- Add the book session with intents, patches and undo by @ScottMorris in #17
- Add folio-presets for starting a new book by @ScottMorris in #19
- Add the folio-books plugin to share open books between windows by @ScottMorris in #20
- Add the books client, store and file actions to the frontend by @ScottMorris in #21
- Open on a welcome screen and work with a book in the main window by @ScottMorris in #22
- Add the folio-ribbon package by @ScottMorris in #23
- Show the ribbon and the classic toolbar in the main window by @ScottMorris in #24
- Add folio-layout with the font book and text shaping by @ScottMorris in #27
- Break paragraphs into lines with hyphenation by @ScottMorris in #28
- Flow text through frames and columns by @ScottMorris in #29
- Lay out a spread's text and check its geometry by @ScottMorris in #30
- Lay out a spread through the books plugin by @ScottMorris in #31
- Draw the open spread on the stage and the shelf by @ScottMorris in #33
- Duplicate and lock frames, with a frame menu by @ScottMorris in #34
- Edit a text frame's words in place by @ScottMorris in #35
- Show the inspector card beside the stage by @ScottMorris in #36
- Add, move, copy and remove pages from the shelf by @ScottMorris in #37
- Add text, picture and note boxes from the page menu by @ScottMorris in #38
- Edit margins, bleed, grid and frame boxes by number in Expert mode by @ScottMorris in #39
- Bring pictures into a book and draw them by @ScottMorris in #40
- Wire the ribbon and the classic toolbar to the page by @ScottMorris in #41
- Keep the page marks and their colours between runs by @ScottMorris in #42
- Add master pages and page numbers by @ScottMorris in #43
- Hide a master page item on one page from the page menu by @ScottMorris in #46
- Add ruler guide intents to the model and the session by @ScottMorris in #52
- Keep the rulers' visibility and unit in settings, and a colour for guides by @ScottMorris in #53
- Show rulers along the top and left of the stage by @ScottMorris in #54
- Pull ruler guides out of the rulers, move them and snap to them by @ScottMorris in #55
- Give masters guides and a surface to address frames by by @ScottMorris in #57
- Keep what the person puts on a master when the page numbers change by @ScottMorris in #58
- Address frames and guides by a surface so a master can be edited by @ScottMorris in #60
- Lay out a master's text on its own and draw its pictures and shapes on pages by @ScottMorris in #61
- Edit a master page on the stage in a view of its own by @ScottMorris in #62
- Make the masters on first use and open one from the page menu by @ScottMorris in #63
- Put a ruler guide on every page, or back on one spread by @ScottMorris in #64
- Show master guides on every page and put a guide on every page by @ScottMorris in #65
- Add a colour type, palette and colour picker by @ScottMorris in #66
- Copy a master item to one page so it can be edited there by @ScottMorris in #67
- Add the page background model by @ScottMorris in #68
- Add the SetBackground intent by @ScottMorris in #69
- Resolve which background each page shows by @ScottMorris in #70
- Draw colour and gradient backgrounds on the canvas and shelf by @ScottMorris in #71
- Set a page background from a dialog by @ScottMorris in #72
- Draw texture backgrounds and offer them in the dialog by @ScottMorris in #73
- Draw picture backgrounds and choose them in the dialog by @ScottMorris in #74
- Add line and bubble shape kinds and an outline to shapes by @ScottMorris in #75
- Draw shapes with outlines and insert lines and bubbles by @ScottMorris in #76
- Change a shape's look from the inspector by @ScottMorris in #77
- Put words in shapes by @ScottMorris in #78
- Turn shapes by @ScottMorris in #79
- Add the Pages group to the sidebar by @ScottMorris in #80
- Make the cover colour the cover page's background by @ScottMorris in #81
- Draw and set a picture's focus point by @ScottMorris in #82
- Turn pictures and words, and check turned frames by their bounds by @ScottMorris in #83
- Resize and turn frames with their handles by @ScottMorris in #84
- Add tables as a frame with per-cell layout by @ScottMorris in #85
- Edit a table's cells, rows, columns and look by @ScottMorris in #86
- Edit table cells in place and show tables in the inspector by @ScottMorris in #87
- Preflight pictures for missing files, low resolution and bleed by @ScottMorris in #88
- Number pages by section by @ScottMorris in #89
- Decide that spelling is Folio's own and on by default by @ScottMorris in #90
- Add folio-spell with the bundled English (Canada) dictionary and a licence check by @ScottMorris in #91
- Keep words the person tells spelling to leave alone by @ScottMorris in #92
- Check spelling through the books plugin by @ScottMorris in #95
- Turn spelling on and off from the ribbon and Preferences by @ScottMorris in #93
- Underline misspelt words while typing by @ScottMorris in #94
- Add words to the dictionary for every book by @ScottMorris in #96
- Download dictionaries for other languages by @ScottMorris in #97
- Underline misspelt words on the page by @ScottMorris in #98
- List every misspelt word in a Proofing group by @ScottMorris in #99
- Log uncaught errors and unhandled rejections by @ScottMorris in #102
- Use GNOME window buttons on Cinnamon and add macOS traffic lights by @ScottMorris in #103
- Show the plain arrow over controls by @ScottMorris in #104
- Show icons in the ribbon's File menu by @ScottMorris in #105
- Add Cancel to the page background dialog by @ScottMorris in #106
- Undo one stretch of typing at a time by @ScottMorris in #107
- List ignored words so they can be restored by @ScottMorris in #108
- Choose the language a book is written in by @ScottMorris in #109
- Show how far a dictionary download has got by @ScottMorris in #110
- Ask about changes when the window is closed by @ScottMorris in #114
- Write a recovery copy of each book with changes by @ScottMorris in #115
- Autosave on a clock, with a Saving page in Preferences by @ScottMorris in #116
- Offer back the work a crash left behind by @ScottMorris in #117
- Keep the book's styles in the book by @ScottMorris in #124
- Give a run its own typeface and colour by @ScottMorris in #125
- Read font licences correctly and name each font file by @ScottMorris in #126
- Let a book keep font files and lay out with them first by @ScottMorris in #127
- Add an undoable intent to set the fonts a book keeps by @ScottMorris in #128
- Choose a typeface in the ribbon and keep installed fonts with the book by @ScottMorris in #129
- Flag text set in a font nobody has by @ScottMorris in #130
- Gather preflight for the whole book, with a severity for each issue by @ScottMorris in #131
- Add the Check book dialog by @ScottMorris in #132
- Add the page scene, the list of things to draw on each page by @ScottMorris in #133
- Write PDFs from the page scene with krilla by @ScottMorris in #134
- Export a book as a Sharing PDF or a KDP interior by @ScottMorris in #135
- Write reflowable EPUBs for Kindle and Kobo by @ScottMorris in #136
- Preview the book as a Kindle or a Kobo shows it by @ScottMorris in #137
- Set up the KDP interior with bleed, trim boxes and an even page count by @ScottMorris in #138
- Add the print shop PDF (PDF/X-4), crop marks and colour as ink by @ScottMorris in #139
- Make the paperback cover for Amazon KDP by @ScottMorris in #140
- Make the cover picture a store asks for by @ScottMorris in #141
- Write fixed-layout EPUBs for picture books by @ScottMorris in #142
- Show the fonts a book uses in a Fonts tab by @ScottMorris in #143
- Let a person leave a preflight issue alone by @ScottMorris in #144
- Set a character a font lacks in a font that has it by @ScottMorris in #146
- Draw textures as tiles in exported pages by @ScottMorris in #147
- Choose CMYK ink for paperback files in the Export dialog by @ScottMorris in #148
- Open the Export dialog from the File menu and Ctrl+E by @ScottMorris in #149
- Draw the book's own barcode on the KDP cover by @ScottMorris in #151
- Add a Soft proof dialog for a press's CMYK profile by @ScottMorris in #152
- Show export progress and let it be stopped by @ScottMorris in #153
- Draw the cover a new book would have by @ScottMorris in #154
- Edit a book's title, author, description and ISBNs by @ScottMorris in #156
- Style just the selected words in a text frame by @ScottMorris in #157
- Colour the selected words from a Text colour list by @ScottMorris in #158
- Keep the paper in the book by @ScottMorris in #159
- Preview the paperback cover sheet before exporting it by @ScottMorris in #169
- Draw the cover's guides over the sheet preview by @ScottMorris in #177
- Choose who makes the barcode, with a price add-on by @ScottMorris in #178
- Add the Jax panel with tips, page issues and a guide by @ScottMorris in #179
- Carry a flow's story as paragraphs of runs by @ScottMorris in #160
- Edit a flow's story a paragraph at a time by @ScottMorris in #161
- Chain text frames into a flow and take them out by @ScottMorris in #162
- Edit a flow's story in a story editor by @ScottMorris in #163
- Let a book keep named swatches with exact ink by @ScottMorris in #170
- Add, edit and remove swatches as undoable changes by @ScottMorris in #171
- Open chapters on a right-hand page by @ScottMorris in #180
- Warn when small text is set in a rich black by @ScottMorris in #181
- Import a Word document as the story by @ScottMorris in #182
- Import an OpenDocument text file as the story by @ScottMorris in #183
- List the book's swatches in the soft proof by @ScottMorris in #184
- Import a Rich Text file as the story by @ScottMorris in #185
- Add an Ask tab to Jax's panel by @ScottMorris in #186
- Open the story editor from a frame of the story by @ScottMorris in #187
- Open the story editor at the paragraph a frame begins with by @ScottMorris in #188
- Choose what each style of an imported document becomes by @ScottMorris in #189
- Edit the cover's title, author and blurb from the cover sheet by @ScottMorris in #190
- Put words on the back cover and move them on the cover sheet by @ScottMorris in #192
- Edit a story's paragraph in place on the page by @ScottMorris in #193
- List a story's chapters in the story editor by @ScottMorris in #194
- Set the width and height of a back-cover box by @ScottMorris in #195
- Underline misspelt words in the story editor by @ScottMorris in #196
- List a story's chapters in the Pages tab by @ScottMorris in #197
- Stretch a back-cover box by dragging its corner by @ScottMorris in #198
- Put a picture on the back cover by @ScottMorris in #199
- Draw on the whole cover sheet as one page by @ScottMorris in #200
- Give Folio books a native document icon by @ScottMorris in #244
- Draw a swatch as the colour it shows as by @ScottMorris in #256
- Print a swatch with its exact ink by @ScottMorris in #257
- Manage a book's swatches from a Swatches tab by @ScottMorris in #258
- Add the New book wizard window by @ScottMorris in #119
- Add the wizard's kind and size steps by @ScottMorris in #250
- Add the wizard's title, words and way-of-working steps by @ScottMorris in #251
- Finish the wizard with the look, a review and Make my book by @ScottMorris in #252
- Open the New book wizard from Guide me and New book by @ScottMorris in #253
- Offer a custom size and the spine width in the New book wizard by @ScottMorris in #254
- Show the cover a look would give in the New book wizard by @ScottMorris in #255
- Say where each exported file goes, when asked by @ScottMorris in #268
- Check Folio's EPUBs with Amazon's converter by @ScottMorris in #269
- Bundle folio-mcp into the release installers by @ScottMorris in #270
- Publish signed installers and latest.json for the updater by @ScottMorris in #271
- Build the folio-mcp npm packages and Claude Desktop bundle in the release by @ScottMorris in #272
- Cover Windows on ARM and ship folio-mcp for it by @ScottMorris in #274
- Sign the AppImages and list them for the updater by @ScottMorris in #275
- Add an updates setting that starts off by @ScottMorris in #276
- Look for, fetch and install a newer Folio by @ScottMorris in #277
- Show updates in a chip at the right of the toolbar by @ScottMorris in #278
Fixes
- Stop forcing the software WebKit renderer in development by @ScottMorris in #13
- Fix the startup crash on Windows 11 by @ScottMorris in #14
- Fix the findings from reviewing the canvas stack by @ScottMorris in #44
- Show Windows paths without the verbatim prefix by @ScottMorris in #45
- Open child windows from an async command by @ScottMorris in #100
- Keep the frame selected while its words are edited by @ScottMorris in #101
- Keep Ctrl+Z working after a spelling correction by @ScottMorris in #111
- Keep the language list from widening the sidebar by @ScottMorris in #112
- Redo with Ctrl+Y in the text editor by @ScottMorris in #113
- Keep words whole and spaced in fixed-layout EPUBs by @ScottMorris in #263
- Open a fixed-layout EPUB on its cover picture by @ScottMorris in #264
- Tell Kindle the size a fixed-layout book was made at by @ScottMorris in #267
- Fix the release version check printing a sentence instead of the version by @ScottMorris in #279
- Collect the Linux release assets under bash by @ScottMorris in #280
- Sign the release AppImages by absolute path by @ScottMorris in #281
- Stage the folio-mcp release packages as plain files by @ScottMorris in #282
- Give agent programs a folio-mcp that outlives an AppImage by @ScottMorris in #283
Documentation
- Add the specification, design reference and project docs by @ScottMorris in #11
- Add the documentation site with Astro Starlight by @ScottMorris in #9
- Align the export specs with KDP's own pages by @ScottMorris in #118
- Add the bundled fonts, hyphenation patterns and colour libraries to the notices by @ScottMorris in #145
- Put the hardcover cover, PDF/X-1a and the Jax model down as future work by @ScottMorris in #191
- Say where to download Folio, ahead of 0.1.0 by @ScottMorris in #284
CI and Build
- Set up the workspace tooling and CI by @ScottMorris in #1
- Prepare signed release builds for Folio 0.1.0 by @ScottMorris in #237
- build(deps): bump actions/download-artifact from 7 to 8 by @dependabot[bot] in #266
New Contributors
- @dependabot[bot] made their first contribution in #266
Full Changelog: https://github.com/liminal-hq/folio/commits/v0.1.0