Files
shaka-player/CHANGELOG.md
T
Joey Parrish 85c2e2ab85 Update changelog for v2.1.5
Change-Id: Ie48620fad992f08f854c7b0f659f5019e8b15f67
2017-07-17 10:52:43 -07:00

61 KiB

2.1.5 (2017-07-17)

New features:

  • Add more information to video errors in Chrome

Bugfixes:

Demo app:

Docs:

2.1.4 (2017-06-16)

New features:

Bugfixes:

Demo app:

Docs:

2.1.3 (2017-06-06)

New features:

Bugfixes:

2.1.2 (2017-05-23)

New features:

Bugfixes:

Docs:

2.0.9 (2017-05-10)

Backported bugfixes from v2.1.x:

2.1.1 (2017-05-10)

New features:

Bugfixes:

2.1.0 (2017-04-25)

New features:

Bugfixes:

Docs:

Broken Compatibility:

  • Track types 'video' and 'audio' have been combined into 'variant'.
    • Any application looking at track.type will need to be updated.
  • Removed useRelativeCueTimestamps option
  • Plugin interface for text parsers has changed
    • Both old & new interfaces still supported
    • Support for old interface will be removed in v2.2
  • Plugin interface for ManifestParser.start has changed
    • Now takes an object with named parameters instead of positional params
    • Both old & new interfaces still supported
    • Support for old interface will be removed in v2.2
  • Retired the INVALID_TTML error code
    • Folded into the INVALID_XML error code

2.0.8 (2017-04-07)

Bugfixes:

2.0.7 (2017-03-29)

New Features:

  • Improved keyboard navigation in demo page for accessibility
  • Play through small gaps at the start of the timeline
  • Add a method for accessing the HTMLMediaElement from the Player
  • Improved error reporting for HTTP errors

Bugfixes:

2.0.6 (2017-02-24)

New Features:

Bugfixes:

2.0.5 (2017-01-30)

Bugfixes:

2.0.4 (2017-01-24)

New features:

Bugfixes:

Docs:

2.0.3 (2017-01-09)

New features:

Bugfixes:

2.0.2 (2016-12-15)

New features:

Bugfixes:

Docs:

  • Link to error docs from the demo app

2.0.1 (2016-10-26)

New features:

Bugfixes:

Demo app improvements:

Docs:

2.0.0 (2016-09-07)

The first full release of v2!

New features:

Bugfixes:

Planned features we cut:

2.0.0-beta3 (2016-07-29)

Restored Features from v1 Missing in v2.0.0-beta2:

New features:

Bugfixes:

Docs:

Broken Compatibility compared to v2.0.0-beta2:

  • The asynchronous Player.support() has been replaced with the synchronous Player.isBrowserSupported() call
  • AbrManager implementations must now handle a partial StreamSet map in chooseStreams()
  • The wrong keys error has been dropped due to false positives

2.0.0-beta2 (2016-05-04)

Restored Features from v1 Missing in v2.0.0-beta:

New features:

Bugfixes:

Docs:

Broken Compatibility compared to v2.0.0-beta:

  • None!

1.6.5 (2016-04-08)

Bugfixes:

2.0.0-beta (2016-04-07)

New Features:

Bugfixes:

Docs:

  • New tutorials!

Missing Features from v1 (to be added later):

Broken Compatibility:

  • Almost everything! (v2 upgrade guide coming soon)

1.6.4 (2016-03-03)

Bugfixes:

1.6.3 (2016-02-08)

Features:

Bugfixes:

  • Several IE11 stability issues and race conditions fixed
    • Fixed incompatibilities when clearing the SourceBuffer
    • Ignore spurious 'updateend' events
    • Added stack-based messages to all assertions
    • Fixed some unit test compatibility issues
    • Fixed race conditions caused by Promise polyfill
    • https://github.com/google/shaka-player/issues/251

Docs:

  • Update browser support docs with regard to IE & Firefox

Test app fixes:

  • Fixed slider controls for IE11
  • Turned off seek bar tooltips for IE11

1.6.2 (2015-12-14)

Features:

Bugfixes:

1.6.1 (2015-12-07)

Bugfixes:

1.6.0 (2015-11-17)

Features:

Bugfixes:

Test app features:

Broken Compatibility:

1.5.2 (2015-11-12)

A roll-up of recent bugfixes.

Bugfixes:

Test app features:

  • Added a Widevine-encrypted version of the Sintel 4k test asset.

1.5.1 (2015-10-07)

A roll-up of recent bugfixes.

Bugfixes:

1.5.0 (2015-09-17)

Features:

Bugfixes:

Broken Compatibility:

Deprecated:

  • The following methods on Player are deprecated in favor of configure()/getConfiguration() and will be removed in v1.6.0:
    • enableAdaptation
    • getAdaptationEnabled
    • setStreamBufferSize
    • getStreamBufferSize
    • setLicenseRequestTimeout
    • setMpdRequestTimeout
    • setRangeRequestTimeout
    • setPreferredLanguage
    • setRestrictions
    • getRestrictions
    • https://github.com/google/shaka-player/issues/93
  • A new two-argument ContentProtectionCallback has been added to DashVideoSource, and the old style is deprecated and will be removed in v1.6.0.

1.4.2 (2015-09-04)

A roll-up of recent bugfixes.

Bugfixes:

Test app features:

  • Added 'offline' URL param.

1.4.1 (2015-08-18)

A roll-up of recent bugfixes and small improvements.

Bugfixes:

Features:

Testing:

  • Reduced test flakiness overall.
  • Certain (unavoidable) decode errors are now suppressed on Chrome Linux.
  • Added waitUntilBuffered() function to help reduce test flakiness.

1.4.0 (2015-07-06)

Code health release. Major refactoring of streaming logic.

Bugfixes:

Features:

Test app features:

Testing:

Documentation:

1.3.2 (2015-07-06)

A roll-up of recent bugfixes.

Bugfixes:

1.3.1 (2015-05-22)

A roll-up of recent bugfixes and small improvements.

Bugfixes:

Features:

1.3.0 (2015-04-16)

Feature release, introducing live streaming and offline playback.

Bugfixes:

  • Fixed playback and buffering of streams whose index is inaccurate.
  • Fixed EME spec compliance.
  • Fixed FakeEventTarget exception handling.
  • Fixed aggressive dead code stripping by the compiler.
  • Fixed a bug in which subtitles were enabled by default without a subtitle language match.

Features:

  • Added offline playback support.
  • Added offline support for encrypted content (on platforms which support persistent licenses).
  • Added live stream support.
  • Added support for header-based clock synchronization.
  • Added support for inheriting Segment{Base,List,Template} across levels in MPDs.
  • Add polyfill support for fullscreen events.
  • Updated EME usage to the March 12 draft.
  • Added Player.getAdaptationEnabled().
  • Added support for bandwidth restrictions and restrictions not based on license responses.
  • Added support for requireJS and improved support for commonJS.
  • Sped up integration tests and improved test robustness.
  • Bandwidth estimates can now be persisted across playbacks.
  • Custom bandwidth estimator objects can now be injected into the Player.
  • Improved EME v0.1b polyfill consistency with native EME in Chrome.
  • Improved buffering and underflow mechanisms.
  • Improved error reporting if DRM info is missing.
  • Improved robustness in the face of HTTP 404 and 410 errors during segment fetch.
  • Improved documentation for Role tags and multilingual assets.

Test app features:

  • Example player controls in the test app.

Deprecated:

  • The following methods on Player are deprecated. They will be removed in v1.4.0:
    • getCurrentResolution() (replace with video.videoWidth & video.videoHeight)
    • getCurrentTime()/seek() (replace with video.currentTime)
    • getDuration() (replace with video.duration)
    • getMuted()/setMuted() (replace with video.muted)
    • getVolume()/setVolume() (replace with video.volume)
    • play() (replace with video.play)
    • pause() (replace with video.pause)
    • requestFullscreen() (replace with video.requestFullscreen())

Broken compatibility:

  • The license postprocessor callback is no longer given a Restrictions argument. See Player.getRestrictions()/setRestrictions().
  • The suppressMultipleEvents flag has been dropped from DrmSchemeInfo, which changes the constructor signature. This flag interfered with key rotation.

1.2.3 (2015-04-07)

A roll-up of recent bugfixes.

Bugfixes:

Features:

Test app features:

  • Added a new 4k test asset.

1.2.2 (2015-03-11)

Bugfixes:

Features:

1.2.1 (2015-03-10)

A roll-up of recent bugfixes, plus a few minor additions to the test app. Branched from v1.2.0.

Bugfixes:

  • Try to recover from a streaming failure.
  • Ignore spurious error events from the video tag.
  • Update docs WRT content restrictions and folder organization.
  • Fix clearkey errors in Chrome 42+.
  • Fix computation of the number of segments in MpdProcessor.
    • Only affects assets which use SegmentTemplate with a duration attribute.

Test app features:

  • Rename a confusing asset.
  • Add a button to cycle video tracks.
  • Support MPD init data overrides for all DRM schemes.

1.2.0 (2015-02-24)

Lots of internal refactoring and bugfixes, and a few new features.

Bugfixes:

Features:

Broken Compatibility:

  • System IDs in PSSH objects are now hex strings instead of raw strings.

1.1 (2015-01-14)

Maintenance release.

Bugfixes:

Features:

  • Tests are now checked for style.
  • Tests have been expanded to increase coverage and exercise more Player features:
    • playback rate
    • stats
    • language preference
    • license restrictions
    • WebM/VP9
    • error events
  • Integration tests now run much faster.
  • MediaKeys polyfills have received minor updates to improve compatibility with Chrome 41.
  • New sample assets and code in app.js to demonstrate how to use a PSSH from an MPD to override what's in the content itself.

Broken Compatibility:

  • None!

1.0 (2014-12-19)

First public release.

Bugfixes:

  • Text tracks are no longer ignored in MPD manifests.
  • Adaptation decisions are now quicker and more reliable.
    • (This bug was more noticeable on faster internet connections.)
  • Playback no longer gets "stuck" on certain content.
  • Playback no longer gets "stuck" after certain seek patterns.
  • Player get/select/enable methods can now be called without a video source.
  • A <video> tag's "videoWidth"/"videoHeight" attributes now update correctly on Chrome >= 40.
  • Manual adaptation while paused no longer unpauses the video.
  • Credentials can now be used on cross-domain license requests.
  • Range headers are no longer sent for all segment requests.
    • (This fixes issues with IIS.)
  • A missing declaration of getVideoPlaybackQuality() has been added.
  • The compiled code no longer pollutes the global namespace.
  • DASH manifests using <SegmentList> are now parsed correctly.
  • Formatting has been fixed in the "Shaka Player Development" tutorial.

Features:

  • The Player is now reusable. You can call load() multiple times without calling destroy().
  • The JS linter is now included in sources, fixing compatibility issues between versions.
  • The test suite now includes playback integration tests.
  • The Player has been updated to support the 01 Dec 2014 draft of the EME specification.
  • The loader in load.js no longer makes assumptions about app.js. You can now use load.js to bootstrap other applications.
  • The test app now uses less screen real estate.
  • All custom events have been documented, and a new tutorial has been added to demonstrate how they can be used.
  • The Player now has a support-check API to determine if the browser has all necessary features for playback.
  • Sample code in the tutorials is now marked up to highlight changes from the previous sample.
  • Code coverage in unit tests has been increased.
  • Flakiness in unit tests has been reduced.
  • DASH manifests using <SegmentTemplate> without a segment index or segment timeline are now supported.
  • The DASH "presentationTimeOffset" attribute is now supported.

Broken Compatibility:

  • ContentProtectionCallback no longer takes a "mimeType" argument.
  • DrmSchemeInfo constructor no longer takes a "mimeType" argument.
  • DrmSchemeInfo constructor's "initData" argument is now an object with fields instead of a Uint8Array.
  • DrmSchemeInfo now takes a "withCredentials" argument.
  • lib.js has been renamed to shaka-player.compiled.js.

0.1b (2014-11-21)

Private beta release.