Pyspotify

Latest version: v2.1.4

Safety actively analyzes 685838 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 3

2.0.5

===================

Bug fix release.

- To follow up on the previous release, the getters for the proxy configs now
convert empty strings in the ``sp_session_config`` struct back to
:class:`None`. Thus, the need to set these configs to empty strings in the
struct to make sure the cached settings are cleared from disk are now an
internal detail, hidden from the user of pyspotify.

- Make :attr:`~spotify.Config.tracefile` default to :class:`None` and set to
``NULL`` in the libspotify config struct. If it is set to an empty string by
default, libspotify will try to use a file with an empty filename for cache
and fail with "LibError: Unable to open trace file". Now empty strings are
set as ``NULL`` in the ``sp_session_config`` struct. (Fixes: :ms-issue:`70`)

- libspotify segfaults if the ``device_id`` config is set to an empty string.
We now avoid this segfault if :attr:`~spotify.Config.device_id` is set to an
empty string by setting the ``device_id`` field in libspotify's
``sp_session_config`` struct to ``NULL`` instead.

- As some test tools (like coverage.py 4.0) no longer support Python 3.2, we no
longer test pyspotify on Python 3.2. Though, we have not done anything to
intentionally break support for Python 3.2 ourselves.

2.0.4

===================

Bug fix release.

- It has been observed that libspotify will reuse cached proxy settings from
previous sessions if the proxy fields on the ``sp_session_config`` struct are
set to ``NULL``. When the ``sp_session_config`` fields are set to an empty
string, the cached settings are updated. When attributes on
:class:`spotify.Config` are set to :class:`None`, we now set the fields on
``sp_session_config`` to empty strings instead of ``NULL``.

2.0.3

===================

Bug fix release.

- Make moving a playlist to its own location a no-op instead of causing an
error like libspotify does. (Fixes: :issue:`175`)

- New better installation instructions. (Fixes: :issue:`174`)

2.0.2

===================

Bug fix release.

- Use ``sp_session_starred_for_user_create(session, username)`` instead of
``sp_playlist_create(session, link)`` to get starred playlists by URI. The
previous approach caused segfaults under some circumstances. (Fixes:
:ms-issue:`60`)

2.0.1

===================

Bug fix release.

- Make :meth:`spotify.Session.get_playlist` acquire the global lock before
modifying the global playlist cache.

- Make :class:`~spotify.Playlist` and :class:`~spotify.PlaylistContainer`
register callbacks with libspotify if and only if a Python event handler is
added to the object. Previously, we always registered the callbacks with
libspotify. Hopefully, this will remove the preconditions for the crashes in
:issue:`122`, :issue:`153`, and :issue:`165`.

2.0.0

===================

pyspotify 2.x is a full rewrite of pyspotify. While pyspotify 1.x is a
CPython C extension, pyspotify 2.x uses `CFFI
<https://cffi.readthedocs.io/>`__ to wrap the libspotify C library. It works
on CPython 2.7 and 3.2+, as well as PyPy 2.6+. pyspotify 2.0 makes 100% of the
libspotify 12.1.51 API available from Python, going far beyond the API coverage
of pyspotify 1.x.

The following are the changes since pyspotify 2.0.0b5.

Dependency changes
------------------

- Require cffi >= 1.0. (Fixes: :issue:`133`, :issue:`160`)

- If you're using pyspotify with PyPy you need version 2.6 or newer as older
versions of PyPy come with a too old cffi version. For PyPy3, you'll probably
need the yet to be released PyPy3 2.5.

ALSA sink
---------

- Changed the :class:`spotify.AlsaSink` keyword argument ``card`` to ``device``
to align with pyalsaaudio 0.8.

- Updated to work with pyalsaaudio 0.8 which changed the signature of
:class:`alsaaudio.PCM`. :class:`spotify.AlsaSink` still works with
pyalsaaudio 0.7, but 0.8 is recommended at least for Python 3 users, as it
fixes a memory leak present on Python 3 (see :issue:`127`). (Fixes:
:issue:`162`)

Page 2 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.