All notable changes to the lastfm-rs
library will be documented in this file. This project adheres to the standards
set out by the Semantic Versioning specification.
NOTE: This changelog only covers 0.3.x onwards. 0.2.x were more of a starting foundation, and as such I don't see much point in detailing those releases.
- Support for the
track.getSimilar
endpoint. (thanks @PartialDragster! — PR #9)
- Restructuring of the various structure models, e.g.
Track
. NOTE: This will break anything currently using these models, as a lot of properties have been made Options, due to inconsistencies in the Last.fm API, but a simple fix for this should be just using.unwrap()
on these properties. (thanks @PartialDragster — PR #10) - Updated the
User
struct with new API fields. This struct still lacks certain fields likegender
andplaylists
as these API fields seem to always be empty or unset, and there is no way to create playlists or set your gender in the Last.fm interface.
- Updated dependencies to their latest versions.
Welcome to lastfm-rs
v0.5.0. It isn't a big update, however it is bigger than 0.4.2 in terms of changes. This release
pretty much just updates reqwest to version 0.11.x, which means that as of this release, lastfm-rs
is now based on Tokio
1.x. Recommended Tokio release as of this version is the latest 1.x version, which is version 1.4.0 at the time of me writing
this. A few other additions are included in this release too, including the addition of a couple deserialization tests.
The next release after this will probably focus on fleshing out the rest of the library, including support for more features of the Last.fm API.
- Introduced deserialization tests. (thanks @drklee3! — PR #5)
- Allow cloning, copying, etc on the
Period
enum. (thanks @drklee3 — PR #6)
- Updated dependencies to their latest versions, including the Tokio 1.x upgrade. (thanks @strohel — PR #7)
Fairly minor release today; only improving date formatting via chrono
and merging another model. No bug fixes are
in this release.
- Improved the formatting of dates throughout the library, adapting the use of the
chrono
date & time library. (thanks @drklee3! — PR #3!) - Merged the Date structs for LovedTracks and RecentTracks to be just one model under the main model file. This makes the model easier to update if Last.fm were to ever change or add anything to it.
- Fixed library version reference in the main library documentation block.
This release brings some significant improvements to the library's documentation. Prior to this release, this library had some pretty lackluster and incomplete documentation, so the aim for this release was to make an attempt to improve the documentation in a noticable way. Please note however that examples are still not present as of this release, however I intend on adding some examples in the near future with a later release. Anyways, onto the changelog!
- Dramatically improved documentation. No examples yet, this will be a focus for a future release.
- Moved a couple models to a file under
model
to reduce code duplication. - Renamed "total_tracks" and "playcount" to "scrobbles". This is the internal name used by Last.fm, so I figured that it makes a tad bit more sense to use Last.fm's naming scheme.
- Removed unnecessary serde_json use statemnet.
Only a minor release today with a few improvements and a bug fix.
- Added method to use predefined
reqwest
client (thanks @drklee3! — PR #1!) - Improved error handling (thanks again @drklee3! — PR #2)
display_name
in the UserInfo struct is no longer an Option.
Triple release! Adds async compatibility, renames the library internally, and also removes
an unused feature flag from reqwest
. This set of releases also drops support for synchronous
Rust in favor of an entirely async approach.
- Added async compatibility.
- Internally renamed the library from
rustfm
, the crate's prior name, tolastfm_rs
. - Removed the
blocking
feature flag from thereqwest
crate.