-
Improvements to packaging of sample projects, including an updated
USER_HEADER_SEARCH_PATHS
setting that allows archiving of iOS projects. -
Large rewrite of the library's internal threading. This shouldn't affect your project, but please test your application thoroughly before releasing with this version.
-
Add to and document threading helper macros.
-
Improve
SPCoreAudioController
andSPCircularBuffer
, fixing a bug that could result in corrupted audio playback. -
-[SPSession -trackForTrackStruct:]
no longer crashes on aNULL
struct. -
Improved unit tests to never hang during run, and to accept an appkey at the command line.
-
Other minor improvements and fixes.
-
Fix potential crash in
[SPSession -logout:]
. -
Set
[SPPlaylistItem -unread]
correctly (GitHub issue #98). -
Fix potential race in
[SPImage -startLoading]
that could allow the image to be loaded multiple times. -
Add property to control dismissal of
SPLoginViewController
. -
Fix login breakage when merging accounts on iOS.
-
Increase robustness of
[SPTrack -dealloc]
. -
Greatly improve iOS unit tests, including a UI to see test progress.
-
Fix KVO chaining in
SPToplist
that would causeSPAsyncLoading
to time out even though the top list had loaded. -
The
subscribers
property ofSPPlaylist
is now set correctly.
-
Fix problem in playlist callbacks that could cause a crash (GitHub issue #88).
-
availability
property onSPTrack
is now updated correctly (GitHub issue #83). -
SPToplist now correctly behaves when being used with
SPAsyncLoading
. -
Add
[SPSession -subscribeToPlaylist:callback:]
(GitHub issue #67). -
Add
[SPSession -objectRepresentationForSpotifyURL:linkType:]
. -
Fix race condition that could cause incorrect state for a short period of time after login (GitHub issue #62, perhaps others).
- First release under semantic versioning. Contains a few buxfixes and changes since 2.0.
-
Huge re-engineering of CocoaLibSpotify to run libspotify in its own background thread. This has brought on a large set of API changes, and you must now be aware of potential threading issues. See the project's README file for more information.
-
Added small and large cover images to
SPAlbum
, as well assmallestAvailableCover
andlargestAvailableCover
convenience methods. -
Added
fetchLoginUserName:
method toSPSession
to get the username used to log into the current session. This also fixes[SPSessionDelegate -session:didGenerateLoginCredentials:forUserName]
giving an incorrect username for users logging in with Facebook details. -
Added the ability to control scrobbling to various social services, including Last.fm and the user's connected Facebook account.
-
Added
SPAsyncLoading
andSPDelayableAsyncLoading
, a new way of working with objects that load asynchonously. If you passSPAsyncLoadingManual
to[SPSession -initWithApplicationKey:userAgent:loadingPolicy:error:]
, anything conforming toSPDelayableAsyncLoading
(such as user playlists, etc) won't be loaded until you want them to load. See the README file and sample projects for examples. -
Added a number of unit tests.
-
SPSearch can now search for playlists.
-
SPSearch can now do a "live search", appropriate for showing a "live search" menu when the user is typing. See
[SPSearch +liveSearchWithSearchQuery:inSession:]
for details. -
Added
[SPTrack -playableTrack]
. Use this to get the actual track that will be played instead of the receiver if the receiver is unplayable in the user's locale. Normally, your application does not need to worry about this but the method is here for completeness. -
Added the
topTracks
property toSPArtistBrowse
. All browse modes fill in this property, and thetracks
property has been deprecated and will be removed in a future release. -
Added
[SPSession -attemptLoginWithUserName:existingCredential:rememberCredentials:]
and[<SPSessionDelegate> -session:didGenerateLoginCredentials:forUserName:]
. Every time a user logs in you'll be given a safe credential "blob" to store as you wish (no encryption is required). This blob can be used to log the user in again. Use this if you want to save login details for multiple users. -
Added
[SPSession -flushCaches]
, appropriate for use when iOS applications go into the background. This will ensure libspotify's caches are flushed to disk so saved logins and so on will be saved. -
Added the
audioDeliveryDelegate
property toSPSession
, which conforms to the<SPSessionAudioDeliveryDelegate>
protocol, which allows you more freedom in your audio pipeline. The new protocol also uses standard Core Audio types to ease integration. -
Added SPLoginViewController to the iOS library. This view controller provides a Spotify-designed login and signup flow.