diff --git a/CHANGELOG.md b/CHANGELOG.md index 30e8930..444cbf2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,17 +8,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added -- Added CONTRIBUTING.md + - Added CONTRIBUTING.md ### Changed -- Client retry logic has changed as it now uses urllib3's `Retry` in conjunction with requests `Session` -- The session is customizable as it allows for: + - Client retry logic has changed as it now uses urllib3's `Retry` in conjunction with requests `Session` + - The session is customizable as it allows for: - status_forcelist - retries - status_retries - backoff_factor -- Spin up a local webserver to auto-fill authentication URL + - Spin up a local webserver to auto-fill authentication URL + +### Fixed + + - Close session when Spotipy object is unloaded ## [2.10.0] - 2020-03-18 diff --git a/spotipy/client.py b/spotipy/client.py index f9b7831..66539d6 100644 --- a/spotipy/client.py +++ b/spotipy/client.py @@ -148,6 +148,11 @@ class Spotify(object): self._session.mount('http://', adapter) self._session.mount('https://', adapter) + def __del__(self): + """Make sure the connection (pool) gets closed""" + if isinstance(self._session, requests.Session): + self._session.close() + def _auth_headers(self): if self._auth: return {"Authorization": "Bearer {0}".format(self._auth)}