Skip to content

Releases: baskerville/plato

Plato 0.9.3

07 Sep 18:33
Compare
Choose a tag to compare
  • Don't change the bit depth on mark 7 devices.
  • Fix the WiFi scripts to work with the most recent firmware.
  • Use separate navigation gestures for bookmarks and annotations.

Plato 0.9.2

17 Aug 16:52
Compare
Choose a tag to compare
  • Restore the working directory after remounting the file system.
  • Fix a regression that would prevent full refreshes when monochrome was set.
  • Download the MuPDF headers when building in fast mode.

Plato 0.9.1

30 Jul 16:21
Compare
Choose a tag to compare
  • Handle EPUB 3 series metadata.
  • Rename the metadata key isbn to identifier.
  • Normalize the whole index for the dictionaries that weren't generated with dictfmt.

Plato 0.9.0

18 Jul 09:49
Compare
Choose a tag to compare

The rotation key in the reading states is now device independent.

Within a library you can compute the distribution of the device dependent values:

jq '.rotation' .reading-states/*.json | sort | uniq -c

You'll most likely want to map the most frequent (numeric) value to 0:

mkdir .new-reading-states
for x in .reading-states/*.json; do grep -q '"rotation": MOST_FREQUENT_VALUE' "$x" && jq '.rotation = 0' "$x" > .new-reading-states/"${x##*/}"; done

And the second most frequent value to either the clockwise (1) or counter-clockwise (3) landscape rotation.

You can then overwrite the reading states:

mv .new-reading-states/* .reading-states
rmdir .new-reading-states

Other changes:

  • Update the ivy binary (used by the Calculator application): the )help special command has become much more useful (try )help binary for example).
  • Handle dictd dictionaries that weren't generated by dictfmt.
  • Don't skip the first entry after the last metadata entry in a dictionary's index.
  • Handle negative x advances when computing a render plan's width.
  • Don't return in FontFamily::from_name when encountering an invalid font.
  • Ignore invisible files when walking in directories.
  • Add the ability to sort by title.

Plato 0.8.9

29 Jun 17:31
Compare
Choose a tag to compare
  • Clear the current search filter when loading a library.
  • Make the chapter name label interactive: it now reacts to taps by opening the TOC.
  • Update the following thirdparty dependencies: libjpeg, jbig2dec, FreeType, HarfBuzz.
  • Tap and hold to define a word in a dictionary definition.
  • Automatically submit a selected entry from an unfocused input field's input history menu.
  • Reset the top offset when opening a finished book.

Plato 0.8.8

14 Jun 09:09
Compare
Choose a tag to compare
  • Add notations for the first and last page: ( and ).
  • Fix a regression that would prevent inline elements interspersed with block elements from being wrapped in anonymous boxes.

Plato 0.8.7

30 May 14:13
Compare
Choose a tag to compare
  • Update the hyphenation patterns: a new language, Macedonian, was added.
  • Fix a regression in plato.sh.
  • Really reload in Library::reload.
  • Prevent attempts to poll /dev/random.

Plato 0.8.6

18 May 09:50
Compare
Choose a tag to compare
  • Update the bottom bar when resizing the navigation bar.
  • Update the current page of a directories bar when its selected directory changes.
  • Import in all the libraries when honoring import.{startup,unshare}-trigger.
  • Upgrade libmupdf from 1.16.1 to 1.17.0.
  • Honor import.extract-epub-metadata.

Plato 0.8.5

02 May 09:27
Compare
Choose a tag to compare

The metadata format has changed, manual intervention is required:

  • Rename .metadata.json to .metadata-old.json.
  • Run the attached python script: ./migrate-metadata.py LIBRARY_PATH/.metadata-old.json > LIBRARY_PATH/.metadata.json.

Overview of the changes:

  • Multiple libraries can now be defined (in Settings.toml). The default libraries are On Board and Removable. You can remove the definition for Removable if you don't have a device with a card slot. If you have a very large library, you might set the library mode to filesystem instead of database, in which case .metadata.json will not be used and all the operations will rely on the filesystem and the reading states.
  • The reading states are no longer saved in .metadata.json but in individual files in the .reading-states directory.
  • Plato no longer uses the file path as an identifier, but now relies on a custom fingerprint based on the file metadata. As a consequence, you can now freely rename and move files around. You can also overwrite an existing file as long as the path remains unchanged.
  • The summary bar was replaced with the navigation bar. Instead of displaying categories, the bar now displays directories. The navigation bar is optional and disabled by default. You can enable it by swiping from the top bar to the shelf, and disable it with the opposite gesture. Another optional bar was added: the address bar.
  • The launch scripts now set the framebuffer depth to 8. To do so, we rely on fbdepth, provided by FBInk.
  • You can now choose what to display in the shelf's first column. This is mostly useful for the filesystem mode.
  • The home view now has arrow gestures: west/east to go to the first/last page; north to set the current directory to the library's path; south to toggle the search bar.
  • You can jump to a random page by specifying _ as the page number.

Plato 0.8.4

03 Mar 20:19
Compare
Choose a tag to compare
  • Properly handle the gyroscope events on the Libra H₂O.
  • Add some documentation on how to run the emulator and install the importer.
  • Generalize reader.refresh-every as reader.refresh-rate.
  • Add the ability to sort by file name and file path.