Releases: everpcpc/KMReader
Releases · everpcpc/KMReader
v3.4
What's Changed
- fix(reader): use numberSort for offline next-book order by @everpcpc in #458
- fix(reader): persist offline progress metadata by @everpcpc in #459
- fix(reader): tighten progress timeout and retry flow by @everpcpc in #460
- feat(reader): add offline PDF reader flow by @everpcpc in #462
- feat(reader): add animated image overlay playback by @everpcpc in #463
- fix(reader): use loadFileURL for animated image webview by @everpcpc in #464
- refactor: clean up redundant patterns and reduce duplication by @everpcpc in #465
- feat: add widgets, quick actions, and Spotlight indexing by @everpcpc in #466
- chore: incr build ver to 276 by @everpcpc in #467
- feat: refine Spotlight indexing controls by @everpcpc in #469
- feat(widget): polish cards and add series widget by @everpcpc in #470
- fix(reader): enforce hard timeout for progress sync requests by @everpcpc in #471
- feat: add layered icon composer assets by @everpcpc in #472
- docs: regenerate full-featured product copy by @everpcpc in #473
- chore: update changelog by @everpcpc in #474
- chore: bump version to 3.5 by @everpcpc in #475
Full Changelog: v3.3...v3.4
v3.3
What's Changed
- fix(reader): add split wide pages to CurlPageView by @dyphire in #420
- refactor(reader): unify page rendering item by @everpcpc in #421
- fix(epub): body background full height by @everpcpc in #422
- fix(reader): disable builtin tap zone for UIPageViewController by @everpcpc in #423
- feat(handoff): add browser toggle and web links by @everpcpc in #424
- feat: add offline/server tabs and reorganize settings by @everpcpc in #425
- refactor: flatten file structure by @everpcpc in #426
- fix: handoff for reader by @everpcpc in #427
- fix: sync offline metrics and polish live activity handling by @everpcpc in #428
- fix: padding for browse content by @everpcpc in #429
- fix(offline): exclude offline downloads from backup by @everpcpc in #430
- style(menu): unify menu button style by @everpcpc in #431
- perf(swiftdata): reduce fetch overhead by @everpcpc in #432
- fix: revert prefetch for live update by @everpcpc in #433
- feat(cards): overlay text mode by @everpcpc in #434
- feat(ui): refine glass effects by @everpcpc in #435
- feat: debounce progress sync and tune timeouts by @everpcpc in #437
- fix(context-menu): add delete actions under manage menu by @everpcpc in #438
- fix(series): collapse metadata chips by default by @everpcpc in #439
- fix(tvOS): reader control focus handling by @everpcpc in #440
- fix(reader): hide reader controls on entry by @everpcpc in #441
- fix: stabilize tvos endpage focus handling by @everpcpc in #442
- fix(reader): centralize progress dispatch and close refresh ordering by @everpcpc in #443
- feat: improve offline browse with download-time sorting by @everpcpc in #444
- fix(tvOS): resize server tab cards by @everpcpc in #445
- refactor(tvOS): stabilize reader remote command handling by @everpcpc in #446
- fix(tvos): stabilize reader remote input and device discovery by @everpcpc in #447
- fix(dashboard): avoid no-op section updates by @everpcpc in #448
- fix(reader): support iPhone TV remote swipe page turns by @everpcpc in #449
- chore: ignore worktree dir by @everpcpc in #450
- fix(tvos): keep error overlay in view hierarchy by @everpcpc in #451
- fix(reader): restore sub-page position on chapter reload by @everpcpc in #452
- fix(macos): move library picker to navigation toolbar by @everpcpc in #453
- chore: update changelog by @everpcpc in #454
- chore: bump version to 3.4 by @everpcpc in #455
Full Changelog: v3.2...v3.3
v3.2
What's Changed
- chore: adjust icon size by @everpcpc in #402
- feat(reader): shorten swipe threshold by @everpcpc in #404
- fix(epub): jump to initial page on load for scroll mode by @everpcpc in #405
- feat(reader): copy body background to root in WebPub views by @everpcpc in #407
- feat(reader): add support for split wide pages by @dyphire in #406
- feat(reader): add Webtoon zoom overlay and display mode by @everpcpc in #408
- refactor: TOC sheets and entry style by @everpcpc in #409
- feat(reader): use SplitWidePageMode for wide-page splitting by @everpcpc in #411
- feat: add CardPlaceholder kinds and improve placeholders by @everpcpc in #412
- feat: show user roles as badges using HFlow by @everpcpc in #413
- fix(reader): centralize double-tap debounce handling by @everpcpc in #414
- feat: add SettingsBrowseCardPreview view and samples by @everpcpc in #415
- feat: refactor divina reader controls view by @everpcpc in #416
- feat(reader): add per-book EPUB reader preferences by @everpcpc in #417
- ci: add xcode build helper with device selection by @everpcpc in #418
- chore: bump version to 3.3 by @everpcpc in #419
Full Changelog: v3.1...v3.2
v3.1
What's Changed
- feat(reader): implement EPUB reader manually without Readium by @everpcpc in #340
- chore: upgrade to Swift 6.0 and add concurrency annotations by @everpcpc in #341
- fix(reader): epub progression and update UI layout spacing by @everpcpc in #342
- fix(reader): ignore long press gesture with turning pages by @everpcpc in #343
- feat: configure App Transport Security to allow http requests by @everpcpc in #344
- fix(offline): improve download completion handling and file management by @everpcpc in #345
- refactor(reader): pass Book object instead of bookId in reader by @everpcpc in #346
- fix: Calculate directory size recursively by enumerating files by @everpcpc in #347
- feat(reader): optimize top/bottom labels for EPUB pages by @everpcpc in #348
- fix(reader): apply user-selected font family and size by @everpcpc in #349
- fix(reader): stretch image if smaller than screen by @everpcpc in #351
- feat: allow disable gradient background on dashboard sections by @everpcpc in #352
- fix(reader): disable scroller on macOS by @everpcpc in #353
- feat(reader): optimize epub reader themes by @everpcpc in #354
- fix(reader): disable scroller on macOS by @everpcpc in #355
- feat(reader): optimize EPUB read option sheet by @everpcpc in #356
- feat(reader): optimize EPUB reader setting view by @everpcpc in #357
- feat: adjust epub color themes by @everpcpc in #358
- fix(reader): optimize EPUB css by @everpcpc in #360
- fix(reader): optimize page loading javascript for EPUB by @everpcpc in #361
- fix(epub): enable simultaneous gesture recognition for zoom transitions by @everpcpc in #362
- fix(offline): allow re-downloading read books by @everpcpc in #363
- refactor(reader): stabilize pagination and simplify tap zone logic by @everpcpc in #364
- fix(SSE): simplify TaskQueueSSEDto parsing by @everpcpc in #365
- feat(epub): improve WebView layout handling and loading reliability by @everpcpc in #366
- feat(reader): add support for nested TOC entries with children links by @everpcpc in #368
- feat(reader): add gradient background option for reader controls by @everpcpc in #369
- feat(reader): add EPUB theme presets functionality by @everpcpc in #370
- feat(epub): add scroll transition style rendering by @everpcpc in #371
- feat(reader): streamline controls overlay and adjust timeout durations by @everpcpc in #372
- refactor(settings): reorganize sections and fix grid density layout by @everpcpc in #373
- feat(epub): enhance scroll view navigation and prevent vertical bounce by @everpcpc in #374
- feat(epub): add custom font import from Files by @everpcpc in #375
- feat(epub): enhance overlay labels with theme-aware colors by @everpcpc in #376
- feat(epub): add localized preview with custom font support by @everpcpc in #377
- fix(epub): optimize progression and paging by @everpcpc in #379
- feat(epub): switch to adopting complete readium css by @everpcpc in #382
- fix(css): apply letterSpacing and wordSpacing by @everpcpc in #383
- fix: request timeout not passed for request by @everpcpc in #384
- fix: disable image blend mode for green theme by @everpcpc in #385
- fix: preview for custom font by @everpcpc in #386
- feat: optimize EPUB theme picker by @everpcpc in #387
- feat(epub): support page layout with one or two columns by @everpcpc in #388
- fix(epub): avoid reader snap-back on first page turn by @everpcpc in #389
- feat(epub): optimize reader overlay labels by @everpcpc in #390
- feat: add resume reading button for series by @everpcpc in #391
- ci: optimize localize process by @everpcpc in #392
- docs: update by @everpcpc in #393
- feat(reader): add subtle shadow to pages by @everpcpc in #394
- feat(reader): add advanced layout toggle for EPUB settings by @everpcpc in #395
- fix(reader): unify epub tap handling by @everpcpc in #396
- feat(reader): add Live Text keyboard toggle for macOS by @everpcpc in #397
- feat(epub): change font weight to optional by @everpcpc in #398
- chore: bump version to 3.2 by @everpcpc in #399
Full Changelog: v3.0...v3.1
v3.0
What's Changed
- feat(reader): add double tap zoom sensitivity setting by @everpcpc in #334
- chore: adjust icon centering and regenerate assets by @everpcpc in #335
- docs: update by @everpcpc in #336
- docs: update by @everpcpc in #337
- chore: bump version to 3.1 by @everpcpc in #338
Full Changelog: v2.5...v3.0
v2.5
What's Changed
- fix(ui): optimize progress bar for card and reader by @everpcpc in #297
- refactor: move layout picker to ellipsis menu across all views by @everpcpc in #298
- feat(ui): various optimizations by @everpcpc in #299
- feat(ui): optimize for tvOS by @everpcpc in #300
- feat(ui): optimize button style for thumbnails by @everpcpc in #301
- feat(settings): overhaul dashboard sections management by @everpcpc in #303
- feat: implement tappable info chips and metadata navigation actions by @dyphire in #304
- refactor(reader): consolidate auto-hide controls logic by @everpcpc in #305
- feat: add metadata filter support with FilterLogic for BrowseOptions by @everpcpc in #306
- feat: implement advanced metadata filtering for series and books by @everpcpc in #307
- fix: check isCurrentPageValid before isolation by @everpcpc in #308
- perf: optimize MouseHoverEffect by removing expensive shadow by @everpcpc in #309
- feat: add search support for metadata filtering by @dyphire in #310
- refactor(filter): publisher filtering logic by @dyphire in #312
- refactor(vm): simplify pagination logic and remove unused state by @everpcpc in #311
- refactor(browse): pass library selection via env instead of param by @everpcpc in #313
- refactor(ui): replace system icons with ContentIcon constants by @everpcpc in #314
- chore: add ark icon by @everpcpc in #315
- refactor(views): extract dynamic navigation title in detail views by @everpcpc in #316
- refactor(ui): replace ProgressView with LoadingIcon across components by @everpcpc in #317
- fix(ui): adjust threshold for abnormal thumbnail by @everpcpc in #318
- feat(reader): add page curl transition style and implementation for iOS by @everpcpc in #319
- fix(reader): safe area for page curl view by @everpcpc in #320
- refactor(reader): simplify page image view by @everpcpc in #321
- feat(reader): enable simultaneous gesture recognition for curl page by @everpcpc in #322
- feat(reader): enhance end page UI with image display& improved styling by @everpcpc in #323
- feat(reader): customize ArcEffectView color and refactor text color by @everpcpc in #324
- fix(reader): implement dynamic tap zone handling in CurlPageView by @everpcpc in #325
- fix: change LoadingIcon to ProgressView by @everpcpc in #327
- feat(reader): redesign loading UI with progress by @everpcpc in #328
- fix(ui): dashboard sections padding by @everpcpc in #329
- feat(storage): migrate collection and metadata properties by @everpcpc in #330
- chore: update icons by @everpcpc in #331
- chore: regenerate all icons by @everpcpc in #332
- chore: bump version to 3.0 by @everpcpc in #333
Full Changelog: v2.4...v2.5
v2.4
What's Changed
- fix(browse): prevent forced refresh when returning from detail view by @everpcpc in #248
- fix(browse): use hasInitialized flag to prevent reload on navigation return by @everpcpc in #249
- fix(webtoon): use viewport bottom for page detection by @everpcpc in #251
- feat(localizations): improve translation workflow by @everpcpc in #252
- refactor(core): unify composite ID generation using CompositeID utility by @everpcpc in #253
- feat(ui): show related time for api keys list by @everpcpc in #254
- refactor(reader): rewrite page image view and zoomable view by @everpcpc in #255
- feat: adjust reader button style by @everpcpc in #256
- fix: guard dashboard section detail refresh with hasLoadedInitial by @everpcpc in #259
- feat: refactor metadata update sheet with tabs by @everpcpc in #260
- feat: support change password by @everpcpc in #261
- fix: guard tap gesture with isDragging and isDecelerating for webtoon by @everpcpc in #262
- fix(reader): unify page number styling and immediate update logic by @everpcpc in #263
- fix(webtoon): incorrect page spacing by @everpcpc in #264
- fix(cache): use delta updates for size tracking in cleanup by @everpcpc in #265
- fix(dashboard): optimize sse auto-refresh logic by @everpcpc in #266
- feat: integrate color scheme settings in appearance configuration by @everpcpc in #267
- perf(reader): improve preloading logic and cleanup memory usage by @everpcpc in #268
- fix(NotificationOverlay): enhance setup to eliminate crash in background by @everpcpc in #269
- fix(reader): hit area for control buttons by @everpcpc in #271
- fix(ui): adjust sidebar & browse tab by @everpcpc in #272
- fix(reader): macos webtoon fixes by @everpcpc in #273
- feat: add live text feature with shake-to-open functionality by @everpcpc in #274
- fix: restrict live text activation on device shake in reader view by @everpcpc in #277
- fix(reader): enhance scroll handling and target page resetting logic by @everpcpc in #278
- feat(sse): disconnect on scenePhase background by @everpcpc in #279
- feat(settings): add privacy protection feature with blur overlay option by @everpcpc in #280
- i18n: translate check for single missing lang by @everpcpc in #282
- refactor: simplify SSE broadcasting and device info detection by @everpcpc in #283
- fix: enable operations on thumbnail placeholder by @everpcpc in #284
- feat: add error handling and display for loading indicators in reader by @everpcpc in #285
- fix(dashboard): prevent refresh during server switch in dashboard by @everpcpc in #286
- feat(reader): enhanced Tap Zone management by @everpcpc in #287
- feat: change reader setting button to menu by @everpcpc in #288
- feat: hide reader controls when zoomed by @everpcpc in #289
- feat(reader): add page isolation for dual page mode by @everpcpc in #290
- feat: add cover refresh functionality across context menus by @everpcpc in #293
- fix(reader): change autoHideControls default to false by @everpcpc in #294
- docs: update by @everpcpc in #295
- chore: bump version to 2.5 by @everpcpc in #296
Full Changelog: v2.3...v2.4
v2.3
What's Changed
- ci: bump previous version on MARKETING_VERSION change by @everpcpc in #209
- perf: enhance image loading and display in webtoon reader by @everpcpc in #210
- perf: optimize for smoother dashboard first screen by @everpcpc in #211
- feat: add auto full screen option on reader open for macOS by @everpcpc in #212
- feat: add safe area insets handling for webtoon by @everpcpc in #213
- fix: disable animation for dashboard seeding by @everpcpc in #214
- fix(ui): animation for sidebar expand by @everpcpc in #215
- fix: optimize reader controls padding for safe area by @everpcpc in #216
- feat(ui): redesign tabs for iPhone by @everpcpc in #217
- feat: support library actions in sidebar by @everpcpc in #218
- feat: support download read list by @everpcpc in #219
- feat: support offline policy limit by @everpcpc in #220
- feat: support download series/readlist with limit by @everpcpc in #221
- fix: adjust download button labels by @everpcpc in #222
- feat: add option to force default reading direction in settings by @everpcpc in #223
- fix: update padding in reader views for consistency by @everpcpc in #224
- feat: support on-demand Live Text by @everpcpc in #225
- refactor: remove unused onActionCompleted callbacks from various views by @everpcpc in #226
- feat: enhance sync functionality for series and books by @everpcpc in #227
- feat: enhance offline download management by @everpcpc in #228
- refactor: optimize add to readlist and collection picker by @everpcpc in #229
- feat: implement customizable tap zone sizes for page navigation by @everpcpc in #230
- perf: optimize dashboard scroll button by @everpcpc in #231
- docs: update links by @everpcpc in #232
- refactor: enhance ThumbnailImage component and streamline context menus by @everpcpc in #233
- feat: add title to context menu by @everpcpc in #234
- perf: adjust style for horizontal button on macOS by @everpcpc in #235
- fix(reader): disable zoom transition on resume by @everpcpc in #236
- feat: open book detail sheet with reader controls by @everpcpc in #237
- feat(reader): replace save to files with native share by @everpcpc in #238
- feat(browse): implement saved filters for series & book by @everpcpc in #239
- feat(library): add create and edit library support by @everpcpc in #240
- feat(reader): add incognito mode indicator to reader controls by @everpcpc in #241
- refactor(reader): extract image save/share logic to helpers by @everpcpc in #242
- feat(reader): add option to disable controls auto-hide functionality by @everpcpc in #243
- chore: adjust code format by @everpcpc in #244
- feat(settings): add language switch shortcut in appearance view by @everpcpc in #245
- chore: update topshelf image by @everpcpc in #246
- chore: bump version to 2.4 by @everpcpc in #247
Full Changelog: v2.2...v2.3
v2.2
What's Changed
- chore: incr build ver to 184 by @everpcpc in #149
- feat: refactor navigation with MainSplitView for iPad/macOS by @everpcpc in #150
- feat(ui): small optimizations by @everpcpc in #151
- feat: cache dashboard section first page IDs for content seeding by @everpcpc in #152
- fix: stabilize JSON serialization order by @everpcpc in #153
- feat: default only show default column for split view by @everpcpc in #154
- chore: cleanup localizations by @everpcpc in #155
- fix: ignore anomalous geometry widths during app transitions by @everpcpc in #156
- feat: add link to task details by @everpcpc in #157
- feat: show percent for book&series card&row view by @everpcpc in #158
- fix: series and read list book loading filters by @everpcpc in #159
- fix: button style for tasks by @everpcpc in #160
- refactor: container width tracking by @everpcpc in #161
- fix: use simple struct for navigation by @everpcpc in #162
- feat: disable theme picker for macOS by @everpcpc in #163
- refactor: simplify card layout with adaptive sizing by @everpcpc in #164
- feat: show progress in card caption by @everpcpc in #165
- feat(cache): add instance-specific cache clearing options by @everpcpc in #166
- fix: thumbnail overflow in fill mode by @everpcpc in #168
- feat(appearance): add option to disable thumbnail shadows by @everpcpc in #169
- feat: add squish button style for thumbnail press effect by @everpcpc in #170
- fix: add .id() to context menu subviews to prevent stale cached content by @everpcpc in #171
- feat(ui): generalize and centralize zoom navigation transition by @everpcpc in #172
- fix: restore purchases timeout on macOS by @everpcpc in #173
- perf: use shadowPath for thumbnail shadows on iOS and macOS by @everpcpc in #174
- fix(ui): adjust controls size for macos by @everpcpc in #175
- fix(ui): move layout mode picker to toolbar by @everpcpc in #176
- feat(dashboard): add horizontal scroll navigation buttons for macOS by @everpcpc in #178
- feat(settings): add remove all/read buttons for offline books by @everpcpc in #179
- feat(offline): add auto-delete read books setting by @everpcpc in #180
- feat: notify after confirmed alerts and menu actions by @everpcpc in #181
- perf: optimize for webtoon page load by @everpcpc in #182
- fix(macos): dashboard ui fixes by @everpcpc in #183
- fix: add border for thumbnails without shadow by @everpcpc in #186
- fix: stablize thumbnail load & adjust shadow layer by @everpcpc in #187
- fix: browse view init libraryIds by @everpcpc in #188
- refactor: split MainTabView into platform-specific views by @everpcpc in #189
- feat: add dashboard section for collections and readlists by @everpcpc in #190
- feat: replace browse tab with series and books by @everpcpc in #191
- fix: sync readlist api response by @everpcpc in #192
- feat: add collections & readlist to sidebar by @everpcpc in #193
- feat: support refreshing sidebar for split view by @everpcpc in #194
- feat: remove auto cover refresh & add context menu refresh button by @everpcpc in #195
- fix: zoom-back cover disappearance by limiting transition sources by @everpcpc in #196
- fix: notification color on macOS by @everpcpc in #197
- feat: better handle clean up by @everpcpc in #199
- fix(ui): handle abnormal thumbnail size by @everpcpc in #202
- feat: add history page for server management by @everpcpc in #203
- feat: add options to hide unread indicator and progress bar by @everpcpc in #204
- feat: change cover cache size to MB by @everpcpc in #207
- chore: bump version to 2.2 by @everpcpc in #208
Full Changelog: v2.1...v2.2
v2.1
What's Changed
- fix: optimize download actions section view by @everpcpc in #51
- feat: split page transition into separate tap and scroll settings by @everpcpc in #52
- feat(reader): align ReaderSettingsSheet with SettingsReaderView by @everpcpc in #53
- feat(reader): add configurable webtoon tap scroll height by @everpcpc in #55
- fix: delete local data and dismiss detail view on 404 error by @everpcpc in #56
- fix(offline): download pages for image-based EPUBs in Divina reader by @everpcpc in #57
- feat(thumbnail): silent background refresh for detail page thumbnails by @everpcpc in #58
- feat: add download failure notification and enhance sync status display by @everpcpc in #59
- feat: improve offline task management by @everpcpc in #60
- feat(series): refactor download actions UI with menu and confirmation by @everpcpc in #61
- feat: add refresh button for series & readlist books by @everpcpc in #62
- refactor: move reconnect button from settings to dashboard toolbar by @everpcpc in #63
- feat: implement iOS 18 reader zoom transition by @everpcpc in #64
- feat(offline): add background downloads, Live Activity by @everpcpc in #65
- ci: fix provisioning profile for widgets by @everpcpc in #66
- fix: change icon for offline settings by @everpcpc in #67
- refactor: organize setting pages by @everpcpc in #68
- fix: optimize setting styles by @everpcpc in #69
- fix: adjust progressbar and controls button styles by @everpcpc in #70
- docs: update by @everpcpc in #71
- feat: improve jump-to-page with offline thumbnails and native scroll by @everpcpc in #72
- refactor: use layoutDirection for RTL in PageView and EndPageView by @everpcpc in #73
- feat(reader): add more page transition styles by @everpcpc in #74
- feat: refactor card views with CardView by @everpcpc in #75
- fix: adjust card paddings by @everpcpc in #76
- feat: add cover-only mode for card views by @everpcpc in #77
- ci: fix release by @everpcpc in #78
- feat: add subscription support for Buy Me a Coffee by @everpcpc in #79
- ci: separate version detection for GitHub Release and App Store upload by @everpcpc in #83
- refactor(reader): remove manual RTL handling from DualPageImageView by @everpcpc in #84
- fix(macos): update window title when switching books in reader by @everpcpc in #85
- feat: support limit logs by @everpcpc in #86
- perf: skip SwiftData updates when values unchanged by @everpcpc in #87
- refactor: store only IDs in ViewModels, use Query for reactive updates by @everpcpc in #88
- perf: batch fetch series for offline books view by @everpcpc in #89
- feat(reader): preload images into memory cache for instant display by @everpcpc in #97
- perf(cache): use high/low watermark for ImageCache cleanup by @everpcpc in #98
- feat: optimize card & row views by @everpcpc in #99
- feat: optimize dashboard row view by @everpcpc in #100
- feat(reader): configure dismiss gestures based on reading direction by @everpcpc in #101
- refactor(storage): compare individual fields in upsert methods by @everpcpc in #102
- refactor: dashboard sections and detail view by @everpcpc in #103
- fix(api): use correct endpoints for collection series and readlist books by @everpcpc in #104
- fix: adjust timeout for loadCurrentUser on startup by @everpcpc in #105
- fix: deleted status not updated by @everpcpc in #106
- chore: incr build ver to 176 by @everpcpc in #107
- feat: separate detail page & edit sheet for oneshot by @everpcpc in #108
- fix: restore gesture recognizer delegates when reader dismisses by @everpcpc in #113
- perf(reader): replace SDWebImage with native image cache by @everpcpc in #114
- fix: optimize divider for oneshot detail view by @everpcpc in #115
- feat(sync): automatically sync book and series after finishing a book by @everpcpc in #116
- feat: add read indicator to offline books view by @everpcpc in #117
- fix(ui): improve card & row menus by @everpcpc in #118
- feat(ui): dashboard & thumbnail optimizations by @everpcpc in #119
- fix: prevent scroll position reset in ForEach lists by @everpcpc in #122
- refactor(ui): replace shadow booleans with ShadowStyle enum by @everpcpc in #123
- fix(auth): allow server management & switch in offline mode by @everpcpc in #124
- fix(ui): refine thumbnail shadow by @everpcpc in #125
- fix: restore gesture delegates on reader dismiss by @everpcpc in #128
- fix(ui): trivial fixes by @everpcpc in #130
- feat: reuse cache for offline downloads by @everpcpc in #131
- feat: seed dashboard sections from cache for faster first paint by @everpcpc in #133
- refactor: unify pagination state and identified items by @everpcpc in #134
- fix: logout before switchTo another instance by @everpcpc in #135
- fix: refresh dashboard after switch server complete by @everpcpc in #136
- fix: disable page turn when zoomed by @everpcpc in #137
- fix: stabilize reader status bar updates during scroll by @everpcpc in #138
- fix: reader controls respect safe area for Dynamic Island and notch by @everpcpc in #139
- feat: add debounce to database commit and improve UI placeholders by @everpcpc in #140
- fix: context menu preview size by @everpcpc in #141
- refactor(thumbnail): replace SDWebImage with native image loading by @everpcpc in #142
- feat: sync book and series on reader dismiss by @everpcpc in #143
- fix: tabview style sidebarAdaptable by @everpcpc in #144
- feat(reader): track visited books/series during session and sync on dismiss by @everpcpc in #145
- refactor: organize detail content view by @everpcpc in #146
- docs: add terms by @everpcpc in #147
- chore: bump version to 2.1 by @everpcpc in #148
Full Changelog: v2.0...v2.1