Skip to content

Releases: SRGSSR/pillarbox-apple

Control Center Fixes

29 Oct 09:01
13.0.1
5388dbf

Choose a tag to compare

Fixes

  • Ensured the Control Center is cleared when an error occurs.
  • Fixed an issue where Control Center skip button availability was inverted (forward and backward).
  • Fixed an issue where the playback speed menu item action closure was not called when selecting a speed.

What's Changed

Full Changelog: 13.0.0...13.0.1

Improved Error Management

01 Oct 06:47
13.0.0
d609125

Choose a tag to compare

Improvements

  • Integrations can now access full details of errors that occur during asset loading.
  • Core Business asset loading errors are now exposed as DataError.
  • Added Player.resume(_:in:) to allow setting a transient start item and time.
  • Introduced MediaSelectionPreference, improving media selection APIs and adding support for .off selection.
  • Simplified playback speed APIs.
  • Unified playlist navigation APIs to consistently respect the navigationMode across all use cases.
  • Added reporting of the current AirPlay status in Commanders Act events.
  • Made RepeatMode conform to CaseIterable.

Fixes

  • Fixed an issue where playback of DRM-protected content could fail consistently after the app stayed in the background for several hours.
  • Fixed stale values returned by Commanders Act and metrics tracker heartbeats.
  • Fixed inconsistencies in the Picture-in-Picture restoration flag when stopping without restoration.
  • Fixed incorrect busy state reporting when playback fails.

Demo Improvements

  • Error messages now include icons for better clarity.
  • Added a shortcut link to application settings.

Demo Fixes

  • Fixed blurry images on skip buttons.
  • Fixed the toggle tap gesture not working on iOS 26.
  • Restored demo content that was previously unplayable.

Breaking Changes

  • Replaced Player.setMediaSelection(preferredLanguages:for:) with Player.setMediaSelectionPreference(_:for:).
  • Removed Player.mediaSelectionPreferredLanguages(for:).
  • Removed Player.canReturnToPrevious(), Player.canAdvanceToNext(), Player.returnToPrevious() and Player.advanceToNext().
  • Removed Player.setDesiredPlaybackSpeed(_:) and Player.effectivePlaybackSpeed. Use Player.playbackSpeed instead.

What's Changed

New Contributors

Full Changelog: 12.0.0...13.0.0

Performance Improvements

13 Jun 06:28
12.0.0
206116e

Choose a tag to compare

Improvements

  • Ensure most PlayerItemTracker methods are executed off the main thread to avoid potential UI hitches, particularly when displaying videos in scrollable views.

Demo Fixes

  • Fixed performance issues when seeking on certain devices.
  • Resolved visible hitches when swiping between stories in the demo.
  • Corrected a non-working stream URL.

Breaking Changes

  • Removed HTTP and HTTPS constants from media composition streaming methods.
  • Most PlayerItemTracker methods are now called off the main thread. Update your implementation to handle thread safety accordingly.

What's Changed

Full Changelog: 11.0.0...12.0.0

Seek Behavior Overhaul

20 May 06:13
11.0.0
aeea5e6

Choose a tag to compare

Fixes

  • Seek logic has been revisited to address performance issues, particularly with audio content. The .immediate behavior has been rebranded as .optimal, ensuring the best experience based on the content being played.
  • Player items delivered by the CoreBusiness framework will now include chapters only for episode content.

Demo Fixes

  • Fixed issues where interacting with the slider could cause an inconsistent UI state or erratic behavior.

Breaking Changes

  • The .immediate seek behavior has been replaced with .optimal.

What's Changed

Full Changelog: 10.0.2...11.0.0

Maintenance Release

06 May 15:58
10.0.2
9e8fe0a

Choose a tag to compare

Improvements

  • Display the currently selected values in the settings menu for better visibility.
  • Improve alignment between settings menu labels and the system player's user experience.
  • Add support for displaying VPN/proxy blocking reasons.

Fixes

  • Prevent potential plugin name clashes with other packages.
  • Fix an issue where Player observation could fail when empty.

Demo Improvements

  • Make skip intervals configurable in demo settings.

What's Changed

Full Changelog: 10.0.1...10.0.2

Improved Picture in Picture handling

24 Apr 06:11
10.0.1
9321693

Choose a tag to compare

Improvements

  • Improved Picture in Picture (PiP) automatic start support for cases where the video view doesn’t cover the entire screen.

Demo Improvements

  • Fixed an issue where the custom player controls toggle gesture wasn’t working as expected on iOS 17.

What's Changed

Full Changelog: 10.0.0...10.0.1

Support for skip gestures

04 Apr 17:56
10.0.0
693f94a

Choose a tag to compare

Improvements

  • Introduced SkipTracker to simplify the implementation of skip gestures.
  • Added skip methods that accept a Skip direction as a parameter. These methods are more ergonomic when the skip direction is determined programmatically, while the existing methods remain well-suited for UI-bound actions.
  • Made PlayerItem conform to Hashable, simplifying the adoption of Hashable in wrapper types.
  • Added methods to stop or close Picture in Picture without triggering restoration behavior.
  • Added methods to show or hide the user interface managed by a VisibilityTracker.

Breaking Changes

  • Core extensions previously defined on Array have been moved to Collection for broader applicability.
  • Removed the PictureInPicturePersistable.pictureInPictureDidClose() method.

Demo Improvements

  • Enabled support for skip gestures in the custom player layout.
  • Improved playlist management UI in the demo: it now supports inserting the same item multiple times, with control over both the insertion point and a multiplier.
  • URIs in the monitoring panel are now displayed in full without truncation.

Demo Fixes

  • Fixed high-speed capsule display issues on devices with a notch.

Added custom menu actions

14 Mar 06:34
9.0.0
4abb09f

Choose a tag to compare

Improvements

  • Added support for custom actions in iOS player-related Menu contents, allowing applications to respond to user selections.
  • Replaced navigation_bu_distributer with content_bu_owner in Commanders Act page views to ensure consistent measurement across applications and websites.
  • Enhanced monitoring data with track (audio and subtitles) and application information.

Fixes

  • Ensured buffer values are always clamped to the correct range.
  • Restored Control Center to the system when no longer needed.

Breaking Changes

  • Replaced PlayerProperties with TrackerProperties in tracker implementations. This ensures that property values accurately reflect the state at the time of capture, preventing discrepancies when accessed later.
  • Renamed PlayerItemConfiguration to PlaybackConfiguration to better represent its role in PlayerItem and Asset configurations.
  • Converted Server into an enum with fixed values to prevent unauthorized services from incorrectly implementing the SRG SSR metadata service contract.
  • Restricted analytics source keys to a predefined enumeration of allowed values.

Demo Improvements

  • Added support for Enhance Dialogue in player audio settings on compatible tvOS devices.

Removed custom server support in Core Business

05 Feb 09:52
8.0.0
e42864b

Choose a tag to compare

This release removes support for custom servers in Core Business player items, ensuring that only official production, staging, and test environments are available.

Improvements

  • URN information is now included in all reports sent to the SRG SSR monitoring platform, even when the URN is invalid.

Bug Fixes

  • Fixed an assertion failure in debug builds when attempting to play a URN.

Breaking Changes

  • The identifier associated with a MetricsTracker has been moved from its metadata to its configuration.
  • Custom Server construction, previously marked as deprecated, is no longer supported.

Demo Improvements

  • Removed MMF support.
  • Removed alternative environments, including SAM and CH/WW location simulation.
  • Enhanced the demo player slider appearance and behavior.

What's Changed

Full Changelog: 7.0.0...8.0.0

Removed Support for ComScore Page Views

24 Jan 12:36
7.0.0
1edcd32

Choose a tag to compare

This release removes support for tracking ComScore page views.

Miscellaneous Improvements

  • Overlay Support: Added overlay functionality to SystemVideoView.
  • Enhanced Security: Prevented item creation from unofficial service endpoints. The Server.init(baseUrl:queryItems:) initializer, while still available, will be deprecated in a future release and now triggers an assertion if used.
  • Improved Documentation: Enhanced the organization and clarity of documentation catalogs.
  • Analytics Delegate: Introduced AnalyticsDelegate, enabling applications to be informed whenever events or page views have been sent.

Breaking Changes

  • The Analytics.trackPageView(commandersAct:) method now exclusively accepts Commanders Act page view data. The comScore parameter has been removed.
  • The ComScorePageView type and the c8 property from ComScoreLabels have been removed.
  • The comScorePageView property has been removed from the PageViewTracking protocol.
  • The SwiftUI page view tracking modifier tracked(commandersAct:) now only supports Commanders Act page view data, removing the previously available comScore parameter.

What's Changed

Full Changelog: 6.0.0...7.0.0