Released 2021-04-26
  • Breaking changes to improve AudioScrubPlugin and ChannelControlPlugin
Release notes











  • AbrPlayer: player.api.getAudioTracks() now returns more information about the audio track (if available). Also, the role property has been deprecated in favor of roles. For more information see ShakaPlayerAudioTrack documentation.
  • All players: Added API methods for mute/unmute muxed audio only player.api.muteMuxed(), player.api.unmuteMuxed() and player.api.toggleMuteMuxed().
  • Controls + AbrPlayer: Labels on audio tracks (if set) are now used in the audio select UI.


  • AbrPlayer: Fixed bug that caused the wrong audio track to be selected when calling player.api.setAudioTrack.
  • Controls: Fixed bug where muting the muxed audio did not work if ChannelControlPlugin was loaded.
  • Fixed a bug where player.api.toggleMute() did not mute/unmute all audio. It now mutes/unmutes all audio exactly like the player.api.mute() and player.api.unmute() methods.


  • AudioScrubPlugin: The AudioScrubTrack interface changed. The nativeElement property is now called shadowElement, and a trackId and masterElement property were added.
  • AudioScrubPlugin: updateOffset and unregisterTracks now takes a track ids or sources instead of html elements.
  • AudioScrubPlugin: unregisterTracksFromSource has been replaced by unregisterTracks.
  • ChannelControlPlugin: The events emitted will now have the track id if available, otherwise fall back to src (before they always contained the src regardless)

As always, check the migration guide to see the details of how to migrate between versions.