diff --git a/CHANGELOG.md b/CHANGELOG.md
index 41ed00b..6b7efa4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,14 @@
 # Changelog
 
+## Spotify iOS SDK v2.0.0
+
+What's New:
+- Added a completionHandler to authorizeAndPlayURI API
+- Support for pinned items in Your Library
+- Fix crash NSRangeException -[NSConcreteMutableData replaceBytesInRange:withBytes:length:]:
+- Fix umbrela header warnings in SpotifyiOS.xcframework
+- Bumped the min deployment target version to iOS 12.0
+
 ## Spotify iOS SDK v1.2.5
 
 What's New:
diff --git a/DemoProjects/NowPlayingView/NowPlayingView.xcodeproj/project.pbxproj b/DemoProjects/NowPlayingView/NowPlayingView.xcodeproj/project.pbxproj
index 88b1859..a39df09 100644
--- a/DemoProjects/NowPlayingView/NowPlayingView.xcodeproj/project.pbxproj
+++ b/DemoProjects/NowPlayingView/NowPlayingView.xcodeproj/project.pbxproj
@@ -19,7 +19,6 @@
 		F4F973F51CAD60320036411D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F4F973F31CAD60320036411D /* Main.storyboard */; };
 		F4F973F71CAD60320036411D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F4F973F61CAD60320036411D /* Assets.xcassets */; };
 		F4F973FA1CAD60320036411D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F4F973F81CAD60320036411D /* LaunchScreen.storyboard */; };
-		F4F974051CAD60C60036411D /* host.entitlements in Resources */ = {isa = PBXBuildFile; fileRef = F4F974041CAD60C60036411D /* host.entitlements */; };
 		F6EB42E11D2BB01100F57322 /* ContentItemCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6EB42E01D2BB01100F57322 /* ContentItemCell.swift */; };
 		F6EB42E31D2BB0D800F57322 /* ContentCollectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6EB42E21D2BB0D800F57322 /* ContentCollectionViewController.swift */; };
 /* End PBXBuildFile section */
@@ -52,7 +51,6 @@
 		F4F973F61CAD60320036411D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
 		F4F973F91CAD60320036411D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
 		F4F973FB1CAD60320036411D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
-		F4F974041CAD60C60036411D /* host.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = host.entitlements; sourceTree = "<group>"; };
 		F4F974081CAD62D40036411D /* NowPlayingView-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NowPlayingView-Bridging-Header.h"; sourceTree = "<group>"; };
 		F6EB42E01D2BB01100F57322 /* ContentItemCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContentItemCell.swift; sourceTree = "<group>"; };
 		F6EB42E21D2BB0D800F57322 /* ContentCollectionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContentCollectionViewController.swift; sourceTree = "<group>"; };
@@ -100,7 +98,6 @@
 				F4F973F31CAD60320036411D /* Main.storyboard */,
 				F4F973F81CAD60320036411D /* LaunchScreen.storyboard */,
 				F4F973FB1CAD60320036411D /* Info.plist */,
-				F4F974041CAD60C60036411D /* host.entitlements */,
 				F4F974081CAD62D40036411D /* NowPlayingView-Bridging-Header.h */,
 				99A0FFE31D38F9B600A90453 /* PlaybackButtonGraphics.swift */,
 				998FF9BD1D3E54AC003E339B /* ConnectionStatusIndicatorView.swift */,
@@ -144,8 +141,9 @@
 		F4F973E41CAD60320036411D /* Project object */ = {
 			isa = PBXProject;
 			attributes = {
+				BuildIndependentTargetsInParallel = YES;
 				LastSwiftUpdateCheck = 0720;
-				LastUpgradeCheck = 1020;
+				LastUpgradeCheck = 1510;
 				ORGANIZATIONNAME = Spotify;
 				TargetAttributes = {
 					F4F973EB1CAD60320036411D = {
@@ -187,7 +185,6 @@
 			buildActionMask = 2147483647;
 			files = (
 				F4F973FA1CAD60320036411D /* LaunchScreen.storyboard in Resources */,
-				F4F974051CAD60C60036411D /* host.entitlements in Resources */,
 				F4F973F71CAD60320036411D /* Assets.xcassets in Resources */,
 				F4F973F51CAD60320036411D /* Main.storyboard in Resources */,
 			);
@@ -238,6 +235,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
 				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
 				CLANG_CXX_LIBRARY = "libc++";
@@ -257,6 +255,7 @@
 				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
 				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
 				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
 				CLANG_WARN_STRICT_PROTOTYPES = YES;
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -269,6 +268,7 @@
 				ENABLE_BITCODE = NO;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
 				ENABLE_TESTABILITY = YES;
+				ENABLE_USER_SCRIPT_SANDBOXING = YES;
 				FRAMEWORK_SEARCH_PATHS = ../..;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_DYNAMIC_NO_PIC = NO;
@@ -297,6 +297,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
 				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
 				CLANG_CXX_LIBRARY = "libc++";
@@ -316,6 +317,7 @@
 				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
 				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
 				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
 				CLANG_WARN_STRICT_PROTOTYPES = YES;
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -328,6 +330,7 @@
 				ENABLE_BITCODE = NO;
 				ENABLE_NS_ASSERTIONS = NO;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_USER_SCRIPT_SANDBOXING = YES;
 				FRAMEWORK_SEARCH_PATHS = ../..;
 				GCC_C_LANGUAGE_STANDARD = gnu99;
 				GCC_NO_COMMON_BLOCKS = YES;
diff --git a/DemoProjects/NowPlayingView/NowPlayingView.xcodeproj/xcshareddata/xcschemes/Demo Projects - NowPlayingView.xcscheme b/DemoProjects/NowPlayingView/NowPlayingView.xcodeproj/xcshareddata/xcschemes/Demo Projects - NowPlayingView.xcscheme
index 1a9b917..69c70f8 100644
--- a/DemoProjects/NowPlayingView/NowPlayingView.xcodeproj/xcshareddata/xcschemes/Demo Projects - NowPlayingView.xcscheme	
+++ b/DemoProjects/NowPlayingView/NowPlayingView.xcodeproj/xcshareddata/xcschemes/Demo Projects - NowPlayingView.xcscheme	
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "1020"
+   LastUpgradeVersion = "1510"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
@@ -27,8 +27,6 @@
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       shouldUseLaunchSchemeArgsEnv = "YES">
-      <Testables>
-      </Testables>
       <MacroExpansion>
          <BuildableReference
             BuildableIdentifier = "primary"
@@ -38,8 +36,8 @@
             ReferencedContainer = "container:NowPlayingView.xcodeproj">
          </BuildableReference>
       </MacroExpansion>
-      <AdditionalOptions>
-      </AdditionalOptions>
+      <Testables>
+      </Testables>
    </TestAction>
    <LaunchAction
       buildConfiguration = "Debug"
@@ -61,8 +59,6 @@
             ReferencedContainer = "container:NowPlayingView.xcodeproj">
          </BuildableReference>
       </BuildableProductRunnable>
-      <AdditionalOptions>
-      </AdditionalOptions>
    </LaunchAction>
    <ProfileAction
       buildConfiguration = "Release"
diff --git a/DemoProjects/NowPlayingView/NowPlayingView/ConnectionStatusIndicatorView.swift b/DemoProjects/NowPlayingView/NowPlayingView/ConnectionStatusIndicatorView.swift
index 15e2dd1..58f5be7 100644
--- a/DemoProjects/NowPlayingView/NowPlayingView/ConnectionStatusIndicatorView.swift
+++ b/DemoProjects/NowPlayingView/NowPlayingView/ConnectionStatusIndicatorView.swift
@@ -39,9 +39,7 @@ class ConnectionStatusIndicatorView : UIView {
         }
         
         let size = self.bounds.size
-        let path = CGMutablePath()
-        
-        path.__addRoundedRect(transform: nil, rect: self.bounds, cornerWidth: size.width/2, cornerHeight: size.height/2)
+        let path = CGPath(roundedRect: self.bounds, cornerWidth: size.width/2, cornerHeight: size.height/2, transform: nil)
         context.addPath(path)
         
         context.setFillColor(fillColor())
diff --git a/DemoProjects/NowPlayingView/NowPlayingView/ContentCollectionViewController.swift b/DemoProjects/NowPlayingView/NowPlayingView/ContentCollectionViewController.swift
index 5cfa94d..883eab6 100644
--- a/DemoProjects/NowPlayingView/NowPlayingView/ContentCollectionViewController.swift
+++ b/DemoProjects/NowPlayingView/NowPlayingView/ContentCollectionViewController.swift
@@ -71,10 +71,11 @@ class ContentCollectionViewController : UICollectionViewController, UICollection
 
         cell.imageView.image = nil
         appRemote?.imageAPI?.fetchImage(forItem: item, with: scaledSizeForCell(cell)) { (image, error) in
-            // If the cell hasn't been reused
-            if cell.titleLabel.text == item.title {
-                cell.imageView?.image = image as? UIImage
+            guard let image = image as? UIImage, error == nil,
+                  let cell = collectionView.cellForItem(at: indexPath) as? ContentItemCell else {
+                return
             }
+            cell.imageView?.image = image
         }
 
         return cell
diff --git a/DemoProjects/NowPlayingView/NowPlayingView/ViewController.swift b/DemoProjects/NowPlayingView/NowPlayingView/ViewController.swift
index 37f336b..fc0035a 100644
--- a/DemoProjects/NowPlayingView/NowPlayingView/ViewController.swift
+++ b/DemoProjects/NowPlayingView/NowPlayingView/ViewController.swift
@@ -59,7 +59,7 @@ class ViewController: UIViewController {
         self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: connectionIndicatorView)
         connectionIndicatorView.frame = CGRect(origin: CGPoint(), size: CGSize(width: 20,height: 20))
 
-        playPauseButton.setTitle("", for: UIControl.State.normal);
+        playPauseButton.setTitle("", for: UIControl.State.normal)
         playPauseButton.setImage(PlaybackButtonGraphics.playButtonImage(), for: UIControl.State.normal)
         playPauseButton.setImage(PlaybackButtonGraphics.playButtonImage(), for: UIControl.State.highlighted)
 
@@ -104,7 +104,7 @@ class ViewController: UIViewController {
 
         if (!enabled) {
             albumArtImageView.image = nil
-            updatePlayPauseButtonState(true);
+            updatePlayPauseButtonState(true)
         }
     }
 
@@ -120,19 +120,19 @@ class ViewController: UIViewController {
 
     private func updatePodcastSpeed(speed: SPTAppRemotePodcastPlaybackSpeed) {
         currentPodcastSpeed = speed
-        podcastSpeedButton.setTitle(String(format: "%0.1fx", speed.value.floatValue), for: .normal);
+        podcastSpeedButton.setTitle(String(format: "%0.1fx", speed.value.floatValue), for: .normal)
     }
 
     // MARK: Player State
     private func updatePlayPauseButtonState(_ paused: Bool) {
         let playPauseButtonImage = paused ? PlaybackButtonGraphics.playButtonImage() : PlaybackButtonGraphics.pauseButtonImage()
-        playPauseButton.setImage(playPauseButtonImage, for: UIControl.State())
+        playPauseButton.setImage(playPauseButtonImage, for: .normal)
         playPauseButton.setImage(playPauseButtonImage, for: .highlighted)
     }
 
     private func updatePlayerStateSubscriptionButtonState() {
         let playerStateSubscriptionButtonTitle = subscribedToPlayerState ? "Unsubscribe" : "Subscribe"
-        playerStateSubscriptionButton.setTitle(playerStateSubscriptionButtonTitle, for: UIControl.State())
+        playerStateSubscriptionButton.setTitle(playerStateSubscriptionButtonTitle, for: .normal)
     }
 
     // MARK: Capabilities
@@ -142,7 +142,7 @@ class ViewController: UIViewController {
 
     private func updateCapabilitiesSubscriptionButtonState() {
         let capabilitiesSubscriptionButtonTitle = subscribedToCapabilities ? "Unsubscribe" : "Subscribe"
-        capabilitiesSubscriptionButton.setTitle(capabilitiesSubscriptionButtonTitle, for: UIControl.State())
+        capabilitiesSubscriptionButton.setTitle(capabilitiesSubscriptionButtonTitle, for: .normal)
     }
 
     // MARK: Shuffle
@@ -159,7 +159,7 @@ class ViewController: UIViewController {
             case .context: return "Context"
             default: return "Off"
             }
-            }()
+        }()
     }
 
     // MARK: Album Art
@@ -206,7 +206,7 @@ class ViewController: UIViewController {
     private func pausePlayback() {
         appRemote?.playerAPI?.pause(defaultCallback)
     }
-    
+
     private func playTrack() {
         appRemote?.playerAPI?.play(trackIdentifier, callback: defaultCallback)
     }
@@ -357,9 +357,11 @@ class ViewController: UIViewController {
     // MARK: - IBActions
     @IBAction func didPressPlayPauseButton(_ sender: AnyObject) {
         if appRemote?.isConnected == false {
-            if appRemote?.authorizeAndPlayURI(playURI) == false {
-                // The Spotify app is not installed, present the user with an App Store page
-                showAppStoreInstall()
+            appRemote?.authorizeAndPlayURI(playURI) { success in
+                if !success {
+                    // The Spotify app is not installed, present the user with an App Store page
+                    self.showAppStoreInstall()
+                }
             }
         } else if playerState == nil || playerState!.isPaused {
             startPlayback()
@@ -430,9 +432,11 @@ class ViewController: UIViewController {
 
     @IBAction func playRadioTapped(_ sender: Any) {
         if appRemote?.isConnected == false && appRemote?.playerAPI != nil {
-            if appRemote?.authorizeAndPlayURI(trackIdentifier, asRadio: true) == false {
-                // The Spotify app is not installed, present the user with an App Store page
-                showAppStoreInstall()
+            appRemote?.authorizeAndPlayURI(trackIdentifier, asRadio: true) { success in
+                if !success {
+                    // The Spotify app is not installed, present the user with an App Store page
+                    self.showAppStoreInstall()
+                }
             }
         } else {
             var trackUri = trackIdentifier
@@ -467,10 +471,10 @@ extension ViewController: SpeedPickerViewControllerDelegate {
 
 // MARK: - SPTAppRemotePlayerStateDelegate
 extension ViewController: SPTAppRemotePlayerStateDelegate {
-       func playerStateDidChange(_ playerState: SPTAppRemotePlayerState) {
-           self.playerState = playerState
-           updateViewWithPlayerState(playerState)
-       }
+    func playerStateDidChange(_ playerState: SPTAppRemotePlayerState) {
+        self.playerState = playerState
+        updateViewWithPlayerState(playerState)
+    }
 }
 // MARK: - SPTAppRemoteUserAPIDelegate
 extension ViewController: SPTAppRemoteUserAPIDelegate {
diff --git a/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp.xcodeproj/project.pbxproj b/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp.xcodeproj/project.pbxproj
index 4ec3b50..51fb336 100644
--- a/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp.xcodeproj/project.pbxproj
+++ b/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp.xcodeproj/project.pbxproj
@@ -18,16 +18,6 @@
 		3518DFFE1F99983F00A5313C /* ConnectView.m in Sources */ = {isa = PBXBuildFile; fileRef = 3518DFFD1F99983F00A5313C /* ConnectView.m */; };
 /* End PBXBuildFile section */
 
-/* Begin PBXContainerItemProxy section */
-		54D50C5320C87A490035B73A /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = 35029C451F5F476800383619 /* Project object */;
-			proxyType = 1;
-			remoteGlobalIDString = 35029C4C1F5F476800383619;
-			remoteInfo = SPTLoginSampleApp;
-		};
-/* End PBXContainerItemProxy section */
-
 /* Begin PBXCopyFilesBuildPhase section */
 		54A5565220C85523000CD9C0 /* Embed Frameworks */ = {
 			isa = PBXCopyFilesBuildPhase;
@@ -57,7 +47,6 @@
 		3518DFFA1F99674A00A5313C /* ConnectButton.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ConnectButton.m; sourceTree = "<group>"; };
 		3518DFFC1F99983F00A5313C /* ConnectView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ConnectView.h; sourceTree = "<group>"; };
 		3518DFFD1F99983F00A5313C /* ConnectView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ConnectView.m; sourceTree = "<group>"; };
-		54D50C4E20C87A480035B73A /* SPTLoginSampleAppUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SPTLoginSampleAppUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -69,13 +58,6 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
-		54D50C4B20C87A480035B73A /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
@@ -92,7 +74,6 @@
 			isa = PBXGroup;
 			children = (
 				35029C4D1F5F476800383619 /* SPTLoginSampleApp.app */,
-				54D50C4E20C87A480035B73A /* SPTLoginSampleAppUITests.xctest */,
 			);
 			name = Products;
 			sourceTree = "<group>";
@@ -145,42 +126,20 @@
 			productReference = 35029C4D1F5F476800383619 /* SPTLoginSampleApp.app */;
 			productType = "com.apple.product-type.application";
 		};
-		54D50C4D20C87A480035B73A /* SPTLoginSampleAppUITests */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = 54D50C5820C87A490035B73A /* Build configuration list for PBXNativeTarget "SPTLoginSampleAppUITests" */;
-			buildPhases = (
-				54D50C4A20C87A480035B73A /* Sources */,
-				54D50C4B20C87A480035B73A /* Frameworks */,
-				54D50C4C20C87A480035B73A /* Resources */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				54D50C5420C87A490035B73A /* PBXTargetDependency */,
-			);
-			name = SPTLoginSampleAppUITests;
-			productName = SPTLoginSampleAppUITests;
-			productReference = 54D50C4E20C87A480035B73A /* SPTLoginSampleAppUITests.xctest */;
-			productType = "com.apple.product-type.bundle.ui-testing";
-		};
 /* End PBXNativeTarget section */
 
 /* Begin PBXProject section */
 		35029C451F5F476800383619 /* Project object */ = {
 			isa = PBXProject;
 			attributes = {
-				LastUpgradeCheck = 0940;
+				BuildIndependentTargetsInParallel = YES;
+				LastUpgradeCheck = 1510;
 				ORGANIZATIONNAME = Spotify;
 				TargetAttributes = {
 					35029C4C1F5F476800383619 = {
 						CreatedOnToolsVersion = 9.0;
 						ProvisioningStyle = Automatic;
 					};
-					54D50C4D20C87A480035B73A = {
-						CreatedOnToolsVersion = 9.4;
-						ProvisioningStyle = Automatic;
-						TestTargetID = 35029C4C1F5F476800383619;
-					};
 				};
 			};
 			buildConfigurationList = 35029C481F5F476800383619 /* Build configuration list for PBXProject "SPTLoginSampleApp" */;
@@ -197,7 +156,6 @@
 			projectRoot = "";
 			targets = (
 				35029C4C1F5F476800383619 /* SPTLoginSampleApp */,
-				54D50C4D20C87A480035B73A /* SPTLoginSampleAppUITests */,
 			);
 		};
 /* End PBXProject section */
@@ -212,13 +170,6 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
-		54D50C4C20C87A480035B73A /* Resources */ = {
-			isa = PBXResourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
 /* End PBXResourcesBuildPhase section */
 
 /* Begin PBXSourcesBuildPhase section */
@@ -234,23 +185,8 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
-		54D50C4A20C87A480035B73A /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
 /* End PBXSourcesBuildPhase section */
 
-/* Begin PBXTargetDependency section */
-		54D50C5420C87A490035B73A /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			target = 35029C4C1F5F476800383619 /* SPTLoginSampleApp */;
-			targetProxy = 54D50C5320C87A490035B73A /* PBXContainerItemProxy */;
-		};
-/* End PBXTargetDependency section */
-
 /* Begin PBXVariantGroup section */
 		35029C5B1F5F476800383619 /* LaunchScreen.storyboard */ = {
 			isa = PBXVariantGroup;
@@ -267,6 +203,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
 				CLANG_ANALYZER_NONNULL = YES;
 				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
@@ -288,6 +225,7 @@
 				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
 				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
 				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
 				CLANG_WARN_STRICT_PROTOTYPES = YES;
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -299,6 +237,7 @@
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
 				ENABLE_TESTABILITY = YES;
+				ENABLE_USER_SCRIPT_SANDBOXING = YES;
 				FRAMEWORK_SEARCH_PATHS = "../../**";
 				GCC_C_LANGUAGE_STANDARD = gnu11;
 				GCC_DYNAMIC_NO_PIC = NO;
@@ -315,7 +254,7 @@
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				HEADER_SEARCH_PATHS = "";
-				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				MTL_ENABLE_DEBUG_INFO = YES;
 				ONLY_ACTIVE_ARCH = YES;
 				SDKROOT = iphoneos;
@@ -327,6 +266,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
 				CLANG_ANALYZER_NONNULL = YES;
 				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
@@ -348,6 +288,7 @@
 				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
 				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
 				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
 				CLANG_WARN_STRICT_PROTOTYPES = YES;
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -359,6 +300,7 @@
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				ENABLE_NS_ASSERTIONS = NO;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_USER_SCRIPT_SANDBOXING = YES;
 				FRAMEWORK_SEARCH_PATHS = "../../**";
 				GCC_C_LANGUAGE_STANDARD = gnu11;
 				GCC_NO_COMMON_BLOCKS = YES;
@@ -369,7 +311,7 @@
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				HEADER_SEARCH_PATHS = "";
-				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				MTL_ENABLE_DEBUG_INFO = NO;
 				SDKROOT = iphoneos;
 				USER_HEADER_SEARCH_PATHS = "";
@@ -384,7 +326,6 @@
 				CODE_SIGN_STYLE = Automatic;
 				DEVELOPMENT_TEAM = 2FNC3A47ZF;
 				INFOPLIST_FILE = SPTLoginSampleApp/Info.plist;
-				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",
 					"@executable_path/Frameworks",
@@ -403,7 +344,6 @@
 				CODE_SIGN_STYLE = Automatic;
 				DEVELOPMENT_TEAM = 2FNC3A47ZF;
 				INFOPLIST_FILE = SPTLoginSampleApp/Info.plist;
-				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
 				LD_RUNPATH_SEARCH_PATHS = (
 					"$(inherited)",
 					"@executable_path/Frameworks",
@@ -415,50 +355,6 @@
 			};
 			name = Release;
 		};
-		54D50C5520C87A490035B73A /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				CLANG_ENABLE_OBJC_WEAK = YES;
-				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
-				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
-				CODE_SIGN_STYLE = Automatic;
-				DEVELOPMENT_TEAM = 2FNC3A47ZF;
-				INFOPLIST_FILE = SPTLoginSampleAppUITests/Info.plist;
-				IPHONEOS_DEPLOYMENT_TARGET = 11.4;
-				LD_RUNPATH_SEARCH_PATHS = (
-					"$(inherited)",
-					"@executable_path/Frameworks",
-					"@loader_path/Frameworks",
-				);
-				PRODUCT_BUNDLE_IDENTIFIER = Spotify.SPTLoginSampleAppUITests;
-				PRODUCT_NAME = "$(TARGET_NAME)";
-				TARGETED_DEVICE_FAMILY = "1,2";
-				TEST_TARGET_NAME = SPTLoginSampleApp;
-			};
-			name = Debug;
-		};
-		54D50C5620C87A490035B73A /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				CLANG_ENABLE_OBJC_WEAK = YES;
-				CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
-				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
-				CODE_SIGN_STYLE = Automatic;
-				DEVELOPMENT_TEAM = 2FNC3A47ZF;
-				INFOPLIST_FILE = SPTLoginSampleAppUITests/Info.plist;
-				IPHONEOS_DEPLOYMENT_TARGET = 11.4;
-				LD_RUNPATH_SEARCH_PATHS = (
-					"$(inherited)",
-					"@executable_path/Frameworks",
-					"@loader_path/Frameworks",
-				);
-				PRODUCT_BUNDLE_IDENTIFIER = Spotify.SPTLoginSampleAppUITests;
-				PRODUCT_NAME = "$(TARGET_NAME)";
-				TARGETED_DEVICE_FAMILY = "1,2";
-				TEST_TARGET_NAME = SPTLoginSampleApp;
-			};
-			name = Release;
-		};
 /* End XCBuildConfiguration section */
 
 /* Begin XCConfigurationList section */
@@ -480,15 +376,6 @@
 			defaultConfigurationIsVisible = 0;
 			defaultConfigurationName = Release;
 		};
-		54D50C5820C87A490035B73A /* Build configuration list for PBXNativeTarget "SPTLoginSampleAppUITests" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				54D50C5520C87A490035B73A /* Debug */,
-				54D50C5620C87A490035B73A /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
 /* End XCConfigurationList section */
 	};
 	rootObject = 35029C451F5F476800383619 /* Project object */;
diff --git a/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp.xcodeproj/xcshareddata/xcschemes/SPTLoginSampleApp.xcscheme b/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp.xcodeproj/xcshareddata/xcschemes/SPTLoginSampleApp.xcscheme
index cf5b00a..9fc396e 100644
--- a/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp.xcodeproj/xcshareddata/xcschemes/SPTLoginSampleApp.xcscheme
+++ b/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp.xcodeproj/xcshareddata/xcschemes/SPTLoginSampleApp.xcscheme
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "0940"
+   LastUpgradeVersion = "1510"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
@@ -27,6 +27,15 @@
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       shouldUseLaunchSchemeArgsEnv = "YES">
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "35029C4C1F5F476800383619"
+            BuildableName = "SPTLoginSampleApp.app"
+            BlueprintName = "SPTLoginSampleApp"
+            ReferencedContainer = "container:SPTLoginSampleApp.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
       <Testables>
          <TestableReference
             skipped = "NO">
@@ -39,17 +48,6 @@
             </BuildableReference>
          </TestableReference>
       </Testables>
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "35029C4C1F5F476800383619"
-            BuildableName = "SPTLoginSampleApp.app"
-            BlueprintName = "SPTLoginSampleApp"
-            ReferencedContainer = "container:SPTLoginSampleApp.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-      <AdditionalOptions>
-      </AdditionalOptions>
    </TestAction>
    <LaunchAction
       buildConfiguration = "Debug"
@@ -71,8 +69,6 @@
             ReferencedContainer = "container:SPTLoginSampleApp.xcodeproj">
          </BuildableReference>
       </BuildableProductRunnable>
-      <AdditionalOptions>
-      </AdditionalOptions>
    </LaunchAction>
    <ProfileAction
       buildConfiguration = "Release"
diff --git a/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp/ViewController.h b/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp/ViewController.h
index 7d729ab..317a27c 100644
--- a/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp/ViewController.h
+++ b/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp/ViewController.h
@@ -1,5 +1,5 @@
 @import UIKit;
-#import <SpotifyiOS/SpotifyiOS.h>
+@import SpotifyiOS;
 
 NS_ASSUME_NONNULL_BEGIN
 
diff --git a/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp/ViewController.m b/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp/ViewController.m
index 62a1757..93ebb35 100644
--- a/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp/ViewController.m
+++ b/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp/ViewController.m
@@ -55,13 +55,7 @@ - (void)didTapAuthButton:(ConnectButton *)sender
     /*
      Start the authorization process. This requires user input.
      */
-    if (@available(iOS 11, *)) {
-        // Use this on iOS 11 and above to take advantage of SFAuthenticationSession
-        [self.sessionManager initiateSessionWithScope:scope options:SPTDefaultAuthorizationOption];
-    } else {
-        // Use this on iOS versions < 11 to use SFSafariViewController
-        [self.sessionManager initiateSessionWithScope:scope options:SPTDefaultAuthorizationOption presentingViewController:self];
-    }
+    [self.sessionManager initiateSessionWithScope:scope options:SPTDefaultAuthorizationOption];
 }
 
 #pragma mark - SPTSessionManagerDelegate
diff --git a/DemoProjects/SPTLoginSampleAppSwift/SPTLoginSampleAppSwift.xcodeproj/project.pbxproj b/DemoProjects/SPTLoginSampleAppSwift/SPTLoginSampleAppSwift.xcodeproj/project.pbxproj
index 8eb350a..1990f32 100644
--- a/DemoProjects/SPTLoginSampleAppSwift/SPTLoginSampleAppSwift.xcodeproj/project.pbxproj
+++ b/DemoProjects/SPTLoginSampleAppSwift/SPTLoginSampleAppSwift.xcodeproj/project.pbxproj
@@ -120,8 +120,9 @@
 		54AC7ED420081242008CD692 /* Project object */ = {
 			isa = PBXProject;
 			attributes = {
+				BuildIndependentTargetsInParallel = YES;
 				LastSwiftUpdateCheck = 0940;
-				LastUpgradeCheck = 0940;
+				LastUpgradeCheck = 1510;
 				ORGANIZATIONNAME = Spotify;
 				TargetAttributes = {
 					54AC7EDB20081243008CD692 = {
@@ -190,6 +191,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
 				CLANG_ANALYZER_NONNULL = YES;
 				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
@@ -211,6 +213,7 @@
 				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
 				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
 				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
 				CLANG_WARN_STRICT_PROTOTYPES = YES;
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -222,6 +225,7 @@
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
 				ENABLE_TESTABILITY = YES;
+				ENABLE_USER_SCRIPT_SANDBOXING = YES;
 				FRAMEWORK_SEARCH_PATHS = "../../**";
 				GCC_C_LANGUAGE_STANDARD = gnu11;
 				GCC_DYNAMIC_NO_PIC = NO;
@@ -237,7 +241,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				MTL_ENABLE_DEBUG_INFO = YES;
 				ONLY_ACTIVE_ARCH = YES;
 				OTHER_LDFLAGS = "-ObjC";
@@ -252,6 +256,7 @@
 			isa = XCBuildConfiguration;
 			buildSettings = {
 				ALWAYS_SEARCH_USER_PATHS = NO;
+				ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
 				CLANG_ANALYZER_NONNULL = YES;
 				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
 				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
@@ -273,6 +278,7 @@
 				CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
 				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
 				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
 				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
 				CLANG_WARN_STRICT_PROTOTYPES = YES;
 				CLANG_WARN_SUSPICIOUS_MOVE = YES;
@@ -284,6 +290,7 @@
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				ENABLE_NS_ASSERTIONS = NO;
 				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_USER_SCRIPT_SANDBOXING = YES;
 				FRAMEWORK_SEARCH_PATHS = "../../**";
 				GCC_C_LANGUAGE_STANDARD = gnu11;
 				GCC_NO_COMMON_BLOCKS = YES;
@@ -293,7 +300,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+				IPHONEOS_DEPLOYMENT_TARGET = 12.0;
 				MTL_ENABLE_DEBUG_INFO = NO;
 				OTHER_LDFLAGS = "-ObjC";
 				SDKROOT = iphoneos;
diff --git a/DemoProjects/SPTLoginSampleAppSwift/SPTLoginSampleAppSwift.xcodeproj/xcshareddata/xcschemes/SPTLoginSampleAppSwift.xcscheme b/DemoProjects/SPTLoginSampleAppSwift/SPTLoginSampleAppSwift.xcodeproj/xcshareddata/xcschemes/SPTLoginSampleAppSwift.xcscheme
index b201590..feaa6c8 100644
--- a/DemoProjects/SPTLoginSampleAppSwift/SPTLoginSampleAppSwift.xcodeproj/xcshareddata/xcschemes/SPTLoginSampleAppSwift.xcscheme
+++ b/DemoProjects/SPTLoginSampleAppSwift/SPTLoginSampleAppSwift.xcodeproj/xcshareddata/xcschemes/SPTLoginSampleAppSwift.xcscheme
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Scheme
-   LastUpgradeVersion = "0940"
+   LastUpgradeVersion = "1510"
    version = "1.3">
    <BuildAction
       parallelizeBuildables = "YES"
@@ -27,6 +27,15 @@
       selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
       selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
       shouldUseLaunchSchemeArgsEnv = "YES">
+      <MacroExpansion>
+         <BuildableReference
+            BuildableIdentifier = "primary"
+            BlueprintIdentifier = "54AC7EDB20081243008CD692"
+            BuildableName = "SPTLoginSampleAppSwift.app"
+            BlueprintName = "SPTLoginSampleAppSwift"
+            ReferencedContainer = "container:SPTLoginSampleAppSwift.xcodeproj">
+         </BuildableReference>
+      </MacroExpansion>
       <Testables>
          <TestableReference
             skipped = "NO">
@@ -39,17 +48,6 @@
             </BuildableReference>
          </TestableReference>
       </Testables>
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "54AC7EDB20081243008CD692"
-            BuildableName = "SPTLoginSampleAppSwift.app"
-            BlueprintName = "SPTLoginSampleAppSwift"
-            ReferencedContainer = "container:SPTLoginSampleAppSwift.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-      <AdditionalOptions>
-      </AdditionalOptions>
    </TestAction>
    <LaunchAction
       buildConfiguration = "Debug"
@@ -71,8 +69,6 @@
             ReferencedContainer = "container:SPTLoginSampleAppSwift.xcodeproj">
          </BuildableReference>
       </BuildableProductRunnable>
-      <AdditionalOptions>
-      </AdditionalOptions>
    </LaunchAction>
    <ProfileAction
       buildConfiguration = "Release"
diff --git a/README.md b/README.md
index e5ad739..5198dd4 100644
--- a/README.md
+++ b/README.md
@@ -169,7 +169,7 @@ To be able to use the playback control part of the SDK the user needs to authori
 
     ```objective-c
     SPTConfiguration *configuration =
-        [[SPTConfiguration alloc] initWithClientID:@"your_client_id" redirectURL:[NSURL urlWithString:@"your_redirect_uri"]];
+        [[SPTConfiguration alloc] initWithClientID:@"your_client_id" redirectURL:[NSURL URLWithString:@"your_redirect_uri"]];
     ```
 
 2. Initialize `SPTAppRemote` with your `SPTConfiguration`
@@ -182,14 +182,16 @@ To be able to use the playback control part of the SDK the user needs to authori
 
     ```objective-c
     // Note: A blank string will play the user's last song or pick a random one.
-    BOOL spotifyInstalled = [self.appRemote authorizeAndPlayURI:@"spotify:track:69bp2EbF7Q2rqc5N3ylezZ"];
-    if (!spotifyInstalled) {
-        /*
-        * The Spotify app is not installed.
-        * Use SKStoreProductViewController with [SPTAppRemote spotifyItunesItemIdentifier] to present the user
-        * with a way to install the Spotify app.
-        */
-    }
+    [self.appRemote authorizeAndPlayURI:@"spotify:track:69bp2EbF7Q2rqc5N3ylezZ" completionHandler:^(BOOL spotifyInstalled) {
+        if (!spotifyInstalled) {
+            /*
+            * The Spotify app is not installed.
+            * Use SKStoreProductViewController with [SPTAppRemote spotifyItunesItemIdentifier] to present the user
+            * with a way to install the Spotify app.
+            */
+        }
+    }];
+    
     ```
 
 4. Configure your `AppDelegate` to parse out the accessToken in `application:openURL:options:` and set it on the `SPTAppRemote` connectionParameters.
diff --git a/SpotifyiOS.framework/Headers/SPTAppRemote.h b/SpotifyiOS.framework/Headers/SPTAppRemote.h
index bef85ef..a758a79 100644
--- a/SpotifyiOS.framework/Headers/SPTAppRemote.h
+++ b/SpotifyiOS.framework/Headers/SPTAppRemote.h
@@ -166,24 +166,26 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) {
  * The passed URI will start playing unless Spotify is already playing.
  *
  * @param URI The URI to play. Use a blank string to attempt to play the user's last song
+ * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  *
- * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
  * the Spotify app is installed and can attempt to handle the authorization request.
  */
-- (BOOL)authorizeAndPlayURI:(NSString *)URI;
+- (void)authorizeAndPlayURI:(NSString *)URI completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 
 /**
  * Open Spotify app to obtain access token and start playback.
  *
  * @param playURI The URI to play. Use a blank string to attempt to play the user's last song
  * @param asRadio `YES` to start radio for the given URI.
+ * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  *
- * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
  * the Spotify app is installed and can attempt to handle the authorization request.
  */
-- (BOOL)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio;
+- (void)authorizeAndPlayURI:(NSString *)playURI
+                    asRadio:(BOOL)asRadio
+          completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 
 /**
 * Open Spotify app to obtain access token and start playback.
@@ -191,14 +193,15 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) {
 * @param playURI The URI to play. Use a blank string to attempt to play the user's last song
 * @param asRadio `YES` to start radio for the given URI.
 * @param additionalScopes An array of scopes in addition to `app-remote-control`. Can be nil if you only need `app-remote-control`
+* @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
 *
-* @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
 * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
 * the Spotify app is installed and can attempt to handle the authorization request.
 */
-- (BOOL)authorizeAndPlayURI:(NSString *)playURI
+- (void)authorizeAndPlayURI:(NSString *)playURI
                     asRadio:(BOOL)asRadio
-           additionalScopes:(nullable NSArray<NSString *> *)additionalScopes;
+           additionalScopes:(nullable NSArray<NSString *> *)additionalScopes
+          completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 
 /**
  * Open Spotify app to obtain access token and start playback.
@@ -209,15 +212,16 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) {
  * @param sessionIdentifier An optional unique identifier for this specific session, which is used for analytics purposes. Every new attempt to
  * connect to the Spotify app should have a new identifier, but the identifier used here should then be reused for the accompanied call to
  * `connectWithSessionIdentifier:`.
+ * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  *
- * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
  * the Spotify app is installed and can attempt to handle the authorization request.
 */
-- (BOOL)authorizeAndPlayURI:(NSString *)playURI
+- (void)authorizeAndPlayURI:(NSString *)playURI
                     asRadio:(BOOL)asRadio
            additionalScopes:(nullable NSArray<NSString *> *)additionalScopes
-          sessionIdentifier:(nullable NSUUID *)sessionIdentifier;
+          sessionIdentifier:(nullable NSUUID *)sessionIdentifier
+          completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 /**
  * Parse out an access token or error description from a url passed to application:openURL:options:
  *
diff --git a/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h b/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h
index 2119543..a1d5b42 100644
--- a/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h
+++ b/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h
@@ -33,6 +33,9 @@ NS_ASSUME_NONNULL_BEGIN
 /// Returns `YES` if the item is expected to contain children, otherwise `NO`.
 @property (nonatomic, assign, readonly, getter=isContainer) BOOL container;
 
+/// Returns `YES` if the item is pinned in Your Library, otherwise `NO`. 
+@property (nonatomic, assign, readonly, getter=isPinned) BOOL pinnned;
+
 /**
  A list of the content item's children.
 
diff --git a/SpotifyiOS.framework/Headers/SpotifyAppRemote.h b/SpotifyiOS.framework/Headers/SpotifyAppRemote.h
index afce4a6..5383aa5 100644
--- a/SpotifyiOS.framework/Headers/SpotifyAppRemote.h
+++ b/SpotifyiOS.framework/Headers/SpotifyAppRemote.h
@@ -24,6 +24,8 @@
 #import "SPTAppRemoteLibraryState.h"
 #import "SPTAppRemoteContentItem.h"
 #import "SPTAppRemotePodcastPlaybackSpeed.h"
+#import "SPTAppRemoteConnectivityAPI.h"
+#import "SPTAppRemoteConnectivityState.h"
 
 #import "SPTConfiguration.h"
 
diff --git a/SpotifyiOS.framework/SpotifyiOS b/SpotifyiOS.framework/SpotifyiOS
index d8327c8..5d879dc 100644
Binary files a/SpotifyiOS.framework/SpotifyiOS and b/SpotifyiOS.framework/SpotifyiOS differ
diff --git a/SpotifyiOS.framework/Versions/A/Headers/SPTAppRemote.h b/SpotifyiOS.framework/Versions/A/Headers/SPTAppRemote.h
index bef85ef..a758a79 100644
--- a/SpotifyiOS.framework/Versions/A/Headers/SPTAppRemote.h
+++ b/SpotifyiOS.framework/Versions/A/Headers/SPTAppRemote.h
@@ -166,24 +166,26 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) {
  * The passed URI will start playing unless Spotify is already playing.
  *
  * @param URI The URI to play. Use a blank string to attempt to play the user's last song
+ * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  *
- * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
  * the Spotify app is installed and can attempt to handle the authorization request.
  */
-- (BOOL)authorizeAndPlayURI:(NSString *)URI;
+- (void)authorizeAndPlayURI:(NSString *)URI completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 
 /**
  * Open Spotify app to obtain access token and start playback.
  *
  * @param playURI The URI to play. Use a blank string to attempt to play the user's last song
  * @param asRadio `YES` to start radio for the given URI.
+ * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  *
- * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
  * the Spotify app is installed and can attempt to handle the authorization request.
  */
-- (BOOL)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio;
+- (void)authorizeAndPlayURI:(NSString *)playURI
+                    asRadio:(BOOL)asRadio
+          completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 
 /**
 * Open Spotify app to obtain access token and start playback.
@@ -191,14 +193,15 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) {
 * @param playURI The URI to play. Use a blank string to attempt to play the user's last song
 * @param asRadio `YES` to start radio for the given URI.
 * @param additionalScopes An array of scopes in addition to `app-remote-control`. Can be nil if you only need `app-remote-control`
+* @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
 *
-* @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
 * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
 * the Spotify app is installed and can attempt to handle the authorization request.
 */
-- (BOOL)authorizeAndPlayURI:(NSString *)playURI
+- (void)authorizeAndPlayURI:(NSString *)playURI
                     asRadio:(BOOL)asRadio
-           additionalScopes:(nullable NSArray<NSString *> *)additionalScopes;
+           additionalScopes:(nullable NSArray<NSString *> *)additionalScopes
+          completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 
 /**
  * Open Spotify app to obtain access token and start playback.
@@ -209,15 +212,16 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) {
  * @param sessionIdentifier An optional unique identifier for this specific session, which is used for analytics purposes. Every new attempt to
  * connect to the Spotify app should have a new identifier, but the identifier used here should then be reused for the accompanied call to
  * `connectWithSessionIdentifier:`.
+ * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  *
- * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
  * the Spotify app is installed and can attempt to handle the authorization request.
 */
-- (BOOL)authorizeAndPlayURI:(NSString *)playURI
+- (void)authorizeAndPlayURI:(NSString *)playURI
                     asRadio:(BOOL)asRadio
            additionalScopes:(nullable NSArray<NSString *> *)additionalScopes
-          sessionIdentifier:(nullable NSUUID *)sessionIdentifier;
+          sessionIdentifier:(nullable NSUUID *)sessionIdentifier
+          completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 /**
  * Parse out an access token or error description from a url passed to application:openURL:options:
  *
diff --git a/SpotifyiOS.framework/Versions/A/Headers/SPTAppRemoteContentItem.h b/SpotifyiOS.framework/Versions/A/Headers/SPTAppRemoteContentItem.h
index 2119543..a1d5b42 100644
--- a/SpotifyiOS.framework/Versions/A/Headers/SPTAppRemoteContentItem.h
+++ b/SpotifyiOS.framework/Versions/A/Headers/SPTAppRemoteContentItem.h
@@ -33,6 +33,9 @@ NS_ASSUME_NONNULL_BEGIN
 /// Returns `YES` if the item is expected to contain children, otherwise `NO`.
 @property (nonatomic, assign, readonly, getter=isContainer) BOOL container;
 
+/// Returns `YES` if the item is pinned in Your Library, otherwise `NO`. 
+@property (nonatomic, assign, readonly, getter=isPinned) BOOL pinnned;
+
 /**
  A list of the content item's children.
 
diff --git a/SpotifyiOS.framework/Versions/A/Headers/SpotifyAppRemote.h b/SpotifyiOS.framework/Versions/A/Headers/SpotifyAppRemote.h
index afce4a6..5383aa5 100644
--- a/SpotifyiOS.framework/Versions/A/Headers/SpotifyAppRemote.h
+++ b/SpotifyiOS.framework/Versions/A/Headers/SpotifyAppRemote.h
@@ -24,6 +24,8 @@
 #import "SPTAppRemoteLibraryState.h"
 #import "SPTAppRemoteContentItem.h"
 #import "SPTAppRemotePodcastPlaybackSpeed.h"
+#import "SPTAppRemoteConnectivityAPI.h"
+#import "SPTAppRemoteConnectivityState.h"
 
 #import "SPTConfiguration.h"
 
diff --git a/SpotifyiOS.framework/Versions/A/SpotifyiOS b/SpotifyiOS.framework/Versions/A/SpotifyiOS
index d8327c8..5d879dc 100644
Binary files a/SpotifyiOS.framework/Versions/A/SpotifyiOS and b/SpotifyiOS.framework/Versions/A/SpotifyiOS differ
diff --git a/SpotifyiOS.framework/Versions/Current/Headers/SPTAppRemote.h b/SpotifyiOS.framework/Versions/Current/Headers/SPTAppRemote.h
index bef85ef..a758a79 100644
--- a/SpotifyiOS.framework/Versions/Current/Headers/SPTAppRemote.h
+++ b/SpotifyiOS.framework/Versions/Current/Headers/SPTAppRemote.h
@@ -166,24 +166,26 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) {
  * The passed URI will start playing unless Spotify is already playing.
  *
  * @param URI The URI to play. Use a blank string to attempt to play the user's last song
+ * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  *
- * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
  * the Spotify app is installed and can attempt to handle the authorization request.
  */
-- (BOOL)authorizeAndPlayURI:(NSString *)URI;
+- (void)authorizeAndPlayURI:(NSString *)URI completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 
 /**
  * Open Spotify app to obtain access token and start playback.
  *
  * @param playURI The URI to play. Use a blank string to attempt to play the user's last song
  * @param asRadio `YES` to start radio for the given URI.
+ * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  *
- * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
  * the Spotify app is installed and can attempt to handle the authorization request.
  */
-- (BOOL)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio;
+- (void)authorizeAndPlayURI:(NSString *)playURI
+                    asRadio:(BOOL)asRadio
+          completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 
 /**
 * Open Spotify app to obtain access token and start playback.
@@ -191,14 +193,15 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) {
 * @param playURI The URI to play. Use a blank string to attempt to play the user's last song
 * @param asRadio `YES` to start radio for the given URI.
 * @param additionalScopes An array of scopes in addition to `app-remote-control`. Can be nil if you only need `app-remote-control`
+* @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
 *
-* @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
 * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
 * the Spotify app is installed and can attempt to handle the authorization request.
 */
-- (BOOL)authorizeAndPlayURI:(NSString *)playURI
+- (void)authorizeAndPlayURI:(NSString *)playURI
                     asRadio:(BOOL)asRadio
-           additionalScopes:(nullable NSArray<NSString *> *)additionalScopes;
+           additionalScopes:(nullable NSArray<NSString *> *)additionalScopes
+          completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 
 /**
  * Open Spotify app to obtain access token and start playback.
@@ -209,15 +212,16 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) {
  * @param sessionIdentifier An optional unique identifier for this specific session, which is used for analytics purposes. Every new attempt to
  * connect to the Spotify app should have a new identifier, but the identifier used here should then be reused for the accompanied call to
  * `connectWithSessionIdentifier:`.
+ * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  *
- * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
  * the Spotify app is installed and can attempt to handle the authorization request.
 */
-- (BOOL)authorizeAndPlayURI:(NSString *)playURI
+- (void)authorizeAndPlayURI:(NSString *)playURI
                     asRadio:(BOOL)asRadio
            additionalScopes:(nullable NSArray<NSString *> *)additionalScopes
-          sessionIdentifier:(nullable NSUUID *)sessionIdentifier;
+          sessionIdentifier:(nullable NSUUID *)sessionIdentifier
+          completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 /**
  * Parse out an access token or error description from a url passed to application:openURL:options:
  *
diff --git a/SpotifyiOS.framework/Versions/Current/Headers/SPTAppRemoteContentItem.h b/SpotifyiOS.framework/Versions/Current/Headers/SPTAppRemoteContentItem.h
index 2119543..a1d5b42 100644
--- a/SpotifyiOS.framework/Versions/Current/Headers/SPTAppRemoteContentItem.h
+++ b/SpotifyiOS.framework/Versions/Current/Headers/SPTAppRemoteContentItem.h
@@ -33,6 +33,9 @@ NS_ASSUME_NONNULL_BEGIN
 /// Returns `YES` if the item is expected to contain children, otherwise `NO`.
 @property (nonatomic, assign, readonly, getter=isContainer) BOOL container;
 
+/// Returns `YES` if the item is pinned in Your Library, otherwise `NO`. 
+@property (nonatomic, assign, readonly, getter=isPinned) BOOL pinnned;
+
 /**
  A list of the content item's children.
 
diff --git a/SpotifyiOS.framework/Versions/Current/Headers/SpotifyAppRemote.h b/SpotifyiOS.framework/Versions/Current/Headers/SpotifyAppRemote.h
index afce4a6..5383aa5 100644
--- a/SpotifyiOS.framework/Versions/Current/Headers/SpotifyAppRemote.h
+++ b/SpotifyiOS.framework/Versions/Current/Headers/SpotifyAppRemote.h
@@ -24,6 +24,8 @@
 #import "SPTAppRemoteLibraryState.h"
 #import "SPTAppRemoteContentItem.h"
 #import "SPTAppRemotePodcastPlaybackSpeed.h"
+#import "SPTAppRemoteConnectivityAPI.h"
+#import "SPTAppRemoteConnectivityState.h"
 
 #import "SPTConfiguration.h"
 
diff --git a/SpotifyiOS.framework/Versions/Current/SpotifyiOS b/SpotifyiOS.framework/Versions/Current/SpotifyiOS
index d8327c8..5d879dc 100644
Binary files a/SpotifyiOS.framework/Versions/Current/SpotifyiOS and b/SpotifyiOS.framework/Versions/Current/SpotifyiOS differ
diff --git a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SPTAppRemote.h b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SPTAppRemote.h
index bef85ef..a758a79 100644
--- a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SPTAppRemote.h
+++ b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SPTAppRemote.h
@@ -166,24 +166,26 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) {
  * The passed URI will start playing unless Spotify is already playing.
  *
  * @param URI The URI to play. Use a blank string to attempt to play the user's last song
+ * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  *
- * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
  * the Spotify app is installed and can attempt to handle the authorization request.
  */
-- (BOOL)authorizeAndPlayURI:(NSString *)URI;
+- (void)authorizeAndPlayURI:(NSString *)URI completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 
 /**
  * Open Spotify app to obtain access token and start playback.
  *
  * @param playURI The URI to play. Use a blank string to attempt to play the user's last song
  * @param asRadio `YES` to start radio for the given URI.
+ * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  *
- * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
  * the Spotify app is installed and can attempt to handle the authorization request.
  */
-- (BOOL)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio;
+- (void)authorizeAndPlayURI:(NSString *)playURI
+                    asRadio:(BOOL)asRadio
+          completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 
 /**
 * Open Spotify app to obtain access token and start playback.
@@ -191,14 +193,15 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) {
 * @param playURI The URI to play. Use a blank string to attempt to play the user's last song
 * @param asRadio `YES` to start radio for the given URI.
 * @param additionalScopes An array of scopes in addition to `app-remote-control`. Can be nil if you only need `app-remote-control`
+* @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
 *
-* @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
 * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
 * the Spotify app is installed and can attempt to handle the authorization request.
 */
-- (BOOL)authorizeAndPlayURI:(NSString *)playURI
+- (void)authorizeAndPlayURI:(NSString *)playURI
                     asRadio:(BOOL)asRadio
-           additionalScopes:(nullable NSArray<NSString *> *)additionalScopes;
+           additionalScopes:(nullable NSArray<NSString *> *)additionalScopes
+          completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 
 /**
  * Open Spotify app to obtain access token and start playback.
@@ -209,15 +212,16 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) {
  * @param sessionIdentifier An optional unique identifier for this specific session, which is used for analytics purposes. Every new attempt to
  * connect to the Spotify app should have a new identifier, but the identifier used here should then be reused for the accompanied call to
  * `connectWithSessionIdentifier:`.
+ * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  *
- * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
  * the Spotify app is installed and can attempt to handle the authorization request.
 */
-- (BOOL)authorizeAndPlayURI:(NSString *)playURI
+- (void)authorizeAndPlayURI:(NSString *)playURI
                     asRadio:(BOOL)asRadio
            additionalScopes:(nullable NSArray<NSString *> *)additionalScopes
-          sessionIdentifier:(nullable NSUUID *)sessionIdentifier;
+          sessionIdentifier:(nullable NSUUID *)sessionIdentifier
+          completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 /**
  * Parse out an access token or error description from a url passed to application:openURL:options:
  *
diff --git a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h
index 2119543..a1d5b42 100644
--- a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h
+++ b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h
@@ -33,6 +33,9 @@ NS_ASSUME_NONNULL_BEGIN
 /// Returns `YES` if the item is expected to contain children, otherwise `NO`.
 @property (nonatomic, assign, readonly, getter=isContainer) BOOL container;
 
+/// Returns `YES` if the item is pinned in Your Library, otherwise `NO`. 
+@property (nonatomic, assign, readonly, getter=isPinned) BOOL pinnned;
+
 /**
  A list of the content item's children.
 
diff --git a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SpotifyAppRemote.h b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SpotifyAppRemote.h
index afce4a6..5383aa5 100644
--- a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SpotifyAppRemote.h
+++ b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SpotifyAppRemote.h
@@ -24,6 +24,8 @@
 #import "SPTAppRemoteLibraryState.h"
 #import "SPTAppRemoteContentItem.h"
 #import "SPTAppRemotePodcastPlaybackSpeed.h"
+#import "SPTAppRemoteConnectivityAPI.h"
+#import "SPTAppRemoteConnectivityState.h"
 
 #import "SPTConfiguration.h"
 
diff --git a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Info.plist b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Info.plist
index 29755ff..7f0f859 100644
Binary files a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Info.plist and b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Info.plist differ
diff --git a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/SpotifyiOS b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/SpotifyiOS
index b0000dc..612fa38 100755
Binary files a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/SpotifyiOS and b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/SpotifyiOS differ
diff --git a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SPTAppRemote.h b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SPTAppRemote.h
index bef85ef..a758a79 100644
--- a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SPTAppRemote.h
+++ b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SPTAppRemote.h
@@ -166,24 +166,26 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) {
  * The passed URI will start playing unless Spotify is already playing.
  *
  * @param URI The URI to play. Use a blank string to attempt to play the user's last song
+ * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  *
- * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
  * the Spotify app is installed and can attempt to handle the authorization request.
  */
-- (BOOL)authorizeAndPlayURI:(NSString *)URI;
+- (void)authorizeAndPlayURI:(NSString *)URI completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 
 /**
  * Open Spotify app to obtain access token and start playback.
  *
  * @param playURI The URI to play. Use a blank string to attempt to play the user's last song
  * @param asRadio `YES` to start radio for the given URI.
+ * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  *
- * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
  * the Spotify app is installed and can attempt to handle the authorization request.
  */
-- (BOOL)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio;
+- (void)authorizeAndPlayURI:(NSString *)playURI
+                    asRadio:(BOOL)asRadio
+          completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 
 /**
 * Open Spotify app to obtain access token and start playback.
@@ -191,14 +193,15 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) {
 * @param playURI The URI to play. Use a blank string to attempt to play the user's last song
 * @param asRadio `YES` to start radio for the given URI.
 * @param additionalScopes An array of scopes in addition to `app-remote-control`. Can be nil if you only need `app-remote-control`
+* @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
 *
-* @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
 * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
 * the Spotify app is installed and can attempt to handle the authorization request.
 */
-- (BOOL)authorizeAndPlayURI:(NSString *)playURI
+- (void)authorizeAndPlayURI:(NSString *)playURI
                     asRadio:(BOOL)asRadio
-           additionalScopes:(nullable NSArray<NSString *> *)additionalScopes;
+           additionalScopes:(nullable NSArray<NSString *> *)additionalScopes
+          completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 
 /**
  * Open Spotify app to obtain access token and start playback.
@@ -209,15 +212,16 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) {
  * @param sessionIdentifier An optional unique identifier for this specific session, which is used for analytics purposes. Every new attempt to
  * connect to the Spotify app should have a new identifier, but the identifier used here should then be reused for the accompanied call to
  * `connectWithSessionIdentifier:`.
+ * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  *
- * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`.
  * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if
  * the Spotify app is installed and can attempt to handle the authorization request.
 */
-- (BOOL)authorizeAndPlayURI:(NSString *)playURI
+- (void)authorizeAndPlayURI:(NSString *)playURI
                     asRadio:(BOOL)asRadio
            additionalScopes:(nullable NSArray<NSString *> *)additionalScopes
-          sessionIdentifier:(nullable NSUUID *)sessionIdentifier;
+          sessionIdentifier:(nullable NSUUID *)sessionIdentifier
+          completionHandler:(void (^ __nullable)(BOOL success))completionHandler;
 /**
  * Parse out an access token or error description from a url passed to application:openURL:options:
  *
diff --git a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h
index 2119543..a1d5b42 100644
--- a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h
+++ b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h
@@ -33,6 +33,9 @@ NS_ASSUME_NONNULL_BEGIN
 /// Returns `YES` if the item is expected to contain children, otherwise `NO`.
 @property (nonatomic, assign, readonly, getter=isContainer) BOOL container;
 
+/// Returns `YES` if the item is pinned in Your Library, otherwise `NO`. 
+@property (nonatomic, assign, readonly, getter=isPinned) BOOL pinnned;
+
 /**
  A list of the content item's children.
 
diff --git a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SpotifyAppRemote.h b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SpotifyAppRemote.h
index afce4a6..5383aa5 100644
--- a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SpotifyAppRemote.h
+++ b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SpotifyAppRemote.h
@@ -24,6 +24,8 @@
 #import "SPTAppRemoteLibraryState.h"
 #import "SPTAppRemoteContentItem.h"
 #import "SPTAppRemotePodcastPlaybackSpeed.h"
+#import "SPTAppRemoteConnectivityAPI.h"
+#import "SPTAppRemoteConnectivityState.h"
 
 #import "SPTConfiguration.h"
 
diff --git a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Info.plist b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Info.plist
index d458e3c..18589fb 100644
Binary files a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Info.plist and b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Info.plist differ
diff --git a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/SpotifyiOS b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/SpotifyiOS
index 9c3271f..aeddb97 100755
Binary files a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/SpotifyiOS and b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/SpotifyiOS differ
diff --git a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/_CodeSignature/CodeResources b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/_CodeSignature/CodeResources
index 952c3b8..be0a021 100644
--- a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/_CodeSignature/CodeResources
+++ b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/_CodeSignature/CodeResources
@@ -6,7 +6,7 @@
 	<dict>
 		<key>Headers/SPTAppRemote.h</key>
 		<data>
-		t7Hh0L+Ak3xs6WIBPjMos5RegOE=
+		vp2fDLrEgvwm5wd1GwLK2CnY1/4=
 		</data>
 		<key>Headers/SPTAppRemoteAlbum.h</key>
 		<data>
@@ -38,7 +38,7 @@
 		</data>
 		<key>Headers/SPTAppRemoteContentItem.h</key>
 		<data>
-		tkJ3T/eZcZGrEXO2Js63LB6y8TY=
+		hO4Xt+59R4BoPfF0y7mIMcQTTiY=
 		</data>
 		<key>Headers/SPTAppRemoteCrossfadeState.h</key>
 		<data>
@@ -118,7 +118,7 @@
 		</data>
 		<key>Headers/SpotifyAppRemote.h</key>
 		<data>
-		TCwc+uBsEd4YUZOvpso42XL5VyQ=
+		1Cw+jZPqfjJ5sc6yW7xoPHNN2fU=
 		</data>
 		<key>Headers/SpotifyiOS.h</key>
 		<data>
@@ -126,7 +126,7 @@
 		</data>
 		<key>Info.plist</key>
 		<data>
-		mByYLZyZ8HkCZUmDX+2K2RIBHDM=
+		/v/AhOv6QcQ/6v7/aN8A5Rxcjck=
 		</data>
 		<key>Modules/module.modulemap</key>
 		<data>
@@ -141,21 +141,13 @@
 	<dict>
 		<key>Headers/SPTAppRemote.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			t7Hh0L+Ak3xs6WIBPjMos5RegOE=
-			</data>
 			<key>hash2</key>
 			<data>
-			n1eb/urgmLhozCxMSEHITpWZ0/jAwg7Iw5s8W+IQhZQ=
+			LqO/oRsmWu5uFGJuYm2xmaj7Lq4bdmYhyYqD/nVFR8w=
 			</data>
 		</dict>
 		<key>Headers/SPTAppRemoteAlbum.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			Lu2h8RV/1rCYVe0UeVYTpq08R0s=
-			</data>
 			<key>hash2</key>
 			<data>
 			juYHeLMlaqhRmfOQgyPv3+mqe19WB9c/yN9YhZmYkuw=
@@ -163,10 +155,6 @@
 		</dict>
 		<key>Headers/SPTAppRemoteArtist.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			tE8Iok89gLPlWD3mhRcBWnvJ7LM=
-			</data>
 			<key>hash2</key>
 			<data>
 			16uyxiFbm57Zbm6EvDLKut7wUBQYMY0gqsco8+e1EUQ=
@@ -174,10 +162,6 @@
 		</dict>
 		<key>Headers/SPTAppRemoteCommon.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			CpelKULwWd0nTTZbrWggK9Wh1Sk=
-			</data>
 			<key>hash2</key>
 			<data>
 			w2tXhJ6V84gaIx/oufHMM0aVRj6s5J1qhoHN/N8dwKA=
@@ -185,10 +169,6 @@
 		</dict>
 		<key>Headers/SPTAppRemoteConnectionParams.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			5Q+ZskgYeMEl9/QUrJEGrIOt/qU=
-			</data>
 			<key>hash2</key>
 			<data>
 			YBy/6s0WAEfEy7DbEx+Y7Emavnp8+95MrmRfai1kCXI=
@@ -196,10 +176,6 @@
 		</dict>
 		<key>Headers/SPTAppRemoteConnectivityAPI.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			1IsWgCd35d9eLZ1bLK9rcc42SC4=
-			</data>
 			<key>hash2</key>
 			<data>
 			y39A3+0t/j/EkXSsm0S/dJ/bbq6oPB+x7VzRh9UPF6I=
@@ -207,10 +183,6 @@
 		</dict>
 		<key>Headers/SPTAppRemoteConnectivityState.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			gQ/++ZcqYbuCiOwa5pfKqlY081s=
-			</data>
 			<key>hash2</key>
 			<data>
 			OXTYAMLmKRT8pEPD3x5G+Srjfc6genLNyv7/+LONxZE=
@@ -218,10 +190,6 @@
 		</dict>
 		<key>Headers/SPTAppRemoteContentAPI.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			0CSzqvLvOMUxpLRCSBx47RDBMdA=
-			</data>
 			<key>hash2</key>
 			<data>
 			wUxkL7K8laoKaNERxEMy7g1idgkQHHEcXkWDTd502Lc=
@@ -229,21 +197,13 @@
 		</dict>
 		<key>Headers/SPTAppRemoteContentItem.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			tkJ3T/eZcZGrEXO2Js63LB6y8TY=
-			</data>
 			<key>hash2</key>
 			<data>
-			xJQbxcr/OCWc0bREbNhIcHee/B4hx1LXlatNxlT4/ak=
+			OVONqE0kPMPEPtBmg6qBJyk13EX7AS+Gty4eabVgX10=
 			</data>
 		</dict>
 		<key>Headers/SPTAppRemoteCrossfadeState.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			USFdXS57TktpjTBwfq4MRMR5AR8=
-			</data>
 			<key>hash2</key>
 			<data>
 			06hbkMdjdn6+wjqoIYXh27mnu6W2fKZ6Q0LPUQ8I85M=
@@ -251,10 +211,6 @@
 		</dict>
 		<key>Headers/SPTAppRemoteImageAPI.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			cFwXJG6kY/Wp9abR7/JSlGRjVhU=
-			</data>
 			<key>hash2</key>
 			<data>
 			IZe/KdziuyH++/XzVhual9PbJGOmoSITmoGzKUDXxm0=
@@ -262,10 +218,6 @@
 		</dict>
 		<key>Headers/SPTAppRemoteImageRepresentable.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			ciJ5/qk+pvsaWmK/Htwzo8VWV+I=
-			</data>
 			<key>hash2</key>
 			<data>
 			gZBSnduQFKgPAyxGlhOITe/t2W4V3Wbn8s4rwLOfz+E=
@@ -273,10 +225,6 @@
 		</dict>
 		<key>Headers/SPTAppRemoteLibraryState.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			SVMsqEYwTZpjyW7aoWdcj/WlP7k=
-			</data>
 			<key>hash2</key>
 			<data>
 			/eJQTzpaVEJiOoqG2rKbd+0WCitm5v/ii0bcBbF+bN8=
@@ -284,10 +232,6 @@
 		</dict>
 		<key>Headers/SPTAppRemotePlaybackOptions.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			pvw2bdL4fv6RTSBuMCc9K5QevCQ=
-			</data>
 			<key>hash2</key>
 			<data>
 			1G7XYL6zsUzdDiLHAk90M4xKRAsCcnG0anx7hJtBOIw=
@@ -295,10 +239,6 @@
 		</dict>
 		<key>Headers/SPTAppRemotePlaybackRestrictions.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			ALUn1+dXGFf0AEY4mWOSFz4F3qg=
-			</data>
 			<key>hash2</key>
 			<data>
 			+N64MGaUhioHAEuekcSrvVl1FcxznUei5Yq1/KkNei0=
@@ -306,10 +246,6 @@
 		</dict>
 		<key>Headers/SPTAppRemotePlayerAPI.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			krhVrXqBo4Nh4YXRuHZURfKclEE=
-			</data>
 			<key>hash2</key>
 			<data>
 			6z0uDE9BpPOZKQnKlWPNWCwR/SI0sNAdsE9bBd8vBPM=
@@ -317,10 +253,6 @@
 		</dict>
 		<key>Headers/SPTAppRemotePlayerState.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			0nUxiikB1mLHRqFJodmtSGL1hqo=
-			</data>
 			<key>hash2</key>
 			<data>
 			7Ll+4R7t6Q6NmK8hPnM9+eTrmWR1giwbO0tl3gNveGg=
@@ -328,10 +260,6 @@
 		</dict>
 		<key>Headers/SPTAppRemotePodcastPlaybackSpeed.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			buVPJyc1tr0zVzlF8BxtP1fmG2s=
-			</data>
 			<key>hash2</key>
 			<data>
 			K6cJayK1RuCic1Fs7eLWuw6H0MhhoRWO7Qfvn4NOW0s=
@@ -339,10 +267,6 @@
 		</dict>
 		<key>Headers/SPTAppRemoteTrack.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			v7ZLVkQtBEpkm+4SivDvn3tYr0M=
-			</data>
 			<key>hash2</key>
 			<data>
 			z1NcXcgGzKWhIOZevAQkV2xci5z/j6p8DOz2fc8daAQ=
@@ -350,10 +274,6 @@
 		</dict>
 		<key>Headers/SPTAppRemoteUserAPI.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			jqgSBg6Bc1Aae/ON6m2ZsusMyoY=
-			</data>
 			<key>hash2</key>
 			<data>
 			TwgrVtdlg5ymXlTu1AUGCYsgADjaiPCfAw3xtP4Ni+0=
@@ -361,10 +281,6 @@
 		</dict>
 		<key>Headers/SPTAppRemoteUserCapabilities.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			On4cqNDucPiWZnxsw2L7e02TifQ=
-			</data>
 			<key>hash2</key>
 			<data>
 			rgzoWbjiSQUKhTH4hzYJo1V4oOZ4xFWukaED0hRL7yw=
@@ -372,10 +288,6 @@
 		</dict>
 		<key>Headers/SPTConfiguration.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			wInZ+pQ74rpgg+DSyN9GdZEoRVI=
-			</data>
 			<key>hash2</key>
 			<data>
 			KOEVP54qMgj9xnvGAjhJOZfDI84RSGqCmPCUA7D5qXs=
@@ -383,10 +295,6 @@
 		</dict>
 		<key>Headers/SPTError.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			Kj+zm7PGIYwZLO3nL5NfqmfXVXk=
-			</data>
 			<key>hash2</key>
 			<data>
 			I3Wuh5U8eLBeuTGWV/yJYUs5Atyxua9PVcNY/2cngUw=
@@ -394,10 +302,6 @@
 		</dict>
 		<key>Headers/SPTLogin.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			ZPUkIqDFb0qI+2kxt9cwkiviDko=
-			</data>
 			<key>hash2</key>
 			<data>
 			3ztxaTf7CakFIb3Taz03z0g6SIig46Typzij8SFOjhQ=
@@ -405,10 +309,6 @@
 		</dict>
 		<key>Headers/SPTMacros.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			2idMsqzDSas1N9J6xTuIf5w7ozI=
-			</data>
 			<key>hash2</key>
 			<data>
 			UnnsQX3ImXUW0a1tx8DJP31c400JMOqw3gBvpITN3ZQ=
@@ -416,10 +316,6 @@
 		</dict>
 		<key>Headers/SPTScope.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			F575KcNSsah0efQcJ9NxqhMj1XU=
-			</data>
 			<key>hash2</key>
 			<data>
 			oZRtWZZrHNdvliwGwMDUAH/E2Vm6ndbJY/bjqznGmMk=
@@ -427,10 +323,6 @@
 		</dict>
 		<key>Headers/SPTSession.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			tlKyXr4cYHsmCVT1Pirrn7YD35M=
-			</data>
 			<key>hash2</key>
 			<data>
 			vBWbY6+HvUhHlV9tJR+cTDCIm7PX7qYms/CZ4o6rdE8=
@@ -438,10 +330,6 @@
 		</dict>
 		<key>Headers/SPTSessionManager.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			evF+aCKdg+ryTNUXk5Eik/6MNOk=
-			</data>
 			<key>hash2</key>
 			<data>
 			p/WBdGNx2Obgjj9TAAjhS6QP/j80z8ShuFmr6uQdNZA=
@@ -449,21 +337,13 @@
 		</dict>
 		<key>Headers/SpotifyAppRemote.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			TCwc+uBsEd4YUZOvpso42XL5VyQ=
-			</data>
 			<key>hash2</key>
 			<data>
-			qmvRjoF49m2IoRzbsHDQHB2LJu8WgF14k9gGWPiBVvE=
+			0ObwzhpBLFLDyQYujNSwdCRrHo9QoTRQWSOlQ82MHyM=
 			</data>
 		</dict>
 		<key>Headers/SpotifyiOS.h</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			q2AWpJkisBaRyAAIh23bnigAQec=
-			</data>
 			<key>hash2</key>
 			<data>
 			w/SJykKvp2r09Ybp14YnSuITltaCZXKnBTWeQ1NILHM=
@@ -471,10 +351,6 @@
 		</dict>
 		<key>Modules/module.modulemap</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			bSv5rrubzka9LTf5wONuMfVl89g=
-			</data>
 			<key>hash2</key>
 			<data>
 			vR9YKCxR0961pUp2+RjzaFT70qVubKGYzMnmFbHJRXg=
@@ -482,10 +358,6 @@
 		</dict>
 		<key>PrivacyInfo.xcprivacy</key>
 		<dict>
-			<key>hash</key>
-			<data>
-			AL1dh5ctObXBjoBiabSJ86M3HQs=
-			</data>
 			<key>hash2</key>
 			<data>
 			WpuPwM3bECAbtHzCgEs/AExyUUdmItJb/E61TtRuEIQ=
diff --git a/docs/auth.md b/docs/auth.md
index e68ac74..18b178e 100644
--- a/docs/auth.md
+++ b/docs/auth.md
@@ -61,11 +61,5 @@ The main entry point for authentication if you need to authorize without startin
     */
     SPTScope scope = SPTUserFollowReadScope | SPTAppRemoteControlScope;
 
-    if (@available(iOS 11, *)) {
-        // Use this on iOS 11 and above to take advantage of SFAuthenticationSession
-        [self.sessionManager initiateSessionWithScope:scope options:SPTDefaultAuthorizationOption];
-    } else {
-        // Use this on iOS versions < 11 to use SFSafariViewController
-        [self.sessionManager initiateSessionWithScope:scope options:SPTDefaultAuthorizationOption presentingViewController:self];
-    }
+    [self.sessionManager initiateSessionWithScope:scope options:SPTDefaultAuthorizationOption];
     ```
diff --git a/docs/html/Blocks/SPTAppRemoteCallback.html b/docs/html/Blocks/SPTAppRemoteCallback.html
index 37c9205..b22061e 100644
--- a/docs/html/Blocks/SPTAppRemoteCallback.html
+++ b/docs/html/Blocks/SPTAppRemoteCallback.html
@@ -112,7 +112,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Classes/SPTAppRemote.html b/docs/html/Classes/SPTAppRemote.html
index fead8d6..e3dc356 100644
--- a/docs/html/Classes/SPTAppRemote.html
+++ b/docs/html/Classes/SPTAppRemote.html
@@ -92,13 +92,13 @@ <h1 id="library-title">
 		
 		<option value="//api/name/authorizationParametersFromURL:">- authorizationParametersFromURL:</option>
 		
-		<option value="//api/name/authorizeAndPlayURI:">- authorizeAndPlayURI:</option>
+		<option value="//api/name/authorizeAndPlayURI:asRadio:additionalScopes:completionHandler:">- authorizeAndPlayURI:asRadio:additionalScopes:completionHandler:</option>
 		
-		<option value="//api/name/authorizeAndPlayURI:asRadio:">- authorizeAndPlayURI:asRadio:</option>
+		<option value="//api/name/authorizeAndPlayURI:asRadio:additionalScopes:sessionIdentifier:completionHandler:">- authorizeAndPlayURI:asRadio:additionalScopes:sessionIdentifier:completionHandler:</option>
 		
-		<option value="//api/name/authorizeAndPlayURI:asRadio:additionalScopes:">- authorizeAndPlayURI:asRadio:additionalScopes:</option>
+		<option value="//api/name/authorizeAndPlayURI:asRadio:completionHandler:">- authorizeAndPlayURI:asRadio:completionHandler:</option>
 		
-		<option value="//api/name/authorizeAndPlayURI:asRadio:additionalScopes:sessionIdentifier:">- authorizeAndPlayURI:asRadio:additionalScopes:sessionIdentifier:</option>
+		<option value="//api/name/authorizeAndPlayURI:completionHandler:">- authorizeAndPlayURI:completionHandler:</option>
 		
 		<option value="//api/name/connect">- connect</option>
 		
@@ -596,7 +596,7 @@ <h3 class="method-title"><code><a href="#//api/name/connect">&ndash;&nbsp;connec
 			
 			<div class="method-subsection discussion-section">
 				<h4 class="method-subtitle">Discussion</h4>
-				<p>If the Spotify app is not running you will need to use <a href="#//api/name/authorizeAndPlayURI:">authorizeAndPlayURI:</a> to wake it up</p>
+				<p>If the Spotify app is not running you will need to use authorizeAndPlayURI: to wake it up</p>
 			</div>
 			
 
@@ -641,7 +641,7 @@ <h4 class="method-subtitle parameter-title">Parameters</h4>
 					<tr>
 						<th scope="row" class="argument-name"><code>sessionIdentifier</code></th>
 						<td><p>The unique session identifier which was used when calling
-<a href="#//api/name/authorizeAndPlayURI:asRadio:additionalScopes:sessionIdentifier:"><code>authorizeAndPlayURI:asRadio:additionalScopes:sessionIdentifier:</code></a></p></td>
+<code>authorizeAndPlayURI:asRadio:additionalScopes:sessionIdentifier:</code></p></td>
 					</tr>
 				
 				</table>
@@ -655,7 +655,7 @@ <h4 class="method-subtitle parameter-title">Parameters</h4>
 			
 			<div class="method-subsection discussion-section">
 				<h4 class="method-subtitle">Discussion</h4>
-				<p>If the Spotify app is not running you will need to use <a href="#//api/name/authorizeAndPlayURI:">authorizeAndPlayURI:</a> to wake it up.</p><p>If <code>authorizeAndPlayURI</code> was used without a given session identifier, <a href="#//api/name/connect"><code>connect</code></a> should be used instead of this method.</p>
+				<p>If the Spotify app is not running you will need to use authorizeAndPlayURI: to wake it up.</p><p>If <code>authorizeAndPlayURI</code> was used without a given session identifier, <a href="#//api/name/connect"><code>connect</code></a> should be used instead of this method.</p>
 			</div>
 			
 
@@ -714,8 +714,8 @@ <h4 class="method-subtitle">Declared In</h4>
 		</div>
 	</div>
 </div><div class="section-method">
-	<a name="//api/name/authorizeAndPlayURI:" title="authorizeAndPlayURI:"></a>
-	<h3 class="method-title"><code><a href="#//api/name/authorizeAndPlayURI:">&ndash;&nbsp;authorizeAndPlayURI:</a></code>
+	<a name="//api/name/authorizeAndPlayURI:completionHandler:" title="authorizeAndPlayURI:completionHandler:"></a>
+	<h3 class="method-title"><code><a href="#//api/name/authorizeAndPlayURI:completionHandler:">&ndash;&nbsp;authorizeAndPlayURI:completionHandler:</a></code>
 </h3>
 
 	<div class="method-info">
@@ -731,7 +731,7 @@ <h3 class="method-title"><code><a href="#//api/name/authorizeAndPlayURI:">&ndash
 			
 		    
 
-			<div class="method-subsection method-declaration"><code>- (BOOL)authorizeAndPlayURI:(NSString *)<em>URI</em></code></div>
+			<div class="method-subsection method-declaration"><code>- (void)authorizeAndPlayURI:(NSString *)<em>URI</em> completionHandler:(void ( ^ __nullable ) ( BOOL success ))<em>completionHandler</em></code></div>
 
 		    
 			
@@ -744,18 +744,19 @@ <h4 class="method-subtitle parameter-title">Parameters</h4>
 						<td><p>The URI to play. Use a blank string to attempt to play the user&rsquo;s last song</p></td>
 					</tr>
 				
+					<tr>
+						<th scope="row" class="argument-name"><code>completionHandler</code></th>
+						<td><p><code>YES</code> if the Spotify app is installed and an authorization attempt can be made, otherwise <code>NO</code>.</p>
+
+<p>Note: The return <code>BOOL</code> here is not a measure of whether or not authentication succeeded, only a check if
+the Spotify app is installed and can attempt to handle the authorization request.</p></td>
+					</tr>
+				
 				</table>
 			</div>
 			
 
 			
-			<div class="method-subsection return">
-				<h4 class="method-subtitle parameter-title">Return Value</h4>
-				<p><code>YES</code> if the Spotify app is installed and an authorization attempt can be made, otherwise <code>NO</code>.
-Note: The return <code>BOOL</code> here is not a measure of whether or not authentication succeeded, only a check if
-the Spotify app is installed and can attempt to handle the authorization request.</p>
-			</div>
-			
 
 			
 
@@ -775,8 +776,8 @@ <h4 class="method-subtitle">Declared In</h4>
 		</div>
 	</div>
 </div><div class="section-method">
-	<a name="//api/name/authorizeAndPlayURI:asRadio:" title="authorizeAndPlayURI:asRadio:"></a>
-	<h3 class="method-title"><code><a href="#//api/name/authorizeAndPlayURI:asRadio:">&ndash;&nbsp;authorizeAndPlayURI:asRadio:</a></code>
+	<a name="//api/name/authorizeAndPlayURI:asRadio:completionHandler:" title="authorizeAndPlayURI:asRadio:completionHandler:"></a>
+	<h3 class="method-title"><code><a href="#//api/name/authorizeAndPlayURI:asRadio:completionHandler:">&ndash;&nbsp;authorizeAndPlayURI:asRadio:completionHandler:</a></code>
 </h3>
 
 	<div class="method-info">
@@ -791,7 +792,7 @@ <h3 class="method-title"><code><a href="#//api/name/authorizeAndPlayURI:asRadio:
 			
 		    
 
-			<div class="method-subsection method-declaration"><code>- (BOOL)authorizeAndPlayURI:(NSString *)<em>playURI</em> asRadio:(BOOL)<em>asRadio</em></code></div>
+			<div class="method-subsection method-declaration"><code>- (void)authorizeAndPlayURI:(NSString *)<em>playURI</em> asRadio:(BOOL)<em>asRadio</em> completionHandler:(void ( ^ __nullable ) ( BOOL success ))<em>completionHandler</em></code></div>
 
 		    
 			
@@ -809,18 +810,19 @@ <h4 class="method-subtitle parameter-title">Parameters</h4>
 						<td><p><code>YES</code> to start radio for the given URI.</p></td>
 					</tr>
 				
+					<tr>
+						<th scope="row" class="argument-name"><code>completionHandler</code></th>
+						<td><p><code>YES</code> if the Spotify app is installed and an authorization attempt can be made, otherwise <code>NO</code>.</p>
+
+<p>Note: The return <code>BOOL</code> here is not a measure of whether or not authentication succeeded, only a check if
+the Spotify app is installed and can attempt to handle the authorization request.</p></td>
+					</tr>
+				
 				</table>
 			</div>
 			
 
 			
-			<div class="method-subsection return">
-				<h4 class="method-subtitle parameter-title">Return Value</h4>
-				<p><code>YES</code> if the Spotify app is installed and an authorization attempt can be made, otherwise <code>NO</code>.
-Note: The return <code>BOOL</code> here is not a measure of whether or not authentication succeeded, only a check if
-the Spotify app is installed and can attempt to handle the authorization request.</p>
-			</div>
-			
 
 			
 
@@ -840,8 +842,8 @@ <h4 class="method-subtitle">Declared In</h4>
 		</div>
 	</div>
 </div><div class="section-method">
-	<a name="//api/name/authorizeAndPlayURI:asRadio:additionalScopes:" title="authorizeAndPlayURI:asRadio:additionalScopes:"></a>
-	<h3 class="method-title"><code><a href="#//api/name/authorizeAndPlayURI:asRadio:additionalScopes:">&ndash;&nbsp;authorizeAndPlayURI:asRadio:additionalScopes:</a></code>
+	<a name="//api/name/authorizeAndPlayURI:asRadio:additionalScopes:completionHandler:" title="authorizeAndPlayURI:asRadio:additionalScopes:completionHandler:"></a>
+	<h3 class="method-title"><code><a href="#//api/name/authorizeAndPlayURI:asRadio:additionalScopes:completionHandler:">&ndash;&nbsp;authorizeAndPlayURI:asRadio:additionalScopes:completionHandler:</a></code>
 </h3>
 
 	<div class="method-info">
@@ -856,7 +858,7 @@ <h3 class="method-title"><code><a href="#//api/name/authorizeAndPlayURI:asRadio:
 			
 		    
 
-			<div class="method-subsection method-declaration"><code>- (BOOL)authorizeAndPlayURI:(NSString *)<em>playURI</em> asRadio:(BOOL)<em>asRadio</em> additionalScopes:(nullable NSArray&lt;NSString*&gt; *)<em>additionalScopes</em></code></div>
+			<div class="method-subsection method-declaration"><code>- (void)authorizeAndPlayURI:(NSString *)<em>playURI</em> asRadio:(BOOL)<em>asRadio</em> additionalScopes:(nullable NSArray&lt;NSString*&gt; *)<em>additionalScopes</em> completionHandler:(void ( ^ __nullable ) ( BOOL success ))<em>completionHandler</em></code></div>
 
 		    
 			
@@ -879,18 +881,19 @@ <h4 class="method-subtitle parameter-title">Parameters</h4>
 						<td><p>An array of scopes in addition to <code>app-remote-control</code>. Can be nil if you only need <code>app-remote-control</code></p></td>
 					</tr>
 				
+					<tr>
+						<th scope="row" class="argument-name"><code>completionHandler</code></th>
+						<td><p><code>YES</code> if the Spotify app is installed and an authorization attempt can be made, otherwise <code>NO</code>.</p>
+
+<p>Note: The return <code>BOOL</code> here is not a measure of whether or not authentication succeeded, only a check if
+the Spotify app is installed and can attempt to handle the authorization request.</p></td>
+					</tr>
+				
 				</table>
 			</div>
 			
 
 			
-			<div class="method-subsection return">
-				<h4 class="method-subtitle parameter-title">Return Value</h4>
-				<p><code>YES</code> if the Spotify app is installed and an authorization attempt can be made, otherwise <code>NO</code>.
-Note: The return <code>BOOL</code> here is not a measure of whether or not authentication succeeded, only a check if
-the Spotify app is installed and can attempt to handle the authorization request.</p>
-			</div>
-			
 
 			
 
@@ -910,8 +913,8 @@ <h4 class="method-subtitle">Declared In</h4>
 		</div>
 	</div>
 </div><div class="section-method">
-	<a name="//api/name/authorizeAndPlayURI:asRadio:additionalScopes:sessionIdentifier:" title="authorizeAndPlayURI:asRadio:additionalScopes:sessionIdentifier:"></a>
-	<h3 class="method-title"><code><a href="#//api/name/authorizeAndPlayURI:asRadio:additionalScopes:sessionIdentifier:">&ndash;&nbsp;authorizeAndPlayURI:asRadio:additionalScopes:sessionIdentifier:</a></code>
+	<a name="//api/name/authorizeAndPlayURI:asRadio:additionalScopes:sessionIdentifier:completionHandler:" title="authorizeAndPlayURI:asRadio:additionalScopes:sessionIdentifier:completionHandler:"></a>
+	<h3 class="method-title"><code><a href="#//api/name/authorizeAndPlayURI:asRadio:additionalScopes:sessionIdentifier:completionHandler:">&ndash;&nbsp;authorizeAndPlayURI:asRadio:additionalScopes:sessionIdentifier:completionHandler:</a></code>
 </h3>
 
 	<div class="method-info">
@@ -926,7 +929,7 @@ <h3 class="method-title"><code><a href="#//api/name/authorizeAndPlayURI:asRadio:
 			
 		    
 
-			<div class="method-subsection method-declaration"><code>- (BOOL)authorizeAndPlayURI:(NSString *)<em>playURI</em> asRadio:(BOOL)<em>asRadio</em> additionalScopes:(nullable NSArray&lt;NSString*&gt; *)<em>additionalScopes</em> sessionIdentifier:(nullable NSUUID *)<em>sessionIdentifier</em></code></div>
+			<div class="method-subsection method-declaration"><code>- (void)authorizeAndPlayURI:(NSString *)<em>playURI</em> asRadio:(BOOL)<em>asRadio</em> additionalScopes:(nullable NSArray&lt;NSString*&gt; *)<em>additionalScopes</em> sessionIdentifier:(nullable NSUUID *)<em>sessionIdentifier</em> completionHandler:(void ( ^ __nullable ) ( BOOL success ))<em>completionHandler</em></code></div>
 
 		    
 			
@@ -956,18 +959,19 @@ <h4 class="method-subtitle parameter-title">Parameters</h4>
 <a href="#//api/name/connectWithSessionIdentifier:"><code>connectWithSessionIdentifier:</code></a>.</p></td>
 					</tr>
 				
+					<tr>
+						<th scope="row" class="argument-name"><code>completionHandler</code></th>
+						<td><p><code>YES</code> if the Spotify app is installed and an authorization attempt can be made, otherwise <code>NO</code>.</p>
+
+<p>Note: The return <code>BOOL</code> here is not a measure of whether or not authentication succeeded, only a check if
+the Spotify app is installed and can attempt to handle the authorization request.</p></td>
+					</tr>
+				
 				</table>
 			</div>
 			
 
 			
-			<div class="method-subsection return">
-				<h4 class="method-subtitle parameter-title">Return Value</h4>
-				<p><code>YES</code> if the Spotify app is installed and an authorization attempt can be made, otherwise <code>NO</code>.
-Note: The return <code>BOOL</code> here is not a measure of whether or not authentication succeeded, only a check if
-the Spotify app is installed and can attempt to handle the authorization request.</p>
-			</div>
-			
 
 			
 
@@ -1296,7 +1300,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Classes/SPTAppRemoteConnectionParams.html b/docs/html/Classes/SPTAppRemoteConnectionParams.html
index 6fdf651..a943bc2 100644
--- a/docs/html/Classes/SPTAppRemoteConnectionParams.html
+++ b/docs/html/Classes/SPTAppRemoteConnectionParams.html
@@ -462,7 +462,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Classes/SPTConfiguration.html b/docs/html/Classes/SPTConfiguration.html
index 32252ef..3431d92 100644
--- a/docs/html/Classes/SPTConfiguration.html
+++ b/docs/html/Classes/SPTConfiguration.html
@@ -538,7 +538,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Classes/SPTError.html b/docs/html/Classes/SPTError.html
index a1d395c..a0653ac 100644
--- a/docs/html/Classes/SPTError.html
+++ b/docs/html/Classes/SPTError.html
@@ -105,7 +105,7 @@ <h2 class="subtitle subtitle-overview">Overview</h2>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Classes/SPTSession.html b/docs/html/Classes/SPTSession.html
index 9a8495f..4e790c3 100644
--- a/docs/html/Classes/SPTSession.html
+++ b/docs/html/Classes/SPTSession.html
@@ -343,7 +343,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Classes/SPTSessionManager.html b/docs/html/Classes/SPTSessionManager.html
index fc09cf9..e47cb32 100644
--- a/docs/html/Classes/SPTSessionManager.html
+++ b/docs/html/Classes/SPTSessionManager.html
@@ -612,7 +612,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Constants/SPTAppRemoteConnectionParamsImageFormat.html b/docs/html/Constants/SPTAppRemoteConnectionParamsImageFormat.html
index d02959c..62c18d7 100644
--- a/docs/html/Constants/SPTAppRemoteConnectionParamsImageFormat.html
+++ b/docs/html/Constants/SPTAppRemoteConnectionParamsImageFormat.html
@@ -178,7 +178,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Constants/SPTAppRemoteErrorCode.html b/docs/html/Constants/SPTAppRemoteErrorCode.html
index daecadc..83e6711 100644
--- a/docs/html/Constants/SPTAppRemoteErrorCode.html
+++ b/docs/html/Constants/SPTAppRemoteErrorCode.html
@@ -235,7 +235,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Constants/SPTAppRemoteLogLevel.html b/docs/html/Constants/SPTAppRemoteLogLevel.html
index 66bd172..c1067a5 100644
--- a/docs/html/Constants/SPTAppRemoteLogLevel.html
+++ b/docs/html/Constants/SPTAppRemoteLogLevel.html
@@ -197,7 +197,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Constants/SPTAppRemotePlaybackOptionsRepeatMode.html b/docs/html/Constants/SPTAppRemotePlaybackOptionsRepeatMode.html
index bb2a253..0900a66 100644
--- a/docs/html/Constants/SPTAppRemotePlaybackOptionsRepeatMode.html
+++ b/docs/html/Constants/SPTAppRemotePlaybackOptionsRepeatMode.html
@@ -178,7 +178,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Constants/SPTAuthorizationOptions.html b/docs/html/Constants/SPTAuthorizationOptions.html
index 51ab93a..6dd98e9 100644
--- a/docs/html/Constants/SPTAuthorizationOptions.html
+++ b/docs/html/Constants/SPTAuthorizationOptions.html
@@ -159,7 +159,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Constants/SPTErrorCode.html b/docs/html/Constants/SPTErrorCode.html
index bb4fead..c613a1f 100644
--- a/docs/html/Constants/SPTErrorCode.html
+++ b/docs/html/Constants/SPTErrorCode.html
@@ -197,7 +197,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Constants/SPTScope.html b/docs/html/Constants/SPTScope.html
index 9cb9e0d..915cfb5 100644
--- a/docs/html/Constants/SPTScope.html
+++ b/docs/html/Constants/SPTScope.html
@@ -502,7 +502,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemoteAlbum.html b/docs/html/Protocols/SPTAppRemoteAlbum.html
index 9388e73..7161ee9 100644
--- a/docs/html/Protocols/SPTAppRemoteAlbum.html
+++ b/docs/html/Protocols/SPTAppRemoteAlbum.html
@@ -210,7 +210,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemoteArtist.html b/docs/html/Protocols/SPTAppRemoteArtist.html
index b995d9a..b802f0d 100644
--- a/docs/html/Protocols/SPTAppRemoteArtist.html
+++ b/docs/html/Protocols/SPTAppRemoteArtist.html
@@ -210,7 +210,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemoteConnectivityAPI.html b/docs/html/Protocols/SPTAppRemoteConnectivityAPI.html
index 34faba4..1317a47 100644
--- a/docs/html/Protocols/SPTAppRemoteConnectivityAPI.html
+++ b/docs/html/Protocols/SPTAppRemoteConnectivityAPI.html
@@ -289,7 +289,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemoteConnectivityAPIDelegate.html b/docs/html/Protocols/SPTAppRemoteConnectivityAPIDelegate.html
index 09d5f2f..82386ae 100644
--- a/docs/html/Protocols/SPTAppRemoteConnectivityAPIDelegate.html
+++ b/docs/html/Protocols/SPTAppRemoteConnectivityAPIDelegate.html
@@ -184,7 +184,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemoteConnectivityState.html b/docs/html/Protocols/SPTAppRemoteConnectivityState.html
index d3c42c7..7a26783 100644
--- a/docs/html/Protocols/SPTAppRemoteConnectivityState.html
+++ b/docs/html/Protocols/SPTAppRemoteConnectivityState.html
@@ -167,7 +167,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemoteContentAPI.html b/docs/html/Protocols/SPTAppRemoteContentAPI.html
index 704b760..6d74960 100644
--- a/docs/html/Protocols/SPTAppRemoteContentAPI.html
+++ b/docs/html/Protocols/SPTAppRemoteContentAPI.html
@@ -393,7 +393,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemoteContentItem.html b/docs/html/Protocols/SPTAppRemoteContentItem.html
index 18fe6aa..fb115f6 100644
--- a/docs/html/Protocols/SPTAppRemoteContentItem.html
+++ b/docs/html/Protocols/SPTAppRemoteContentItem.html
@@ -68,6 +68,8 @@ <h1 id="library-title">
 		
 		<option value="//api/name/identifier">identifier</option>
 		
+		<option value="//api/name/pinnned">pinnned</option>
+		
 		<option value="//api/name/playable">playable</option>
 		
 		<option value="//api/name/subtitle">subtitle</option>
@@ -448,6 +450,47 @@ <h3 class="method-title"><code><a href="#//api/name/container">&nbsp;&nbsp;conta
 			
 
 			
+			<div class="method-subsection declared-in-section">
+				<h4 class="method-subtitle">Declared In</h4>
+				<p><code class="declared-in-ref">SPTAppRemoteContentItem.h</code></p>
+			</div>
+			
+			
+		</div>
+	</div>
+</div><div class="section-method">
+	<a name="//api/name/pinnned" title="pinnned"></a>
+	<h3 class="method-title"><code><a href="#//api/name/pinnned">&nbsp;&nbsp;pinnned</a></code>
+<span class="task-item-suffix">required method</span></h3>
+
+	<div class="method-info">
+		<div class="pointy-thing"></div>
+
+		<div class="method-info-container">
+			
+			
+			<div class="method-subsection brief-description">
+				<p>Returns <code>YES</code> if the item is pinned in Your Library, otherwise <code>NO</code>.</p>
+			</div>
+			
+		    
+
+			<div class="method-subsection method-declaration"><code>@property (nonatomic, assign, readonly, getter=isPinned) BOOL pinnned</code></div>
+
+		    
+			
+
+			
+
+			
+
+			
+
+			
+
+			
+
+			
 			<div class="method-subsection declared-in-section">
 				<h4 class="method-subtitle">Declared In</h4>
 				<p><code class="declared-in-ref">SPTAppRemoteContentItem.h</code></p>
@@ -518,7 +561,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemoteCrossfadeState.html b/docs/html/Protocols/SPTAppRemoteCrossfadeState.html
index 196ed95..8aecae7 100644
--- a/docs/html/Protocols/SPTAppRemoteCrossfadeState.html
+++ b/docs/html/Protocols/SPTAppRemoteCrossfadeState.html
@@ -210,7 +210,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemoteDelegate.html b/docs/html/Protocols/SPTAppRemoteDelegate.html
index 7342687..dc76b91 100644
--- a/docs/html/Protocols/SPTAppRemoteDelegate.html
+++ b/docs/html/Protocols/SPTAppRemoteDelegate.html
@@ -306,7 +306,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemoteImageAPI.html b/docs/html/Protocols/SPTAppRemoteImageAPI.html
index 22fde42..e78542c 100644
--- a/docs/html/Protocols/SPTAppRemoteImageAPI.html
+++ b/docs/html/Protocols/SPTAppRemoteImageAPI.html
@@ -190,7 +190,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemoteImageRepresentable.html b/docs/html/Protocols/SPTAppRemoteImageRepresentable.html
index bbc9a8a..40938bd 100644
--- a/docs/html/Protocols/SPTAppRemoteImageRepresentable.html
+++ b/docs/html/Protocols/SPTAppRemoteImageRepresentable.html
@@ -168,7 +168,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemoteLibraryState.html b/docs/html/Protocols/SPTAppRemoteLibraryState.html
index 07e6d25..54c6ed2 100644
--- a/docs/html/Protocols/SPTAppRemoteLibraryState.html
+++ b/docs/html/Protocols/SPTAppRemoteLibraryState.html
@@ -253,7 +253,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemotePlaybackOptions.html b/docs/html/Protocols/SPTAppRemotePlaybackOptions.html
index 81ae6c0..f2b3bc5 100644
--- a/docs/html/Protocols/SPTAppRemotePlaybackOptions.html
+++ b/docs/html/Protocols/SPTAppRemotePlaybackOptions.html
@@ -210,7 +210,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemotePlaybackRestrictions.html b/docs/html/Protocols/SPTAppRemotePlaybackRestrictions.html
index a30d973..56fdad2 100644
--- a/docs/html/Protocols/SPTAppRemotePlaybackRestrictions.html
+++ b/docs/html/Protocols/SPTAppRemotePlaybackRestrictions.html
@@ -382,7 +382,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemotePlayerAPI.html b/docs/html/Protocols/SPTAppRemotePlayerAPI.html
index 3507872..571f228 100644
--- a/docs/html/Protocols/SPTAppRemotePlayerAPI.html
+++ b/docs/html/Protocols/SPTAppRemotePlayerAPI.html
@@ -1473,7 +1473,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemotePlayerState.html b/docs/html/Protocols/SPTAppRemotePlayerState.html
index 243a27c..68d12aa 100644
--- a/docs/html/Protocols/SPTAppRemotePlayerState.html
+++ b/docs/html/Protocols/SPTAppRemotePlayerState.html
@@ -468,7 +468,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemotePlayerStateDelegate.html b/docs/html/Protocols/SPTAppRemotePlayerStateDelegate.html
index e491329..39a263b 100644
--- a/docs/html/Protocols/SPTAppRemotePlayerStateDelegate.html
+++ b/docs/html/Protocols/SPTAppRemotePlayerStateDelegate.html
@@ -179,7 +179,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemotePodcastPlaybackSpeed.html b/docs/html/Protocols/SPTAppRemotePodcastPlaybackSpeed.html
index 238256d..4acda10 100644
--- a/docs/html/Protocols/SPTAppRemotePodcastPlaybackSpeed.html
+++ b/docs/html/Protocols/SPTAppRemotePodcastPlaybackSpeed.html
@@ -167,7 +167,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemoteTrack.html b/docs/html/Protocols/SPTAppRemoteTrack.html
index 09c0953..2899906 100644
--- a/docs/html/Protocols/SPTAppRemoteTrack.html
+++ b/docs/html/Protocols/SPTAppRemoteTrack.html
@@ -515,7 +515,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemoteUserAPI.html b/docs/html/Protocols/SPTAppRemoteUserAPI.html
index d5d2ab5..42c1a72 100644
--- a/docs/html/Protocols/SPTAppRemoteUserAPI.html
+++ b/docs/html/Protocols/SPTAppRemoteUserAPI.html
@@ -540,7 +540,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemoteUserAPIDelegate.html b/docs/html/Protocols/SPTAppRemoteUserAPIDelegate.html
index a4e4511..9b733a4 100644
--- a/docs/html/Protocols/SPTAppRemoteUserAPIDelegate.html
+++ b/docs/html/Protocols/SPTAppRemoteUserAPIDelegate.html
@@ -189,7 +189,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTAppRemoteUserCapabilities.html b/docs/html/Protocols/SPTAppRemoteUserCapabilities.html
index 239903a..da7ba29 100644
--- a/docs/html/Protocols/SPTAppRemoteUserCapabilities.html
+++ b/docs/html/Protocols/SPTAppRemoteUserCapabilities.html
@@ -167,7 +167,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/Protocols/SPTSessionManagerDelegate.html b/docs/html/Protocols/SPTSessionManagerDelegate.html
index d5eac7e..eae634b 100644
--- a/docs/html/Protocols/SPTSessionManagerDelegate.html
+++ b/docs/html/Protocols/SPTSessionManagerDelegate.html
@@ -371,7 +371,7 @@ <h4 class="method-subtitle">Declared In</h4>
 				<footer>
 					<div class="footer-copyright">
 						
-						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+						<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 						
 						
 						<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/hierarchy.html b/docs/html/hierarchy.html
index c7ccb2e..da3627f 100644
--- a/docs/html/hierarchy.html
+++ b/docs/html/hierarchy.html
@@ -156,7 +156,7 @@ <h2 class="index-title">Constant References</h2>
 					<footer>
 						<div class="footer-copyright">
 							
-							<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+							<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 							
 							
 							<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>
diff --git a/docs/html/index.html b/docs/html/index.html
index 4802ccc..3e51529 100644
--- a/docs/html/index.html
+++ b/docs/html/index.html
@@ -150,7 +150,7 @@ <h2 class="index-title">Constant References</h2>
 					<footer>
 						<div class="footer-copyright">
 							
-							<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-04-15</p>
+							<p class="copyright">Copyright &copy; 2024 Spotify. All rights reserved. Updated: 2024-05-08</p>
 							
 							
 							<p class="generator">Generated by <a href="http://appledoc.gentlebytes.com">appledoc 2.2.1 (build 1334)</a>.</p>