Skip to content

Latest commit

 

History

History
99 lines (87 loc) · 17.8 KB

CHANGELOG-v1.0.5.md

File metadata and controls

99 lines (87 loc) · 17.8 KB

Thorium Reader v1.0.5

Summary

Version 1.0.5 was released on 10 October 2019.

This release includes the following (notable) new features, improvements and bug fixes:

  • Screen reader compatibility: the webview that renders EPUB HTML documents is now hard-refreshed to ensure NVDA, etc. track DOM changes reliably
  • Keyboard interaction: SHIFT+CTRL+ALT LEFT/RIGHT-ARROW to quickly navigate previous/next spine items (works on Windows, including with NVDA, but minus ALT on MacOS for VoiceOver compatibility)
  • File extension .epub association (EPUB "open with" or double-click to launch from Windows File explorer, MacOS Finder, and Linux desktop managers)
  • Fixed interaction problems in publication import (mouse vs. keyboard bugs)
  • Fixed broken publication export
  • Added OPDS feed pagination, including search results
  • Publications imported from OPDS catalogs now have an initial list of (user-editable) tags extracted from the feed metadata
  • Corrected handling of OPDS relative URLs
  • Detection of internet connectivity, friendlier messages during OPDS navigation
  • Support for javascript: hyperlinks in EPUB HTML documents
  • Protection against broken hyperlinks in non-valid EPUBs (HTTP 404)
  • Improved feedback during publication download, error cases
  • Added dark and sepia colour themes in User Interface (was only in EPUB documents)
  • Fixed Command Line Interface on MacOS
  • Bookmarks labels now checked for empty string
  • Publication info dialog has a "see more" expand/collapse button for long descriptions (library and reader views)
  • Fixed crash when removing publication in scroll list
  • Miscellaneous User Interface improvements and bug fixes: publication list alignment, goto page, OPDS search breadcrumb, bookmark display (long label ellipsis, padding), reader view settings initial state
  • Significant under-the-hood code refactorings to improve the developer experience and the robustness of the codebase (TypeScript strict typing, error handling / border cases)

(previous v1.0.4 changelog)

Full Change Log

Git commit diff since v1.0.4: https://github.com/readium/readium-desktop/compare/v1.0.4...v1.0.5

=> 53 GitHub Pull Requests or high-level Git commits.

Here is the complete list of commits, ordered by descending date:

  • (_) chore(doc): README (PR #778)
  • (_) fix(ui): improved publication list view, row items alignement (PR #777 Fixes #691)
  • (_) fix(CLI): MacOS command line argument with single dash/hyphen -psn is now filtered out (PR #775)
  • (_) hotfix(lint): fixes minor linting errors introduced by the previous commit (electron-builder patch)
  • (_) fix: Windows AppX electron-builder patch to support fileAssociations (Fixes #697)
  • (_) hotfix(npm): package updates to include latest r2-navigator-js component which fixes support for javascript: hyperlinks.
  • (_) chore: replace MSI with NSIS electron-builder target for Windows installer (PR #776)
  • (_) fix: publication export (PR #746 Fixes #724)
  • (_) fix(ui): "go to page" disabled mouse cursor (PR #774 Fixes #760)
  • (_) hotfix(npm): the "inner" package.json was lacking the yargs update, follow-up to PR #771
  • (_) fix(opds): breadcrumb path for search keywords was percent-encoded (PR #767 Fixes #751)
  • (_) chore(npm): latest "safe" package updates, minor semver + one safe major (PR #771)
  • (_) fix: in library view, deleting + scrolling publications does not crash anymore (PR #768 Fixes #750)
  • (_) fix(ui): corrected hairline misalignment of icon buttons in reader window (PR #764 Fixes #741)
  • (_) fix(ui): dark / sepia colour schemes applied to reader interface (PR #755 Fixes #83)
  • (_) fix(opds): publication tags are now imported from the feed source (PR #757 Fixes #299)
  • (_) hotfix(ui): publication "info" dialog in reader window, now correct "see more" button state (Fixes #759 )
  • (_) hotfix(a11y): special treatment on MacOS for spine-level navigation keyboard shortcut (no ALT modifier key, just CTRL+SHIFT with LEFT/RIGHT arrows)
  • (_) hotfix(a11y): NVDA SHIFT+CTRL+ALT LEFT/RIGHT-ARROW works to navigate spine items
  • (_) fix(a11y): NVDA screen reader now reliably detects changed EPUB documents (HTML URLs) during WebView refresh (PR #758)
  • (_) fix(ui): popup modal dialogs did not include all CSS (PR #756)
  • (_) fix(opds): feed pagination, including search results (PR #733 Fixes #462)
  • (_) fix(opds): feed URLs can be relative, now resolve to absolute (PR #753 Fixes #748)
  • (_) fix(bookmarks): empty string label now rejected (PR #737 Fixes #723)
  • (_) fix(ui): bookmark label was overflowing, now ellipsis (PR #754 Fixes #745)
  • (_) hotfix(opds): NPM package update r2-opds-js (Fixes #752)
  • (_) hotfix: publication import using the + plus button was failing when used multiple times for the same file (Fixes #740)
  • (_) hotfix: prevent badly-authored EPUB links to trigger external web browser handler, r2-navigator-js package update (Fixes #738)
  • (_) fix(opds): publication download, error feedback (PR #749 Fixes #743)
  • (_) fix(opds): updated NPM packages + minor follow-up to PR #696 (PR #747 Fixes #744)
  • (_) chore(refactor): replace "withApi" React HigherOrderComponent (Redux state management layer, over Electron IPC main/renderer process sync), improved TypeScript API, strong types (PR #696)
  • (_) fix: mouse and keyboard interaction for bookmarks (PR #734 Fixes #722 Fixes #721)
  • (_) hotfix(security): Electron BrowserWindow webSecurity enabled in webPreferences (Fixes #736)
  • (_) chore: NPM package updates (PR #731)
  • (_) fix: improved OPDS network connectivity message display (PR #729 follows PR #727)
  • (_) fix: OPDS view, detection of internet connectivity to avoid scary / hard-to-understand error messages (PR #727 Fixes #726)
  • (_) fix: reader view, default settings / initial configuration state (PR #716 Fixes #685)
  • (_) fix(ui): extra padding in bookmarks section when empty (PR #720 Fixes #507)
  • (_) fix(a11y): accessible label for bookmark button (PR #719 Fixes #571)
  • (_) fix(CLI): "default command" now more explicit (PR #715 Fixes #699)
  • (_) fix(CLI): import EPUB and OPDS feed (PR #714 Fixes #701)
  • (_) fix: follow-up to PR #659, regression bug "about publication / info box" (PR #713 Fixes #712)
  • (_) hotfix: follow-up to PR #659, fixes #709, fixes #711
  • (_) hotfix: follow-up to PR #659, fixes #709
  • (_) hotfix: follow-up to PR #489 await illegal on non-promise function return type, see comment https://github.com/readium/readium-desktop/commit/bc3f1337bf50c857bf7a0a48f57e1c076056a697#r35171002
  • (_) hotfix: follow-up to PR #659 see comment #659
  • (_) chore: NPM updates - r2-xxx-js packages, ReduxSaga with better typings, CrossEnv which drops support for older NodeJS versions (PR #707)
  • (_) fix(typing): Dependency Injection, Higher Order Component API and Translator (PR #659)
  • (_) chore(npm): updated package dependencies, fixed --help CLI in package.json script (PR #703)
  • (_) fix(ui): publication description metadata, long text height computation after CSS layout/render pass (PR #694 Fixes #689)
  • (_) fix(ui): publication tags, visual spacing (PR #693 Fixes #690)
  • (_) fix: OPDS breadcrumb line-breaking path separators (PR #688 Fixes #621)
  • (_) chore: version bump 1.0.5-rc.0

Developer Notes:

  • The standard-changelog utility (npx standard-changelog --first-release) somehow only generates a limited number of commits, so we use a one-liner command line / shell script instead:
  • git --no-pager log --decorate=short --pretty=oneline v1.0.4...v1.0.5 | cut -d " " -f 1- | sed -En '/^([0-9a-zA-Z]+)[[:space:]]([^:]+):(.+)$/!p;s//\1 __\2:__\3/p' | sed -En 's/^(.+)$/* \1/p' | sed -En '/PR[[:space:]]*#([0-9]+)/!p;s//PR [#\1](https:\/\/github.com\/readium\/readium-desktop\/pull\/\1)/gp' | sed -En '/\(#([0-9]+)/!p;s//(PR [#\1](https:\/\/github.com\/readium\/readium-desktop\/pull\/\1)/gp' | sed -En '/(Fixes|See|Fix|Fixed)[[:space:]]*#([0-9]+)/!p;s//\1 [#\2](https:\/\/github.com\/readium\/readium-desktop\/issues\/\2)/gp' | sed -En '/^.[[:space:]]([0-9a-zA-Z]+)[[:space:]]/!p;s//* [(_)](https:\/\/github.com\/readium\/readium-desktop\/commit\/\1) /p' | sed -En '/[[:space:]]#([0-9]+)/!p;s// [#\1](https:\/\/github.com\/readium\/readium-desktop\/issues\/\1)/gp'
  • ...append | pbcopy on MacOS to copy the result into the clipboard.
  • ...append | wc -l to verify that the result actually matches the number of Git commits.