Skip to content

v0.13.0

Latest

Choose a tag to compare

@release-plz-nova release-plz-nova released this 17 Apr 14:46
8455f78

This is a massive update, so expect breaking changes!

New features

Migrated the http request crate from reqwest to ureq by moving the API backend to api_bindium. Here's the important points of this migration:

  • The crate is async runtime agnostic. You're free from the chains of tokio.
  • You can have both Sync and Async at the same time, or only one, or none (why would you do that...) without surprise compilation errors or runtime errors
  • api_bindium is custom made to be lighter than the old reqwest backend. No more compiling the entire tokio runtime to print the name of a recording.

Migrated the old this_error monolith to smaller snafu errors. This should help with error debugging and error matching. Those errors include the location and backtraces (Need feature flag) for more information

Breaking changes

  • Reworked all the features. I recommend rereading through them all even if you don't have errors!
  • Reworked the errors
  • Reworked client struct
  • Async functions now have a _async suffix to allow both sync and async to coexists

Upcoming changes

The CAA api will soon be deprecated and moved to its own crate. The reasons being:

  • The code needs a full rewrite to remove some severe spaghetti
  • It doesn't need to be along side the MB api as it only wants MBIDs as inputs
  • It's literally a separate API.

It won't change much from what it currently is as the core fetching will still use api_bindium.


Added

  • added id to medias
  • add as_musicbrainz_error
  • deserialize musicbrainz errors
  • include score in more entities
  • multiple url fetching
  • added as_musicbrainz_error
  • Retry on connection resets
  • move from this_error to snafu
  • make client's reqwest client public
  • add ability to set reqwest_client at initialization to client
  • add abilty to set user_agent at initialization to client

Fixed

  • added SokojId work variant
  • removed old buggy tests
  • tests
  • ci lints
  • clippy lints
  • chrono reexport
  • missing backtrace in as_musicbrainz_error
  • Lints and replaced expects with returning a result

Other

  • more clippy lints
  • (lint) allow_attributes_without_reason
  • (lint) allow_attributes
  • (lint) std_instead_of_core
  • update api_bindium to 0.4.0
  • release plz fix 6
  • release plz fix 5
  • ci release plz fix 4
  • releaseplz fix 3
  • release plz fix2
  • add release-plz
  • add release-plz
  • Merge pull request #208 from RustyNova016/dependabot/cargo/main/hotpath-0.15.0
  • (deps) update hotpath requirement from 0.14.0 to 0.15.0
  • (deps) update snafu requirement from 0.8.9 to 0.9.0
  • (deps) update hotpath requirement from 0.12.0 to 0.13.0
  • (deps) update hotpath requirement from 0.9.0 to 0.12.0
  • update readme
  • edition
  • add features docs
  • removed empty config.rs
  • bump tracing
  • [breaking] move api request to api bindium
  • decompose browse request id
  • (deps) bump github/codeql-action from 3 to 4
  • Merge pull request #160 from RustyNova016/dependabot/github_actions/main/actions/checkout-5
  • clippy lints
  • cargo fmt
  • add more documentation to new_with_reqwest_client