- BREAKING: MQA, Sony 360 audio no longer supported July 24th 2024; removed references to these formats. - tehkillerbee
- Bugfix: Logical loop of is_encrypted / encryption_key - TooYoungTooSimp
- Tests: Added additional playlist, folder tests. - tehkillerbee
- Feature: Add support for playlist merging. - tehkillerbee
- Added trn to playlist object for convenience. - tehkillerbee
- Set limits from argument in all relevant methods. - tehkillerbee
- Feature: Use v2 endpoint for playlist creation. - tehkillerbee
- Feature: Add support for playlist folders (#181) - tehkillerbee
- Feature: Add track to user playlist, user tracks from ISRC (#96) - tehkillerbee
- Feature: Add optional fn_print to Session::login_session_file - GioF71
- Feature: Add support for moving playlist items (#116) - tehkillerbee
- Feature: Allow adding items multiple times to the same playlist - tehkillerbee
- Feature: Add support for adding items to a playlists at a specific position (#116) - tehkillerbee
- Feature: Set UserPlaylist public/private. Add method for getting public user playlists. - tehkillerbee
- Feature: Remove multiple items from UserPlaylist. (Fixes #259) - tehkillerbee
- Remove deprecated username/pass login method (Fixes #279) - tehkillerbee
- Populate the track/items.album attributes from the parent Album object. Updated tests (Fixes #281) - tehkillerbee
- Added clarifications to video_url method. Check video URLs for all available video qualities (Fixes #257) - tehkillerbee
- Tests: Fix all tests that previously failed. - tehkillerbee
- Use enum to specify default audio / video quality - tehkillerbee
- Bugfix: Recent TIDAL changes resulted in missing Mix not causing a ObjectNotFound exception. - tehkillerbee
- Bugfix: Ensure manifest.codecs always uses a Codec type for both MPD and BTS. - tehkillerbee
- Added additional tests to verify stream formats (Relates to #252) - tehkillerbee
- BREAKING: Fix naming of getters to align with python naming convention and avoid confusion (Fixes #255) - tehkillerbee
- Bugfix: Use correct internal type int for relevant IDs (Fixes #260) - tehkillerbee
- Bugfix: Fix linting for audio_modes. Update tests (Fixes #261) - tehkillerbee
- Feat.: Provide "Share Link", "Listen link" as an attribute to album/artist/media/playlist/. Update relevant tests (Fixes #266) - tehkillerbee
- Allow switching authentication method oauth/pkce for tests. Default: oauth - tehkillerbee
- Tests: Added track stream tests (BTS, MPD) - tehkillerbee
- Bugfix: Always use last element in segment timeline. (Fixes #273) - tehkillerbee
- Add method to get detailed request error response if an error occurred during request. - tehkillerbee
- Tests: Add tests tests for ISRC, barcode methods and cleanup exception handling. - tehkillerbee
- Feat.: Add support to get tracks by ISRC. - tehkillerbee, M4TH1EU
- Feat.: Add support to get albums by Barcode ID (UPC). - tehkillerbee, M4TH1EU
- Feat.: Add support for a custom base url in request() and basic_request() to use the new openapi. - M4TH1EU
- Fix: Set token type correctly for OAuth/PKCE authentication - tehkillerbee
- Revert to using enums with str support for relevant classes - tehkillerbee, exislow
- Removed return types from method names for consistency, added deprecation warnings - exislow
- Fix: Use wide image when no square picture is available. - tehkillerbee
- Feat.: Added HiRes page. - tehkillerbee
- Feat.: Handle missing Stream fields gracefully. Get stream audio resolution (bit depth, rate) as tuple. - tehkillerbee
- Feat.: Added misc helper functions for audio mode, get available audio mode for media. - tehkillerbee
- Feat.: Added misc. fields to album. Get audio resolution for album + individual tracks. - tehkillerbee
- Feat.: Added MPEG-DASH to HLS stream parsing, Added MPEG-DASH stream example. - tehkillerbee
- Set default artist IMG if missing. Use default album IMG URI instead of direct URL. - tehkillerbee
- Bugfix: Make sure is_pkce state is set when pkce_login_url() is used directly. - tehkillerbee
- Tests: Added misc tests for ObjectNotFound - tehkillerbee
- Error handling: Handle TooManyRequests exceptions gracefully. - tehkillerbee
- Error handling: Handle ObjectNotFound exceptions gracefully. - tehkillerbee
- Tests: Fix misc tests broken by Tidal. - tehkillerbee
- Bugfix: Fix pkce token refresh. - tehkillerbee
- Bugfix: Load/store PKCE state from file using wrong client_id. - tehkillerbee
- Feat.: Improved error handling (Missing albums, missing lyrics, missing track url etc.). - tehkillerbee
- Bugfix: Page Recursion into Categories. - quodrum-glas
- Load/store OAuth/PKCE session to file - tehkillerbee
- Add PKCE login for HiRes - exislow, arnesongit
- Include request response on error. Print as warning - tehkillerbee
- Fix tests - tehkillerbee
- Bugfixes (artist.get_similar) - tehkillerbee
- Favourite mixes refactoring - jozefKruszynski
- Add typings for Playlist, UserPlaylist, Pages - arusahni
- Update favorites.tracks to accept order and orderDirection params - Jimmyscene
- Official support for HI_RES FLAC quality - tehkillerbee
- Add helper functions to set audio/video quality for current session - tehkillerbee
- Added missing WELCOME_MIX MixType - tehkillerbee
- Various image bugfixes - tehkillerbee
- Add "for_you" page - tehkillerbee
- Various test, poetry bugfixes - 2e0byo
- Add typings for Artists and Users - arusahni
- Add media metadata - jozefKruszynski
- Add option to limit track radio length - jozefKruszynski
- Downgrade minimum required version of requests JoshMock
- (BREAKING!) Drop support for python3.8 and older
- Improved tests - 2e0byo
- Add type to album object - jozefKruszynski
- Add mix images and tests - jozefKruszynski
- Add mypy and fix immediate typing errors - arusahni
- New attribute to media.Track() class: 'full_name' - WilliamGuisan
- Fix Track.stream() method - ssnailed
- Fixed key error for gender when parsing user json - mkaufhol
- Drop (almost) all user data we don't use. - 2e0byo
- Add typing for media, genres, mixes, and albums - arusahni
- Replace TypedDict and NamedTuple with dataclasses - arusahni
- Fix circular Imports and Typing - PretzelVector
- Quick fix for "got key error 'picture'" error. - BlackLight
- Bring back Radio support - bjesus
- Added function for multiple deletions at once bloedboemmel
- Use UTC instead of local time for expiry_time lutzbuerkle
- (BREAKING!) Removed obsolete parameter session_id from load_oauth_session - lutzbuerkle
- (BREAKING!) Drop support for python2.7 - morguldir
- (BREAKING!) Change the architecture of the library to allow for using more files, see the migration guide - morguldir
- Add support for tidal pages (e.g. home, videos and explore in the web ui) - morguldir
- Add support for parsing mixes and retrieving the media - morguldir
- Get rid of the old genre and mood support, you can now find them in the pages instead - morguldir
- Update almost all of the json parsing and classes to include more fields - morguldir
- Add complete docstrings to many of the functions - morguldir
- Tests now cover almost all of the code - morguldir
- Pylint scores are now much higher - morguldir
- Add option to retrieve master quality tracks (I can't test this, but I believe it works as of writing) - morguldir
- Add a few documentation pages explaining the basics - morguldir
- Add support for modifying playlists - morguldir
- Add a parameter to always fetch the track album if it's not provided - divadsn
- Add function to retrieve the year and date from either the release data or the stream start date - divadsn
- Improve the performance of the internal get_items() function by using extend - BlackLight
- Properly deal with the api returning non-json results - BlackLight
- Add support for retrieving the reviews of an album - retired-guy
- Update the client secret - 1nikolas
- Use a track url endpoint compatible with the new secret - morguldir
- Update the client secret - morguldir
- Fix token_refresh() not correctly including the client secret - morguldir
- Support OAuth login through login_oauth_simple() and login_oauth() - morguldir
- Support loading an OAuth session through load_oauth_session() - morguldir
- Include more info when a request fails - morguldir
- Fix wimp images not resolving - ktnrg45
- Made the favorite playlists function also return created playlists - morguldir
- Update api token and slightly obfuscate it - morguldir
- Update api token - morguldir
- Add parameter to search() allowing for more results (up to 300) - morguldir
- Fix get_track_url() not returning anything - morguldir
- Fix quality options using enum names instead of values - morguldir
- Handle situations where tidal doesn't set the version tag - morguldir