Skip to content

Releases: noaione/tosho-mango

v0.7.0

01 Jan 04:56
5c8b881
Compare
Choose a tag to compare

Happy new year to everyone!


The following release notes are automatically generated.

For the complete changelog, visit here.
If you encounter any problems, please report them on the issues page.

Updating

Since v0.3.1, you can update tosho using the following command:

tosho update

Which will automatically download the latest version of tosho and replace the old one.

Changelog

Breaking Changes

  • Create a new Error type for all sources, this replace anyhow error type.
    This should give more consistent error handling across all sources.
  • KM: Replace all From instance that is failable into TryFrom instead.
  • All sources: Client initialization now returns Result<Self, Error> format instead of Self.
    • Error is the new error type that is used across all sources.
  • All sources: Make all fields private on models, you can now use getter function instead.
    • Example: data.name now become data.name()
  • KM, RB, AM, and SJ/V: Privatize config fields
    • Please use the getter function and the new new function to create a new config.
  • KM: MagazineCategory::${Enum}.get_doc() now return Option<&'static str> instead of Result<&'static str, Error>
    • It also remove documented related function since we now use simpler derive macro instead.

New Features

  • MU: Add web version constants, improve the auth flow a bit more.
  • MU: Add a new crate feature aes-dec that support decrypting images if needed.

Changes

  • MU: Proto changes for subscription in manga detail
  • MU: Bump constants version
  • KM: Fix precalculation of point usages
  • MU, KM, and AM: Cleanup precalculate command output a bit more
  • RB: Possibly faster image decryption
  • MP: Fix issue when decoding title tags
  • MP: Unable to download anything because of image host changes
  • All source: flush bytes stream on each loop iteration
  • All sources: Replace String or &str input on client with impl Into<String> or impl AsRef<str> instead
  • All sources: Add Copy to some Copy-able struct
  • All sources: Bump constants version when possible
  • Adjust exit code handling on CLI
  • Simplify progress bar handling
  • Fix more issue on chapter merging

Build

  • Update tokio, serde-*, prost, reqwest, and some other CLI related dependencies
  • Remove anyhow as direct dependency for library crates
  • Remove time as dependency for tosho-amap
  • Replace futures with futures-util in tosho
  • Remove rayon feature from image since it's unused
  • Remove documented

Docs

  • Use README.md on each source crate as the docs instead of duplicating the content in lib.rs

v0.6.1

13 Aug 10:30
4bcbe53
Compare
Choose a tag to compare

The following release notes are automatically generated.

For the complete changelog, visit here.
If you encounter any problems, please report them on the issues page.

Updating

Since v0.3.1, you can update tosho using the following command:

tosho update

Which will automatically download the latest version of tosho and replace the old one.

Changelog

Changes

  • Fix issue with manual merging Ctrl+C handling not working properly

v0.6.0

13 Aug 08:33
ba85e4d
Compare
Choose a tag to compare

The following release notes are automatically generated.

For the complete changelog, visit here.
If you encounter any problems, please report them on the issues page.

Updating

Since v0.3.1, you can update tosho using the following command:

tosho update

Which will automatically download the latest version of tosho and replace the old one.

Changelog

New Features

  • RB: Try to support hidden higher resolution images

We've added a simple helper function in RBClient to help modify the URL to get higher resolution images.

use tosho_rbean::{RBClient, config::{RBConfig, RBPlatform}};

#[tokio::main]
async fn main() {
    let mut client = RBClient::new(RBConfig {
      token: "",
      refresh_token: "",
      platform: RBPlatform::Android,
    });

    // Get the chapters list
    let chapters = client.get_chapter_list("73cd427b-0740-4911-91bf-ed17cd13df8e").await.unwrap();
    let first_chapter = chapters.chapters[0].clone();

    // Get the first chapter viewer
    let viewer = client.get_chapter_viewer(&first_chapter.uuid).await.unwrap();
    let first_page = viewer.data.pages[0].clone();

    // Get the first image URL
    let image_url = first_page.image.jpg[0].clone();
    // Get the high resolution image URL
    let high_res_image_url = RBClient::modify_url_for_highres(&image_url);
    println!("High res image URL: {}", high_res_image_url);
}

If you use CLI, this is done automatically when you use download command.

  • RB: Support downloading chapters with different quality
    • Available quality are: low, medium, high, and hires (default is hires)

Changes

  • KM: Fix failed deserialization on TitleNode on some titles
  • RB: Fix auth failing when reauthenticating
  • RB: Properly hide future chapters from being downloaded
  • RB: Do streaming decryption on image download
  • MU, and KM: Rename IOS_CONSTANTS to APPLE_CONSTANTS
  • Multiple: Adjustment to constants
  • Multiple: Mark some prost::Message with Copy
  • All: Rewrite lazy_static to LazyLock
  • Use static OnceLock in win-term VT check
  • Use LazyLock for linkify! macro when checking for VT support
  • Simplify win-term VT check
  • Expose some _HOST constants to public API

Build

  • Update multiple dependencies
  • Remove lazy_static as direct dependency
  • Update MSRV to 1.80.0

Docs

  • Reword some parts of the documentation

v0.5.1

08 Jun 13:05
183f26f
Compare
Choose a tag to compare

The following release notes are automatically generated.

For the complete changelog, visit here.
If you encounter any problems, please report them on the issues page.

Updating

Since v0.3.1, you can update tosho using the following command:

tosho update

Which will automatically download the latest version of tosho and replace the old one.

Changelog

New Features

  • M+: Allow overriding app version code.

This should help mitigates issue with needing to update to latest version.

You can use in CLI like this:

$ tosho mp -p XXX [...]

Or, in Rust code:

use tosho_mplus::MPClient;
use tosho_mplus::proto::Language;
use tosho_mplus::constants::get_constants;

#[tokio::main]
async fn main() {
    let client = MPClient::new("1234", Language::English, get_constants(1))
        .with_app_ver(256);
    let home_view = client.get_home_page().await.unwrap();
}

Changes

  • KM: Cleanup chapters information a bit
  • M+: Update app version
  • INTERNAL: Use more macros expansion on config implementation.

Build

  • Update tokio, serde, prost, and documented

v0.5.0

20 May 06:12
45d49c3
Compare
Choose a tag to compare

The following release notes are automatically generated.

For the complete changelog, visit here.
If you encounter any problems, please report them on the issues page.

Updating

Since v0.3.1, you can update tosho using the following command:

tosho update

Which will automatically download the latest version of tosho and replace the old one.

Changelog

New Features

  • Add M+ as a new source
  • MU: Support downloading with subscriptions
  • Add command to clear cache for all sources: tosho tools clear-cache

Changes

  • All source: Force use rustls and use http2 adaptive window for reqwest client.
  • MU: Update proto information.
  • MU: Only use HTTP/1.1 since HTTP/2 broke the API request
  • MU: Rework downloader, image blocks are now stored to make less request to the API
  • MU: Fix account revoke not working
  • RB: Fix wrong base host used in homepage view
  • AM: Add title information when purchasing/downloading
  • AM, RB, and SJ/M: Cleanup chapters information
  • SJ/M: Early fetch chapters information
  • SJ/M: Improve search/pattern matching
  • SJ/M: Add show_to to notices and add simple helper if the notice should be displayed or not
  • SJ/M: Return the whole series response for get_chapters
  • Refactor some duplicate code
  • Changes all ToString occurences to std::fmt::Display

Build

  • Bump reqwest to 0.12 (use hyper v1)
  • Use rustls instead of native-tls for reqwest
  • Set stream feature as default on reqwest
  • Compile with latest Rust stable in CI
  • Bump other dependencies

Docs

  • Update SerializeEnum rustdoc

v0.4.3

20 Mar 01:39
8c4c819
Compare
Choose a tag to compare

The following release notes are automatically generated.

For the complete changelog, visit here.
If you encounter any problems, please report them on the issues page.

Updating

Since v0.3.1, you can update tosho using the following command:

tosho update

Which will automatically download the latest version of tosho and replace the old one.

Changelog

New Features

  • Check for update on startup (this is done for the next 24 hours after each check)

Changes

  • MU: Fix panic when search results is less than 25
  • AM: Better error messages

Build

  • Change diacritics to secular because of OSS license issue.
  • Bump dependencies on all crates (except macros)
  • Use only png, jpeg, and rayon features for image-rs

Docs

  • Suggest using --locked when installing
  • Add crates.io version shield badge on each crates

Tests

  • Move LFS data to another repo and rewrite tests to support the new path/format

v0.4.2

28 Feb 01:35
v0.4.2
e55704c
Compare
Choose a tag to compare

The following release notes are automatically generated.

For the complete changelog, visit here.
If you encounter any problems, please report them on the issues page.

Updating

Since v0.3.1, you can update tosho using the following command:

$ tosho update

Which will automatically download the latest version of tosho and replace the old one.

Changelog

Changes

  • SJ/M: Download the last page properly (previously it was missing)
  • SJ/M: Fix failed deser on notices
  • SJ/M: Show latest available chapter properly

Build

  • Pin source crate dependency on tosho

Docs

  • Add disclaimer

v0.4.1

23 Feb 01:04
v0.4.1
44d88b2
Compare
Choose a tag to compare

The following release notes are automatically generated.

For the complete changelog, visit here.
If you encounter any problems, please report them on the issues page.

Updating

Since v0.3.1, you can update tosho using the following command:

tosho update

Which will automatically download the latest version of tosho and replace the old one.

Changelog

Changes

  • RB: Remove saving JSON response on error.

v0.4.0

22 Feb 04:28
v0.4.0
8ef8a23
Compare
Choose a tag to compare

The following release notes are automatically generated.

For the complete changelog, visit here.
If you encounter any problems, please report them on the issues page.

Updating

Since v0.3.1, you can update tosho using the following command:

tosho update

Which will automatically download the latest version of tosho and replace the old one.

Changelog

New Features

By default, the download is sequential. If you want to enable parallel download pass --parallel into the
argument list: tosho km download 10007 --parallel

Changes

  • MU: Refactor API response parsing
  • SJ: Wrap descrambling with tokio::task::spawn_blocking
  • KM: Wrap descrambling with tokio::task::spawn_blocking
  • Internally change chapter dump to support both number (u64) and string (UUID-esque)
  • Better progress tick on progress bar

v0.3.3

17 Feb 10:05
v0.3.3
fad83a2
Compare
Choose a tag to compare

The following release notes are automatically generated.

For the complete changelog, visit here.
If you encounter any problems, please report them on the issues page.

Updating

Since v0.3.1, you can update tosho using the following command:

$ tosho update

Which will automatically download the latest version of tosho and replace the old one.

Changelog

Please also see changelog for v0.3.2

Changes

  • Self update now should support windows zip properly.