Foliate Versions Save

Read e-books in style

3.1.0

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

3.0.1

4 months ago

image ▲ 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)

3.0.0

4 months ago

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 <mbp:pagebreak> 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:

  • The executable has been renamed to foliate. Previously it was com.github.johnfactotum.Foliate.
  • 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.

Note Don't download the source .zip or .tar.gz from GitHub. Those don't include submodules and don't work. To download the source code, use git clone --recurse-submodules https://github.com/johnfactotum/foliate.git.

2.6.4

2 years ago

Fixed various bugs

Technical change: Foliate now optionally depends on Tracker 3, not Tracker 2.

2.6.3

2 years ago

Fixed a performance issue with zipped files (including EPUB files) (https://github.com/Stuk/jszip/pull/716)

2.6.2

3 years ago

Fix UI when running with libhandy 1.x

2.6.1

3 years ago

Fixed automatic layout

2.6.0

3 years ago

Changes:

  • Added support for opening HTML files (#641)
  • Consistent inner and outer margins (#255)
  • The automatic layout no longer supports 4 columns (58d5e506a3da3ad30b3e0025ccc2ccece73d9a20)
  • Fixed long words overflowing (#654)
  • Fixed custom themes not saved across sessions (#660)
  • Fixed shortcuts for key pads (#677)
  • Fixed opening non-UTF-8 zipped FB2 files (#629)
  • Fixed books not opening on GNOME 40 (#689)

2.5.0

3 years ago
  • Improved support for touch screen (#591)
  • OPDS credentials can now be remembered (#569)
  • Various fixes for GNOME 3.38 (#548, #603, #608)
  • Fixed Wiktionary internal links (#577)
  • Added Basque (#579), Korean (#604), and Norwegian (#574, #575) translations

2.4.2

3 years ago

Fixed unable to open some EPUB files