Releases: InputUsername/listenbrainz-rs
Releases · InputUsername/listenbrainz-rs
v0.8.1
v0.8.0
- Implemented additional API endpoints:
- Core:
/1/user/(user_name)/similar-users
-Client::user_similar_users
;/1/user/(user_name)/similar-to/(other_user_name)
-Client::user_similar_to
.
- Playlists:
/1/user/(playlist_user_name)/playlists
-Client::user_playlists
;/1/user/(playlist_user_name)/playlists/createdfor
-Client::user_playlists_created_for
;/1/user/(playlist_user_name)/playlists/collaborator
-Client::user_playlists_collaborator
;/1/playlist/(playlist_mbid)
-Client::get_playlist
(#19, @Kernald)./1/playlist/create
-Client::playlist_create
;/1/playlist/(playlist_mbid)/delete
-Client::playlist_delete
;/1/playlist/(playlist_mbid)/copy
-Client::playlist_copy
;
- Statistics:
/1/stats/release-group/(release_group_mbid)/listeners
-Client::release_group_listeners
(#23, @RustyNova016).
- Social:
/1/user/(user_name)/followers
-Client::user_followers
;/1/user/(user_name)/following
-Client::user_following
;/1/user/(user_name)/follow
-Client::user_follow
;/1/user/(user_name)/unfollow
-Client::user_unfollow
.
- Core:
- Added types for playlists in MusicBrainz's JSPF format.
- Added MBID mapping to
UserListensResponse
models (#24, @RustyNova016). - Derived
Clone
,PartialEq
,Eq
andSerialize
forraw
models (#26, #35, @RustyNova016). - Removed the
time_range
parameter fromClient::user_listens
(#24, @RustyNova016). - Updated attohttpc dependency from 0.24 to 0.28.
- Pinned the minimum supported Rust version (MSRV) to 1.58.
v0.7.0
- Raw request types are now generic over their string types (#14, @mgziminsky):
- This is a breaking change.
- Added the trait
StrType
which is implemented for all types that implementBorrow<str> + Serialize
; - Changed
SubmitListens<'a>
toSubmitListens<'a, Track: StrType, Artist: StrType, Release: StrType>
; - Changed
Payload<'a>
toPayload<Track: StrType, Artist: StrType, Release: StrType>
; - Changed
TrackMetadata<'a>
toTrackMetadata<Track: StrType, Artist: StrType, Release: StrType>
; - Added the
Empty
type, which can be used to disambiguate the type ofTrackMetadata::release
;- If the
release
field isNone
, useNone::<Empty>
.
- If the
- Changed
DeleteListen<'a>
toDeleteListen<T: StrType>
; - Changed
Client::submit_listens
toClient::submit_listens<Track: StrType, Artist: StrType, Release: StrType>
; - Changed
Client::delete_listen
toClient::delete_listen<T: StrType>
; - The
ListenBrainz
API remains unchanged.
- Changed
Client::new_with_url(url: &str)
toClient::new_with_url(url: impl ToString)
.
v0.6.0
- Updated response schemas to match the ListenBrainz API (#12, #13, @cellularnetwork):
- These are breaking changes.
user/{user_name}/playing-now
:- Added
UserPlayingNowPayload::playing_now
; - Added
UserPlayingNowListen::playing_now
; - Removed `UserPlayingNowListen::{user_name, inserted_at, recording_msid}.
- Added
user/{user_name}/listens
:- Changed the type of
UserListensListen::inserted_at
fromString
toi64
.
- Changed the type of
stats/sitewide/artists
:- Removed
StatsSitewideArtistsPayload::time_ranges
; - Added
StatsSitewideArtistsPayload::artists
; - Removed
StatsSitewideArtistsTimeRange
; - Removed
StatsSitewideArtistsArtist::artist_msid
.
- Removed
stats/user/{user_name}/artist-map
:- Changed the return type of
Client::stats_user_artist_map
fromResult<StatsUserArtistMapResponse, Error>
toResult<Option<StatsUserArtistMapResponse>, Error>
.
- Changed the return type of
users/{user_list}/recent-listens
:- Removed
Client::users_recent_listens
; - Removed
UsersRecentListensResponse
; - Removed
UsersRecentListensPayload
; - Removed
UsersRecentListensListen
; - Removed
UsersRecentListensTrackMetadata
; - Removed
examples/users_recent_listens.rs
.
- Removed
v0.5.0
- Made the
release
parameter ofListenBrainz
methods optional (#11, @mgziminsky).- This is a breaking change.
v0.4.3
- Updated attohttpc dependency.
v0.4.2
- Added the
ListenBrainz::import()
method to allow importing
listens at a specified timestamp.
v0.4.1
- Fixed a broken link in the documentation;
- Added the
api_url()
method toraw::Client
andListenBrainz
; - Implemented
Default
forraw::Client
andListenBrainz
;- Returns the same as
Client::new()
/ListenBrainz::new()
.
- Returns the same as
v0.4.0
v0.3.0
- Added rate limiting information to response types in the
rate_limit
field;- See the ListenBrainz API docs for more information on rate limiting.