Foliate Changelog

What's new in Foliate 3.1.1

Apr 6, 2024
  • Fixed end of chapter cut off when chapter starts with page break (#1179)
  • Fixed incorrect text wrapping in tables (#1278)
  • Fixed a performance issue with OPDS catalogs (#1287)

New in Foliate 3.1.0 (Jan 5, 2024)

  • Added support for OPDS catalogs, now with support for OPDS 2.0
  • Added option to override publisher font
  • Added option to reduce animation
  • Added support for JPEG XL in CBZ
  • Fixed getting file from Tracker in Flatpak
  • Fixed parsing of non-year-only first-century and BCE dates

New in Foliate 3.0.1 (Nov 21, 2023)

  • Foliate with a custom theme, using a gradient as the background. In the previous version, the sidebar can only be themed if the background is a solid color. This is now fixed in v3.0.1.
  • Updated translations:
  • Fixed desktop entry (#1109) and AppData (#1114)
  • Fixed broken layout for some books (#1122)
  • Fixed chromatic abberation in invert mode (#1137)
  • Fixed sidebar background (pictured)

New in Foliate 3.0.0 (Nov 13, 2023)

  • Foliate has been completely rewritten from scratch with the latest platform libraries, GTK 4 and Adwaita, with refreshed interface and improved performance. It now has its own e-book parser and renderer, and no longer uses Epub.js and KindleUnpack.
  • Some features could not be ported in time. Most notably, this version has no support for OPDS catalogs and offline dictionaries.
  • UI changes:
  • The library and the e-book viewer are unified in a single window (#509)
  • The library now loads more books as you scroll, no longer requiring clicks to load more items (#583).
  • Table of contents, annotations, bookmarks are now in a sidebar, which is docked to the side by default, but can also be set to be always folded (overlaid on top of content when revealed)
  • The "Add Bookmark" button is moved to the header bar, and the page will show a ribbon when bookmarked (#863)
  • Removed "turn page on tap"; use swiping instead
  • Removed option for skeuomorphic shadows
  • Removed experimental traditional titlebar option
  • Book rendering:
  • It no longer loads the entire file into memory, greatly reducing startup time and memory usage, and it no longer loads every item in the TOC, further improving startup time (#526, #813)
  • Reloading now properly reloads the file, rather than merely re-rendering (#544)
  • Mobipocket and Kindle files are no longer extracted on disk; they are processed entirely in memory
  • Mobipocket files are now divided into sections at tags, which greatly improves performance as it no longer requires rendering the whole book at once (#764). Unfortunately this also means existing annotations for this format will not be displayed correctly.
  • When a page is not valid XHTML, it will be processed as HTML (#699)
  • It no longer tries to override fonts with CSS. Instead, you can now configure the default serif, sans-serif, and monospace fonts (#222), as well as setting the minimum font size (#906).
  • Added support for obfuscated fonts (#721)
  • Added support for user stylesheet (#947)
  • FB2: fixed infinite recursion bug (#935) and comments are now correctly ignored (#972)
  • Added experimental support for PDF files (#139)
  • Removed support for CBR, CBT, and CB7 files (CBZ is still supported)
  • Layout:
  • Paginated mode now has animation and 1:1 touchscreen and touchpad swipe gestures (#188, #862)
  • Paginated mode supports more than two columns. The number of columns is controlled by a maximum width setting. As the window gets wider, it will add more columns to prevent lines from getting too long.
  • Margins are now relative to the viewport size
  • It is now possible to configure both max width and max height.
  • The page reflows faster when resizing, and reliably stays at the same location without flashing (#459)
  • Switching between paginated and scrolled layouts is faster and can be done with a shortcut (Ctrl+M)
  • Removed continuous scrolling mode, as the new renderer does not support it (yet)
  • Locations:
  • Locations are now calculated from raw byte size instead of character count. The progress slider and reading time estimates are available instantly when you first open a book, and locations are no longer cached. Old .json files in the cache directory can be deleted.
  • The progress slider now turns pages as you drag, and can be used with keyboard and mouse wheel (#386)
  • Page-list and landmarks are now supported and can be accessed from the location popover
  • Find in book:
  • Results are now shown in the sidebar (#674)
  • Added option to ignore diacritics (#778) and to match whole words only
  • Added shortcuts for going to next and previous matches (Ctrl+G and Ctrl+Shift+G) (#693)
  • Image viewer:
  • Images are opened with double click by default; removed options for single, right, and middle click
  • Images are now copied and saved in their original format (previously, they were always converted to PNG)
  • Narration:
  • Text-to-speech now uses Speech Dispatcher, and supports pausing, skipping, word highlighting, SSML, and speed and pitch controls (#829)
  • Added support for EPUB Media Overlays
  • Copying:
  • Selected text can now be copied with HTML formatting (#954)
  • Added "Copy with Citation", which adds the author and title info to the copied text, (#445)
  • Added "Copy Identifier", which copies the CFI of the text fragment (#998)
  • Security:
  • The WebView no longer has unlimited file access (#391)
  • Flatpak: removed sandbox escape permission.
  • Other changes:
  • Added underline option for annotations (#378)
  • Annotations are now saved with timestamps (#1048)
  • Added the ability to print chapters and selections (#430)
  • WebKit's inspector is always enabled, and can be accessed from the menu, or by pressing F12
  • Technical changes:
  • Platform libraries
  • Minimum version for GJS is now 1.76
  • It requires GTK >= 4.12 and WebKitGTK 6.0
  • It requires libadwaita (previously, it optionally depended on libhandy)
  • It no longer depends on iso-code, as locales are now handled with the Intl API in GJS
  • gspell is no longer an optional dependency, as it doesn't work with GTK 4
  • It no longer depends on Python (previously, it optionally required it for running KindleUnpack)
  • JavaScript libraries
  • JavaScript libraries are now built from NPM (#460)
  • It bundles zip.js instead of JSZip
  • It bundles fflate and uses it to decompress fonts for Kindle files
  • It no longer bundles libarchive.js
  • It no longer bundles crypto-js. Checksum is now generated by GLib.

New in Foliate 2.6.4 (Jan 13, 2022)

  • Fixed various bugs

New in Foliate 2.6.3 (Sep 28, 2021)

  • Fixed a performance issue with zipped files (including EPUB files) (Stuk/jszip#716)