Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial id type proposal #161

Merged
merged 61 commits into from Mar 7, 2021
Merged
Show file tree
Hide file tree
Changes from 11 commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
fcd9ace
initial id type proposal
kstep Nov 29, 2020
58e4c19
use strip_prefix() (clippy advice)
kstep Nov 29, 2020
c3e722e
add try_join() and map_try_join()
kstep Nov 29, 2020
24a61dc
remove itertools
kstep Dec 1, 2020
e79e9bb
rewrite try join
kstep Dec 1, 2020
f0d26bb
cleanup
kstep Dec 1, 2020
8155bc4
from for iderror
kstep Dec 1, 2020
158eb0b
fix try_join/map_try_join
kstep Dec 2, 2020
59eab11
remove map_try_join
kstep Dec 2, 2020
c4d0ef8
get show, shows, episodes methods use &str instead of String and vali…
kstep Dec 3, 2020
b74787e
update changelog
kstep Dec 3, 2020
3672eb3
use Display instead of AsRefStr for Type, FromStr for Type
kstep Dec 17, 2020
a21d3bb
rewrite from_uri()
kstep Dec 17, 2020
88ab887
add Id type docs
kstep Dec 17, 2020
3c3f3b2
use Id type for arguments (TOOD: tests)
kstep Dec 17, 2020
2d62cc2
update tests
kstep Dec 17, 2020
2ee414e
Merge branch 'master' into uri-type
kstep Dec 17, 2020
9f2bb10
fix lifetimes
kstep Dec 17, 2020
5cfdcc5
update examples
kstep Dec 17, 2020
9967f35
add IdError docs
kstep Dec 17, 2020
afe67f7
add idbuf owning type, use type-safe id parsing
kstep Dec 24, 2020
ae250f3
update docs, FromStr for IdBuf
kstep Dec 24, 2020
9ed6566
fix intermediate collect
kstep Dec 24, 2020
a5d6242
add TrackIdOrPos type, update docs
kstep Dec 24, 2020
ce55680
fix playlist_remove_specific_occurences_of_track method
kstep Dec 24, 2020
c574e06
remove ClientError::IdError error variant: everything's type-safe now
kstep Dec 24, 2020
c22c9a6
use iterator to build query
kstep Dec 24, 2020
f055e96
move id types into a idtypes module
kstep Dec 24, 2020
1197dba
simplify from_uri()
kstep Dec 24, 2020
e67126c
helper id type aliases
kstep Dec 24, 2020
e4dc911
use id types aliases
kstep Dec 24, 2020
b31d600
add owned aliases for ids
kstep Dec 25, 2020
458e729
more methods and better conversions for idbuf/id
kstep Dec 25, 2020
77e1d47
show/episode methods
kstep Dec 29, 2020
c8776fe
user methods use id types
kstep Dec 29, 2020
375f181
remove Join trait, update tests, playable id type marker
kstep Dec 29, 2020
d132280
lifetime fix
kstep Dec 29, 2020
e5481a8
make start_playback type-safe
kstep Dec 29, 2020
7281287
split start_playback method into two
kstep Dec 29, 2020
603ecc9
implement serialize/deserialize for id types
kstep Jan 12, 2021
0fe650f
simplify offset type and make it enum
kstep Jan 12, 2021
8587edf
simplify join_ids
kstep Jan 12, 2021
4efbe0c
make id types unsized
kstep Jan 13, 2021
8744b20
replace transmute with typecast
kstep Jan 13, 2021
d446895
Merge branch 'master' into uri-type
kstep Feb 26, 2021
51750c4
use macro to reduce boilerplate
kstep Feb 26, 2021
5069e08
fmt
kstep Feb 26, 2021
19b3a3d
reformat comments
kstep Feb 26, 2021
ebcb2d6
updated changelog
kstep Feb 26, 2021
5d8f9d2
reformat comments
kstep Feb 28, 2021
9e4adbd
type-safer offset ctor
kstep Feb 28, 2021
e241820
typo fix, deref for idbuf
kstep Feb 28, 2021
2403a68
more comments format
kstep Feb 28, 2021
6a56b97
fix test
kstep Feb 28, 2021
1174f04
fmt
kstep Feb 28, 2021
8ba5fbc
even more type safe offset
kstep Feb 28, 2021
81394ca
fix offset position type
kstep Mar 2, 2021
15e0c23
update docs and changelog
kstep Mar 4, 2021
0c5f702
fix docs typos
kstep Mar 7, 2021
11fc5b0
remove unsafe code
kstep Mar 7, 2021
141e6e0
better fix
kstep Mar 7, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Expand Up @@ -13,6 +13,7 @@ If we missed any change or there's something you'd like to discuss about this ve
+ Remove `itertools` dependency by using the standard library.
+ Remove `rand` in place of `getrandom` to [reduce total dependencies and compile times](https://github.com/ramsayleung/rspotify/issues/108#issuecomment-673587185).
+ Cleanup, reduced repetitive code and boilerplate internally in several places ([#117](https://github.com/ramsayleung/rspotify/pull/117), [#113](https://github.com/ramsayleung/rspotify/pull/113), [#107](https://github.com/ramsayleung/rspotify/pull/107), [#106](https://github.com/ramsayleung/rspotify/pull/106)).
+ Added internal zero-copy type for Spotify ids, reduced number of allocations/clones ([#161](https://github.com/ramsayleung/rspotify/pull/161)).
+ Updated dependencies to the latest versions, integrated Dependabot to keep track of them ([#105](https://github.com/ramsayleung/rspotify/pull/105), [#111](https://github.com/ramsayleung/rspotify/pull/111)).
- ([#145](https://github.com/ramsayleung/rspotify/pull/145)) Mark `SimplifiedEpisode.language` as deprecated.
- ([#145](https://github.com/ramsayleung/rspotify/pull/145)) Derive `PartialEq` and `Eq` for models:
Expand Down Expand Up @@ -131,6 +132,10 @@ If we missed any change or there's something you'd like to discuss about this ve
- `user_follow_users`
- `user_unfollow_users`
- `audios_features`
+ The endpoints which changes parameter from `String` to `&str`:
- `get_a_show`
- `get_an_episode`
- `get_shows_episodes`
- ([#128](https://github.com/ramsayleung/rspotify/pull/128)) Rename endpoints with more fitting name:
+ `audio_analysis` -> `track_analysis`
+ `audio_features` -> `track_features`
Expand Down Expand Up @@ -159,6 +164,7 @@ If we missed any change or there's something you'd like to discuss about this ve
+ Change `{FullArtist, FullPlaylist, PublicUser, PrivateUser}::followers` from `HashMap<String, Option<Value>>` to struct `Followers`
+ Replace `Actions::disallows` with a `Vec<DisallowKey>` by removing all entires whose value is false, which will result in a simpler API
+ Replace `{FullAlbum, SimplifiedEpisode, FullEpisode}::release_date_precision` from `String` to `DatePrecision` enum, makes it easier to use.
+ Added more strict validation for URI and id parameters everywhere, new error variant `ClientError::InvalidId(IdError)` for invalid input ids and URIs.

## 0.10 (2020/07/01)

Expand Down