Major Changes
Bug Squashing and Optimizations!
This release focuses on fixing many bugs and optimizing startup time!
Syncyomi v2 Support!
Syncyomi has released its next version of syncing your library, optimizing the sync and squashing many bugs!
Added
- (API) Add platform information to
aboutServerquery - (Cache/API) Add a way to clear cache & cookies
- (Category/API) Add
isDefaultCategoryin preparation of incompatible changes of future versions - (Downloads) Try to preserve downloaded files during a chapter list update for chapters with title and/or scanlator change
- (Downloads/API) Add batch GQL mutation for reordering chapter downloads (
reorderChapterDownloads) - (Logs) Add IP location logging
- (SyncYomi) Support sync protocol v2: the server merges, only changes since the last upload are sent and category deletions are reported explicitly
Changed
- (Cloudflare/flaresolverr) Send full
POSTjson body to flaresolverr instead of empty string - (Downloads) Skip LocalSource downloading
- (GraphQL) Updated GraphiQL GraphQL Playground
- (SystemTray) Disable DorkBox update requests
- (Webview) Don't throw an exception when disabling CEF
Fixed
- (Category) Fix library/category counts not matching the actual number of manga due to duplicate category-manga rows
- (Chapter) Fix the fallback upload date of new chapters without one being stored in seconds instead of milliseconds (sorted as early 1970); existing chapters are repaired by a migration
- (Cloudflare/flaresolverr) Treat a bypass as successful when a
cf_clearancecookie is returned, so non-CloudFlare source errors are correctly passed through to the extensions. - (Download/API) Fix subscription returning stale chapter data in some cases
- (Downloads/API) Fix graphql download queue items position field of unmodified items after a reorder
- (Downloads/API) Fix sending updates for dequeued downloads
- (Extension) Fix extension update failure potentially causing a NullPointerException on the next update attempt
- (Extension) Fix losing installed extension in case the update fails
- (Extension/Android) Implement fromHtml with flags for author's note support
- (Extension/Settings) Fix
extensionRepossetting not being migrated toextensionStores - (HTML) Fix HTML being sent with gibberish when using non-latin characters
- (Manga/Extension) Fix resolving manga URLs for extensions that use memo data
- (OPDS) Fix OPDS search charset
- (Source/API) Fix graphql browse mutation (
fetchSourceManga) with filters including nested group changes - (SyncYomi) Adopt the server's record versions when restoring a sync response so a manga or chapter that lost a merge once can win later; a one-time full converging sync repairs skewed version counters
- (SyncYomi) Chapter reads no longer bump the manga version, which let the device that read more chapters silently revert the other device's category/tracking changes
- (SyncYomi) Fix local changes never winning a sync on PostgreSQL (version triggers were no-ops), chapter versions being reset on chapter refresh, category removals and tracking changes never bumping the manga version, and sync restores re-stamping every row as locally modified
- (SyncYomi) Keep TachiyomiSY's library sort, chapter sort/filter and reading mode flags when Suwayomi's copy wins a sync
- (SyncYomi/Backup) Fix restoring a library that originated from another client or was re-encoded by the sync server ("Field 'libraryId' is required ... but it was missing")
- (SyncYomi/Category) Fix category reorder not syncing after a sync adopted a peer's 0-based category orders (collision with the default category broke the WebUI reorder)
- (SyncYomi/Category) Use the 0-based Mihon/SY category order convention on the sync wire and store incoming orders as 1-based ranks, so category positions converge between Suwayomi and Tachiyomi forks
- (Tracker) Fix Shikimori
- (WebView) Fix
kcefcausing the server startup to fail - (WebView) Fix authentication with subpath option
- (WebView) Fix that UI-WebView did not share user agent (background WebView unchanged)
WebUI
Contributors:
@Syer10, @schroda, @weblate, @Kisnov, @leollo98, @yohanim, @kaiserbh, @altaccosc, @lub131, @renovate[bot], @berquist, @cpiber, @atirna, @manilkadev3-max, @D-Brox, @cakeni, @Seanstoppable, @seand, @Copilot, @CyberMageIL, @JoHena, @96Angan