github nekomangaorg/Neko 3.3.2

10 hours ago
  • 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

Don't miss a new Neko release

NewReleases is sending notifications on new releases.