-
2.25.2 Stable
released this
2025-11-26 23:16:13 +03:00 | 6 commits to master since this release📅 Originally published on GitHub: Wed, 26 Nov 2025 20:22:32 GMT
🏷️ Git tag created: Wed, 26 Nov 2025 20:16:13 GMTSecurity
- CVE-2025-66040 – HTML for OAuth flow now sanitized: prevents potential XSS attacks (by @yueyueL)
- Upgrade if you run spotipy with the default OAuth flow (uses a local HTTP server as a callback method)
Added
- Adds
additional_typesparameter to retrieve currently playing episode - Add deprecation warnings to documentation
Fixed
- Fixed dead link in README.md
- Corrected Spotify/Spotipy typo in documentation
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
2.25.1 Stable
released this
2025-02-27 10:30:09 +03:00 | 19 commits to master since this release📅 Originally published on GitHub: Thu, 27 Feb 2025 07:46:36 GMT
🏷️ Git tag created: Thu, 27 Feb 2025 07:30:09 GMTSecurity
- CVE-2025-27154 – Cache file permissions tightened: now
600(user read/write only) instead of644, preventing unauthorized local access to auth tokens (by @alichtman)- Upgrade if you run spotipy in a multi-user environment, manage multiple users' auth tokens, or need better protection against local unauthorized access; not required if you're the only user and your home directory is private.
Added
- Added examples for audiobooks, shows and episodes methods to examples directory
Fixed
- Fixed scripts in examples directory that didn't run correctly
- Updated documentation for
Client.current_user_top_artiststo indicate maximum number of artists limit
Changed
- Updated get_cached_token and save_token_to_cache methods to utilize Python's Context Management Protocol
- Added except clause to get_cached_token method to handle json decode errors
- Added warnings and updated docs due to Spotify's deprecation of HTTP and "localhost" redirect URIs
- Use newer string formatters (https://pyformat.info)
- Marked
recommendation_genre_seedsas deprecated
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- CVE-2025-27154 – Cache file permissions tightened: now
-
2.25.0 Stable
released this
2025-01-03 15:30:08 +03:00 | 36 commits to master since this release📅 Originally published on GitHub: Fri, 03 Jan 2025 12:33:37 GMT
🏷️ Git tag created: Fri, 03 Jan 2025 12:30:08 GMTAdded
- Added unit tests for queue functions
- Added detailed function docstrings to 'util.py', including descriptions and special sections that lists arguments, returns, and raises.
- Updated order of instructions for Python and pip package manager installation in TUTORIAL.md
- Updated TUTORIAL.md instructions to match current layout of Spotify Developer Dashboard
- Added test_artist_id, test_artist_url, and test_artists_mixed_ids to non_user_endpoints test.py
- Added rate/request limit to FAQ
- Added custom
urllib3.Retryclass for printing a warning when a rate/request limit is reached. - Added
personalized_playlist.py,track_recommendations.py, andaudio_features_analysis.pyto/examples. - Discord badge in README
- Added
SpotifyBaseExceptionand moved all exceptions toexceptions.py - Marked the following methods as deprecated:
- artist_related_artists
- recommendations
- audio_features
- audio_analysis
- featured_playlists
- category_playlists
- Added FAQ entry for inaccessible playlists
Fixed
- Audiobook integration tests
- Edited docstrings for certain functions in client.py for functions that are no longer in use and have been replaced.
current_user_unfollow_playlist()now supports playlist IDs, URLs, and URIs rather than previously where it only supported playlist IDs.
Removed
mockno longer listed as a test dependency. Only built-inunittest.mockis actually used.
Full Changelog: https://github.com/spotipy-dev/spotipy/compare/2.24.0...2.25.0
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
2.24.0 Stable
released this
2024-05-31 00:06:13 +03:00 | 58 commits to master since this release📅 Originally published on GitHub: Thu, 30 May 2024 21:17:56 GMT
🏷️ Git tag created: Thu, 30 May 2024 21:06:13 GMTAdded
- Added
MemcacheCacheHandler, a cache handler that stores the token info using pymemcache. - Added support for audiobook endpoints:
get_audiobook,get_audiobooks, andget_audiobook_chapters. - Added integration tests for audiobook endpoints.
- Added
updatefield tocurrent_user_follow_playlist.
Changed
- Fixed error obfuscation when Spotify class is being inherited and an error is raised in the Child's
__init__ - Replaced
artist_albums(album_type=...)withartist_albums(include_groups=...)due to an API change. - Updated
_regex_spotify_urlto ignore/intl-<countrycode>in Spotify links - Improved README, docs and examples
Fixed
- Readthedocs build
- Split
test_current_user_save_and_save_tracksunit test
Full Changelog: https://github.com/spotipy-dev/spotipy/compare/2.23.0...2.24.0
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Added
-
2.23.0 Stable
released this
2023-04-07 20:36:17 +03:00 | 100 commits to master since this release📅 Originally published on GitHub: Fri, 07 Apr 2023 17:46:10 GMT
🏷️ Git tag created: Fri, 07 Apr 2023 17:36:17 GMTAdded
- Added optional
encoder_clsargument toCacheFileHandler, which overwrite default encoder for token before writing to disk https://github.com/spotipy-dev/spotipy/pull/941 by @shawncruz - Integration tests for searching multiple types in multiple markets (non-user endpoints) https://github.com/spotipy-dev/spotipy/pull/901 by @rngolam
- Publish to PyPI action https://github.com/spotipy-dev/spotipy/pull/958 by @stephanebruckert
Fixed
- Fixed CVE-2023-23608 regex for matching playlist URIs with the format
spotify:user:USERNAME:playlist:PLAYLISTIDhttps://github.com/spotipy-dev/spotipy/pull/949 by @ludwigjo search_marketsnow factors the counts of all types in thetotalrather than just the first type (#534) https://github.com/spotipy-dev/spotipy/pull/901 by @rngolam
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Added optional
-
2.22.1 Stable
released this
2023-01-23 22:00:55 +03:00 | 108 commits to master since this release📅 Originally published on GitHub: Mon, 23 Jan 2023 19:39:44 GMT
🏷️ Git tag created: Mon, 23 Jan 2023 19:00:55 GMTFixed
- CVE-2023-23608: fixed path traversal vulnerability that may lead to type confusion in URI handling code. Can prevent a potential XSS attack.
- Upgrade if your app is user-facing and it allows user inputs for any type of Spotify IDs/URIs/URLs that may be forwarded to the Spotify API. Thanks to @Shaderbug for finding and fixing this bug
github.com/spotipy-dev/spotipy@b1db0b63d9
- Upgrade if your app is user-facing and it allows user inputs for any type of Spotify IDs/URIs/URLs that may be forwarded to the Spotify API. Thanks to @Shaderbug for finding and fixing this bug
Changed
- Modified docstring for deprecated
playlist_add_items()to accept "only URIs or URLs", with intended fix for IDs in v3.- The bug still exists for developers dealing with episodes IDs rather than just track IDs. However it is recommended to use the new
playlist_add_tracks()orplaylist_add_episodes()if dealing with episodes or simply to avoid confusion. See https://github.com/spotipy-dev/spotipy/pull/919 by @oliveraw for context
- The bug still exists for developers dealing with episodes IDs rather than just track IDs. However it is recommended to use the new
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- CVE-2023-23608: fixed path traversal vulnerability that may lead to type confusion in URI handling code. Can prevent a potential XSS attack.
-
2.22.0 Stable
released this
2022-12-10 18:31:47 +03:00 | 119 commits to master since this release📅 Originally published on GitHub: Sat, 10 Dec 2022 16:03:08 GMT
🏷️ Git tag created: Sat, 10 Dec 2022 15:31:47 GMTAdded
- Integration tests via GHA (non-user endpoints)
- Unit tests for new releases, passing limit parameter with minimum and maximum values of 1 and 50
- Unit tests for categories, omitting country code to test global releases
- Added
CODE_OF_CONDUCT.md
Fixed
- Incorrect
category_idinput for test_category - Assertion value for
test_categories_limit_lowandtest_categories_limit_high - Pin Github Actions Runner to Ubuntu 20 for Py27
- Fixed potential error where
foundvariable intest_artist_related_artistsis undefined if for loop never evaluates to true - Fixed false positive test
test_new_releaseswhich looks up the wrong property of the JSON response object and always evaluates to true
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
2.21.0 Stable
released this
2022-10-27 01:03:42 +03:00 | 133 commits to master since this release📅 Originally published on GitHub: Sat, 29 Oct 2022 11:56:58 GMT
🏷️ Git tag created: Wed, 26 Oct 2022 22:03:42 GMTAdded
- Added
marketparameter toalbumandalbumsto address #753 by @ivyadam - Added 'show_featured_artists.py' to 'examples'.
- Expanded contribution and license sections of the documentation.
- Added
FlaskSessionCacheHandler, a cache handler that stores the token info in a flask session. - Added Python 3.10 in GitHub Actions
Fixed
- Updated the documentation to specify ISO-639-1 language codes.
- Fix
AttributeErrorfortextattribute of theResponseobject, https://github.com/spotipy-dev/spotipy/pull/811 by @rtcq - Require redis v3 if python2.7 (fixes readthedocs)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Added
-
2.20.0 Stable
released this
2022-06-19 00:59:37 +03:00 | 151 commits to master since this release📅 Originally published on GitHub: Sat, 18 Jun 2022 22:12:42 GMT
🏷️ Git tag created: Sat, 18 Jun 2022 21:59:37 GMTAdded
- Added
RedisCacheHandler, a cache handler that stores the token info in Redis. - Changed URI handling in
client.Spotify._get_id()to remove qureies if provided by error. - Added a new parameter to
RedisCacheHandlerto allow custom keys (instead of the defaulttoken_infokey) - Simplify check for existing token in
RedisCacheHandler
Changed
- Removed Python 3.5 and added Python 3.9 in Github Action
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Added
-
2.19.0 Stable
released this
2021-08-12 13:27:26 +03:00 | 160 commits to master since this release📅 Originally published on GitHub: Thu, 12 Aug 2021 10:29:45 GMT
🏷️ Git tag created: Thu, 12 Aug 2021 10:27:26 GMTAdded
- Added
MemoryCacheHandler, a cache handler that simply stores the token info in memory as an instance attribute of this class. - If a network request returns an error status code but the response body cannot be decoded into JSON, then fall back on decoding the body into a string.
- Added
DjangoSessionCacheHandler, a cache handler that stores the token in the session framework provided by Django. Web apps using spotipy with Django can directly use this for cache handling.
Fixed
- Fixed a bug in
CacheFileHandler.__init__: The documentation says that the username will be retrieved from the environment, but it wasn't. - Fixed a bug in the initializers for the auth managers that produced a spurious warning message if you provide a cache handler and you set a value for the "SPOTIPY_CLIENT_USERNAME" environment variable.
- Use generated MIT license and fix license type in
pip show
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Added
mirror of
https://github.com/spotipy-dev/spotipy.git
synced 2026-04-26 08:05:55 +03:00