v1.0.2
Bug fix release for the Badger, E213 and E290 reader: broken EPUB
chapter order, and a battery-only reboot hang after converting one.
Fixed:
- EPUB conversion sorted Calibre's multi-part chapter fragments by
fragment index alone, ignoring which chapter they belonged to - any
book with more than one multi-fragment chapter (very common) came
out with every chapter's opening bunched together, followed by every
chapter's body, instead of each chapter's pieces staying together.
Now reads the EPUB's own spine (its authoritative reading order)
instead of guessing from filenames. - A crash the above fix introduced on real hardware only: a chapter
decompressed through the pure-Python fallback inflater comes back
bytearray-backed, and a bytearray isn't hashable - using one as a
dict key raisedunsupported type for __hash__. Invisible on a
host-only test, since CPython's zlib always returns bytes. - Battery-only EPUB conversions (the only way the E213/E290 converter
runs at all) reliably hung after converting and needed a manual
reset. The post-conversion restart was choosing a soft reload
whenever off USB, for every board - a rule that exists only to
protect the Badger's power latch. The E213/E290 have no such latch,
so they're switched to the hard reset that already worked over USB. - "Restarting to make room..." reworded to "Please wait..." on the
conversion screen.
Included: badger-1.0.2.zip, a precompiled, ready-to-copy Badger
2040 build (see README.txt inside for install instructions, or
tools/build_badger_release.py to build your own).
The E213/E290 firmware images from v1.0.0 are unaffected (these are
CircuitPython source-level fixes, not firmware changes) - use v1.0.0's
assets for those.