- Update to 2.25.1:
* Security
+ CVE-2025-27154 – Cache file permissions tightened: now 600 (user
read/write only) instead of 644, preventing unauthorized local access
to auth tokens (bsc#1238059)
* 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_artists to 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_seeds as deprecated
OBS-URL: https://build.opensuse.org/request/show/1249141
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-spotipy?expand=0&rev=15
* Security
+ CVE-2025-27154 – Cache file permissions tightened: now 600 (user
read/write only) instead of 644, preventing unauthorized local access
to auth tokens (bsc#1238059)
* 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_artists to 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_seeds as deprecated
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-spotipy?expand=0&rev=32
* 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.Retry` class for printing a warning when a rate/request limit is reached.
* Added `personalized_playlist.py`, `track_recommendations.py`, and `audio_features_analysis.py`
to `/examples`.
* Discord badge in README
* Added `SpotifyBaseException` and moved all exceptions to `exceptions.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
* 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.
* `mock` no longer listed as a test dependency. Only built-in `unittest.mock` is actually used.
- Use Python 3.11 on SLE-15 by default
- Switch build system from setuptools to pyproject.toml
* Add python-pip and python-wheel to BuildRequires
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-spotipy?expand=0&rev=30