Skip to content

1.0

Choose a tag to compare

@dragonx943 dragonx943 released this 09 Sep 12:37
· 129 commits to devel since this release
5406f59

Usagi 1.0 (Manju)

This is Usagi - v1.0, our fifth stable version with codename: Manju. It's not just a fork. It's even better than you think.

Summary

After a long period of testing and refinement, we are officially introducing Usagi 1.0, with our internal codename Manju.

This stable release focuses entirely on changes regarding content access via plugins / extensions, completely removing the old or obsolete access methods found in the legacy codebase. Thanks to TsukiMix - an Android library we designed specifically for this project, Usagi now supports external plugins / extensions (third-party), ensuring virtually absolute compatibility and flexibility.

In parallel, we are focusing on developing new features and fixing issues with existing ones to enhance the user experience. We also constantly strive to maximize Usagi's optimization with every release, extending support for older devices (Android 5.0+) that stopped supporting long ago (with the latest stable WebView update), as part of our efforts in developing this project.

Thank you for choosing and using Usagi, as well as for your support and contributions.
Please give Usagi a ⭐ on GitHub if this project is useful for you and also to help it gain more popularity. Happy reading!

What's different in this stable release

We have implemented numerous changes to Usagi, spanning over 170 commits since the last stable release.
All notable changes to this release will be recorded below. Here are some explanations for the changelog:

  • Added - for new features
  • Changed - for changes in existing functionality
  • Removed - for removed features
  • Fixed - for bug fixes
  • Other - for technical changes

[Changelog]

Changes since v0.0.31.

Added

  • Added an option to disable automatic app update checks
  • Automatic update checks are disabled by default (to comply with the terms of third-party stores)
  • Added hold-and-drag selection for quickly selecting multiple items in supported lists
  • Added support for reordering manga in favorites catalogs when using the NEWEST order
  • Added an Android TV application alias for improved launcher compatibility
  • Added support for reducing manga image resolution (downscale) directly while reading
  • Added a new floating navigation bar for the main activity (referenced from Google Photos)
  • Added search support to manga migration, allowing users to find more suitable migration targets
  • Added source exclusion support when finding or fixing manga sources
  • Added an option to automatically transfer cookies when a request is redirected to another domain
  • Added direct plugin sideloading from the plugin manager (external)
  • Added support for additional external plugin and extension formats
  • Added duplicate manga detection when adding manga to favorites catalogs
  • Added pull-to-refresh chapter checking to favorites catalogs
  • Added support for using custom manga cover in Discord RPC activity

Changed

  • Replaced KizzyRPC library with OAuth2-RPC library (for Discord RPC activity)
  • Changed network bypass layers to use direct socket-based implementations
  • Restored old chapter inspection flow to ensure chapter checks can run without interruption
  • Reworked the plugin / extension workflow for improved stability
  • Migrated manga parsing infrastructure to Tsuki library and its new parser structure
  • Reworked the plugin manager user interface, search settings and expanded available search options
  • Changed the manga suggestions layout to use a center-aligned hero carousel
  • Updated Usagi crash activity and crash screen to handle log better
  • Reorganized certain app settings and automatically hide settings based on specific behaviors
  • Updated the Shikimori domain to resolve login issues; list of free synchronization servers
  • Changed the behavior of manga badges to align with manga search suggestions
  • Changed safe file saving behavior to limit generated filenames to 128 characters

Removed

  • Removed forced pinning of External/plugin sources from the source catalog

Fixed

  • Fixed crashes that could occur during concurrent manga update operations
  • Fixed duplicate new-chapter notifications that could cause notification spam
  • Fixed crashes when attempting to use unavailable manga sources
  • Fixed bad position bugs when restoring backups on older Android devices and parser linkage bugs
  • Fixed favorites item reordering behavior, incorrect display behavior of the suggestions carousel
  • Fixed the main navigation controller not responding correctly to system navigation
  • Fixed invalid favicons for unsupported manga sources
  • Fixed webtoon reader 32-bit color mode not being persisted correctly
  • Fixed invalid manga filter handling in native / external sources
  • Fixed a loading loop caused by interactions between network requests and db transactions
  • Fixed invalid sign in button appearing in source settings
  • Fixed asynchronous source catalog update issues
  • Fixed preference focus/highlight targeting the wrong item after preference list changes
  • Removed some invalid / unused constants / strings from app resources

Other

  • Migrated core parser functionality to Tsuki and external plugin compatibility to TsukiMix
  • Updated some dependencies, R8 rules for release builds
  • Refactored code and cleaned some unused values / dependencies
  • Updated code formatting and repository formatting rules with spotless
  • Updated translations through Weblate, including: Indonesian, Ukrainian, Vietnamese, etc.

There are also several other improvements and bug fixes, you can check them out here (Full changelog from GitHub, devel branch).