重大变更
- 除阅读器外全部迁移至 Compose
新功能
- 设置-高级 中增加实验性滑动手势敏感度设置
- 支持通过滑动手势打开右侧抽屉
- 支持预见式返回动画,相关设置位于 设置-高级
改进
- [阅读器] 画廊页数过多时隐藏进度条刻度并禁用触感反馈
- 优化原图下载重试策略
- 优化小屏设备上的搜索类别布局
- 优化过渡动画
- 优化历史记录删除动画
- 设置-EH 中的缩略图大小设置改为缩略图列数
Bug 修复
- 修复点击通知栏的下载通知闪退 #175
- 修复收藏状态显示错误 #189
- 修复双击导航按钮后无法打开导航抽屉
- 修复某些情况下闪退 #142 #208
- 修复收藏界面点击重试崩溃 #193
- 修复本地收藏滚动位置丢失 #192
- 修复手速过快页面切换过快使加载圈圈不自动消失 #209
- 修复打开并关闭右侧抽屉后,状态栏一片白色 #101
- 修复使用深色主题时,切换界面会闪过亮色界面 #121
- [Marshmallow] 修复小内存设备上图片解码失败 #229 #372
- 修复已舍弃画廊上传者解析
已知问题
What's Changed
- Fix crash when clicking download notification by @FooIbar in #176
- Migrate ConfigureActivity to compose-destinations by @VDostoyevskiy in #178
- Extract a fragmentless GalleryPreviewScreen by @VDostoyevskiy in #180
- Extract a fragmentless HistoryScreen by @VDostoyevskiy in #183
- Extract a fragmentless ProgressScreen by @VDostoyevskiy in #185
- Simplify with Fragment.ComposeWithMD3 by @VDostoyevskiy in #186
- [Reader] Hide slider ticks if they are too dense by @FooIbar in #188
- Fix incorrect favorite states in search results by @FooIbar in #190
- Fix unable to open drawer after double clicked by @FooIbar in #191
- Limit request concurrency by @FooIbar in #194
- Fix crash caused by drawer state deserialization by @FooIbar in #195
- Fix crash when clicking retry button in favorites by @FooIbar in #196
- Add experimental option to tweak swipe sensitivity by @FooIbar in #197
- Compose GalleryCommentsScreen by @VDostoyevskiy in #187
- Fix local favorites scroll state loss by @FooIbar in #198
- Fix comment maxlines by @VDostoyevskiy in #199
- Fix unused resources inspection not working in AS by @FooIbar in #200
- Fragmentless GalleryDetailScene by @VDostoyevskiy in #202
- Make TorrentResult immutable and do some cleanup by @FooIbar in #203
- Various cleanup for GalleryDetailScene by @VDostoyevskiy in #204
- Fix history not updated by @FooIbar in #205
- Fix local favorites list jumping by @FooIbar in #206
- Enable some compose compiler optimization by @VDostoyevskiy in #210
- Move updates check to MainActivity by @FooIbar in #211
- Fix inconsistent refresh state by @FooIbar in #212
- Update thanks and Traditional Chinese README by @FooIbar in #213
- Enable Predictive Back by @VDostoyevskiy in #214
- Use built-in proguard rules and @keep annotation by @FooIbar in #216
- Initial Predictive back animation support for commentFragment Edittext by @VDostoyevskiy in #217
- Append skip H@H key to original image url on retry by @FooIbar in #218
- Fix variable shadowing (regression of #218) by @FooIbar in #219
- Built-in proguard rules are obsolete, use our own by @FooIbar in #220
- Refactor out animateFloatMergePredictiveBackAsState by @VDostoyevskiy in #221
- Fix gallery detail refresh by @FooIbar in #223
- Data class by @VDostoyevskiy in #224
- Convert to use enableEdgeToEdge by @VDostoyevskiy in #225
- Reduce category min width for small screen devices by @FooIbar in #226
- Drop overloadaggressively by @VDostoyevskiy in #228
- Only show commit subjects in changelog by @FooIbar in #230
- Fix wrong SideSheetDialog usage by @VDostoyevskiy in #231
- Refactor visibility animation for FabLayout by @FooIbar in #232
- Clean up duplicate imports by @FooIbar in #234
- Restore fab rotation when showing and hiding by @FooIbar in #235
- Compose Searchbar by @VDostoyevskiy in #237
- Mitigate OOM for API < 26 by @FooIbar in #238
- Avoid unnecessary recompose in ReaderProgressIndicator by @VDostoyevskiy in #240
- Fix search bar text missing by @FooIbar in #241
- Fix recyclerview item disappearing by @FooIbar in #243
- Predictive Back for Compose SearchBar by @VDostoyevskiy in #245
- Fix fab animation by @FooIbar in #246
- Migrate more to cronet directly by @VDostoyevskiy in #247
- Support cronetRequest with body by @VDostoyevskiy in #248
- Various fixes by @VDostoyevskiy in #253
- Fix comment textfield cursor color by @VDostoyevskiy in #255
- Fix crash when initial composition hasn't been performed by @FooIbar in #256
- Avoid unnecessary overhead by @FooIbar in #257
- Concurrent modifyFavRange by @VDostoyevskiy in #258
- Set default filter mode by @FooIbar in #259
- Expose searchFieldState as workaround by @FooIbar in #261
- Check temporary IP ban and refine error translation by @FooIbar in #262
- Fix light splash screen in dark theme on API >= 31 by @FooIbar in #263
- Initial limited support for BBCode editor by @VDostoyevskiy in #260
- Fix search bar width by @FooIbar in #266
- Cleanup unused res by @VDostoyevskiy in #267
- Coroutine download dialog by @VDostoyevskiy in #268
- Refine comment by @FooIbar in #269
- Fix download dialog checkbox ripple by @FooIbar in #270
- Apply blur to Compose Dialog by @VDostoyevskiy in #271
- Fix favButton text not updating in gallery detail by @FooIbar in #275
- Fix crash when applying style to comment by @FooIbar in #274
- Implement pull to refresh in GalleryCommentsScreen by @FooIbar in #272
- Upgrade compose bom by @VDostoyevskiy in #277
- Follow upstream API changes by @FooIbar in #278
- Workaround IME won't show again once hidden by @VDostoyevskiy in #279
- Allow setting search bar title by @FooIbar in #281
- Rotatable fav select dialog by @VDostoyevskiy in #282
- Fix amoled dark mode by @FooIbar in #284
- Close drawer before navigating to another activity by @FooIbar in #285
- Workaround for BTF2 cursor not showing by @FooIbar in #286
- Add rotate inertia for favSelectDialog by @VDostoyevskiy in #287
- Cleanup code by @FooIbar in #288
- Refactors by @VDostoyevskiy in #289
- Compose FabLayout by @VDostoyevskiy in #290
- Reimplement ModalNavigationDrawer to allow HistoryScreen gesture by @VDostoyevskiy in #293
- Don't allow RecyclerView intercept ACTION_CANCEL TouchEvent as well by @VDostoyevskiy in #294
- Add configuration for lock bot by @FooIbar in #297
- Compose FavouriteScreen by @VDostoyevskiy in #295
- Fix side sheet padding by @FooIbar in #298
- Tweak settings transition animations by @FooIbar in #299
- Cleanup by @VDostoyevskiy in #300
- Restore secondary FAB fade by @FooIbar in #303
- Fix pull request builds being pushed to users by @FooIbar in #304
- Refine FavouritesScreen layout by @FooIbar in #305
- Restore common actions in comment field by @FooIbar in #292
- Fix favorites refresh by @FooIbar in #308
- Fix crash when visiting newer version galleries by @FooIbar in #310
- Fix advanced search not working by @FooIbar in #311
- Compose GalleryListScene by @VDostoyevskiy in #301
- Kotlin 2.0.0-Beta1 by @FooIbar in #312
- Reimplement animateFloatMergePredictiveBackAsState by @VDostoyevskiy in #314
- Fix disowned gallery uploader parsing by @FooIbar in #315
- PredictiveBack for ModalNavigationDrawer, SideDrawer by @VDostoyevskiy in #316
- Enhanced swipe-edge-oriented PredictiveBack by @VDostoyevskiy in #317
- [Marshmallow] Fix OOM when decoding images by @FooIbar in #318
- Restore quick search item drag and drop animation by @FooIbar in #319
- Restore history item delete animation by @FooIbar in #321
- Fix downloads FAB animation by @FooIbar in #322
- Fix side sheet padding by @FooIbar in #323
- Tweak SearchTab Design by @VDostoyevskiy in #325
- Lock side drawer as well by @FooIbar in #326
- Fix GalleryList to use FastScrollLazyVerticalGrid when listMode by @VDostoyevskiy in #324
- Collect debug info when dumping logs by @FooIbar in #327
- Fix invisible FAB being clickable by @FooIbar in #328
- Migration by @VDostoyevskiy in #329
- Simplify GalleryInfoListItem placeholder by @VDostoyevskiy in #330
- Drawer blurs behind by @VDostoyevskiy in #331
- Cleanup ActionBuilder by @VDostoyevskiy in #332
- Predictive Back for NavHost by @VDostoyevskiy in #335
- Fix IME won't pop up after dismissing dialog by @FooIbar in #334
- Checkbox by @VDostoyevskiy in #336
- Refine side sheet layout by @FooIbar in #337
- Extract common part of GalleryList and Favorites by @FooIbar in #338
- Reset search bar offset on loading by @FooIbar in #340
- Compose DownloadCard by @VDostoyevskiy in #339
- Fix keyword and title not updating by @FooIbar in #341
- Replace thumb size setting with thumb column count by @FooIbar in #344
- Compose DownloadScreen by @VDostoyevskiy in #343
- Implement LoadStateIndicator by @FooIbar in #345
- Fix download label drag and drop by @FooIbar in #347
- Add haptic feedback for drag and drop in Downloads by @FooIbar in #348
- Refine DownloadsScreen icons by @FooIbar in #349
- Compose Era!!! by @VDostoyevskiy in #346
- Lowering default navAnim duration to 500ms by @VDostoyevskiy in #350
- CompositionLocal Sheet State by @VDostoyevskiy in #351
- Fix OOB in DownloadsScreen by @FooIbar in #353
- Observe Intent within Composables by @VDostoyevskiy in #352
- Fix LazyList items jumping during scroll by @FooIbar in #354
- Fix GalleryInfoBottomSheet content padding by @FooIbar in #357
- Optional Predictive NavAnim by @VDostoyevskiy in #356
- Fix search bar scroll-away offset by @FooIbar in #358
- Cleanup snackbar usage by @FooIbar in #359
- Introduce LockDrawerHandle by @VDostoyevskiy in #360
- Fix crash info collector by @FooIbar in #363
- Fix activity transition style by @VDostoyevskiy in #364
- Fix bigicon tint in nightmode by @VDostoyevskiy in #365
- Kill EditTextDialogBuilder by @VDostoyevskiy in #366
- Fix crash when TextField with focus is scaled to 0 by @FooIbar in #367
- Compose DatePicker by @FooIbar in #368
- Cleanup unused by @VDostoyevskiy in #369
- Fix downloads filter and search by @FooIbar in #370
- Convert TimePicker to use a dialogState by @VDostoyevskiy in #371
- Fix downloads and favorites selection by @FooIbar in #373
- Use large heap on API < 26 by @FooIbar in #374
- Move showDatePicker to CommonOperations.kt by @FooIbar in #375
- Use relative links in READMEs by @FooIbar in #377
- Rename to *Screen by @VDostoyevskiy in #378
- Reduce allocation for getCategoryColor by @VDostoyevskiy in #379
- Optimization by @VDostoyevskiy in #380
- Optimization by @VDostoyevskiy in #381
- Optimization by @VDostoyevskiy in #382
- Disallow empty gallery list result by @FooIbar in #383
- Minimize unnecessary network requests by @FooIbar in #384
- Disable haptic feedback if ticks are too dense by @FooIbar in #385
- Fix navigation drawer padding by @FooIbar in #386
- Workaround Infinity recompose by @VDostoyevskiy in #387
- Defer searchBarOffsetY read to minimize recompose scope by @VDostoyevskiy in #389
- Update compose snapshot, new PullToRefreshContainer style by @VDostoyevskiy in #390
- Refine DownloadsScreen by @FooIbar in #392
- Add error tip for local favorites by @FooIbar in #393
- Fix HistoryScreen tip padding by @FooIbar in #394
- Fix FAB animation by @FooIbar in #396
- Fix FAB not collapsing with no selected items by @FooIbar in #395
- Enable picker mode by @VDostoyevskiy in #398
- Update renovate.json by @FooIbar in #400
- Make release build profileable by @FooIbar in #401
- Update dependency dev.chrisbanes.compose:compose-bom to v2023.12.00-alpha03 by @renovate in #402
- Refine Fablayout by @VDostoyevskiy in #403
- Fix searchLayout close icon by @tehcneko in #404
- Update kotlinx.serialization to v1.6.2 by @renovate in #405
- Fix crash when deleting downloads by @FooIbar in #407
- Update dependency com.android.application to v8.2.0 by @renovate in #408
- Fix touch slop by @FooIbar in #410
- Fix last item placement animation by @FooIbar in #411
- Fix IME not hiding after performing search by @FooIbar in #412
- Make CheckBox/RadioButton text clickable and refine layout by @FooIbar in #416
- Fix BottomSheet by @VDostoyevskiy in #414
- Fix calling
Activity.recreate
from IO thread by @FooIbar in #417 - Prepare for release 1.9.0 by @FooIbar in #406
Known Issues
- Gallery info bottom sheet can't be dismissed by back button or gesture #413 (Drag or tap outside to dismiss it)
New Contributors
Full Changelog: 1.8.11.1...1.9.0