Repository navigation
Releases: Crossbill-App/crossbill-web
Release list
Release v0.33.0
Docker Image
docker pull tumetsu/crossbill:v0.33.0What's Changed
- Centre the reader footer stats on both axes by @Tumetsu in #959
- Hand the device back the xpointers it sent by @Tumetsu in #960
- Let the reader turn hyphenation on or off by @Tumetsu in #962
- Let the reader choose the typeface the book is set in by @Tumetsu in #961
Full Changelog: v0.32.0...v0.33.0
Release v0.32.0
Docker Image
docker pull tumetsu/crossbill:v0.32.0What's Changed
- UI proximity tweaks by @Tumetsu in #926
- Set up react-i18next with typed, per-area English copy by @Tumetsu in #937
- UI tweaks by @Tumetsu in #938
- Consistent list card style for notes, flashcards and sessions by @Tumetsu in #939
- Update frontend dependencies from open Dependabot PRs by @Tumetsu in #940
- Assert response bodies in status-only API tests by @Tumetsu in #945
- Rewrite docs in plain language by @Tumetsu in #946
- Bump the uv group across 2 directories with 3 updates by @dependabot[bot] in #943
- Fix the Docker install setup and its docs by @Tumetsu in #947
Full Changelog: v0.31.1...v0.32.0
Release v0.31.1
Docker Image
docker pull tumetsu/crossbill:v0.31.1What's Changed
- Fix reader crash when adding a note to a highlight (#919) by @Tumetsu in #922
- Ban unittest.mock outside infrastructure unit tests and migrate application-layer tests by @Tumetsu in #923
- Let browser Back return from a link followed in the reader (#921) by @Tumetsu in #925
Full Changelog: v0.31.0...v0.31.1
Release v0.31.0
Release notes
- You can now upload epub files via web ui from Library page. So technically you don't need Koreader to benefit from Crossbill if you use web reader 🎉
- Optimized Koreader upload flow to not send epub files on every upload. Should speed up upload and solve some data integrity edge cases with books existing without epubs
- Automated test improvements and streamlining
Docker Image
docker pull tumetsu/crossbill:v0.31.0What's Changed
- Run pure-logic tests in node, rendered tests in Chromium by @Tumetsu in #905
- Reader tests: control time with a fake clock, drop test-only props by @Tumetsu in #906
- Fold the dialog-shell tests into the chapter dialog route test by @Tumetsu in #907
- Give empty states and reader failures a role to be found by by @Tumetsu in #908
- Add test-specific lint rules: vitest plugin, no real-time sleeps, capped per-test timeouts by @Tumetsu in #909
- Bump @tanstack/router-cli from 1.167.21 to 1.167.33 by @dependabot[bot] in #699
- Bump lint-staged from 17.2.0 to 17.5.1 by @dependabot[bot] in #696
- Bump @types/react-dom from 19.2.4 to 19.2.7 by @dependabot[bot] in #766
- Merge open Dependabot updates by @Tumetsu in #911
- Fix the flaky frontend tests from #910 by @Tumetsu in #912
- Read user settings from the chapter on screen in the reader page tests by @Tumetsu in #913
- Prune tests shadowed by stronger ones by @Tumetsu in #914
- Extract parse-first EPUB ingestion into AttachEpubUseCase by @Tumetsu in #915
- Say KOReader is optional now that EPUBs can be uploaded in the browser by @Tumetsu in #917
- Create a KOReader book with a single upload request by @Tumetsu in #918
Full Changelog: v0.30.1...v0.31.0
Release v0.30.1
Docker Image
docker pull tumetsu/crossbill:v0.30.1What's Changed
- Update logo by @Tumetsu in #887
- Typography: rebuild the scale on Lora's real axis, add a UI sans for eyebrows by @Tumetsu in #888
- Keep the swipe that turns a page from opening a highlight by @Tumetsu in #890
- Give a highlight a colour of its own, apart from its label's by @Tumetsu in #891
Full Changelog: v0.30.0...v0.30.1
Release v0.30.0
Release 0.30.0 - Web reader update
This is rather big update feature wise. The main big feature is the new web reader UI which allows you to:
- Read your books on the browser
- Jump to the location in the book from your highlights and chapter dialogs to view the context in the book
- Make highlights in the browser and sync them back to your Koreader
It is still a bit experimental so be prepared for some bugs. The Koreader/web reader conversion particularly is something which is difficult to do 100% cleanly so please report and issue if some books cause misaligned highlights etc. and I can take a look (though I might need your epub for debugging).
Trouble shooting
- Your existing highlights should migrate over to be web reader compatible. If however after update you open a book and cannot see your highlights or get an error message, try syncing the book again from your Koreader.
- Some new required environment variables for deploy. Check
.env.examplefile for guidance.PUBLIC_BASE_URLis now required!
Docker Image
docker pull tumetsu/crossbill:v0.30.0What's Changed
- Parse an EPUB into a publication index (#794) by @Tumetsu in #809
- Web reader 2 - Readium publication parser by @Tumetsu in #810
- Store the publication index at upload (#795) by @Tumetsu in #812
- Serve the Readium manifest from the stored index (#796) by @Tumetsu in #813
- Serve the Readium position list (#797) by @Tumetsu in #814
- Serve publication resources (#798) by @Tumetsu in #816
- Conditional requests for publication resources (#799) by @Tumetsu in #817
- Publication token and session endpoint (#800) by @Tumetsu in #818
- Cookie-only auth on manifest, positions and resources (#801) by @Tumetsu in #819
- App-wide CSP for the reader's blob frames (#802) by @Tumetsu in #820
- R1.10 Frontend: same-origin API base and Vite proxy (#803) by @Tumetsu in #821
- R1.11 Frontend: minimal web reader behind the EbookReader seam (#804) by @Tumetsu in #822
- R3.1 Frontend: table of contents drawer (#824) by @Tumetsu in #834
- R3.2 Appearance popover: font size, spacing, page colour, alignment, columns (#825) by @Tumetsu in #835
- R3.3 The page-turn buttons stand aside on a phone (#826) by @Tumetsu in #836
- R4.1 Backend: anchor service, xpointer ↔ Readium Locator via xpoint-cfi, and ADR-0004 on main by @Tumetsu in #840
- R4.2 Backend: store derived locators on highlights and reading sessions by @Tumetsu in #842
- R4.3 Backend: highlight locator routes, Bearer-only, outside /readium by @Tumetsu in #844
- R4.4 Backend: web reading position, table, routes and resume answer by @Tumetsu in #848
- fix(deps): ship xpoint-cfi in the production image by @Tumetsu in #850
- R4.7 Frontend: resume where the reader left off and record where they are by @Tumetsu in #849
- R4.5 Frontend: highlights drawn on the page, tap to open by @Tumetsu in #854
- R4.6 Frontend: open the reader at a highlight by @Tumetsu in #855
- Remove reader button from book title by @Tumetsu in #856
- feat(web_reader): derive publication index and locators for existing books on deploy by @Tumetsu in #857
- fix(web_reader): let a book's own images load on Safari by @Tumetsu in #859
- fix(web_reader): release Readium's frames when the reader closes by @Tumetsu in #860
- feat(library): resolve a book's chapter from a document position by @Tumetsu in #862
- M4.1: selection capture with full anchoring by @Tumetsu in #861
- M4.3: selection popover in the reader by @Tumetsu in #864
- M4.7: extend a selection across pages by @Tumetsu in #867
- Reorganize reader into engine, chrome, and domain layers by @Tumetsu in #868
- Support highlight colors in web reader by @Tumetsu in #871
- Open a chapter in the reader from the structure view by @Tumetsu in #873
- Remove zip bomb defenses from EPUB parser by @Tumetsu in #875
- Web reader UI tweaks by @Tumetsu in #874
- Fix reader dark mode icon colors by @Tumetsu in #876
- Align dialog padding and toolbar icons by @Tumetsu in #877
- Make highlight_styles unique at every level and survive the find_or_create race by @Tumetsu in #878
- Stamp web-reader highlights with the browser's own clock by @Tumetsu in #879
- Disarm malformed and headless web-reader chapters by @Tumetsu in #880
- Update docs by @Tumetsu in #881
- Fade the landing page in once, whole by @Tumetsu in #882
- Book header tweaks by @Tumetsu in #886
Full Changelog: v0.29.0...v0.30.0
Release v0.29.0
Major UI changes. New landing page and library page, sessions page replaced by statistics page in books, lots of minor UI/UX consistency fixes etc.
Docker Image
docker pull tumetsu/crossbill:v0.29.0What's Changed
- Settle one list-length strategy, and place every highlight in a chapter by @Tumetsu in #688
- Bump backend/uv.lock in the release workflow, and guard it in CI by @Tumetsu in #690
- Remove AI summaries from reading sessions by @Tumetsu in #700
- Replace the sessions listing with a compact SessionCard by @Tumetsu in #701
- Share the compact-viewport test helper by @Tumetsu in #702
- Change sessions page into statistics page by @Tumetsu in #703
- Add a reading-activity grid to the book statistics tab by @Tumetsu in #706
- Use SectionTitles in the Settings page by @Tumetsu in #707
- Split library browsing into its own page by @Tumetsu in #708
- Add library-wide reading activity grid endpoint by @Tumetsu in #709
- Serve the reader's latest highlights and notes on one timeline by @Tumetsu in #712
- Stop related content from repeating one book, and hide weak matches by @Tumetsu in #714
- Give the search results room to breathe by @Tumetsu in #719
- Add bulk book summary regeneration by @Tumetsu in #720
- List books matched by name on top of global search results by @Tumetsu in #721
- Commit every search field on Enter, never while typing by @Tumetsu in #723
- Move the global search read from /semantic/search to /search by @Tumetsu in #722
- Search books from the app bar without embeddings by @Tumetsu in #725
- Show empty state instead of hiding sections for new readers by @Tumetsu in #726
- chore(deps-dev): Bump eslint from 10.8.0 to 10.9.1 by @dependabot[bot] in #691
- chore(deps): Bump axios from 1.19.0 to 1.20.0 by @dependabot[bot] in #692
- chore(deps): Bump @mui/material from 9.3.1 to 9.4.0 by @dependabot[bot] in #693
- chore(deps-dev): Bump @types/luxon from 3.7.3 to 3.7.5 by @dependabot[bot] in #694
- Show the app with screenshots on the README and the site frontpage by @Tumetsu in #728
Full Changelog: v0.28.1...v0.29.0
Release v0.28.1
Docker Image
docker pull tumetsu/crossbill:v0.28.1What's Changed
- Give the six book tabs one shared PageHeader by @Tumetsu in #685
- Fix the mobile filter drawer leaving the page unscrollable by @Tumetsu in #686
Full Changelog: v0.28.0...v0.28.1
Release v0.28.0
Docker Image
docker pull tumetsu/crossbill:v0.28.0What's Changed
- Show each book's reading stage in the library list by @Tumetsu in #651
- Add note and reading-session counts to the book stats strip by @Tumetsu in #656
- Bump @tanstack/react-router from 1.170.18 to 1.170.32 by @dependabot[bot] in #563
- Add book blurb to the book header area (#653) by @Tumetsu in #659
- Write and edit a chapter gist inline by @Tumetsu in #658
- UI audit: the agreed findings in sections A–J by @Tumetsu in #663
- MUI Guidelines based UI/UX improvements by @Tumetsu in #667
- Normalise KOReader highlight timestamps to ISO in the backend by @Tumetsu in #678
- Merge the two landing-page carousels into one recent-books row by @Tumetsu in #679
- Fade every book tab in from one place by @Tumetsu in #681
- Show highlight, note and flashcard counts on library book cards by @Tumetsu in #682
Full Changelog: v0.27.2...v0.28.0
Release v0.27.2
Docker Image
docker pull tumetsu/crossbill:v0.27.2What's Changed
- Make the Railway deploy branch-aware and quiet about the environment by @Tumetsu in #650
- Fix broken KOReader plugin link in README by @jdbway in #647
- Replace "Preferences" with "Settings" in hamburger menu by @jdbway in #646
- Lock body scroll while the filter drawer is open by @Tumetsu in #649
- Bump @mui/icons-material from 9.2.0 to 9.3.1 by @dependabot[bot] in #569
Full Changelog: v0.27.1...v0.27.2