Releases: nekomangaorg/Neko
Releases Β· nekomangaorg/Neko
3.4.1
24 Apr 22:30
Compare
Sorry, something went wrong.
No results found
fix: update category instead of overriding (#3016 ) (@D-Brox )
Chore: bump version
chore: fix BUILD_TIME caching issues and parsing crash (#3012 )
Downloads & Checksums
Variant
SHA-256 Checksum
arm64-v8a
1ad41edf357f0ac4c89e43ffb4b2e760eb48af414e71ec2dede58a2685843f90
armeabi-v7a
9d8ebd14413a65f03dcd9a603588548681308ab87a65377670f80e85f66a3091
universal
3b8fb9839c93a7803821e5efc283df45f0c061f1c493388a6d2bd894b346f414
x86
5bb8072f65c3d6514ba54544e22934d84f78c6a97f47aecd480725770786cb23
x86_64
1f31f53d58fab9b2a7690d0a375ec2e924ea531b9ac1103e6737efa55c2fe8b8
3.4.0
24 Apr 09:51
Compare
Sorry, something went wrong.
No results found
feat: Add auto link tracking to MangaBaka (#3008 )
feat: Add MangaBaka DeepLink support
feat: Add Supported Links setting to Advanced Settings (#2997 )
fix: (deps): update compose.material3.version to v1.5.0-alpha18 (#3002 ) (@renovate [bot])
fix: (deps): update compose.version to v1.11.0 (#3005 ) (@renovate [bot])
fix: (deps): update dependency androidx.compose.material:material to v1.11.0 (#3006 ) (@renovate [bot])
fix: (deps): update dependency org.jsoup:jsoup to v1.22.2 (#2992 ) (@renovate [bot])
fix: (deps): update dependency sh.calvin.reorderable:reorderable to v3.1.0 (#2994 ) (@renovate [bot])
fix: (deps): update navigation3 to v1.1.1 (#3003 ) (@renovate [bot])
fix: (deps): update sandwichversion to v2.2.2 (#2991 ) (@renovate [bot])
fix: add state verification for MangaBaka Oauth (@MajorTanya )
fix: add wildcards to search on the FeedRepository queries (#3010 ) (@D-Brox )
fix: don't include dot chapters on the volume reset logic (#2995 ) (@D-Brox )
fix: group by sheet in library saying sort by
fix: MangaBaka logout
fix: MangaBaka titles
fix: Missing 6 icon when logged into all the trackers
fix: resolve infinite loop on deep linked settings back press (#2980 )
fix: title colors on some screens
perf: batch database queries in BackupCreator to fix N+1 issue (#2971 )
perf: consolidate mapNotNull and filterNot in FeedRepository (#2975 )
perf: remove intermediate list allocation in allSelected computation (#2989 )
perf: Replace N+1 download queries with O(1) Map lookup in allChapterFlow (#2978 )
ref: extract category management from LibraryViewModel to isolated UseCase (#2981 )
ref: extract chapter filter text generation into GetChapterFilterText use case (#2972 )
ref: extract date formatting preferences into GetDateFormatUseCase (#2983 )
ref: extract hardcoded dimensions to theme in MangaGridView (#2986 )
ref: extract mark previous chapters logic into MarkPreviousChaptersUseCase (#2973 )
ref: Migrate to room and clean up database (#2993 )
ref: Move hardcoded Room query separators to LibraryDao constants (#2996 )
ref: move Similar UI classes to presentation/screens/similar (#2977 )
ref: replace hardcoded dp with Size tokens in SortRow (#3009 )
ref: update deprecated Intent.getParcelableExtra to IntentCompat (#2984 )
chore: remove jetifier
chore: remove rx java and old sql libraries
chore: remove unresolved opt-in compiler warnings in Gradle modules (#2982 )
chore: update dependency com.google.devtools.ksp to v2.3.7 (#3004 ) (@renovate [bot])
chore: update unit tests and update actions to run unit tests
Downloads & Checksums
Variant
SHA-256 Checksum
arm64-v8a
919447bd9f35d213e4d41230007054420b27d5e8f8a88be0d3c89c94aa1b42f1
armeabi-v7a
5daa3bd2cf8227c667c68e7e251798826341300aa63049f2dab32bf50750d0fd
universal
463a6acbe7a70816703b6ee2c34a8b0d1f30450d7ef0c9c332e02496eb3c5c66
x86
37d8bef348031ce67f967e41637317e8c30d2f5f047a1f783ee78f3274681f75
x86_64
d4b4e6a7bf89d6899d050cae4cc23a644dfb32d814460a9e44547ef676eec31a
3.3.6
12 Apr 11:37
Compare
Sorry, something went wrong.
No results found
feat: Add Atsumaru merge source (#2958 )
feat: Add MangaBaka Tracker (#2960 )
feat: open self-hosted sources on long click (#2966 ) (@D-Brox )
fix: (deps): update aboutlibversion to v14 (#2937 ) (@renovate [bot])
fix: (deps): update compose.material3.version to v1.5.0-alpha17 (#2939 ) (@renovate [bot])
fix: (deps): update dependency androidx.annotation:annotation to v1.10.0 (#2940 ) (@renovate [bot])
fix: (deps): update dependency com.google.firebase:firebase-bom to v34.12.0 (#2951 ) (@renovate [bot])
fix: (deps): update markdown.version to v0.40.2 (#2936 ) (@renovate [bot])
fix: (deps): update navigation3 to v1.1.0 (#2942 ) (@renovate [bot])
fix: (deps): update serializationversion to v1.11.0 (#2954 ) (@renovate [bot])
fix: Add a confirmation dialog when clearing the download queue source (#2965 )
fix: allow cleartext to support user-hosted Suwayomi and Komga servers on local IP (#2916 ) (@D-Brox )
fix: comix chapter list
fix: compile issues (#2967 ) (@D-Brox )
fix: deleted uploader causing nullpointer
fix: deleted uploader causing nullpointer
fix: null catch for deleted uploaders (#2952 ) (@D-Brox )
fix: oneshot volumes (#2970 ) (@D-Brox )
fix: optimal image height not being set correctly for splitImage
fix: Reader settings NavKey crash (#2969 ) (@D-Brox )
fix: resolve TrackingSettingsScreen crash on configuration change (#2962 )
perf: avoid intermediate list allocation during chapter downloads (#2953 )
perf: fix N+1 query problem in TrackSyncProcessor (#2956 )
perf: migrate BackupCreatorJob to CoroutineWorker (#2941 )
perf: replace executeAsBlocking with executeOnIO and wrap with goAsync in NotificationReceiver (#2944 )
ref: extract library manga filtering into FilterLibraryMangaUseCase (#2946 )
ref: migrate PagerPageHolder from RxJava to Coroutines (#2945 )
ref: remove outdated TODOs in SimilarHandler by implementing missing filtering (#2943 )
ref: update deprecated media scanner usage to MediaScannerConnection (#2955 )
chore: Add MangaBaka Dtos
chore: add missing mangabaka dtos
chore: add projeckt suki logo (#2968 ) (@D-Brox )
chore: bump version
chore: remove collapsingtopbar external library
chore: remove dead code from FollowsHandler (#2948 )
chore: remove merged source WeebDex (#2949 )
chore: update dependency com.google.firebase.crashlytics to v3.0.7 (#2950 ) (@renovate [bot])
test: [MarkChaptersRemote] test coverage (#2929 )
test: add coverage for refresh tracking usecase (#2963 )
test: FilterLibraryMangaUseCase test coverage (#2957 )
Downloads & Checksums
Variant
SHA-256 Checksum
arm64-v8a
826f3c81764fe050a71abf60c3e8b4d8e8b75a6061e3e2b06fc5e34c2cec0af7
armeabi-v7a
8801da3d4f7afed379843e3fc54ab9536cb5e7d4741ec9e69c20e22a5df17887
universal
d8b8164fc20840dfd6f8c01673c9eba800d79518cefcc6ff08cb4c4de36d5c23
x86
df4c5ad1fe34fa239eed19ff23ad691d384c3517f312e3f40bee86a3a8d8519e
x86_64
444cfb37d732f3a037621c4b75a6dcf96ef18f54a0839ac7731236323d547622
3.3.5
05 Apr 06:35
Compare
Sorry, something went wrong.
No results found
feat: Adjust split multiplier for tall images to 2 (#2932 )
fix: (deps): update dependency com.cheonjaeung.compose.grid:grid to v2.7.1 (#2930 ) (@renovate [bot])
fix: (deps): update dependency io.kotest:kotest-assertions-core-jvm to v6.1.11 (#2915 ) (@renovate [bot])
fix: [logging/security fix] fix empty catch block in CookieInterceptor (#2925 )
fix: add contentDescription to ExpandableRow for TalkBack support (#2920 )
fix: java.lang.ArrayIndexOutOfBoundsException in LazyLayoutItemAnimator (#2933 )
fix: update LibraryManga equals to check alt titles (#2913 )
fix: update search query text when saved filter is loaded (#2934 )
fix: weebdex covers and images
perf: apply distinctUntilChanged to combined library settings (#2923 )
perf: combine filter/map operations to reduce intermediate list allocations in ApiMangaParser (#2921 )
perf: fix N+1 StorIO queries in SimilarViewModel updateCovers (#2926 )
ref: Move Stats UI logic to presentation package (#2922 )
ref: replace verbose null check with ?.let in SimilarScreen (#2924 )
chore: bump gradle action
chore: bump version
Downloads & Checksums
Variant
SHA-256 Checksum
arm64-v8a
d42e6f6124562d55778a6de8c03ed157ec194f536ca3fcb80d11fb23a017fc05
armeabi-v7a
2552924daa0e7e09769e8adb2a429c8766631c270472fbad77d2642a327b895d
universal
c54170d3caa31bebc88b960951fc1a91cb69ec4e7eee273f6346369c808456d2
x86
5a41029f647e089981852bd6246830aac6451da39c8bfef4f7ca09fb37dd6927
x86_64
45004256b4d33eacea7e0e29cb96a09cdf99648595f2887eb471d7ac8ee4ac64
3.3.4
28 Mar 21:17
Compare
Sorry, something went wrong.
No results found
feat: Two-pane layout for settings on wide screens (#2899 )
feat: Use aggregate endpoint to map chapters without volumes to their correct volume for dynamic covers (#2896 )
fix: (deps): update compose.material3.version to v1.5.0-alpha16 (#2898 ) (@renovate [bot])
fix: (deps): update compose.version to v1.10.6 (#2897 ) (@renovate [bot])
fix: (deps): update dependency androidx.browser:browser to v1.10.0 (#2901 ) (@renovate [bot])
fix: (deps): update dependency androidx.compose.material:material to v1.10.6 (#2894 ) (@renovate [bot])
fix: (deps): update dependency androidx.work:work-runtime-ktx to v2.11.2 (#2893 ) (@renovate [bot])
fix: (deps): update dependency com.google.firebase:firebase-bom to v34.11.0 (#2864 ) (@renovate [bot])
fix: (deps): update dependency io.kotest:kotest-assertions-core-jvm to v6.1.9 (#2876 ) (@renovate [bot])
fix: compile issue
fix: compile issue
fix: correctly remember the last used library tab even when deep into sub-screens (#2907 )
fix: display more definitive reason for unknown errors (#2911 )
fix: persist scanlator and language chapter filters to database (#2895 )
fix: readme mentioning the app supports android 7
fix: resolve mangaball parse error for chapter volumes (#2882 )
fix: smart order for null volumes when chapter number resets (#2903 ) (@D-Brox )
fix: update manga cover in library screen when changed (#2908 )
perf: add distinctUntilChanged to filterPreferencesFlow in LibraryViewModel (#2873 )
perf: apply macro-performance optimization with asSequence in LibraryViewModel (#2910 )
perf: defer notification channel creation to background coroutine (#2892 )
perf: defer scroll state reads using derivedStateOf in ExpressivePicker (#2905 )
perf: defer scroll state reads using snapshotFlow in feed lists (#2904 )
perf: optimize database query in FollowsSyncProcessor to batch N+1 calls (#2881 )
perf: optimize list operations by replacing filter.map chains with mapNotNull (#2865 )
perf: optimize tracking count calculations in StatsViewModel (#2909 )
perf: prevent redundant updates in LibraryViewModel (#2877 )
perf: reduce memory allocations in getUserScore using mapNotNull (#2889 )
perf: refactor MangaDetailScreenState into distinct StateFlows (#2866 )
perf: replace N+1 queries with bulk IN fetch in Browse/Display repo (#2886 )
perf: replace N+1 queries with chunked bulk fetch in cleanupDownloads (#2874 )
perf: replace N+1 query with bulk chunked fetch in DisplayManga.resync (#2872 )
perf: use suspending executeOnIO instead of executeAsBlocking in IO coroutines (#2891 )
ref: [state/concurrency restructure] use observeAndUpdate for preference observation (#2868 )
ref: disable global cleartext traffic allowance (#2869 )
ref: extract chapter filter calculation into CalculateChapterFilterUseCase (#2867 )
ref: extract merged manga logic from MangaViewModel to UseCases (#2879 )
ref: extract tracking refresh logic to isolated UseCase (#2884 )
ref: extract TrackingCoordinator into individual UseCases (#2890 )
ref: migrate WebtoonViewer from RxJava to Coroutines (#2870 )
ref: remove outdated language filtering TODO in SimilarHandler (#2887 )
ref: replace some hardcoded padding with theme sizes (#2902 )
ref: save aggregate data to db for dynamic covers(#2900 )
style: resolve UtilityClassWithPublicConstructor code smell in NekoColors (#2888 )
chore: bump version
test: [ChapterItemSort] test coverage (#2912 )
test: [Manga] test coverage (#2871 )
Downloads & Checksums
Variant
SHA-256 Checksum
arm64-v8a
d255801f294cc19a662d3c23271da6f84d5d2443f67c0aad2ddf4f3302d77d7d
armeabi-v7a
97686b4263e9d9af74357d77ce966093e2a43ecdc00062649bc1e6eda9bb3daf
universal
99950634ab27aeba101fc1607a0b0e16ae0815023dcf249497f7a1fed7be65fa
x86
2c1acce901d199d48f4375480f405aafba8306ca01c9582023f4d37e95f140bd
x86_64
c17aedd6efd3d80cee1fd0de387404b075c90c641b4a75511731db6b802650e3
3.3.3
19 Mar 23:58
Compare
Sorry, something went wrong.
No results found
fix: [Bug Fix] Fix download badges not displaying in library screen (#2842 )
fix: check animated status after stream processing (#2830 )
fix: comix webview for chapters
fix: Library sorting by date fetched (#2827 )
fix: prevent CursorWindow crash on libraryQuery for large mangas (#2851 )
fix: prevent isAnimatedAndSupported reading empty stream in WebtoonPageHolder (#2838 )
perf: [SimilarViewModel] Optimize preference flow collections (#2845 )
perf: Add distinctUntilChanged to preference changes flows in FeedViewModel (#2844 )
perf: add distinctUntilChanged to prevent redundant state updates (#2856 )
perf: add observeAndUpdate to prevent redundant recompositions in Main/DisplayViewModel (#2858 )
perf: batch API/DB operations using async and awaitAll in TrackSyncProcessor (#2862 )
perf: bulk mapping optimizations for source manga fetching (#2855 )
perf: decouple high-frequency ui state from library sorting (#2859 )
perf: defer expensive components initialization to background thread post-TTID (#2860 )
perf: defer MangaCoverMetadata loading to background thread post-TTID (#2832 )
perf: enable parallel gradle execution (#2833 )
perf: isolate high-frequency refresh state from heavy library sorting flow (#2854 )
perf: optimize preference flow observers in LibraryViewModel (#2848 )
perf: optimize string allocations in LibraryMangaGetResolver (#2837 )
perf: reduce intermediate list allocations in FeedRepository (#2825 )
perf: replace blocking executeAsBlocking query with reactive mangaFlow (#2826 )
perf: restructure TrackingSyncJob coroutines to prevent memory leaks and redundant computation (#2861 )
perf: use mapNotNull in LibraryUpdateJob to avoid redundant list operations (#2863 )
ref: extract manga modification logic from ViewModel to isolated UseCase (#2839 )
ref: extract track service login into LoginToTrackServiceUseCase (#2841 )
ref: integrate WebtoonFrame into WebtoonViewer (#2857 )
ref: migrate WebtoonPageHolder from RxJava to Coroutines (#2824 )
ref: preference observers in BrowseViewModel (#2846 )
ref: remove side-effects from Downloader state updates (#2843 )
ref: use observeAndUpdate extension (#2852 )
chore: add contentDescription for SortRow icons (#2853 )
chore: bump version
chore: update dependency com.ncorti.ktfmt.gradle to v0.26.0 (#2850 ) (@renovate [bot])
Downloads & Checksums
Variant
SHA-256 Checksum
arm64-v8a
4bcd4384318493d2d8b949eec9c60822993de42c70efb259b9a0e4da0cb8338c
armeabi-v7a
28f5f9b81efcaec4495faf7ea4d39bbff490a0a56188e136e5ff814d80ff4ca9
universal
ac1e329318df0a0039071deb33cdd871dd50332b2e2eb08b4e8a166beb181466
x86
58061d7f93629326159b1bb931d6990389f0b52a21e9edc04bbb9a239d087ac4
x86_64
0866be54a265579c70a404ea3051c9eaf92b67e793784223bfdc793d8cffb9fb
3.3.2
16 Mar 12:05
Compare
Sorry, something went wrong.
No results found
feat: open webview on long press for merge searches (#2790 ) (@D-Brox )
fix: (deps): update compose.material3.version to v1.5.0-alpha15 (#2766 ) (@renovate [bot])
fix: (deps): update compose.version to v1.10.5 (#2791 ) (@renovate [bot])
fix: (deps): update dependency androidx.activity:activity-compose to v1.13.0 (#2800 ) (@renovate [bot])
fix: (deps): update dependency androidx.compose.material:material to v1.10.5 (#2792 ) (@renovate [bot])
fix: (deps): update dependency androidx.core:core-ktx to v1.18.0 (#2801 ) (@renovate [bot])
fix: (deps): update dependency com.cheonjaeung.compose.grid:grid to v2.7.0 (#2770 ) (@renovate [bot])
fix: (deps): update dependency com.google.firebase:firebase-bom to v34.10.0 (#2771 ) (@renovate [bot])
fix: (deps): update dependency com.squareup.okio:okio to v3.17.0 (#2803 ) (@renovate [bot])
fix: (deps): update dependency io.kotest:kotest-assertions-core-jvm to v6.1.6 (#2752 ) (@renovate [bot])
fix: (deps): update dependency io.kotest:kotest-assertions-core-jvm to v6.1.7 (#2813 ) (@renovate [bot])
fix: (deps): update kotlinresultversion to v2.3.1 (#2802 ) (@renovate [bot])
fix: (deps): update markdown.version to v0.39.2 (#2767 ) (@renovate [bot])
fix: check for volume chapter reset in suwayomi (#2754 ) (@D-Brox )
fix: Check if online when going to browse screen
fix: crash due to unclosed response on unauthorized suwayomi (#2797 ) (@D-Brox )
fix: issue with restore
fix: remove % match from MangaDex recommendations since they seem made up
fix: revert results library for now
fix: silent exceptions in MangaCoverFetchers (#2778 )
fix: similar not showing when contentRating is missing
fix: update LibraryManga equals and hashCode for Flow distinction (#2823 )
fix: weebdex no group not being filterable
fix: weebdex no group not being filterable
fix: wrap unclosed InputStreams in splitTallImage (#2806 )
perf: add @immutable to Library UI data classes to prevent unnecessary recompositions (#2781 )
perf: batch pre-fetch and fix O(N^2) chapter lookups during backup restore (#2819 )
perf: mark LibraryScreenState with @immutable to prevent unwanted recompositions (#2799 )
perf: n+1 query for history
perf: optimize available chapter resolution in openNextUnread (#2822 )
perf: optimize backup restoration to prevent N+1 queries (#2815 )
perf: optimize history backup queries (#2793 )
perf: Optimize Library load time by removing N+1 SharedPreferences reads (#2814 )
perf: optimize library state flows to skip massive db queries (#2818 )
perf: Optimize LibraryMangaGetResolver string splitting during initial load (#2817 )
perf: optimize N+1 room queries in FeedRepository with bulk fetch (#2807 )
perf: Optimize search query splitting in LibraryViewModel (#2772 )
perf: prevent N+1 queries when restoring manga categories (#2805 )
perf: Prevent unnecessary allocations in LibraryViewModel filter flow (#2774 )
perf: Prevent unnecessary manga item recompositions in HorizontalCategoriesPage (#2773 )
perf: reduce intermediate list allocations and prevent stream memory leak in MangaViewModel (#2786 )
perf: Remove duplicate filtering in BrowseHomePage (#2755 )
perf: replace applyFilters with mapNotNull to reduce allocations (#2787 )
perf: replace cold DB flows with shared hot flows in MangaViewModel (#2788 )
perf: replace filter and map chains with mapNotNull or forEach (#2782 )
perf: replace List.filter {}.map {} with List.mapNotNull {} in MangaViewModel (#2810 )
perf: replace N+1 Room queries with bulk fetches in LibraryViewModel (#2816 )
perf: replace O(N) recalculation with cached mappings in LibraryViewModel (#2794 )
perf: Run DownloadCache.renew() asynchronously to avoid ANRs (#2780 )
perf: share expensive intermediate flows in LibraryViewModel (#2784 )
perf: simplify list operations using mapNotNull (#2804 )
perf: use map lookup in restoreChaptersForMangaOffline (#2821 )
ref: Extract HorizontalCategoriesPage Composables (#2745 )
ref: extract IncognitoIcon composable to reduce duplication (#2798 )
ref: Extract rememberThemeColorState Composable (#2757 )
ref: Migrate ReaderChapter from RxJava to Coroutines (#2776 )
ref: Ref Coroutine Scope in TrackSyncProcessor (#2756 )
ref: Remove unused skipTrackFlowUpdate parameter from registerTracking (#2777 )
ref: remove UnusedPrivateMember in MangaViewModel.kt (#2769 )
ref: Resolve TODO in FeedViewModel (#2783 )
ref: resolve TODO in InvalidHttpSource (#2789 )
ref: Set android:exported=false on SystemForegroundService (#2809 )
chore: Add ARIA labels to category sort IconButtons (#2758 )
chore: Add content descriptions to edit/delete buttons in categories (#2779 )
chore: bump version
chore: cleanup jules files
chore: Extract dimension 28.dp (#2765 )
chore: remove unused jules files
chore: rename reference file
chore: update changelog script
chore: update results library to 2.3.1
opt: Convert static PNG icons to lossless WebP (#2764 )
opt: List allocations using mapNotNull (#2775 )
opt: Optimize background task TrackingSyncJob (#2761 )
test: add coverage for Unread action in MarkChapterUseCase (#2808 )
Downloads & Checksums
Variant
SHA-256 Checksum
arm64-v8a
4fb74729924529ec02e5783f4e9de2a2baeccfec9c072234ebb4e1d279bf2b8b
armeabi-v7a
d3e007ab1a43e199287eabc8e635bcacf448a85d2b00838001668946d2bf842e
universal
d12a57a84a75afdbdcb0f4f622dced118b0bc273253d90f4e11019b80900ba40
x86
31b3de01cd2e20d0fdfa2aa52835f7ddce95489c24c60072bb0a728b09f519a6
x86_64
11ae6996e1a6529014b4c33a3d88bcecec8e1fd66f548fb88ad36bd9b165a342
3.3.1
08 Mar 17:26
Compare
Sorry, something went wrong.
No results found
feat: Conditionally sync tracker progress to local chapters when entering manga (#2725 )
fix: add data saver warning when using metered connection
fix: build
fix: Delay dynamic cover update by 3s in MangaViewModel (#2727 )
fix: dynamic cover not changing for subsequent volumes (#2737 )
fix: stats screen title showing wrong text
opt: Optimize RawQueries (#2734 )
ref: Add smooth transition to Manga Selection (#2739 )
ref: Enforce UDF in StatsViewModel (#2732 )
ref: Idiomatic Kotlin refactor in UpdateMangaStatusAndMissingChapterCount (#2733 )
ref: Ref Coroutine Scope in DownloadManager (#2742 )
chore: [UX improvement] Add ARIA label to download options button (#2741 )
chore: Add Preview for FooterFilterChip (#2751 )
chore: Add Preview for StartReadingButton (#2740 )
chore: Address WebViewActivity Intent crash vulnerability (#2736 )
chore: compile issue
chore: Extract 16.dp to Size.medium (#2748 )
chore: Optimize Pull Request CI (#2731 )
chore: Patch memory leak in MangaMappings and BackupUtil (#2744 )
chore: remove log statement
chore: Remove unused failed function and failedUpdates from TrackingSyncJob (#2735 )
chore: update compose.material3.version to v1.5.0-alpha15 (#2719 ) (@renovate [bot])
chore: update compose.version to v1.10.4 (#2714 ) (@renovate [bot])
chore: update dependency androidx.compose.material:material to v1.10.4 (#2715 ) (@renovate [bot])
chore: update dependency com.cheonjaeung.compose.grid:grid to v2.7.0 (#2730 ) (@renovate [bot])
chore: update dependency com.google.firebase:firebase-bom to v34.10.0 (#2728 ) (@renovate [bot])
chore: update dependency io.kotest:kotest-assertions-core-jvm to v6.1.4 (#2720 ) (@renovate [bot])
chore: update markdown.version to v0.39.2 (#2624 ) (@renovate [bot])
perf: Add indexes for bookmarked and unavailable chapters (#2724 )
perf: Hoist onBookmark and onRead callbacks in MangaScreen (#2726 )
perf: Optimize library scroll position saving (#2723 )
Downloads & Checksums
Variant
SHA-256 Checksum
arm64-v8a
f0e054e97fc005be7ed9a7d40bcf9c4450d3b302b5d9d89d2e255ccf50d6d515
armeabi-v7a
e97c8b8fd469f6350d91486515f2e692d1a64f8c2f58d3e5b05ae3629ab32660
universal
03e8646c33ce81131dc3c2302d0507a6e92f9b914fd56c936f24eb65de381044
x86
809aa7c31dcf1fbffe12229adb681828a40d87e888215714b3b279213491c5a9
x86_64
f607e29d3a5ce4733e08c703a9da6162a41955fe1f03db65dab86856fbc5b8fa
3.3.0
25 Feb 20:41
Compare
Sorry, something went wrong.
No results found
feat: Add Clear downloads by source
feat: Add Comix as merge source (#2688 )
feat: Add Project Suki as merge source (#2674 )
feat: Add WeebDex as merge source (#2658 )
feat: Dynamic manga cover based on reading progress
feat: migrate to display profile instead of true color
feat: minimum supported android version is now android 8
feat: suwayomi login modes (#2666 ) (@D-Brox )
feat: update similar deeplink mapping
fix: add idempotency to app update downloads (#2708 ) (@miner46er )
fix: allow library update job to work on vpn
fix: chapter_txt not being filled in weebdex
fix: Comix Official? scanlator
fix: download button unresponsive to clicks
fix: Incorrect Chapter ID mapping in getRecentChapters (#2676 )
fix: library toolbar visibility and appearance in selection mode (#2718 )
fix: project suki chapter name
fix: reader buttons and page under navigation bars
fix: really revert to 29.0.3
fix: suwayomi thumbnail can be null (#2699 ) (@D-Brox )
opt: remove redundant FrameLayout in reader_activity.xml (#2677 )
ref: @Preview methods to separate files (#2673 )
ref: Deduplicate ImageUtil logic and fix test configuration (#2670 )
ref: Extract MangaChapterListItem Composable (#2646 )
ref: HorizontalCategoriesPage UI (#2671 )
ref: LibraryMangaItemComparator for readability and performance (#2672 )
ref: markPrevious logic to MangaViewModel (#2662 )
ref: Migrate image processing to use Okio BufferedSource (#2652 )
ref: Move ChapterExtensions to util.chapter package (#2665 )
ref: Move MangaExtensions to util.manga (#2689 )
ref: neutralize UnusedPrivateProperty in DownloadPageLoader.kt (#2703 )
ref: Ref Coroutine Scope in AppDownloadInstallJob (#2709 )
ref: Ref Coroutine Scope in LibraryUpdateNotifier (#2681 )
ref: Ref Coroutine Scope in MangaShortcutManager (#2705 )
ref: Remove Kagane merge source (#2655 )
ref: ThemedPreviews to use PreviewParameter (#2698 )
ref: Update minSdk to 26 and refactor legacy checks (#2656 )
ref: use TypedArray.use extension for resource safety (#2687 )
ref: use unmetered for downloads and fix download screen ui bugs
chore: [UX improvement] Add contentDescription to ActionButton for accessibility (#2701 )
chore: Add accessibility labels to tracking icons (#2684 )
chore: add contentDescription to header close button (#2667 )
chore: add hidden developer mode
chore: Add Preview for ChapterRow (#2660 )
chore: Add Preview for ExpandableRow (#2678 )
chore: Add Preview for MangaCover (#2647 )
chore: Add Preview for MangaGridItem (#2669 )
chore: Add Preview for ToolTipButton (#2696 )
chore: Add Preview for TriStateComponents (#2702 )
chore: Do not export CrashActivity (#2663 )
chore: Extract 16.dp padding to Size.medium (#2664 )
chore: Extract 16.dp to Size.medium (#2693 )
chore: Extract magic numbers in ImageUtil (#2650 )
chore: improve accessibility descriptions in reader chapter sheet (#2697 )
chore: Improve accessibility for language flags (#2661 )
chore: Improve ChapterRow accessibility with role and click label (#2686 )
chore: Improve logging in App.kt (#2691 )
chore: neutralize UnusedPrivateMember in MangaViewModel.kt (#2679 )
chore: optimize Update Rolling Draft Release Workflow
chore: Redact Cookie and Set-Cookie headers in logs (#2682 )
chore: remove detekt action since its never used
chore: Remove unused TriStateCheckBox and related resources (#2707 )
chore: Secure Manifest Removed unused INSTALL_SHORTCUT (#2695 )
chore: update coilversion to v3.4.0 (#2706 ) (@renovate [bot])
chore: update dependency io.github.flaringapp:composecollapsingtopbar to v1.4.0 (#2675 ) (@renovate [bot])
chore: update dependency io.gitlab.arturbosch.detekt to v1.23.8 (#2683 ) (@renovate [bot])
chore: update readme
Chore: Revert "removal of build tool install in GitHub actions" (#2721 )
perf: hoist callbacks in ChapterRow to reduce recomposition (#2711 )
perf: Hoist event callbacks in Compose lists (#2680 )
perf: memoize LibraryScreen actions (#2713 )
perf: Optimize library sorting by pre-calculating title without articles (#2659 )
perf: optimize MangaListView and MangaGridView rendering (#2668 )
Use hardware bitmap in reader when supported (#2654 )
Downloads & Checksums
Variant
SHA-256 Checksum
arm64-v8a
7387fd14521d56dc536cbc1ccea4631e45dc2f72114e15c5b1631be0b91d5a4a
armeabi-v7a
32fb876d6573e42f248d2294428290e0595165e1a4966a5655e9c4146917649a
universal
8e889c1e5086650e590c0f602abdd3578b5e80bf057b6d1d97aa82da71fc2977
x86
f7e9d4b3c8de8d19748be71f0fba8202ae1c964fa0a8c8e8c76820ddb4fdc27a
x86_64
11ac48ac73d726c6661c36efd4c6f55d2b344d6b602ca6e2e917501eaca727ed
3.2.6
17 Feb 14:37
Compare
Sorry, something went wrong.
No results found
fix: auto-attach status to new library entries (#2625 ) (@D-Brox )
fix: migrate to mihon style library update job, to hopefully fix library updates
fix: SQL injection vulnerability in RawQueries (#2634 )
perf: adjust some thread starvations
perf: Optimize library grid recomposition (#2638 )
perf: Refactor MangaGridView to use snapshotFlow for pagination (#2635 )
perf: Refactor MangaList to use snapshotFlow for pagination (#2628 )
chore: Accessibility improvements for StartReadingButton (#2627 )
chore: extract hardcoded 16.dp to Size.medium in DetailedStats.kt (#2642 )
chore: Fix exported activity vulnerability (#2639 )
chore: harden WebView settings in external source handlers (#2629 )
chore: Improve accessibility of MangaGridItem (#2636 )
chore: Improve DownloadButton accessibility with progress percentage (#2637 )
chore: Improve logging in LibraryUpdateNotifier (#2644 )
chore: Move BackupUtil to data.backup package for better cohesion (#2641 )
chore: Remove unused private function startAppUpdate (#2648 )
chore: Remove unused XML layouts (#2645 )
chore: update compose.material3.version to v1.5.0-alpha14 (#2622 ) (@renovate [bot])
chore: update compose.version to v1.10.3 (#2620 ) (@renovate [bot])
chore: update dependency androidx.activity:activity-compose to v1.12.4 (#2623 ) (@renovate [bot])
chore: update dependency androidx.compose.material:material to v1.10.3 (#2621 ) (@renovate [bot])
chore: update dependency androidx.work:work-runtime-ktx to v2.11.1 (#2619 ) (@renovate [bot])
chore: update dependency com.google.firebase:firebase-bom to v34.9.0 (#2633 ) (@renovate [bot])
chore: update dependency io.kotest:kotest-assertions-core-jvm to v6.1.3 (#2632 ) (@renovate [bot])
chore: update gradle to v8.14.4 (#2608 ) (@renovate [bot])
chore: Update Intent.getParcelableExtra (#2643 )
chore: update navigation3 to v1.0.1 (#2630 ) (@renovate [bot])
chore: update sandwichversion to v2.2.1 (#2631 ) (@renovate [bot])
Downloads & Checksums
Variant
SHA-256 Checksum
arm64-v8a
41548dda84b79afd502a726f09d125d4fa7b94aaf1ca5052c959b381bd56129c
armeabi-v7a
fea9765e39a8966991ca0824f91c8f2790ac7dd464153db6ca51df584860f2fc
universal
ddcc3151c69ab42caca3a1e1e1fecaa4616cc02840bb0c7fc62588a685127d9e
x86
ba732f884e7115bde6588ff32c84d8b81a9f53c47c3a2536ac40e17db61ec800
x86_64
03b8e66b215bc9cdcf8b4029f0bc05341d19751d4342b30158e2ee17f83a8cdf