Skip to content

Releases: nekomangaorg/Neko

3.4.1

24 Apr 22:30
aafc57d

Choose a tag to compare

  • 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
4738d5a

Choose a tag to compare

  • 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

Choose a tag to compare

  • 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
4a1896d

Choose a tag to compare

  • 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
a7363bf

Choose a tag to compare

  • 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
d93c0c6

Choose a tag to compare

  • 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

Choose a tag to compare

  • 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

Choose a tag to compare

  • 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

Choose a tag to compare

  • 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

Choose a tag to compare

  • 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