Hello everyone! I'm the new maintainer of this crate. Over the past year I have been maintaining a fork of the crate over at musicbrainz_rs_nova
, and unlike dotenvy
, this fork has been merged back into the original!
I'm also working on two other musicbrainz crates based on this one (Alistral and musicbrainz_db_lite), so I will keep working on it for a long time.
So, after 2 years, here's update 0.9.0! (Continuing from the version numbers of musicbrainz_rs_nova
)
Changelog
Models
- Added pagination to search
- All the structs are able to be serialized back into the original api response.
- You can restore the behaviour with the
legacy_serialize
feature, however it will be removed in the future - It may not be the exact same values, as there might still have some missing fields that are hard to notice. If there's one missing, please make an issue!
- You can restore the behaviour with the
- Lots of missing fields have been added.
- Fixed browse and fetch requests's includes. If there's still some missing, please make a issue.
Client
- Added
MusicbrainzClient
. This is a client that holds all the configurations for the requests. It allows setting:- The URL of the musicbrainz server
- The cover art archive url
- The user agent
- The number of max retries
- The reqwest client
- The ratelimiter
- A new ratelimiter has been introduced, allowing 1requests per seconds, with bursts of 5 requests by default. Requires the
rate_limit
feature
Fixes:
- Cover art errors are propagated upstream
- "Not found" errors are properly set into an error struct instead of failing to deserialise
Crate:
- Brought the MSRV up to 1.71.1 due to dependencies changing the MSRV in minor versions.
- Changed edition to 2021 as the MSRV is higher than the last 2018 edition.
How to update from 0.5.0
This version is a direct continuation of the musicbrainz_rs_nova
crate. If you are using musicbrainz_rs
0.5.0, you can temporarily use versions from musicbrainz_rs_nova
to incrementally update.
You can use this to load musicbrainz_rs_nova
as musicbrainz_rs
:
# Incremental migration of musicbrainz_rs through musicbrainz_rs_nova
musicbrainz_rs = { version = "0.6.0", package = "musicbrainz_rs_nova" }
How to update from musicbrainz_rs_nova
0.8.0
You can easily alias the crate like so:
musicbrainz_rs_nova = { version = "0.9.0", package = "musicbrainz_rs" }