Added showHelloWorld parameter to MaestroSDKParameters (Boolean, defaults to false). When the API returns no panels for a stream, setting this to true displays the Hello World panel; the default (false) shows empty space instead.
MaestroPanel composable signature changed: the maestroEventViewModel parameter has been replaced with sdk: MaestroSDK.Instance. Pass the MaestroSDK.Instance directly: MaestroPanel(sdk = sdk). The view model is now created internally by the composable.
MaestroEventViewModel and the maestroEventViewModel() factory function are now internal. Remove any direct references to these types; use MaestroSDK.Instance for all SDK interactions and pass it to MaestroPanel directly.
didUpdatePlaybackProgressOfClip() signature changed: the index: Int parameter has been removed. The method now accepts only progress: Float. Update call sites to remove the index argument.
Added Builder to the MaestroPanelType enum. Exhaustive when expressions over MaestroPanelType — including those passed to updateConfig, onPanelSelected, and didShowPanel — must be updated to handle this new value.
Added debugInterface property to MaestroSDK.Instance, providing access to debug and testing utilities via MaestroSDKDebugInterface.
Added PlatformMode enum (TV, Mobile) and LocalPlatformMode composition local to uitoolkit. When embedding MaestroPanel in a mobile app, provide PlatformMode.Mobile via CompositionLocalProvider(LocalPlatformMode provides PlatformMode.Mobile) to enable mobile-optimized layout (full-width panel instead of the fixed TV panel width).
Added disableFantasyOverlays and disableBetOverlays fields to UserConfig for granular overlay suppression, independent of the existing disableOverlays flag.
Added stats.overrideUrl field to CustomPanelData, allowing a custom URL to be used as the stats data source.
onEventDataUpdated now requires a non-blank metadataValue on the supplied MaestroEventData to trigger event-specific content loading. Passing a non-null MaestroEventData with a blank metadataValue is treated the same as passing null — no config fetch is initiated and event triggers are cleared. Pass null explicitly when the user stops watching an event to ensure correct cleanup.
Fixed setDataToPanel so that updating CustomPanelData.Stats.overrideUrl to a new value now automatically triggers a stats data reload. Previously, changing the override URL after initial configuration had no effect until the panel was otherwise refreshed.