Skip to content

Releases: everpcpc/KMReader

v3.4

14 Feb 14:24
36b6e39

Choose a tag to compare

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

09 Feb 17:42
e9a5748

Choose a tag to compare

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

01 Feb 12:44
b811a47

Choose a tag to compare

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

26 Jan 15:14
94a7c54

Choose a tag to compare

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

20 Jan 14:37
d8db598

Choose a tag to compare

What's Changed

Full Changelog: v2.5...v3.0

v2.5

19 Jan 01:44
27b7535

Choose a tag to compare

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

15 Jan 02:28
387ddd2

Choose a tag to compare

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

09 Jan 06:19
0606fd9

Choose a tag to compare

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

04 Jan 12:00
c77f052

Choose a tag to compare

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

30 Dec 02:56
0d8e78f

Choose a tag to compare

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