UNPKG

131 kBMarkdownView Raw
1## 2.5.11 (2020-05-05)
2
3New Features:
4 - Add role information to text and audio tracks in src= mode
5 - https://github.com/google/shaka-player/pull/2543
6 - Parse HLS CHARACTERISTICS attribute and populate track roles
7 - https://github.com/google/shaka-player/pull/2534
8 - Recognize new CMAF file extensions cmfv, cmfa, cmft in HLS
9 - https://github.com/google/shaka-player/pull/2473
10 - Add configuration to enable/disable fullscreen-on-rotate
11 - https://github.com/google/shaka-player/issues/2494
12 - Add configuration to enable keyboard playback controls
13 - https://github.com/google/shaka-player/issues/2489
14 - Dismiss UI overflow menus on window click
15 - Add non-standard DASH PlayReady UUID
16 - https://github.com/google/shaka-player/pull/2474
17
18Bugfixes:
19 - Fix FairPlay event handling
20 - https://github.com/google/shaka-player/issues/2214
21 - Fix load() Promise hang on iOS
22 - https://github.com/google/shaka-player/issues/2483
23 - Fix language normalization with native HLS
24 - https://github.com/google/shaka-player/issues/2480
25 - Fix display of duplicate cues
26 - https://github.com/google/shaka-player/issues/2497
27 - Fix TTML position parsing
28 - https://github.com/google/shaka-player/issues/2477
29 - https://github.com/google/shaka-player/pull/2493
30 - Fix display of line-positioned subtitles
31 - https://github.com/google/shaka-player/issues/2524
32 - Update to mux.js 5.5.4 to fix closed caption parsing bug
33 - https://github.com/videojs/mux.js/pull/330
34 - https://github.com/videojs/mux.js/pull/333
35 - Fix language and role preferences in src= mode
36 - https://github.com/google/shaka-player/pull/2535
37 - https://github.com/google/shaka-player/pull/2506
38 - Fix extra text track in src= mode
39 - https://github.com/google/shaka-player/issues/2516
40 - Fix Safari-prefixed fullscreen APIs
41 - https://github.com/google/shaka-player/issues/2528
42 - Fix display of nested cues with native text display
43 - https://github.com/google/shaka-player/issues/2263
44 - Fix getPlayheadTimeAsDate while loading/buffering
45 - Recover from timed-out Cast connection
46 - https://github.com/google/shaka-player/issues/2446
47 - Fix DRM exceptions on WebOS TVs
48 - https://github.com/google/shaka-player/issues/2512
49 - https://github.com/google/shaka-player/pull/2513
50 - Fix frameRate restrictions
51 - Filter out metadata text tracks in Player tracks API
52 - https://github.com/google/shaka-player/pull/2519
53 - Fix PlayRateController leak
54 - Fix buffer check in StallDetector
55 - https://github.com/google/shaka-player/issues/1809
56 - Fix offline storage picking high-bandwidth codecs
57 - https://github.com/google/shaka-player/issues/2390
58 - Fix nested TTML cues with non-ASCII characters
59 - https://github.com/google/shaka-player/issues/2478
60 - Fix UI updates when enabling captions
61 - https://github.com/google/shaka-player/issues/2484
62 - Fix ratechange events w/ src= playback
63 - https://github.com/google/shaka-player/issues/2488
64 - Fix serialization of Error objects over Cast
65 - Fix missing EME polyfill in Cast receiver
66 - Use the module wrapper in debug builds
67 - https://github.com/google/shaka-player/issues/2465
68
69Docs:
70 - Fix broken docs for UI control events
71 - https://github.com/google/shaka-player/issues/2385
72 - Add FAQ entry about minBufferTime
73 - https://github.com/google/shaka-player/issues/2000
74
75Demo App:
76 - Push demo app footer to the bottom of the page
77
78
79## 2.5.10 (2020-03-24)
80
81New Features:
82 - Added 'doubleClickForFullscreen' config to UI
83 - https://github.com/google/shaka-player/issues/2459
84 - Add 'loaded' event
85 - https://github.com/google/shaka-player/pull/2441
86 - Update prerequisites script w/ new nodejs versions
87 - Export default text parser plugins
88 - https://github.com/google/shaka-player/issues/2428
89 - Add config to show/hide unbuffered range at seek bar start
90 - https://github.com/google/shaka-player/issues/2424
91 - Approximate segment size based on bandwidth when deciding to abort a request
92 - https://github.com/google/shaka-player/pull/2288
93 - Always log config errors
94 - Make 'offline.trackSelectionCallback' async to allow the app to prompt the
95 user or do other async checks
96 - https://github.com/google/shaka-player/pull/2387
97 - Disable video when the media element is AUDIO
98 - https://github.com/google/shaka-player/issues/2246
99 - https://github.com/google/shaka-player/pull/2371
100
101Bugfixes:
102 - Fix DRM-related issues on Tizen
103 - https://github.com/google/shaka-player/issues/813
104 - https://github.com/google/shaka-player/issues/2447
105 - https://github.com/google/shaka-player/issues/2448
106 - https://github.com/google/shaka-player/pull/2449
107 - Fix exceptions with very large manifests on XBox One and possibly other
108 consumer electronics platforms
109 - https://github.com/google/shaka-player/issues/2433
110 - Fix UI exception joining existing Cast session
111 - https://github.com/google/shaka-player/issues/2451
112 - Fix UTCTiming when autoCorrectDrift is off
113 - https://github.com/google/shaka-player/issues/2411
114 - https://github.com/google/shaka-player/pull/2412
115 - Fix EME polyfill exceptions on Edge
116 - https://github.com/google/shaka-player/issues/2413
117 - Fix offline storage with some Widevine and PlayReady content
118 - https://github.com/google/shaka-player/pull/2400
119 - Don't fire 'adaptation' event when not switching
120 - https://github.com/google/shaka-player/issues/2392
121 - Fix rare exception in isTextTrackVisible()
122 - https://github.com/google/shaka-player/issues/2399
123 - Fix bogus warnings about argument count in configs
124 - Fix duplicate DB objects when storing offline content
125 - https://github.com/google/shaka-player/issues/2389
126 - Fix MIME type case sensitivity in HLS parser
127 - Fix changing UI Cast app ID to empty string
128 - Fix case sensitivity in TTML MIME types
129 - https://github.com/google/shaka-player/issues/2378
130 - https://github.com/google/shaka-player/pull/2381
131 - Fix exceptions for Video Futur platform
132 - https://github.com/google/shaka-player/issues/2189
133 - https://github.com/google/shaka-player/pull/2368
134 - Fix captions display alignment
135 - https://github.com/google/shaka-player/issues/2334
136 - https://github.com/google/shaka-player/issues/2157
137 - Fix Cast errors in compiled mode
138 - https://github.com/google/shaka-player/issues/2130
139
140Docs:
141 - Improve ClearKey examples
142 - https://github.com/google/shaka-player/issues/2434
143 - https://github.com/google/shaka-player/pull/2439
144 - Fix truncated UI tutorial
145 - https://github.com/google/shaka-player/issues/2410
146 - Update offline.md
147 - https://github.com/google/shaka-player/pull/2404
148 - Add additional links in error code reference
149
150Demo App:
151 - Several service worker improvements and fixes
152 - Load pwacompat through npm
153 - Replace Live search boolean with a drop-down
154 - Renamed the "search" tab to "all content"
155 - Add search filters to the URL
156 - Work around Material Icons font bug
157 - Work around MDL button bug in iOS 13
158 - https://github.com/google/shaka-player/issues/2376
159
160
161## 2.5.9 (2020-02-04)
162
163Bugfixes:
164 - Fix PiP polyfill for iOS
165 - https://github.com/google/shaka-player/issues/2199
166 - Ban iOS < 12
167 - https://github.com/google/shaka-player/issues/1920
168 - Work around service worker registration hang on iOS
169 - Fix display of selected language in UI
170 - https://github.com/google/shaka-player/issues/2353
171 - Fix race condition on HLS parser shutdown
172 - https://github.com/google/shaka-player/issues/2138
173 - Fix StringUtils on Xbox One
174 - https://github.com/google/shaka-player/issues/2186
175 - Fix selecting audio track by role when video tracks contain the same role
176 - https://github.com/google/shaka-player/issues/2346
177 - Fix skipping of raw format streams in HLS
178 - Fix iPad 13+ detection
179 - https://github.com/google/shaka-player/issues/2360
180 - Fix exception thrown for Chrome & Firefox on iOS
181
182Docs:
183 - Fix typo in fairplay tutorial
184 - https://github.com/google/shaka-player/issues/2344
185
186
187## 2.5.8 (2020-01-16)
188
189Bugfixes:
190 - Recognize and reject raw AAC in HLS
191 - https://github.com/google/shaka-player/issues/1083
192 - https://github.com/google/shaka-player/issues/2337
193 - Fix fullscreen on Android
194 - https://github.com/google/shaka-player/issues/2324
195 - https://github.com/google/shaka-player/pull/2325
196 - Fix start time support in src= mode
197 - https://github.com/google/shaka-player/issues/2267
198 - https://github.com/google/shaka-player/pull/2271
199 - Add missing events to CastProxy Player
200 - https://github.com/google/shaka-player/issues/2318
201 - Fix cast receiver UI update
202 - https://github.com/google/shaka-player/issues/2314
203
204New Features:
205 - Add corruptedFrames to stats
206 - https://github.com/google/shaka-player/pull/2328
207 - Add framerate restriction to the config
208 - https://github.com/google/shaka-player/issues/2068
209 - https://github.com/google/shaka-player/pull/2332
210 - Add option to ignore empty AdaptationSets in DASH
211 - https://github.com/google/shaka-player/issues/2023
212 - https://github.com/google/shaka-player/pull/2330
213 - Add licenseTime to stats
214 - https://github.com/google/shaka-player/pull/2297
215 - Add pixelAspectRatio property from DASH
216 - https://github.com/google/shaka-player/pull/2294
217 - Add AirPlay support with native HLS and FairPlay
218 - https://github.com/google/shaka-player/issues/2177
219 - https://github.com/google/shaka-player/pull/2257
220 - Add option to show text/audio roles in UI
221 - https://github.com/google/shaka-player/issues/2307
222 - Add "fadeDelay" option to delay fading UI controls
223
224Demo App:
225 - Update asset list and metadata
226
227
228## 2.5.7 (2019-12-18)
229
230New Features:
231 - Add audioSamplingRate property
232 - https://github.com/google/shaka-player/pull/2290
233 - Ignore DASH image tracks
234 - https://github.com/google/shaka-player/pull/2276
235 - Add AV1 check and more file extensions for src mode
236 - https://github.com/google/shaka-player/pull/2280
237 - Allow removing text from manifests
238 - https://github.com/google/shaka-player/pull/2278
239 - Allow ignoreSuggestedPresentationDelay in DASH
240 - https://github.com/google/shaka-player/pull/2260
241 - Allow removing video from manifests
242 - https://github.com/google/shaka-player/pull/2259
243 - Add a polyfill for EME encryption scheme queries
244 - Add support for ttml regions
245 - https://github.com/google/shaka-player/issues/2191
246 - Add a method to select variants by label
247 - https://github.com/google/shaka-player/issues/924
248
249Bugfixes:
250 - Fix shaka.polyfill missing in externs
251 - Fix width of overflow menu with wide content
252 - https://github.com/google/shaka-player/issues/2249
253 - Disable indexedDB support if an error is thrown
254 - https://github.com/google/shaka-player/pull/2236
255 - Fix setting robustness settings in DRM config
256 - https://github.com/google/shaka-player/issues/2211
257
258
259## 2.5.6 (2019-11-06)
260
261Bugfixes:
262 - Fix storing content with delayLicenseRequestUntilPlayed
263 - https://github.com/google/shaka-player/issues/2218
264 - Fix check for captions in appendBuffer
265 - https://github.com/google/shaka-player/issues/2187
266 - Allow 'rebufferingGoal' to change after startup
267 - https://github.com/google/shaka-player/issues/2217
268 - Fix default encoding when reading files
269 - https://github.com/google/shaka-player/issues/2206
270 - Throw for invalid TTML
271 - https://github.com/google/shaka-player/issues/2157
272 - Fix FairPlay default initDataTransform
273 - https://github.com/google/shaka-player/issues/2136
274 - Fix live seekbar on Android
275 - https://github.com/google/shaka-player/issues/2169
276 - Fix undefined value in HLS request filters
277 - https://github.com/google/shaka-player/issues/2156
278 - Fix Period transitions with embedded captions
279 - https://github.com/google/shaka-player/issues/2076
280 - Throw error for clear-key content with src=
281 - https://github.com/google/shaka-player/issues/2139
282 - Fix support for empty TTML data
283 - https://github.com/google/shaka-player/pull/1960
284 - Fix multi-Period handling of key statuses
285 - https://github.com/google/shaka-player/issues/2135
286 - Fix stall at end with src=
287 - https://github.com/google/shaka-player/issues/2117
288 - Fix ttml background image support
289 - https://github.com/google/shaka-player/pull/2034
290
291New Features:
292 - Add config to use MSE playback on Safari
293 - https://github.com/google/shaka-player/issues/2116
294 - Support storing protected content without init data in manifest
295 - https://github.com/google/shaka-player/issues/1531
296 - https://github.com/google/shaka-player/pull/2164
297 - Allow disable audio/video in manifest parsers
298 - https://github.com/google/shaka-player/pull/2196
299 - Enhance ttml rendering
300 - https://github.com/google/shaka-player/pull/1962
301 - Include event ID in DASH Event checks
302 - https://github.com/google/shaka-player/issues/2077
303 - https://github.com/google/shaka-player/pull/2175
304 - Add support for Label element in DASH
305 - https://github.com/google/shaka-player/issues/2178
306 - https://github.com/google/shaka-player/pull/2197
307 - Treat URL schemes as case-insensitive
308 - https://github.com/google/shaka-player/issues/2173
309 - Forward change event from src= playback
310 - https://github.com/google/shaka-player/pull/2134
311 - Export getMaxSegmentDuration() on presentationTimeline
312 - https://github.com/google/shaka-player/issues/2124
313 - Ignore MIME parameters in Content-Type check
314 - https://github.com/google/shaka-player/issues/1946
315 - https://github.com/google/shaka-player/pull/2215
316 - Make seek & volume bar colors configurable
317 - https://github.com/google/shaka-player/issues/2203
318
319Demo App:
320 - Improve mobile Safari PWA support in demo
321 - https://github.com/google/shaka-player/issues/2143
322 - Added tooltips to the search filters on the demo
323 - Added "report bug" button to demo
324
325
326
327## 2.5.5 (2019-08-23)
328
329New Features:
330 - Conditionally remove FairPlay formatting
331 - https://github.com/google/shaka-player/issues/1951
332 - Add sessionId field to network request
333 - Make it easier to add custom overflow menu items
334 - https://github.com/google/shaka-player/issues/2091
335 - Add clearBufferOnQualityChange field to UI config
336 - https://github.com/google/shaka-player/issues/1733
337 - Allow filtering out failed HLS text tracks
338 - https://github.com/google/shaka-player/issues/2065
339 - Parse Accessibility tag into text "kind"
340 - https://github.com/google/shaka-player/issues/2060
341 - Re-add MediaSession API
342 - https://github.com/google/shaka-player/issues/1934
343 - Skip WebM streams in HLS instead of throwing
344 - https://github.com/google/shaka-player/issues/2108
345 - Convert `<mspr:pro>` elements to `pssh` init data
346 - https://github.com/google/shaka-player/pull/2106
347 - https://github.com/google/shaka-player/issues/2058
348
349Bugfixes:
350 - Fix duplicate resolution entries in UI menu
351 - https://github.com/google/shaka-player/issues/2085
352 - Fix missing tracks, race on time during startup
353 - https://github.com/google/shaka-player/issues/2045
354 - Fix spinner position on IE11
355 - https://github.com/google/shaka-player/issues/2084
356 - Fix seek bar coloring when nothing buffered
357 - Fix scroll behavior on page load
358 - https://github.com/google/shaka-player/issues/2063
359 - Don't create a UI if the app already has one
360 - https://github.com/google/shaka-player/issues/2073
361 - Fix text display styling when fullscreen
362 - https://github.com/google/shaka-player/issues/2051
363 - Don't enter fullscreen on double click on bottom bar
364 - https://github.com/google/shaka-player/issues/2053
365 - Avoid errors when video ends
366 - https://github.com/google/shaka-player/issues/2050
367 - Fix fullscreen behavior on double click and rotate
368 - https://github.com/google/shaka-player/issues/2043
369 - Fix bug when clicking PIP button while casting
370 - https://github.com/google/shaka-player/issues/2044
371 - Fix CEA captions with multi-Period content
372 - https://github.com/google/shaka-player/issues/2075
373 - https://github.com/google/shaka-player/issues/2094
374
375Demo App:
376 - Added more HLS demo assets
377 - https://github.com/google/shaka-player/issues/2035
378 - Exit PIP on unload in the demo
379 - https://github.com/google/shaka-player/issues/2055
380 - Re-added hidden 'noinput' param to demo
381
382
383## 2.5.4 (2019-07-19)
384
385Bugfixes:
386 - Default to transparent SMPTE-TT subtitle background
387 - https://github.com/google/shaka-player/pull/2033
388 - Fix seek bar on iOS
389 - https://github.com/google/shaka-player/issues/1918
390 - https://github.com/google/shaka-player/pull/2036
391 - Allow whitespace in TTML subtitles
392 - https://github.com/google/shaka-player/issues/2028
393 - https://github.com/google/shaka-player/pull/2030
394 - Fix play button positioning on IE 11
395 - https://github.com/google/shaka-player/issues/2026
396 - Match UI style with Chrome's native controls
397 - Stop constant spurious time updates in UI
398 - Fix volume slider jumping around while casting
399 - https://github.com/google/shaka-player/issues/1913
400 - Fix missing seek bar in short VOD clips
401 - https://github.com/google/shaka-player/issues/2018
402 - Fix demo app in Firefox private mode
403 - https://github.com/google/shaka-player/issues/1926
404 - Ignore case in MIME type checks
405 - https://github.com/google/shaka-player/issues/1991
406 - Fix problems with casting
407 - https://github.com/google/shaka-player/issues/1948
408
409New Features:
410 - Add command-line arg to change the test timeout.
411
412
413## 2.5.3 (2019-07-03)
414
415Bugfixes:
416 - Fix DASH bug when ignoring minBufferTime
417 - https://github.com/google/shaka-player/issues/2015
418 - Avoid changing variant when switching text lang
419 - https://github.com/google/shaka-player/issues/2010
420 - Work around platform bug when seeking to end
421 - https://github.com/google/shaka-player/issues/1967
422 - Allow apps to extend shaka.ui.Element
423 - https://github.com/google/shaka-player/issues/2011
424 - Fix bug when adding text streams while not streaming text
425 - https://github.com/google/shaka-player/issues/1938
426 - Fix edge case when switching text in multi-Period content
427 - https://github.com/google/shaka-player/issues/1774
428 - Fix playback rate bug on IE11
429 - Make fast forwarding work when video is paused
430 - https://github.com/google/shaka-player/issues/1801
431 - Fix stack overflow in StringUtils on some platforms
432 - https://github.com/google/shaka-player/issues/1985
433 - https://github.com/google/shaka-player/issues/1994
434 - Fix reading customData from standard Cast LOAD message
435 - https://github.com/google/shaka-player/issues/1989
436
437Docs:
438 - Fix constant name in UI tutorials
439 - https://github.com/google/shaka-player/issues/2005
440 - Update build output name in docs
441 - https://github.com/google/shaka-player/issues/1929
442
443New Features:
444 - Use trick play for fast forward when browser doesn't support high
445 playbackRate
446 - https://github.com/google/shaka-player/issues/1957
447
448
449## 2.5.2 (2019-06-10)
450
451Bugfixes:
452 - Avoid event listener leaks in the UI
453 - https://github.com/google/shaka-player/issues/1924
454 - Fix style errors in TextDisplayer
455 - https://github.com/google/shaka-player/issues/1852
456 - https://github.com/google/shaka-player/issues/1955
457 - Show spinner when buffering even if other controls are hidden
458 - https://github.com/google/shaka-player/issues/1921
459 - Don't recreate controls object on configure() calls
460 - https://github.com/google/shaka-player/issues/1948
461 - Fix UI compilation on Windows
462 - https://github.com/google/shaka-player/issues/1965
463
464New Features:
465 - Add originalUri as a property on shaka.extern.Response
466 - https://github.com/google/shaka-player/issues/1971
467 - https://github.com/google/shaka-player/pull/1972
468
469Demo App:
470 - Fix close button styling in compiled mode
471 - Fix config settings applied before playback begins
472 - https://github.com/google/shaka-player/issues/1976
473 - Change the style of the download/delete button
474 - Fix demo error display for large errors
475 - Improve cvox error check
476 - Switch to using tippy.js for tooltips
477
478Docs:
479 - Add a public roadmap document
480 - https://github.com/google/shaka-player/blob/master/roadmap.md
481
482
483## 2.5.1 (2019-05-20)
484
485New Features:
486 - Inline external CSS for quicker load
487 - You no longer need to include Material Design Icons font in your app
488 - Use clean-css plugin in less.js to minify CSS
489
490Bugfixes:
491 - Deprecate ui.getPlayer for controls.getPlayer
492 - https://github.com/google/shaka-player/issues/1941
493 - Fix switching text displayer mid-playback
494 - Improve french translations
495 - https://github.com/google/shaka-player/pull/1944
496 - Improve logic for aborting network requests
497 - Fix initial bandwidth estimate on Chrome
498 - Upgrade mux.js and use minified version
499 - Fix exception on network retry
500 - https://github.com/google/shaka-player/issues/1930
501 - Fix API-based UI setup with default config
502 - Allow two-argument configure() calls for UI and offline
503 - Add missing export on ui.Overlay.getConfiguration
504 - Various improvements in test reliability
505 - Various fixes for compatibility with newer compiler versions
506
507Demo App:
508 - Fix asset card highlight on reload
509 - Fix reconnection to cast sessions on reload
510 - https://github.com/google/shaka-player/issues/1948
511 - Fix handling of error events
512 - Fix centering of asset card titles
513 - Move download button to the corner of asset cards
514 - Add WebP variants for asset icons to reduce size by 88%
515 - Optimize app load time by pre-connecting to external origins
516 - Defer creating tab contents until shown
517 - Make name field in custom assets more permissive
518 - Add link to support page in footer
519 - Allow demo to load custom assets from hash
520 - Do not disable controls on startup
521 - Added missing config values
522 - Catch certificate errors in demo
523 - https://github.com/google/shaka-player/issues/1914
524 - Let demo load even if storage fails to load
525 - https://github.com/google/shaka-player/issues/1925
526 - Re-load current asset if page reloads
527 - Fix unsupported button tooltips
528
529
530## 2.5.0 (2019-05-08)
531
532**The UI is now out of beta! Use shaka-player.ui.js and see the UI tutorials.**
533
534Core Bugfixes:
535 - Fix missing variants in HLS
536 - https://github.com/google/shaka-player/issues/1908
537 - Ignore manifest-provided license servers if application-provided servers
538 are configured
539 - https://github.com/google/shaka-player/issues/1905
540 - Fix range header regression that broke IIS compatibility
541 - Fix initial display of captions based on language preferences
542 - https://github.com/google/shaka-player/issues/1879
543 - Ignore duplicate codecs in HLS
544 - https://github.com/google/shaka-player/issues/1817
545 - Reject AES-128 HLS content with meaningful error
546 - https://github.com/google/shaka-player/issues/1838
547 - Fix React Native createObjectURL polyfill incompatibility
548 - https://github.com/google/shaka-player/issues/1842
549 - https://github.com/google/shaka-player/pull/1845
550 - Dolby Vision fixes for Chromecast
551 - https://github.com/google/shaka-player/pull/1844
552 - Fix redundant initialization of MediaSource
553 - https://github.com/google/shaka-player/issues/1570
554 - Fix stalls on WebOS
555 - https://github.com/google/shaka-player/issues/1704
556 - https://github.com/google/shaka-player/pull/1820
557 - Fix missing require for SimpleTextDisplayer
558 - https://github.com/google/shaka-player/issues/1819
559 - Fix broken version definition in compiled build
560 - https://github.com/google/shaka-player/issues/1816
561 - Fix video reloading on audio language change
562 - https://github.com/google/shaka-player/issues/1714
563
564UI Bugfixes:
565 - Fix missing resolution menu in UI after playing audio-only content
566 - Fix pointer cursor on UI spacer
567 - Do not show PIP button if not allowed
568 - Fix hiding captions in UI text displayer
569 - https://github.com/google/shaka-player/issues/1893
570 - Fix UI text displayer positioning on IE
571 - Make live stream timecode accessible to screen readers in the UI
572 - https://github.com/google/shaka-player/issues/1861
573 - Fix ARIA pressed state for button in text selection menu
574 - Show picture-in-picture btn only when the content has video
575 - https://github.com/google/shaka-player/issues/1849
576 - Fix multiline captions in UI text displayer
577 - Fix display of cast button in UI
578 - https://github.com/google/shaka-player/issues/1803
579 - Fix conflict between PiP and fullscreen
580 - Fix cast receiver styling
581
582New Core Features:
583 - Abort requests when network downgrading
584 - https://github.com/google/shaka-player/issues/1051
585 - Add FairPlay support
586 - https://github.com/google/shaka-player/issues/382
587 - Add native HLS support on iOS and Safari
588 - https://github.com/google/shaka-player/issues/997
589 - Support src= for single-file playback
590 - https://github.com/google/shaka-player/issues/816
591 - https://github.com/google/shaka-player/pull/1888
592 - https://github.com/google/shaka-player/pull/1898
593 - Add 'manifestparsed' event for early access to manifest contents
594 - Add 'abrstatuschanged' event to help manage UI state
595 - Make manifest redirections sticky for updates
596 - https://github.com/google/shaka-player/issues/1367
597 - https://github.com/google/shaka-player/pull/1880
598 - Track time in "pause" state in stats
599 - https://github.com/google/shaka-player/pull/1855
600 - Make Stall Detector Configurable
601 - https://github.com/google/shaka-player/issues/1839
602
603New UI Features:
604 - Add support for UI reconfiguration and layout changes
605 - https://github.com/google/shaka-player/issues/1674
606 - Add support for custom UI buttons
607 - https://github.com/google/shaka-player/issues/1673
608 - Add partial support for SMPTE-TT subtitles in UI text displayer
609 - https://github.com/google/shaka-player/issues/840
610 - https://github.com/google/shaka-player/pull/1859
611 - Add PiP support in Safari
612 - https://github.com/google/shaka-player/pull/1902
613
614
615Demo App:
616 - Complete redesign of the demo app!
617 - Load non-built-in localizations from the server at runtime
618 - https://github.com/google/shaka-player/issues/1688
619 - Ignore spurious errors from ChromeVox
620 - https://github.com/google/shaka-player/issues/1862
621 - Don't handle non-app resources in service worker
622 - https://github.com/google/shaka-player/issues/1256
623 - https://github.com/google/shaka-player/issues/1392
624
625Docs:
626 - Document UI events
627 - https://github.com/google/shaka-player/issues/1870
628 - Update Manifest Parser documentation
629 - Clarify track selection callback in offline tutorial
630 - Fix jsdoc and markdown formatting of links
631 - Add link for Shaka Player Embedded
632 - https://github.com/google/shaka-player/issues/1846
633
634
635## 2.5.0-beta3 (2019-02-20)
636
637New Features:
638 - Introduction of Shaka Player UI library! (beta)
639 - Load dist/shaka-player.ui.js
640 - See tutorial in docs/tutorials/ui.md
641 - Add option to disable drift-tolerance feature for certain live streams
642 - https://github.com/google/shaka-player/issues/1729
643 - Upgrade mux.js to the latest (5.1.0)
644 - Support HLS playlists without URI in EXT-X-MEDIA
645 - https://github.com/google/shaka-player/pull/1732
646 - Add safeSeekOffset to StreamingConfiguration
647 - https://github.com/google/shaka-player/issues/1723
648 - https://github.com/google/shaka-player/pull/1726
649 - Add PlayReady license URL parsing (ms:laurl)
650 - https://github.com/google/shaka-player/issues/484
651 - https://github.com/google/shaka-player/pull/1644
652 - Add support for HLS tags with both value and attributes
653 - https://github.com/google/shaka-player/issues/1808
654 - https://github.com/google/shaka-player/pull/1810
655
656Bugfixes:
657 - Fixed various typos in comments and docs
658 - https://github.com/google/shaka-player/pull/1797
659 - https://github.com/google/shaka-player/pull/1805
660 - Fix CEA timestamps with presentationTimeOffset
661 - Fix config-based clock sync for IPR content
662 - Fix cast serialization of Uint8Array types
663 - https://github.com/google/shaka-player/issues/1716
664 - Fix event dispatch when text tracks change
665 - Don't include video roles in audio-language-role pairs
666 - https://github.com/google/shaka-player/issues/1731
667 - Fix MediaSource failures with certain language settings
668 - https://github.com/google/shaka-player/issues/1696
669 - Fix build paths on Windows
670 - https://github.com/google/shaka-player/issues/1700
671
672Docs:
673 - Update docs to mention ignoreMinBufferTime
674 - https://github.com/google/shaka-player/issues/1547
675 - https://github.com/google/shaka-player/issues/1666
676 - Document restrictions on large timescales
677 - https://github.com/google/shaka-player/issues/1667
678 - Various small docs improvements
679
680
681## 2.4.7 (2019-02-19)
682
683Bugfixes:
684 - Reject opus content on Tizen
685 - https://github.com/google/shaka-player/issues/1751
686 - Fix seekable range on HLS content with non-zero start time
687 - https://github.com/google/shaka-player/issues/1602
688
689
690## 2.4.6 (2019-01-22)
691
692Bugfixes:
693 - Fix HLS without URI attribute
694 - https://github.com/google/shaka-player/issues/1086
695 - https://github.com/google/shaka-player/issues/1730
696 - https://github.com/google/shaka-player/pull/1732
697 - Handle prereleases of npm and node in build scripts
698 - https://github.com/google/shaka-player/issues/1758
699 - Fix windows path handling in build scripts
700 - https://github.com/google/shaka-player/issues/1759
701 - Fix cast receiver errors in getStats
702 - https://github.com/google/shaka-player/issues/1760
703 - Fix spurious teardown exception on smart TVs
704 - https://github.com/google/shaka-player/issues/1728
705 - Loosen gap thresholds on Chromecast
706 - https://github.com/google/shaka-player/issues/1720
707 - Fix support for Safari 12
708 - Fix support for relative Location URLs in DASH
709 - https://github.com/google/shaka-player/issues/1668
710 - Fix compliance issues in IE11 EME polyfill
711 - https://github.com/google/shaka-player/issues/1689
712 - Fix PlayReady playback on Tizen
713 - https://github.com/google/shaka-player/issues/1712
714 - Fix chopped playback in MS Edge
715 - https://github.com/google/shaka-player/issues/1597
716 - Fix assertions when EME sessions expire
717 - https://github.com/google/shaka-player/issues/1599
718 - Fix relative URIs in HLS
719 - https://github.com/google/shaka-player/issues/1664
720 - Fix compilation error
721 - https://github.com/google/shaka-player/issues/1658
722 - https://github.com/google/shaka-player/pull/1660
723
724New Features:
725 - Add extended error code for failed license request
726 - https://github.com/google/shaka-player/issues/1689
727
728Demo App:
729 - Disable offline storage on some assets
730 - https://github.com/google/shaka-player/issues/1768
731 - Update DASH-IF livesim URLs
732 - https://github.com/google/shaka-player/pull/1736
733
734
735## 2.5.0-beta2 (2018-11-09)
736
737Contains everything in v2.4.5, plus...
738
739Bugfixes:
740 - Fix Chromecast receiver id in the demo, broken since v2.5.0-beta
741 - https://github.com/google/shaka-player/issues/1656
742 - Fix multi-period playback issues introduced in v2.5.0-beta
743 - https://github.com/google/shaka-player/issues/1601
744 - Fix seekable range with non-zero start
745 - https://github.com/google/shaka-player/issues/1602
746 - Misc Storage and demo fixes
747 - Fix support for restriction changes after playback
748 - https://github.com/google/shaka-player/issues/1533
749 - Fix TextEngine buffered range calculations
750 - https://github.com/google/shaka-player/issues/1562
751
752New Features:
753 - Add support for CEA captions in DASH
754 - https://github.com/google/shaka-player/issues/1404
755 - Set server certificate before Store and Delete
756 - https://github.com/google/shaka-player/issues/1623
757 - https://github.com/google/shaka-player/pull/1639
758 - Allow deferring deleting offline sessions.
759 - https://github.com/google/shaka-player/issues/1326
760 - Added progress events for Fetch plugin.
761 - https://github.com/google/shaka-player/issues/1504
762 - Add config field to ignore manifest minBufferTime #1547
763 - https://github.com/google/shaka-player/issues/1547
764 - https://github.com/google/shaka-player/pull/1581
765 - Add support for 'individualization-request' messages in EME
766 - https://github.com/google/shaka-player/issues/1565
767
768Docs:
769 - Update Language Normalization Documentation
770
771
772## 2.4.5 (2018-11-09)
773
774Bugfixes:
775 - Fix erasure of the database with storage.deleteAll()
776 - Fix MediaSource tear down race
777 - Fix exception when destroying MediaSourceEngine twice
778 - Fix gap jumping test failures on IE/Edge/Tizen
779 - Fix stalls on Tizen TV
780 - Fix display of external subtitles
781 - https://github.com/google/shaka-player/issues/1596
782 - Fix test failures on Safari
783 - Fix filtering of HLS audio-only content
784 - Preserve bandwidth estimate between loads
785 - https://github.com/google/shaka-player/issues/1366
786 - Retry streaming when we get back online
787 - https://github.com/google/shaka-player/issues/1427
788 - Fix Storage test contamination
789 - Fix advanced DRM settings pollution across key systems
790 - https://github.com/google/shaka-player/issues/1524
791 - Fix TextEngine buffered range calculations
792 - https://github.com/google/shaka-player/issues/1562
793
794New Features:
795 - Optimize processXlinks
796 - https://github.com/google/shaka-player/issues/1640
797 - Add support for Python3 in build scripts
798 - Allow new Periods to add EME init data
799 - https://github.com/google/shaka-player/issues/1360
800 - Add namespace-aware parsing to TTML parser
801 - https://github.com/google/shaka-player/issues/1585
802 - An external Promise polyfill is no longer required!
803
804Demo App:
805 - Show logs prominently in noinput mode
806 - https://github.com/google/shaka-player/issues/1610
807 - Disable uncompiled mode on browsers without async
808 - Restore using Enter key to load asset
809
810Docs:
811 - Fix tracks sorting in Offline tutorial sample code
812 - https://github.com/google/shaka-player/issues/1608
813 - https://github.com/google/shaka-player/pull/1609
814 - Add a note about blank receiver IDs
815 - Rename 'video' to 'mediaElem' to make it clear that audio elements work, too
816 - https://github.com/google/shaka-player/issues/1555
817
818Un-Features:
819 - Un-ship VTTRegion support, which is currently broken in Chrome and does more
820 harm than good
821 - https://github.com/google/shaka-player/issues/1584
822
823
824## 2.5.0-beta (2018-08-24)
825
826New Features:
827 - Drift is now tolerated in DASH live streams
828 - https://github.com/google/shaka-player/issues/999
829 - Storage can be initialized without Player
830 - https://github.com/google/shaka-player/issues/1297
831 - DASH Representation IDs are now exposed in a new field in Track
832 - A safe margin parameter was added for clearing the buffer
833 - https://github.com/google/shaka-player/pull/1154
834 - Added 'retry' event to networking engine
835 - https://github.com/google/shaka-player/issues/1529
836 - Emsg not referenced in MPD will now be ignored
837 - https://github.com/google/shaka-player/issues/1548
838 - Extra data given for RESTRICTIONS_CANNOT_BE_MET
839 - https://github.com/google/shaka-player/issues/1368
840 - A mime type option was added to Player.load
841 - Added Widevine SAMPLE-AES support in HLS
842 - https://github.com/google/shaka-player/issues/1515
843 - The |manifestUri| method on Player was changed to |assetUri|
844 - Added new request type TIMING for clock sync requests
845 - https://github.com/google/shaka-player/issues/1488
846 - https://github.com/google/shaka-player/pull/1489
847
848Deprecated:
849 - Passing a ManifestParser factory to Player.load is deprecated and support
850 will be removed in v2.6. Instead, please register any custom parsers with a
851 MIME type, and pass a MIME type instead. MIME types can also be used to
852 force the selection of any built-in manifest parsers.
853 - The |manifestUri| method on Player was changed to |assetUri|. The old method
854 is deprecated and will be removed in v2.6.
855
856
857## 2.4.4 (2018-08-23)
858
859Bugfixes:
860 - Fix spurious restrictions errors
861 - https://github.com/google/shaka-player/issues/1541
862 - Don't error when skipping mp4 boxes with bad size
863 - https://github.com/google/shaka-player/issues/1535
864 - Refactor HttpFetchPlugin to clarify error outcomes
865 - https://github.com/google/shaka-player/issues/1519
866 - https://github.com/google/shaka-player/pull/1532
867 - Avoid assertions about $Time$ when it is not used
868 - Stop proxying drmInfo() to reduce cast message sizes
869 - Fix compiler renaming in ParsedBox
870 - https://github.com/google/shaka-player/issues/1522
871
872Docs:
873 - Fixed docs for availabilityWindowOverride
874 - https://github.com/google/shaka-player/issues/1530
875
876
877## 2.4.3 (2018-08-06)
878
879New Features:
880 - Add availabilityWindowOverride configuration
881 - https://github.com/google/shaka-player/issues/1177
882 - https://github.com/google/shaka-player/issues/1307
883
884Bugfixes:
885 - Fix repeated download of the same segment in live DASH
886 - https://github.com/google/shaka-player/issues/1464
887 - https://github.com/google/shaka-player/issues/1486
888 - Don't clear buffer with a small gap between playhead and buffer start
889 - https://github.com/google/shaka-player/issues/1459
890 - Allow CDATA in text nodes.
891 - https://github.com/google/shaka-player/issues/1508
892 - Skip text AdaptationSets with no segment info
893 - https://github.com/google/shaka-player/issues/1484
894 - Add error code for side-loaded text with live streams
895
896Demo app:
897 - Clarify persistent license error messages
898
899Docs:
900 - Update docs for RESTRICTIONS_CANNOT_BE_MET
901
902
903## 2.3.10 and 2.4.2 (2018-06-29)
904
905Bugfixes:
906 - Fix ignored configuration when input is partially invalid (v2.4.2 only)
907 - https://github.com/google/shaka-player/issues/1470
908 - Silence DRM engine errors for unencrypted assets
909 - https://github.com/google/shaka-player/issues/1479
910 - Fix infinite seeking with HLS on V1 Chromecasts
911 - https://github.com/google/shaka-player/issues/1411
912 - Fix module wrapper to work with CommonJS, AMD, ES modules, as well as
913 Closure and Electron
914 - https://github.com/google/shaka-player/issues/1463
915 - Fix TextEngine buffered range calculations
916
917Demo App:
918 - Fix custom encrypted assets in the demo app
919
920Docs:
921 - Fix generated documentation problems (v2.4.2 only)
922 - Move CEA-608/708 to list of supported HLS features (v2.4.2 only)
923 - https://github.com/google/shaka-player/pull/1465
924
925
926## 2.3.9 and 2.4.1 (2018-06-13)
927
928Bugfixes:
929 - Default to a maximum of 360p for ABR when saveData == true
930 - https://github.com/google/shaka-player/issues/855
931 - Make AbrManager restrictions "soft" so they do not fail playback
932 - Patch Closure Compiler to fix polyfill+wrapper
933 - https://github.com/google/shaka-player/issues/1455
934 - Fix assertion spam when merging a period into itself
935 - https://github.com/google/shaka-player/issues/1448
936 - Upgrade WebDriver module to new W3C protocol, fixes WD tests on Firefox & IE
937 - Work around potential hang in transmuxer with multiplexed TS content.
938 - https://github.com/google/shaka-player/issues/1449
939
940Demo app:
941 - Support clearkey license-servers in the demo UI
942
943Misc:
944 - Fix nodejs import (still not a supported environment, but does not throw)
945 - https://github.com/google/shaka-player/issues/1445
946 - https://github.com/google/shaka-player/pull/1446
947
948
949## 2.4.0 (2018-05-24)
950
951New features:
952 - Support for TTML and VTT regions
953 - https://github.com/google/shaka-player/issues/1188
954 - Support for CEA captions in TS content
955 - https://github.com/google/shaka-player/issues/276
956 - A video element is no longer required when `Player` is constructed
957 - https://github.com/google/shaka-player/issues/1087
958 - New `attach()` and `detach()` methods have been added to `Player` to manage
959 attachment to video elements
960 - https://github.com/google/shaka-player/issues/1087
961 - Allow apps to specify a preferred audio channel count
962 - https://github.com/google/shaka-player/issues/1013
963 - Live stream playback can begin at a negative offset from the live edge
964 - https://github.com/google/shaka-player/issues/1178
965 - Add new configure() syntax for easily setting single fields
966 - https://github.com/google/shaka-player/issues/763
967 - player.configure() returns false if player configuration is invalid
968 - Fetch is now preferred over XHR when available
969 - https://github.com/google/shaka-player/issues/829
970 - Request type now appears in shaka.util.Error data for HTTP errors
971 - https://github.com/google/shaka-player/issues/1253
972
973Broken compatibility:
974 - A third-party Promise polyfill is now required for IE 11 support
975 - https://github.com/lahmatiy/es6-promise-polyfill
976 - https://github.com/google/shaka-player/issues/1260
977 - Text parser plugins now take a nullable segmentStart in TextContext. All
978 application-specific text-parsing plugins MUST be updated.
979 - Text-parsing plugins that produce region information must do so with the new
980 CueRegion class. Any application-specific text-parsing plugins that produce
981 region information MUST be updated.
982 - TextDisplayer plugins that handle region information must do so with the new
983 CueRegion interface. Any application-specific TextDisplayer plugins that
984 handle region information MUST be updated.
985 - The API for PresentationTimeline has changed. Manifest parser plugins that
986 use certain PresentationTimeline methods MUST be updated:
987 - `setAvailabilityStart()` was renamed to `setUserSeekStart()`.
988 - `notifySegments()` now takes a reference array and a boolean called
989 `isFirstPeriod`, instead of a period start time and a reference array.
990
991Deprecated:
992 - NetworkingEngine.request() now returns an instance of IAbortableOperation
993 instead of Promise. Applications which make application-level requests
994 SHOULD update to use the new interface.
995 - The old interface will be removed in v2.5.
996 - Network scheme plugins now return an instance of IAbortableOperation instead
997 of Promise. Application-specific network scheme plugins SHOULD update to
998 the new interface.
999 - The old interface will be removed in v2.5.
1000
1001Demo app:
1002 - Improve support for custom assets and license servers in demo app URI
1003
1004Misc:
1005 - We have started transitioning the code to ES6 and the new JS style guide
1006 - https://google.github.io/styleguide/jsguide.html
1007
1008
1009## 2.3.8 (2018-05-23)
1010
1011Bugfixes:
1012 - Fix non-default namespace names in DASH
1013 - https://github.com/google/shaka-player/issues/1438
1014 - Fix use after destroy() in CastProxy
1015 - https://github.com/google/shaka-player/issues/1423
1016 - Fix text track visibility state
1017 - https://github.com/google/shaka-player/issues/1412
1018 - Remove licenses when wiping offline storage
1019 - https://github.com/google/shaka-player/issues/1277
1020 - Restore backward compatibility for v2.2.x offline storage
1021 - https://github.com/google/shaka-player/issues/1248
1022
1023Demo app:
1024 - Update DASH-IF Big Buck Bunny asset
1025
1026Docs:
1027 - Fix typos and formatting
1028 - Build docs as part of build/all.py
1029 - https://github.com/google/shaka-player/issues/1421
1030
1031
1032## 2.3.7 (2018-04-24)
1033
1034Bugfixes:
1035 - Fixed manifest update frequency calculations
1036 - https://github.com/google/shaka-player/issues/1399
1037 - Fixed repeated seeking during HLS live streaming on Chromecast
1038 - https://github.com/google/shaka-player/issues/1411
1039
1040Demo app:
1041 - Fixed updating of the app URL on Android when pasting into the custom asset
1042 field
1043 - https://github.com/google/shaka-player/issues/1079
1044 - Added Axinom live test assets
1045 - https://github.com/google/shaka-player/pull/1409
1046
1047
1048## 2.3.6 (2018-04-11)
1049
1050Bugfixes:
1051 - Handle HLS segments tags that occur before playlist tags
1052 - https://github.com/google/shaka-player/issues/1382
1053 - Avoid telling AbrManager about key-system-restricted streams, to simplify
1054 building AbrManager plugins.
1055 - Fixed exported enum definition for network plugin priorities
1056 - Fixed ES5 strict mode compatibility in our module wrapper
1057 - https://github.com/google/shaka-player/pull/1398
1058
1059Demo app:
1060 - Fixed playback of VDMS assets by updating the license request details
1061 - https://github.com/google/shaka-player/pull/1388
1062
1063
1064## 2.3.5 (2018-03-29)
1065
1066New features:
1067 - Do not buffer audio far ahead of video
1068 - https://github.com/google/shaka-player/issues/964
1069
1070Bugfixes:
1071 - Fixed early seeking (immediately upon load)
1072 - https://github.com/google/shaka-player/issues/1298
1073 - Fixed repeated seeking in HLS live (also affects DASH with
1074 timeShiftBufferDepth of zero)
1075 - https://github.com/google/shaka-player/issues/1331
1076 - Fixed VTT+MP4 parsing with respect to TRUN box
1077 - https://github.com/google/shaka-player/issues/1266
1078 - Fixed hang in StreamingEngine when playing at the left edge of the seek
1079 range on slow embedded devices
1080 - Work around slow DASH parsing on embedded devices
1081
1082Demo app:
1083 - Fixed CSS for display on Chromecast and other TV devices
1084 - Added "startTime" URL parameter for debugging purposes
1085
1086
1087## 2.3.4 (2018-03-22)
1088
1089New features:
1090 - Support for non-standard DASH SegmentTemplate strings using formats other
1091 than "d" (such as "x" and "o").
1092 - https://github.com/Dash-Industry-Forum/DASH-IF-IOP/issues/177
1093
1094Bugfixes:
1095 - Fixed rapid seeking in zero-width seek ranges, such as in HLS live
1096 - https://github.com/google/shaka-player/issues/1331
1097 - Fixed use of native controls for text display
1098 - https://github.com/google/shaka-player/issues/1332
1099 - Fixed parsing of multiple 'emsg' boxes
1100 - https://github.com/google/shaka-player/issues/1340
1101
1102Demo app:
1103 - Added an "unload" button to the demo app
1104 - Fixed enabling of TS assets in the demo app
1105 - https://github.com/google/shaka-player/issues/1214
1106
1107Docs:
1108 - Added a doc describing DASH manifests
1109 - https://github.com/google/shaka-player/issues/1233
1110 - Fixed documentation of CONTENT_UNSUPPORTED_BY_BROWSER error
1111 - https://github.com/google/shaka-player/issues/1349
1112 - Updated architecture diagrams
1113 - https://github.com/google/shaka-player/issues/1197
1114
1115
1116## 2.3.3 (2018-03-01)
1117
1118New features:
1119 - Warn if parsing the date from UTCTiming fails
1120 - https://github.com/google/shaka-player/issues/1317
1121 - https://github.com/google/shaka-player/pull/1318
1122 - Backpropagate language selections on track change
1123 - https://github.com/google/shaka-player/issues/1299
1124
1125Bugfixes:
1126 - Fix MP4+VTT in HLS
1127 - https://github.com/google/shaka-player/issues/1270
1128 - Fix track selection during "streaming" event
1129 - https://github.com/google/shaka-player/issues/1119
1130 - Work around MSE rounding errors in Edge
1131 - https://github.com/google/shaka-player/issues/1281
1132 - Edge bug: https://bit.ly/2ttKiBU
1133 - Fix IE stuck buffering at the end after replay
1134 - https://github.com/google/shaka-player/issues/979
1135 - Fix catastrophic backtracking in TTML text parser
1136 - https://github.com/google/shaka-player/issues/1312
1137 - Fix infinite loop when jumping very small gaps
1138 - https://github.com/google/shaka-player/issues/1309
1139 - Fix seek range for live content with less than a full availability window
1140 - https://github.com/google/shaka-player/issues/1224
1141 - Remove misleading logging in DrmEngine#fillInDrmInfoDefaults
1142 - https://github.com/google/shaka-player/pull/1288
1143 - https://github.com/google/shaka-player/issues/1284
1144 - Fix old text cues displayed after loading new text stream
1145 - https://github.com/google/shaka-player/issues/1293
1146 - Fix truncated HLS duration with short text streams
1147 - https://github.com/google/shaka-player/issues/1271
1148 - Fix DASH SegmentTemplate w/ duration
1149 - https://github.com/google/shaka-player/issues/1232
1150
1151Docs:
1152 - Fix out-of-date docs for error 6014 EXPIRED
1153 - https://github.com/google/shaka-player/issues/1319
1154 - Simplify prerequisite installation on Linux
1155 - https://github.com/google/shaka-player/issues/1175
1156 - Simplify the debugging tutorial
1157 - Fix various typos
1158 - https://github.com/google/shaka-player/pull/1272
1159 - https://github.com/google/shaka-player/pull/1274
1160
1161
1162## 2.3.2 (2018-02-01)
1163
1164New features:
1165 - Add Storage.deleteAll() to clear storage when database upgrades fail
1166 - https://github.com/google/shaka-player/issues/1230
1167 - https://github.com/google/shaka-player/issues/1248
1168 - Make DASH default presentation delay configurable
1169 - https://github.com/google/shaka-player/issues/1234
1170 - https://github.com/google/shaka-player/pull/1235
1171
1172Bugfixes:
1173 - Fix stall during eviction with small bufferBehind values
1174 - https://github.com/google/shaka-player/issues/1123
1175 - Fix deletion of offline licenses for demo content
1176 - https://github.com/google/shaka-player/issues/1229
1177 - Fix compiler renaming in Player language APIs
1178 - https://github.com/google/shaka-player/issues/1258
1179 - Rename Timeline events to include the "Event" suffix
1180 - https://github.com/google/shaka-player/pull/1267
1181
1182Docs:
1183 - Fix incorrect year in the change log
1184 - https://github.com/google/shaka-player/pull/1263
1185 - Fix some bad annotations found while upgrading jsdoc
1186 - https://github.com/google/shaka-player/issues/1259
1187
1188
1189## 2.3.1 (2018-01-22)
1190
1191New features:
1192 - All features released in 2.2.10, plus...
1193 - DRM content is now implied by DRM config, fixes some ad insertion cases
1194 - https://github.com/google/shaka-player/pull/1217
1195 - https://github.com/google/shaka-player/issues/1094
1196 - Add support for mp4a.40.34 mp3 in HLS
1197 - https://github.com/google/shaka-player/issues/1210
1198 - Allow ES6 syntax
1199 - Replaced deprecated gjslint with eslint
1200
1201Bugfixes:
1202 - All fixes released in 2.2.10, plus...
1203 - Handle MPEGTS timestamp rollover issues, including WebVTT HLS
1204 - https://github.com/google/shaka-player/issues/1191
1205 - Fix MP4 timescale assumptions in HLS
1206 - https://github.com/google/shaka-player/issues/1191
1207 - Update muxjs to use new keepOriginalTimestamps option
1208 - https://github.com/google/shaka-player/issues/1194
1209 - Avoids line-length limits when building on Windows
1210 - https://github.com/google/shaka-player/issues/1228
1211 - Force JS files to use unix newlines on Windows
1212 - https://github.com/google/shaka-player/issues/1228
1213 - Fix selection of text streams with no role
1214 - https://github.com/google/shaka-player/issues/1212
1215
1216Docs:
1217 - All fixes released in 2.2.10, plus...
1218 - Fix upgrade guide links
1219
1220
1221## 2.2.10 (2018-01-22)
1222
1223New features:
1224 - Update Widevine HLS parsing support for SAMPLE-AES-CTR
1225 - https://github.com/google/shaka-player/issues/1227
1226
1227Bugfixes:
1228 - Fix display of duration in Chrome cast dialog
1229 - https://github.com/google/shaka-player/issues/1174
1230 - Compensate for rounding errors in multi-period manifests
1231 - Delay gap-jumping until after seeking is complete
1232 - https://github.com/google/shaka-player/issues/1061
1233 - Fix SegmentTemplate w/ duration for live
1234 - https://github.com/google/shaka-player/issues/1204
1235
1236Docs:
1237 - Add FAQ entry for file:// requests in Electron
1238 - https://github.com/google/shaka-player/issues/1222
1239 - Fixed typos and extraneous tags
1240 - Added missing @exportDoc annotations
1241 - https://github.com/google/shaka-player/pull/1208
1242
1243
1244## 2.3.0 (2017-12-22)
1245
1246New features:
1247 - Support for HLS live streams
1248 - https://github.com/google/shaka-player/issues/740
1249 - Support for HLS VOD streams that do not start at t=0
1250 - https://github.com/google/shaka-player/issues/1011
1251 - Previously supported through configuration, now automatic
1252 - MPEG-2 TS content can be transmuxed to MP4 for playback on all browsers
1253 - https://github.com/google/shaka-player/issues/887
1254 - Requires apps to load https://github.com/videojs/mux.js/
1255 - Do not stream captions until they are shown
1256 - https://github.com/google/shaka-player/issues/1058
1257 - Use NetworkInformation API to get initial bandwidth estimate
1258 - https://github.com/google/shaka-player/issues/994
1259 - https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation
1260 - Added a method to list language/role combinations
1261 - https://github.com/google/shaka-player/issues/967
1262
1263Demo app:
1264 - The demo app is now a Progressive Web App (PWA) and can be used offline
1265 - https://github.com/google/shaka-player/issues/876
1266 - https://developers.google.com/web/progressive-web-apps/
1267 - Lighthouse: improved page load latency, text contrast ratio, UI performance
1268 - https://github.com/google/shaka-player/issues/905
1269 - https://developers.google.com/web/tools/lighthouse/
1270 - Roles can now be selected in the demo app
1271 - https://github.com/google/shaka-player/issues/967
1272 - Added quick links to change between compiled, debug, and uncompiled builds
1273
1274Bugfixes:
1275 - Fixed interpretation of EXT-X-START in HLS
1276 - https://github.com/google/shaka-player/issues/1011
1277 - Fixed URI extension parsing in HLS
1278 - https://github.com/google/shaka-player/issues/1085
1279 - Offline storage API can now download multiple items in parallel
1280 - https://github.com/google/shaka-player/issues/1047
1281
1282Docs:
1283 - FAQ, architecture diagrams, and tutorials have all been updated.
1284 - https://github.com/google/shaka-player/issues/1183
1285
1286Broken compatibility:
1287 - Text parser plugins now take a Uint8Array, not an ArrayBuffer. All
1288 application-specific text-parsing plugins MUST be updated.
1289 - https://github.com/google/shaka-player/issues/1022
1290
1291Deprecated:
1292 - The AbrManager configuration interfaces and plugin APIs which were
1293 deprecated in v2.2 have now been removed. Applications with custom
1294 AbrManager implementations MUST be upgraded to the v2.2 API now.
1295 - The plugin interface for text parsers which was deprecated in v2.1 has now
1296 been removed.
1297 - The `remove()` method on `shaka.offline.Storage` now takes a URI instead of
1298 a `StoredContent` instance. Applications which use offline storage SHOULD
1299 update to the new API. Support for the old argument will be removed in
1300 v2.4.
1301 - The `streaming.infiniteRetriesForLiveStreams` config was removed.
1302 Applications using this feature MUST use the `streaming.failureCallback`
1303 config and the method `player.retryStreaming()` instead.
1304
1305
1306## 2.2.9 (2017-12-22)
1307
1308Bugfixes:
1309 - Fix excessive memory usage during storage
1310 - https://github.com/google/shaka-player/issues/1167
1311 - Fix offline storage with temporary license
1312 - https://github.com/google/shaka-player/issues/1159
1313 - Fix exception while casting
1314 - https://github.com/google/shaka-player/issues/1128
1315 - Reduced bandwidth of cast messaging
1316 - https://github.com/google/shaka-player/issues/1128
1317 - Fix exception when destroying TextDisplayer
1318 - https://github.com/google/shaka-player/issues/1187
1319 - Fix presentationTimeOffset in SegmentTemplate
1320 - https://github.com/google/shaka-player/issues/1164
1321 - Fix inconsistencies in text visibility across playbacks
1322 - https://github.com/google/shaka-player/issues/1185
1323 - Work around bad header formatting in IE 11
1324 - https://github.com/google/shaka-player/issues/1172
1325 - Fix Chromecast PlayReady playback
1326 - https://github.com/google/shaka-player/issues/1070
1327 - Fix subtitle display with VTTRegion enabled in Chrome
1328 - https://github.com/google/shaka-player/issues/1188
1329
1330
1331## 2.2.8 (2017-12-06)
1332
1333Bugfixes:
1334 - Do not allow seeking/startup at duration (bump back by 1s)
1335 - https://github.com/google/shaka-player/issues/1014
1336 - Don't wait for sessions to close on DrmEngine.destroy
1337 - https://github.com/google/shaka-player/issues/1093
1338 - https://github.com/google/shaka-player/pull/1168
1339 - Do not clear buffers on configuration changes unless required
1340 - https://github.com/google/shaka-player/issues/1138
1341 - Ignore unsupported STYLE blocks in WebVTT
1342 - https://github.com/google/shaka-player/issues/1104
1343 - Fix a null exception in CastReceiver.destroy
1344
1345
1346Demo app:
1347 - Fix "ended" video control state on IE
1348 - https://github.com/google/shaka-player/issues/979
1349 - Fix updates to demo app URL hash on Edge & IE 11
1350 - https://github.com/google/shaka-player/issues/1111
1351 - Fix demo app page-load race on IE 11
1352
1353
1354## 2.2.7 (2017-11-28)
1355
1356Bugfixes:
1357 - Allow playhead to recover from drift
1358 - https://github.com/google/shaka-player/issues/1105
1359 - Fix exception and race which prevented cast status updates
1360 - https://github.com/google/shaka-player/issues/1128
1361 - Fix live broadcast startup issues
1362 - https://github.com/google/shaka-player/issues/1150
1363 - Fix mis-detection of live streams as IPR
1364 - https://github.com/google/shaka-player/issues/1148
1365 - Fix buffering of live streams while paused
1366 - https://github.com/google/shaka-player/issues/1121
1367
1368Demo app:
1369 - Add multi-DRM assets from VDMS
1370 - https://github.com/google/shaka-player/issues/780
1371 - https://github.com/google/shaka-player/pull/781
1372 - Add certificate URI field in the custom asset section
1373 - https://github.com/google/shaka-player/issues/1135
1374 - https://github.com/google/shaka-player/pull/1136
1375 - Fix broken HLS asset
1376 - https://github.com/google/shaka-player/issues/1137
1377 - Update Widevine proxy URI
1378
1379Docs:
1380 - Refactor main README.md
1381 - Fix build/README.md typo
1382 - https://github.com/google/shaka-player/pull/1139
1383 - Fix typo in config tutorial
1384 - https://github.com/google/shaka-player/pull/1124
1385
1386
1387## 2.2.6 (2017-11-14)
1388
1389Bugfixes:
1390 - Cancel network retries when the Player is destroyed
1391 - https://github.com/google/shaka-player/issues/1084
1392 - Do not overwrite media from an earlier period when new period is shifted
1393 - https://github.com/google/shaka-player/issues/1098
1394 - Do not assume same timescale in manifest and media
1395 - https://github.com/google/shaka-player/issues/1098
1396 - Do not fail assertions when media references are shifted outside the period
1397 - https://github.com/google/shaka-player/issues/1098
1398 - Fix custom builds which exclude text parsing plugins
1399 - https://github.com/google/shaka-player/issues/1115
1400
1401Demo app:
1402 - Rename demo "Autoplay" in demo UI to "Auto-load on page refresh"
1403 - https://github.com/google/shaka-player/issues/1114
1404
1405
1406## 2.2.5 (2017-11-02)
1407
1408New features:
1409 - Add streaming event to allow reconfiguration before streaming starts
1410 - https://github.com/google/shaka-player/issues/1043
1411 - Add method to get the parsed manifest structure
1412 - https://github.com/google/shaka-player/issues/1074
1413 - Log about deprecated APIs, even in a compiled build with other logs disabled
1414
1415Bugfixes:
1416 - Fix interpretation of DASH presentationTimeOffset in SegmentBase
1417 - https://github.com/google/shaka-player/issues/1099
1418
1419
1420## 2.1.9 (2017-11-02)
1421
1422Bugfixes:
1423 - Fix interpretation of DASH presentationTimeOffset in SegmentBase
1424 - https://github.com/google/shaka-player/issues/1099
1425
1426
1427## 2.2.4 (2017-10-23)
1428
1429Bugfixes:
1430 - Don't enforce seek range while paused in live streams (stays paused)
1431 - https://github.com/google/shaka-player/issues/982
1432 - Fix start time in live streams
1433 - https://github.com/google/shaka-player/issues/1069
1434 - Fix handling & transmission of errors from cast receiver to sender
1435 - https://github.com/google/shaka-player/issues/1065
1436
1437Docs:
1438 - Added a tutorial for the offline storage and playback APIs
1439 - https://github.com/google/shaka-player/issues/1037
1440
1441
1442## 2.2.3 (2017-10-17)
1443
1444New features:
1445 - Publish an event when the CDM accepts a license
1446 - https://github.com/google/shaka-player/issues/1035
1447 - https://github.com/google/shaka-player/pull/1049
1448 - Added assertions and logging to the debug build
1449 - Added a debugging method on Player to get buffered ranges
1450
1451Bugfixes:
1452 - Fixed race between gap-jumping and seeking
1453 - https://github.com/google/shaka-player/issues/1061
1454 - Fixed startTime == 0 in player.load()
1455 - https://github.com/google/shaka-player/issues/1069
1456 - Avoid clearing buffer on configure unless restrictions change
1457 - https://github.com/google/shaka-player/issues/1009
1458 - Fixed exceptions in the cast receiver demo
1459 - https://github.com/google/shaka-player/issues/1064
1460 - Various fixes for concurrent use of CastProxy and related APIs
1461 - https://github.com/google/shaka-player/issues/768
1462 - Polyfilled various MediaSource issues on Safari 11
1463 - https://github.com/google/shaka-player/issues/1048
1464 - Reject TS content on Safari due to MediaSource bugs
1465 - https://github.com/google/shaka-player/issues/743
1466 - Fixed stuck progress bar on cast receiver demo
1467 - https://github.com/google/shaka-player/issues/1064
1468
1469Demo app:
1470 - Rotating mobile devices triggers fullscreen mode
1471 - https://github.com/google/shaka-player/issues/883
1472 - Added robustness suggestions for Widevine
1473 - https://github.com/google/shaka-player/pull/1008
1474
1475Docs:
1476 - Fixed docs with regard to shaka.text namespace
1477 - https://github.com/google/shaka-player/issues/1046
1478
1479
1480## 2.2.2 (2017-09-27)
1481
1482New features:
1483 - Support for MP4+TTML text streams with multiple MDAT boxes
1484 - https://github.com/google/shaka-player/issues/1028
1485
1486Bugfixes:
1487 - Fixed playback hangs in certain content due to rounding error
1488 - https://github.com/google/shaka-player/issues/979
1489 - Fixed exception when TextTrack mode is set to "disabled"
1490 - https://github.com/google/shaka-player/issues/990
1491 - Fixed subtitle failures in Safari
1492 - https://github.com/google/shaka-player/issues/991
1493 - https://github.com/google/shaka-player/issues/1012
1494 - Fixed renaming issues in compiled builds
1495 - Fixed exceptions on Tizen 2016
1496 - https://github.com/google/shaka-player/issues/1022
1497 - https://github.com/google/shaka-player/issues/935
1498 - Fixed TTML region parsing
1499 - https://github.com/google/shaka-player/issues/1020
1500
1501Demo app:
1502 - Auto-select offline copy of an asset after storing it offline
1503 - https://github.com/google/shaka-player/issues/996
1504 - https://github.com/google/shaka-player/pull/1001
1505 - Removed YouTube-sourced assets, which were very outdated
1506 - https://github.com/google/shaka-player/issues/1015
1507 - Added "Shaka Player History" live stream
1508
1509Docs:
1510 - Added CORS explanation to the docs
1511 - https://github.com/google/shaka-player/issues/1018
1512
1513
1514## 2.2.1 (2017-09-01)
1515
1516New features:
1517 - Support MP4+TTML in HLS
1518 - https://github.com/google/shaka-player/issues/986
1519
1520Bugfixes:
1521 - Fixed display of old text cues after loading new content
1522 - https://github.com/google/shaka-player/issues/984
1523 - Fixed text cue alignment in compiled mode
1524 - https://github.com/google/shaka-player/issues/987
1525 - Fixed exception triggered when storing offline content
1526 - https://github.com/google/shaka-player/issues/988
1527 - Fixed cast state when multiple cast senders exist at once
1528 - https://github.com/google/shaka-player/issues/768
1529 - Fixed several Cast UI issues
1530 - Fixed (harmless) assertion failures on Cast receivers
1531
1532Demo app:
1533 - Demo UI on mobile now shows help text on store/delete button
1534 - https://github.com/google/shaka-player/pull/995
1535
1536Docs:
1537 - Document lack of IE support on Windows 7
1538 - https://github.com/google/shaka-player/pull/993
1539
1540
1541## 2.2.0 (2017-08-23)
1542
1543New features:
1544 - Add support for EVENT type playlists in HLS
1545 - https://github.com/google/shaka-player/issues/740
1546 - Add new option for offline protected content without persistent licensing
1547 - https://github.com/google/shaka-player/issues/873
1548 - Allow applications to render their own text tracks
1549 - https://github.com/google/shaka-player/issues/796
1550 - Allow applications to control streaming retry behavior
1551 - https://github.com/google/shaka-player/issues/960
1552 - Add support for additional TTML styles
1553 - https://github.com/google/shaka-player/issues/923
1554 - https://github.com/google/shaka-player/issues/927
1555 - Add channel count information for both DASH & HLS
1556 - https://github.com/google/shaka-player/issues/424
1557 - https://github.com/google/shaka-player/issues/826
1558 - Add basic xlink support in DASH (actuate=onLoad only)
1559 - https://github.com/google/shaka-player/issues/587
1560 - https://github.com/google/shaka-player/issues/788
1561 - Add API to limit playable/seekable range for VOD content.
1562 - https://github.com/google/shaka-player/issues/246
1563 - Add new error code for container/codec support issues
1564 - https://github.com/google/shaka-player/issues/868
1565 - The default ABR manager is much more configurable
1566 - https://github.com/google/shaka-player/issues/744
1567 - Add stream bandwidth info to variant tracks
1568 - https://github.com/google/shaka-player/issues/834
1569 - Add player.isAudioOnly()
1570 - https://github.com/google/shaka-player/issues/942
1571 - Expose presentation start time through player
1572 - https://github.com/google/shaka-player/issues/957
1573 - Add bandwidth info to switch history
1574 - Improved Chromecast media queries
1575 - Stricter runtime type-checking of EME cert configuration
1576 - https://github.com/google/shaka-player/issues/784
1577
1578Bugfixes:
1579 - Fix flakiness in offline-related tests
1580 - https://github.com/google/shaka-player/issues/903
1581
1582Demo app:
1583 - Added robustness fields to the UI
1584 - https://github.com/google/shaka-player/issues/889
1585
1586Docs:
1587 - Updated upgrade guide for v2.2
1588 - https://github.com/google/shaka-player/issues/930
1589
1590Broken compatibility:
1591 - The text-parsing plugin API has changed. Plugins now return shaka.text.Cue
1592 objects instead of VTTCue or TextTrackCue objects. All application-specific
1593 text-parsing plugins MUST be updated.
1594 - https://github.com/google/shaka-player/issues/796
1595
1596Deprecated:
1597 - The configuration for a custom ABR manager has changed. Applications with
1598 custom AbrManager implementations SHOULD now configure abrFactory instead of
1599 abr.manager.
1600 - https://github.com/google/shaka-player/issues/744
1601 - The old interface will be removed in v2.3.
1602 - The config API for AbrManager has changed. setDefaultEstimate() and
1603 setRestrictions() have been replaced with configure(). Applications with
1604 custom AbrManager implementations SHOULD implement the new configure()
1605 method.
1606 - https://github.com/google/shaka-player/issues/744
1607 - The old interface will be removed in v2.3.
1608 - The choice API for AbrManager has changed. chooseStreams() has been
1609 replaced with chooseVariants(), and the switch callback now takes a variant.
1610 - https://github.com/google/shaka-player/issues/954
1611 - The old interface will be removed in v2.3.
1612 - The getTracks() and selectTrack() methods which were deprecated in v2.1 have
1613 now been removed.
1614
1615
1616## 2.1.8 (2017-08-23)
1617
1618Bugfixes:
1619 - Add player.isAudioOnly() to fix flash of audio-only icon when casting
1620 - https://github.com/google/shaka-player/issues/969
1621 - Fix cast proxying of isAudioOnly and getMediaElement
1622
1623
1624## 2.1.7 (2017-08-14)
1625
1626Bugfixes:
1627 - Fixed "Invalid argument" exceptions for subtitles in IE & Edge
1628 - Fixed buffering at the end of the stream for some content in IE & Edge
1629 - https://github.com/google/shaka-player/issues/913
1630 - Fixed seeking with native controls in Edge
1631 - https://github.com/google/shaka-player/issues/951
1632 - Fixed role selection to clear audio buffer right away
1633 - https://github.com/google/shaka-player/issues/948
1634
1635Docs:
1636 - Fixed a bug in the upgrade guide for selecting tracks and disabling ABR
1637 - https://github.com/google/shaka-player/issues/962
1638
1639
1640## 2.1.6 (2017-08-09)
1641
1642New features:
1643 - Add vp9, opus, and flac mp4 to probeSupport
1644 - https://github.com/google/shaka-player/issues/944
1645
1646Bugfixes:
1647 - Never adapt across roles or languages
1648 - https://github.com/google/shaka-player/issues/918
1649 - https://github.com/google/shaka-player/issues/947
1650 - Fix parsing byterange attribute in HlsParser
1651 - https://github.com/google/shaka-player/issues/925
1652 - Fix incorrect segment position after update in some DASH live streams
1653 - https://github.com/google/shaka-player/pull/838
1654 - Fix support for live streams with no seek range
1655 - https://github.com/google/shaka-player/issues/916
1656 - Fix display order of cues with identical ranges
1657 - https://github.com/google/shaka-player/issues/848
1658 - Fix missing cues in WVTT MP4s using default sample duration
1659 - https://github.com/google/shaka-player/issues/919
1660 - Accept non-integer settings in VTT
1661 - https://github.com/google/shaka-player/issues/919
1662 - Tolerate bandwidth of 0 or missing bandwidth
1663 - https://github.com/google/shaka-player/issues/938
1664 - https://github.com/google/shaka-player/issues/940
1665 - Fix multiple pipeline flushes on some platforms
1666 - Make it safe to install polyfills twice
1667 - https://github.com/google/shaka-player/issues/941
1668
1669Demo app:
1670 - Fix compiled mode in the demo app. Does not affect the library.
1671 Removed defaultConfig_ reference in demo.
1672 - https://github.com/google/shaka-player/issues/929
1673 - Update license URI for PlayReady test asset
1674 - https://github.com/google/shaka-player/pull/953
1675 - https://github.com/google/shaka-player/issues/945
1676
1677
1678## 2.1.5 (2017-07-17)
1679
1680New features:
1681 - Add more information to video errors in Chrome
1682
1683Bugfixes:
1684 - Fix key status problems on IE11 and Tizen TVs
1685 - https://github.com/google/shaka-player/issues/884
1686 - https://github.com/google/shaka-player/issues/890
1687 - Fix period switching when streams are not yet available
1688 - https://github.com/google/shaka-player/issues/839
1689 - Filter out audio-only HLS variants that can't be switched to
1690 - https://github.com/google/shaka-player/issues/824
1691 - https://github.com/google/shaka-player/issues/861
1692 - Fix parsing of Microsoft-packaged HLS content
1693 - Fix rounding issues with multi-Period content
1694 - https://github.com/google/shaka-player/issues/882
1695 - https://github.com/google/shaka-player/issues/909
1696 - https://github.com/google/shaka-player/issues/911
1697 - Fix exceptions thrown in some cases when switching text tracks
1698 - https://github.com/google/shaka-player/issues/910
1699 - Fix DASH date parsing when timezone is missing
1700 - https://github.com/google/shaka-player/issues/901
1701 - Fix persistent storage detection on IE11 and Tizen TVs
1702 - Fix test issues on Tizen
1703 - https://github.com/google/shaka-player/issues/893
1704 - Fix version detection when compiling from the NPM package
1705 - https://github.com/google/shaka-player/issues/871
1706 - Work around lack of key statuses on Tizen
1707 - https://github.com/google/shaka-player/issues/891
1708 - https://github.com/google/shaka-player/issues/894
1709
1710Demo app:
1711 - Fix missing fullscreen button on IE11
1712 - https://github.com/google/shaka-player/issues/787
1713 - Added configuration for gap jumping
1714
1715Docs:
1716 - Document HTTPS requirement for EME
1717 - https://github.com/google/shaka-player/issues/867
1718 - https://github.com/google/shaka-player/issues/928
1719 - Update tutorials
1720 - https://github.com/google/shaka-player/issues/862
1721 - Add FAQ entry on EME robustness
1722 - https://github.com/google/shaka-player/issues/866
1723 - Update HLS FAQ
1724 - Document that we test on Tizen TV now
1725
1726
1727## 2.1.4 (2017-06-16)
1728
1729New features:
1730 - Allow role to be specified in selectAudioLanguage and selectTextLanguage
1731 - https://github.com/google/shaka-player/issues/767
1732
1733Bugfixes:
1734 - Fix changing languages close to a period boundary
1735 - https://github.com/google/shaka-player/issues/797
1736 - Fix hang in load() when there are pending failures
1737 - https://github.com/google/shaka-player/issues/782
1738 - Fix DASH parser ignoring certain text streams
1739 - https://github.com/google/shaka-player/issues/875
1740 - Fix exceptions when side-loading text tracks
1741 - https://github.com/google/shaka-player/issues/821
1742 - Fix PlayReady support on Chromecast
1743 - https://github.com/google/shaka-player/issues/852
1744 - Fix version number issues during publication on NPM
1745 - https://github.com/google/shaka-player/issues/869
1746 - Fix pollution from npm on Windows
1747 - https://github.com/google/shaka-player/issues/776
1748 - Fix support for npm v5
1749 - https://github.com/google/shaka-player/issues/854
1750
1751Demo app:
1752 - Fix control visibility in fullscreen mode on mobile phones
1753 - https://github.com/google/shaka-player/issues/663
1754
1755Docs:
1756 - Updated welcome docs
1757 - Updated list of supported platforms
1758 - https://github.com/google/shaka-player/issues/863
1759 - Updated FAQ
1760 - https://github.com/google/shaka-player/issues/864
1761 - https://github.com/google/shaka-player/issues/865
1762
1763
1764## 2.1.3 (2017-06-06)
1765
1766New features:
1767 - Limit network retries for VOD, only retry forever on live
1768 - https://github.com/google/shaka-player/issues/762
1769 - https://github.com/google/shaka-player/issues/830
1770 - https://github.com/google/shaka-player/pull/842
1771 - Add stream IDs in getStats().switchHistory
1772 - https://github.com/google/shaka-player/issues/785
1773 - https://github.com/google/shaka-player/issues/823
1774 - https://github.com/google/shaka-player/pull/846
1775 - Add label attribute to tracks
1776 - https://github.com/google/shaka-player/issues/825
1777 - https://github.com/google/shaka-player/pull/811
1778 - https://github.com/google/shaka-player/pull/831
1779 - Expose role attributes on tracks
1780 - https://github.com/google/shaka-player/issues/767
1781 - Silence confusing browser-generated errors related to play()
1782 - https://github.com/google/shaka-player/issues/836
1783
1784Bugfixes:
1785 - Fix offline storage in compiled mode
1786 - Choose lowest-bandwidth codecs when multiple are possible
1787 - https://github.com/google/shaka-player/issues/841
1788 - Fix PlayReady on IE and Edge
1789 - https://github.com/google/shaka-player/issues/837
1790 - Fix rounding errors on IE11
1791 - https://github.com/google/shaka-player/pull/832
1792 - Clean up demo app loader
1793 - Fix PlayReady test failures
1794
1795
1796## 2.1.2 (2017-05-23)
1797
1798New features:
1799 - Make educated guesses about missing HLS info (CODECS no longer required)
1800 - https://github.com/google/shaka-player/issues/805
1801 - Add support for PlayReady on Chromecast and Tizen
1802 - https://github.com/google/shaka-player/issues/814
1803 - https://github.com/google/shaka-player/pull/815
1804
1805Bugfixes:
1806 - Fix flakiness in RESTRICTIONS\_CANNOT\_BE\_MET errors
1807 - Make isBrowserSupported more strict about MediaSource
1808 - Fix detection of audio-only assets in the demo
1809 - https://github.com/google/shaka-player/issues/794
1810 - Fix exports and generated externs that were broken in v2.1.0 and v2.1.1
1811 - Speed up deletion of offline content
1812 - https://github.com/google/shaka-player/issues/756
1813
1814Docs:
1815 - Fix docs on subtitles and captions
1816 - https://github.com/google/shaka-player/issues/808
1817 - Add notes on adaptation to upgrade guide
1818
1819
1820## 2.0.9 (2017-05-10)
1821
1822Backported bugfixes from v2.1.x:
1823 - Fix offline download stalls on Android
1824 - https://github.com/google/shaka-player/issues/747
1825 - Fix track restriction based on key status
1826 - https://github.com/google/shaka-player/issues/761
1827 - Fix exception in fullscreen polyfill on IE 11
1828 - https://github.com/google/shaka-player/pull/777
1829 - Fix exception when reconfiguring serverCertificate
1830 - https://github.com/google/shaka-player/issues/784
1831
1832
1833## 2.1.1 (2017-05-10)
1834
1835New features:
1836 - Separate audio and video codec in Track
1837 - https://github.com/google/shaka-player/issues/758
1838 - Make segment request to establish HLS media MIME type
1839 - https://github.com/google/shaka-player/issues/769
1840
1841Bugfixes:
1842 - Fix exception in fullscreen polyfill on IE 11
1843 - https://github.com/google/shaka-player/pull/777
1844 - Fix exception when reconfiguring serverCertificate
1845 - https://github.com/google/shaka-player/issues/784
1846 - Don't fire 'trackschanged' event twice
1847 - https://github.com/google/shaka-player/issues/783
1848 - Fix track restriction based on key status
1849 - https://github.com/google/shaka-player/issues/761
1850 - Fix offline download stalls on Android
1851 - https://github.com/google/shaka-player/issues/747
1852 - Fix race condition in gap-jumping code
1853 - Fix poster visibility in fullscreen mode
1854 - https://github.com/google/shaka-player/issues/778
1855
1856
1857## 2.1.0 (2017-04-25)
1858
1859New features:
1860 - Add basic HLS support
1861 - VOD only
1862 - Widevine & clear content only
1863 - No support for CEA-708
1864 - https://github.com/google/shaka-player/issues/279
1865 - Tolerate gaps in the presentation timeline and jump over them
1866 - https://github.com/google/shaka-player/issues/555
1867 - Add an indicator for critical errors
1868 - https://github.com/google/shaka-player/issues/564
1869 - Do not retry on HTTP 401/403 errors
1870 - https://github.com/google/shaka-player/issues/620
1871 - Expand player stats and track metadata
1872 - Add loadLatency stat
1873 - Add mimeType to tracks
1874 - Track state changes (buffering, playing, paused, ended)
1875 - DASH trick mode support
1876 - https://github.com/google/shaka-player/issues/538
1877 - Expose license expiration times through Player
1878 - https://github.com/google/shaka-player/issues/727
1879 - Add support for EventStream elements in DASH
1880 - https://github.com/google/shaka-player/issues/462
1881 - Add support for Chromecast Media Playback messages from generic senders
1882 - https://github.com/google/shaka-player/issues/722
1883 - Add config to ignore key system and init data in DASH manifest
1884 - https://github.com/google/shaka-player/issues/750
1885 - Add support for asynchronous response filters
1886 - https://github.com/google/shaka-player/issues/610
1887 - Filter duplicate initData from manifest by key ID
1888 - https://github.com/google/shaka-player/issues/580
1889 - Optionally adjust start time to segment boundary
1890 - https://github.com/google/shaka-player/issues/683
1891 - StringUtils and Uint8ArrayUtils are now exported, to make filters easier
1892 - https://github.com/google/shaka-player/issues/667
1893 - Add audio adaptation to default AbrManager
1894 - Add an API to force the Chromecast to disconnect
1895 - https://github.com/google/shaka-player/issues/523
1896 - Add possibility to delay license request until playback is started
1897 - https://github.com/google/shaka-player/issues/262
1898 - Add API to get live stream position as Date
1899 - https://github.com/google/shaka-player/issues/356
1900 - Don't clear buffer if switching to the same stream
1901 - https://github.com/google/shaka-player/issues/693
1902 - Demo app permalink support through URL hash parameters
1903 - https://github.com/google/shaka-player/issues/709
1904 - Add a flag so scheme plugins can ask us to ignore cache hits for ABR
1905 - Allow passing durations from scheme plugins to compute throughput
1906 - https://github.com/google/shaka-player/issues/621
1907 - Make ES6 imports easier
1908 - https://github.com/google/shaka-player/issues/466
1909 - Add separate restrictions to AbrManager
1910 - https://github.com/google/shaka-player/issues/565
1911 - Allow network plugins to see the request type
1912 - https://github.com/google/shaka-player/issues/602
1913
1914Bugfixes:
1915 - Make language selection explicit
1916 - https://github.com/google/shaka-player/issues/412
1917 - Make text track visibility explicit
1918 - https://github.com/google/shaka-player/issues/626
1919 - Fix firing of 'trackschanged' event for multi-Period content
1920 - https://github.com/google/shaka-player/issues/680
1921 - Correct time parsing for MP4 VTT subtitles
1922 - https://github.com/google/shaka-player/issues/699
1923 - Fix playback of live when segments do not extend to the end of the Period
1924 - https://github.com/google/shaka-player/issues/694
1925 - Allow seeking to 0 in live streams
1926 - https://github.com/google/shaka-player/issues/692
1927 - Add explicit timestamps to 'emsg' events
1928 - https://github.com/google/shaka-player/issues/698
1929 - Fix playback of YouTube demo assets
1930 - https://github.com/google/shaka-player/issues/682
1931 - Allow text parsers to change during playback
1932 - https://github.com/google/shaka-player/issues/571
1933
1934Docs:
1935 - Add offline storage to v2 upgrade guide
1936 - Add additional docs for AbrManager
1937 - https://github.com/google/shaka-player/issues/629
1938 - Add manifest parser plugin tutorial
1939
1940Broken Compatibility:
1941 - Track types 'video' and 'audio' have been combined into 'variant'.
1942 - Any application looking at track.type will need to be updated.
1943 - Removed useRelativeCueTimestamps option
1944 - All segmented WebVTT cue timestamps are now segment-relative
1945 - https://github.com/google/shaka-player/issues/726
1946 - Plugin interface for text parsers has changed
1947 - Both old & new interfaces still supported
1948 - Support for old interface will be removed in v2.2
1949 - Plugin interface for ManifestParser.start has changed
1950 - Now takes an object with named parameters instead of positional params
1951 - Both old & new interfaces still supported
1952 - Support for old interface will be removed in v2.2
1953 - Retired the INVALID\_TTML error code
1954 - Folded into the INVALID\_XML error code
1955
1956
1957## 2.0.8 (2017-04-07)
1958
1959Bugfixes:
1960 - Suppress controls UI updates when hidden
1961 - https://github.com/google/shaka-player/issues/749
1962 - Revert keyboard navigation changes in demo, failing on Firefox
1963
1964
1965## 2.0.7 (2017-03-29)
1966
1967New Features:
1968 - Improved keyboard navigation in demo page for accessibility
1969 - Play through small gaps at the start of the timeline
1970 - Add a method for accessing the HTMLMediaElement from the Player
1971 - https://github.com/google/shaka-player/pull/723
1972 - Improved error reporting for HTTP errors
1973
1974Bugfixes:
1975 - Fixed a DASH compliance bug in SegmentList w/ presentationTimeOffset
1976 - Fixed compiler renaming in emsg events.
1977 - https://github.com/google/shaka-player/issues/717
1978 - Fix period transitions where text streams may be absent
1979 - https://github.com/google/shaka-player/issues/715
1980 - Fix Firefox DRM detection
1981 - Fix cleanup of expired EME sessions for offline
1982 - Fix demo app error thrown when offline is not supported
1983 - Fix infinite loop in offline storage of SegmentTemplate-based DASH
1984 - https://github.com/google/shaka-player/issues/739
1985 - Fix contamination between tests
1986
1987
1988## 2.0.6 (2017-02-24)
1989
1990New Features:
1991 - Add Media Session info to demo
1992 - https://github.com/google/shaka-player/pull/689
1993 - Add support for xml:space in TTML parser
1994 - https://github.com/google/shaka-player/issues/665
1995 - Add fullscreenEnabled property to fullscreen polyfill
1996 - https://github.com/google/shaka-player/issues/669
1997 - Allow InbandEventStream elements at Representation level
1998 - https://github.com/google/shaka-player/pull/687
1999 - https://github.com/google/shaka-player/issues/686
2000 - Warning for unsupported indexRange attribute
2001 - Warning for duplicate Representation IDs
2002
2003Bugfixes:
2004 - Fix cast support broken since 2.0.3
2005 - https://github.com/google/shaka-player/issues/675
2006 - Fix timeout errors in cast demo
2007 - https://github.com/google/shaka-player/issues/684
2008 - Fix infinite buffering caused by a race
2009 - https://github.com/google/shaka-player/issues/600
2010 - Fix race in StreamingEngine for multi-Period content
2011 - https://github.com/google/shaka-player/issues/655
2012 - Hide the controls when going fullscreen on phones
2013 - https://github.com/google/shaka-player/issues/663
2014 - Improve calculation of $TIME$ in SegmentTemplate
2015 - https://github.com/google/shaka-player/issues/690
2016 - https://github.com/google/shaka-player/pull/706
2017 - Fix YouTube asset on demo app
2018 - https://github.com/google/shaka-player/issues/682
2019
2020
2021## 2.0.5 (2017-01-30)
2022
2023Bugfixes:
2024 - Fix several bugs with multi-Period content
2025 - Possible hang when seeking
2026 - Fix race between buffering and Period transition
2027 - Fix race between rapid Period transitions
2028 - https://github.com/google/shaka-player/issues/655
2029 - Fix hang in destroy() when EME sessions are in a bad state
2030 - https://github.com/google/shaka-player/issues/664
2031 - Fix doubling of time offset for segment-relative cues
2032 - https://github.com/google/shaka-player/issues/595
2033 - https://github.com/google/shaka-player/pull/599
2034
2035
2036## 2.0.4 (2017-01-24)
2037
2038New features:
2039 - Support for 4k on Chromecast Ultra
2040 - Support for text tracks on Toshiba dTV
2041 - https://github.com/google/shaka-player/issues/635
2042 - https://github.com/google/shaka-player/pull/643
2043
2044Bugfixes:
2045 - Fixed buffering issues at the end of streams in IE/Edge
2046 - https://github.com/google/shaka-player/issues/658
2047 - Fixed parsing of empty divs in TTML
2048 - https://github.com/google/shaka-player/issues/646
2049 - https://github.com/google/shaka-player/pull/650
2050 - Fixed subtle bug in Promise.resolve polyfill on IE
2051 - Fixed test failures on Chromecast
2052
2053Docs:
2054 - Added additional docs for offline storage
2055 - Updated and clarified debugging tutorial
2056 - https://github.com/google/shaka-player/issues/653
2057
2058
2059## 2.0.3 (2017-01-09)
2060
2061New features:
2062 - Treat HTTP 202 status codes as failures
2063 - https://github.com/google/shaka-player/issues/645
2064
2065Bugfixes:
2066 - Fix race condition in StreamingEngine
2067 - Fix race in load/unload in Player
2068 - https://github.com/google/shaka-player/pull/613
2069 - https://github.com/google/shaka-player/issues/612
2070 - Update workarounds for Edge EME bugs
2071 - https://github.com/google/shaka-player/issues/634
2072 - Add missing events and methods to cast proxy
2073 - Fix exclusion of standard features in custom builds
2074 - Be more permissive of text failures
2075 - Permit text parsing errors as well as streaming errors with the
2076 ignoreTextStreamFailures config option.
2077 - Do not fail StreamingEngine startup because of text streams,
2078 regardless of config.
2079 - https://github.com/google/shaka-player/issues/635
2080 - Fix selectTrack() call with no text tracks
2081 - https://github.com/google/shaka-player/issues/640
2082 - Fix buffering state for live streams (stop at live edge)
2083 - https://github.com/google/shaka-player/issues/636
2084
2085
2086## 2.0.2 (2016-12-15)
2087
2088New features:
2089 - Add support for Toshiba dTV
2090 - https://github.com/google/shaka-player/pull/605
2091 - TTML subtitles: Support for \<br\> inside a paragraph
2092 - https://github.com/google/shaka-player/pull/572
2093 - https://github.com/google/shaka-player/pull/584
2094 - Parse TTML textAlign settings into align property of a VTTCue
2095 - https://github.com/google/shaka-player/pull/573
2096 - Improved test stability and coverage reports
2097
2098Bugfixes:
2099 - Fix DASH content type parsing
2100 - https://github.com/google/shaka-player/issues/631
2101 - Tolerate larger gaps at the start
2102 - https://github.com/google/shaka-player/issues/579
2103 - Fixes for TTML alignment, positioning and cue externs
2104 - https://github.com/google/shaka-player/pull/588
2105 - https://github.com/google/shaka-player/pull/594
2106 - Keep ewma sampling from failing on 0 duration segments
2107 - https://github.com/google/shaka-player/issues/582
2108 - https://github.com/google/shaka-player/pull/583
2109 - Allow text parsers to change during playback
2110 - https://github.com/google/shaka-player/issues/571
2111 - Fix playback when IE11 modifies the XML DOM
2112 - https://github.com/google/shaka-player/issues/608
2113 - https://github.com/google/shaka-player/pull/611
2114 - Update MediaSource polyfills for Safari 10
2115 - https://github.com/google/shaka-player/issues/615
2116 - Throw explicit error on empty manifests
2117 - https://github.com/google/shaka-player/issues/618
2118
2119Docs:
2120 - Link to error docs from the demo app
2121
2122
2123## 2.0.1 (2016-10-26)
2124
2125New features:
2126 - Faster ABR decisions
2127 - Add config option for using segment relative timestamps for VTT
2128 - https://github.com/google/shaka-player/issues/480
2129 - https://github.com/google/shaka-player/pull/542
2130 - Log and ignore non-standard WebVTT settings instead of failing
2131 - https://github.com/google/shaka-player/issues/509
2132 - Make key IDs from the manifest available through DrmInfo
2133 - https://github.com/google/shaka-player/pull/529
2134 - Provide framerate and codecs information on video tracks
2135 - https://github.com/google/shaka-player/issues/516
2136 - https://github.com/google/shaka-player/pull/533
2137 - Dispatch more useful network error when HEAD request fails
2138
2139Bugfixes:
2140 - Fix ABR quality issues when switching tracks (stutters, glitches, etc.)
2141 - https://github.com/google/shaka-player/issues/520
2142 - Keep user selected text track when switching audio
2143 - https://github.com/google/shaka-player/issues/514
2144 - Fix vtt with one digit hour
2145 - https://github.com/google/shaka-player/pull/522
2146 - Fix build scripts for Windows
2147 - https://github.com/google/shaka-player/issues/526
2148 - Fix buffering event delay
2149 - https://github.com/google/shaka-player/issues/511
2150 - Workaround bug in Edge buffered ranges
2151 - https://github.com/google/shaka-player/issues/530
2152 - Fix handling of internal-error key status
2153 - https://github.com/google/shaka-player/issues/539
2154 - Ignore trick mode tracks
2155 - https://github.com/google/shaka-player/issues/538
2156 - Fix AdaptationSetSwitching support
2157 - Fix buffering logic when switching periods
2158 - https://github.com/google/shaka-player/issues/537
2159 - https://github.com/google/shaka-player/issues/545
2160 - Use data URI content-type for manifest type detection
2161 - https://github.com/google/shaka-player/pull/550
2162 - Fix audio language changes on Chromecast
2163 - https://github.com/google/shaka-player/issues/544
2164 - Fix Chromecast receiver idle behavior when looping or replaying
2165 - https://github.com/google/shaka-player/issues/558
2166 - Fix exception-causing race when TextEngine is destroyed
2167
2168Demo app improvements:
2169 - Hide volume & mute buttons on mobile-sized screens
2170 - Probe both MP4 and WebM support in DrmEngine
2171 - https://github.com/google/shaka-player/issues/540
2172 - Update Axinom test assets to v7
2173 - Fix accessibility issues in the demo app
2174 - https://github.com/google/shaka-player/issues/552
2175
2176Docs:
2177 - Rewrote the debugging tutorial
2178 - Misc docs cleanup
2179 - https://github.com/google/shaka-player/pull/536
2180
2181
2182## 2.0.0 (2016-09-07)
2183
2184The first full release of v2!
2185
2186New features:
2187 - Improved Chromecast support
2188 - Cast from the built-in Chrome dialog as well as the video controls
2189 - Use the built-in Chrome dialog to disconnect
2190 - Support for in-progress recordings (IPR)
2191 - https://github.com/google/shaka-player/issues/477
2192 - Can be configured to tolerate text stream failures
2193 - https://github.com/google/shaka-player/issues/474
2194 - Ignore small gaps in the timeline
2195 - https://github.com/google/shaka-player/issues/472
2196 - Added EMSG box support
2197 - https://github.com/google/shaka-player/issues/259
2198 - Reduced test flakiness and improved test speed
2199 - Improved VTT parsing
2200 - https://github.com/google/shaka-player/issues/469
2201 - Improved EME error reporting
2202 - https://github.com/google/shaka-player/issues/468
2203 - Improved demo app UI for touch screens
2204 - Smaller demo app UI (video element above the fold on Nexus 5X)
2205
2206Bugfixes:
2207 - Fixed text-related issues in IE11
2208 - https://github.com/google/shaka-player/issues/501
2209 - https://github.com/google/shaka-player/issues/502
2210 - Fixed a few live edge corner cases
2211 - https://github.com/google/shaka-player/issues/490
2212 - https://github.com/google/shaka-player/issues/504
2213 - Fixed TTML parsing exceptions
2214 - https://github.com/google/shaka-player/issues/473
2215 - https://github.com/google/shaka-player/issues/506
2216 - Fixed text encoding issues with subs
2217 - Fixed issues with multi-period eviction
2218 - https://github.com/google/shaka-player/pull/483
2219 - Defined order of AdaptationSet preference (prefer high quality, low bw)
2220 - https://github.com/google/shaka-player/issues/476
2221 - Fixed support for manifests with multiple text formats
2222 - Fixed support for DASH Representations with multiple Roles
2223 - https://github.com/google/shaka-player/issues/500
2224 - Fixed CSP compliance for Chrome apps
2225 - https://github.com/google/shaka-player/issues/487
2226
2227Planned features we cut:
2228 - Cache-detecting bandwidth estimation
2229 - https://github.com/google/shaka-player/issues/324
2230
2231
2232## 2.0.0-beta3 (2016-07-29)
2233
2234Restored Features from v1 Missing in v2.0.0-beta2:
2235 - Offline storage and playback
2236 - https://github.com/google/shaka-player/issues/343
2237 - Clearkey license server support
2238 - https://github.com/google/shaka-player/issues/403
2239
2240New features:
2241 - Built-in Chromecast support
2242 - https://github.com/google/shaka-player/issues/261
2243 - TTML text support
2244 - https://github.com/google/shaka-player/issues/111
2245 - TTML in MP4
2246 - https://github.com/google/shaka-player/issues/278
2247 - VTT in MP4
2248 - https://github.com/google/shaka-player/issues/277
2249 - Handle QuotaExceededError, automatically reduce buffering goals
2250 - https://github.com/google/shaka-player/issues/258
2251 - Faster template processing in DASH
2252 - https://github.com/google/shaka-player/issues/405
2253 - Bitrate upgrades take effect faster
2254 - Add a specific error for missing license server URI
2255 - https://github.com/google/shaka-player/issues/371
2256 - Add adaptation events for language changes
2257 - Don't treat network errors as fatal in StreamingEngine
2258 - https://github.com/google/shaka-player/issues/390
2259 - Provide the application access to DrmInfo structure
2260 - https://github.com/google/shaka-player/issues/272
2261 - Restructure test/ folder to mimic lib/ folder structure
2262 - https://github.com/google/shaka-player/pull/434
2263 - Upgrade closure compiler
2264 - https://github.com/google/shaka-player/pull/421
2265 - New logo!
2266
2267Bugfixes:
2268 - Revert ABR changes that caused bandwidth samples to be ignored
2269 - https://github.com/google/shaka-player/issues/367
2270 - Fix buffering of multi-period text
2271 - https://github.com/google/shaka-player/issues/411
2272 - Fix various ABR issues
2273 - https://github.com/google/shaka-player/issues/435
2274 - Fix stuck playback on seek
2275 - https://github.com/google/shaka-player/issues/366
2276 - Stop refreshing live manifests when unloaded
2277 - https://github.com/google/shaka-player/issues/369
2278 - Don't adapt between incompatible codecs (mp4a & ec-3)
2279 - https://github.com/google/shaka-player/issues/391
2280 - Fix race in player WRT external text tracks
2281 - https://github.com/google/shaka-player/issues/418
2282 - Fix Edge EME workarounds on IE11
2283 - https://github.com/google/shaka-player/issues/393
2284 - Work around Safari MSE bugs
2285 - Fix relative paths in UTCTiming
2286 - https://github.com/google/shaka-player/issues/376
2287 - Fix source map paths on windows
2288 - https://github.com/google/shaka-player/issues/413
2289 - Improve demo app CSS on mobile
2290 - Fix buffering state on unload
2291 - Fix load/unload/destroy race conditions
2292 - Reduce test flake (async tests still flakey on Safari)
2293 - Fix context menu display in demo app
2294 - https://github.com/google/shaka-player/issues/422
2295 - Fix key status, session expiration, and DRM error dispatch
2296 - Fix demo app play controls on Android
2297 - https://github.com/google/shaka-player/issues/432
2298 - Fix corner cases when seeking to the live edge
2299
2300Docs:
2301 - Add a license-wrapping tutorial
2302 - Add track restriction docs
2303 - https://github.com/google/shaka-player/issues/387
2304 - Update track and adaptation docs
2305 - https://github.com/google/shaka-player/issues/447
2306
2307Broken Compatibility compared to v2.0.0-beta2:
2308 - The asynchronous Player.support() has been replaced with the synchronous
2309 Player.isBrowserSupported() call
2310 - https://github.com/google/shaka-player/issues/388
2311 - AbrManager implementations must now handle a partial StreamSet map in
2312 chooseStreams()
2313 - The wrong keys error has been dropped due to false positives
2314
2315
2316## 2.0.0-beta2 (2016-05-04)
2317
2318Restored Features from v1 Missing in v2.0.0-beta:
2319 - Track restrictions API
2320 - https://github.com/google/shaka-player/issues/326
2321 - https://github.com/google/shaka-player/issues/327
2322 - Custom controls demo for live
2323 - https://github.com/google/shaka-player/issues/322
2324 - Trick play demo
2325 - https://github.com/google/shaka-player/issues/328
2326
2327New features:
2328 - Reduced startup latency
2329 - Added player.resetConfiguration()
2330 - Added response text to HTTP errors
2331 - https://github.com/google/shaka-player/issues/319
2332 - Demo controls redesigned with material design icons
2333 - Emit an error if the wrong keys are retrieved
2334 - https://github.com/google/shaka-player/issues/301
2335 - Human-readable errors shown in demo app
2336 - Cache-friendly bandwidth estimation
2337 - https://github.com/google/shaka-player/issues/324
2338 - Improved trick play and playbackRate support
2339 - https://github.com/google/shaka-player/issues/344
2340 - Allow apps to reset ABR manager estimates
2341 - https://github.com/google/shaka-player/issues/355
2342 - Support non-zero start times for VOD
2343 - https://github.com/google/shaka-player/issues/341
2344 - https://github.com/google/shaka-player/issues/348
2345 - https://github.com/google/shaka-player/issues/357
2346
2347Bugfixes:
2348 - Fix playback of DASH with unaligned Representations
2349 - Fixed race conditions on seek
2350 - https://github.com/google/shaka-player/issues/334
2351 - Improved drift handling
2352 - https://github.com/google/shaka-player/issues/330
2353 - Fixed stack overflow in StringUtils
2354 - https://github.com/google/shaka-player/issues/335
2355 - Improved live support
2356 - https://github.com/google/shaka-player/issues/331
2357 - https://github.com/google/shaka-player/issues/339
2358 - https://github.com/google/shaka-player/issues/340
2359 - https://github.com/google/shaka-player/issues/351
2360 - Fixed player.addTextTrack
2361 - Handle CDMs which don't support the same types MSE does
2362 - https://github.com/google/shaka-player/issues/342
2363 - Fix audio-only encrypted playback
2364 - https://github.com/google/shaka-player/issues/360
2365 - Fix renaming of event properties
2366 - https://github.com/google/shaka-player/issues/361
2367 - Warn about missing clock sync elements in live manfiests
2368 - https://github.com/google/shaka-player/issues/290
2369 - Add option for default clock sync URI
2370 - https://github.com/google/shaka-player/issues/290
2371 - Fix crash in TextEngine when subs are turned off
2372
2373Docs:
2374 - Shaka v2 upgrade guide
2375 - http://shaka-player-demo.appspot.com/docs/api/tutorial-upgrade.html
2376 - Added enum values (not just names) to generated docs
2377 - https://github.com/google/shaka-player/issues/337
2378
2379Broken Compatibility compared to v2.0.0-beta:
2380 - None!
2381
2382
2383## 1.6.5 (2016-04-08)
2384
2385Bugfixes:
2386 - Always build the same input files to a stable output
2387 - https://github.com/google/shaka-player/pull/299
2388 - Properly extern the 'xhr' property of HTTP errors
2389 - https://github.com/google/shaka-player/pull/319
2390
2391
2392## 2.0.0-beta (2016-04-07)
2393
2394New Features:
2395 - DASH support for:
2396 - Multi-Period content
2397 - https://github.com/google/shaka-player/issues/186
2398 - Location elements
2399 - https://github.com/google/shaka-player/issues/298
2400 - UTCTiming elements (for clock synchronization)
2401 - https://github.com/google/shaka-player/issues/241
2402 - Better browser compatibility
2403 - Testing on Safari 9, IE 11, Edge, Firefox 45+, Opera, Chrome
2404 - https://github.com/google/shaka-player/issues/101
2405 - New plugin and build system to extend Shaka
2406 - Networking plugins
2407 - https://github.com/google/shaka-player/issues/228
2408 - https://github.com/google/shaka-player/issues/198
2409 - Cache-friendly networking
2410 - https://github.com/google/shaka-player/issues/76
2411 - https://github.com/google/shaka-player/issues/191
2412 - https://github.com/google/shaka-player/issues/235
2413 - Limit memory usage by clearing old data from buffer
2414 - https://github.com/google/shaka-player/issues/247
2415 - Simpler, more mobile-friendly demo app
2416 - New test assets
2417 - https://github.com/google/shaka-player/issues/224
2418 - Made play()/pause() independent of buffering
2419 - https://github.com/google/shaka-player/issues/233
2420 - Numerical error code system
2421 - https://github.com/google/shaka-player/issues/201
2422 - Distinguish between subtitle and caption tracks
2423 - https://github.com/google/shaka-player/issues/206
2424 - Separate audio & text language preferences
2425 - https://github.com/google/shaka-player/issues/207
2426 - Update timeShiftBufferDepth when updating the manifest
2427 - https://github.com/google/shaka-player/issues/295
2428 - Simplified clearkey setup using configure()
2429 - Initial bandwidth is now configurable:
2430 - https://github.com/google/shaka-player/issues/268
2431
2432Bugfixes:
2433 - Stopped using Date headers for clock sync
2434 - https://github.com/google/shaka-player/issues/205
2435 - https://github.com/google/shaka-player/issues/241
2436
2437Docs:
2438 - New tutorials!
2439
2440Missing Features from v1 (to be added later):
2441 - Custom controls demo for live streams
2442 - https://github.com/google/shaka-player/issues/322
2443 - Chromecast demo
2444 - Trick play demo
2445 - Track restrictions based on key status
2446 - Offline support
2447
2448Broken Compatibility:
2449 - Almost everything! (v2 upgrade guide coming soon)
2450
2451
2452## 1.6.4 (2016-03-03)
2453
2454Bugfixes:
2455 - Updated Promise polyfill with fixes backported from v2
2456 - Fixed Edge EME compatibility & InvalidStateErrors
2457 - https://github.com/google/shaka-player/issues/282
2458 - Fixed HttpVideoSource use with clear content (Thanks, Sanborn!)
2459 - https://github.com/google/shaka-player/pull/292
2460 - Fixed uncompiled-mode performance regression introduced in v1.6.3
2461 - https://github.com/google/shaka-player/issues/288
2462
2463
2464## 1.6.3 (2016-02-08)
2465
2466Features:
2467 - Added opt\_clearBufferOffset for audio (Thanks, Itay)
2468 - https://github.com/google/shaka-player/pull/254
2469 - Fetch segments from new location after manifest redirect (Thanks, Rob)
2470 - https://github.com/google/shaka-player/pull/266
2471
2472Bugfixes:
2473 - Several IE11 stability issues and race conditions fixed
2474 - Fixed incompatibilities when clearing the SourceBuffer
2475 - Ignore spurious 'updateend' events
2476 - Added stack-based messages to all assertions
2477 - Fixed some unit test compatibility issues
2478 - Fixed race conditions caused by Promise polyfill
2479 - https://github.com/google/shaka-player/issues/251
2480
2481Docs:
2482 - Update browser support docs with regard to IE & Firefox
2483
2484Test app fixes:
2485 - Fixed slider controls for IE11
2486 - Turned off seek bar tooltips for IE11
2487
2488
2489## 1.6.2 (2015-12-14)
2490
2491Features:
2492 - Added a new configure parameter to allow a user to completely disable
2493 the cache-buster. This is necessary for certain CDNs, but please note
2494 the tradeoffs before using. Bandwidth estimation can be adversely
2495 affected, particularly for low-bandwidth users.
2496 - https://github.com/google/shaka-player/issues/235
2497 - https://github.com/google/shaka-player/issues/238
2498 - https://github.com/google/shaka-player/issues/76
2499
2500Bugfixes:
2501 - Fixed interpretation of startNumber for SegmentTemplate w/ duration.
2502 - https://github.com/google/shaka-player/issues/237
2503
2504
2505## 1.6.1 (2015-12-07)
2506
2507Bugfixes:
2508 - Fixed handling when all streams are removed in a manifest update.
2509 - Fixed annotation mistakes in preparation for a new compiler release.
2510 - Fixed Promise polyfill errors in compiled mode.
2511 - https://github.com/google/shaka-player/issues/236
2512
2513
2514## 1.6.0 (2015-11-17)
2515
2516Features:
2517 - Partial IE11 & PlayReady support. (Thanks, Jono!)
2518 - https://github.com/google/shaka-player/pull/176
2519 - *live and offline content not working*
2520 - *non-zero start times not working*
2521 - *IE11 fails to decode some test assets*
2522 - https://github.com/google/shaka-player/issues/224
2523 - Added support for setPlaybackStartTime on live streams.
2524 - https://github.com/google/shaka-player/pull/231
2525 - Improved support for live streaming corner cases.
2526 - https://github.com/google/shaka-player/issues/139
2527 - https://github.com/google/shaka-player/issues/140
2528 - https://github.com/google/shaka-player/issues/141
2529 - https://github.com/google/shaka-player/issues/145
2530 - https://github.com/google/shaka-player/issues/185
2531 - Now builds with three different configs by default.
2532 - Full build (all features enabled).
2533 - DASH MP4 VOD. (Only DASH w/ SegmentBase, no WebM.)
2534 - DASH MP4 live. (Only DASH w/o SegmentBase, no WebM.)
2535 - https://github.com/google/shaka-player/issues/116
2536 - Changed startNumber implementation to be more consistent.
2537 - https://github.com/google/shaka-player/issues/192
2538 - Added a new Promise polyfill for IE11.
2539 - Added support for WebM w/ unknown size in the Segment element.
2540
2541Bugfixes:
2542 - Expired sessions (for example, when using key rotation) are now cleaned up.
2543 - https://github.com/google/shaka-player/issues/210
2544 - Manifests can now be reprocessed without an update when
2545 availabilityStartTime passes.
2546 - https://github.com/google/shaka-player/issues/172
2547
2548Test app features:
2549 - Added Chromecast support to the demo app.
2550 (No changes to the library for this.)
2551 - https://github.com/google/shaka-player/issues/117
2552 - Removed force-prefixed feature for improved IE11 support.
2553 - https://github.com/google/shaka-player/issues/222
2554 - Added links to the project and the docs.
2555
2556Broken Compatibility:
2557 - Removed Player methods deprecated since v1.5.0.
2558 - enableAdaptation
2559 - getAdaptationEnabled
2560 - setStreamBufferSize
2561 - getStreamBufferSize
2562 - setLicenseRequestTimeout
2563 - setMpdRequestTimeout
2564 - setRangeRequestTimeout
2565 - setPreferredLanguage
2566 - setRestrictions
2567 - getRestrictions
2568 - https://github.com/google/shaka-player/issues/203
2569 - https://github.com/google/shaka-player/issues/93
2570 - Removed support for the old-style ContentProtection callback, deprecated
2571 since v1.5.0.
2572 - https://github.com/google/shaka-player/issues/203
2573 - https://github.com/google/shaka-player/issues/71
2574
2575
2576## 1.5.2 (2015-11-12)
2577
2578A roll-up of recent bugfixes.
2579
2580Bugfixes:
2581 - Fixed timestamp correction for some live streams from Elemental.
2582 - https://github.com/google/shaka-player/issues/200
2583 - Fixed support for manifests with different PSSHs per Representation.
2584 - https://github.com/google/shaka-player/issues/229
2585 - Fixed support for ContentProtection elements at both AdaptationSet and
2586 Representation level in the same manifest.
2587 - https://github.com/google/shaka-player/issues/230
2588 - Fixed support for bound DrmInfo callbacks.
2589 - https://github.com/google/shaka-player/issues/227
2590 - Fixed the 'enabled' flag of text tracks when manipulated directly by the
2591 video element.
2592 - https://github.com/google/shaka-player/issues/214
2593 - Fixed buffering to use the correct goal (minBufferTime) when re-buffering.
2594 - https://github.com/google/shaka-player/issues/190
2595 - Fixed a broken link in the documentation. (Thanks, Leandro.)
2596 - https://github.com/google/shaka-player/issues/217
2597 - https://github.com/google/shaka-player/pull/218
2598
2599Test app features:
2600 - Added a Widevine-encrypted version of the Sintel 4k test asset.
2601
2602
2603## 1.5.1 (2015-10-07)
2604
2605A roll-up of recent bugfixes.
2606
2607Bugfixes:
2608 - Fixed a major memory leak introduced in 1.5.0.
2609 - https://github.com/google/shaka-player/issues/184
2610 - Deleting encrypted offline content now deletes persistent sessions.
2611 - https://github.com/google/shaka-player/issues/171
2612 - Static content using SegmentTemplate is now truncated at the Period's
2613 duration.
2614 - https://github.com/google/shaka-player/issues/187
2615 - https://github.com/google/shaka-player/issues/173
2616 - Key status error reporting is now more consistent and provides more
2617 information.
2618 - Reduced flakiness in some tests.
2619 - Requests used for clock sync no longer allow caching.
2620 - https://github.com/google/shaka-player/issues/191
2621
2622
2623## 1.5.0 (2015-09-17)
2624
2625Features:
2626 - Added method to set playback start time.
2627 - https://github.com/google/shaka-player/issues/122
2628 - https://github.com/google/shaka-player/pull/123
2629 - Added a text-styling API.
2630 - https://github.com/google/shaka-player/issues/115
2631 - Added support for AdaptationSet groups.
2632 - https://github.com/google/shaka-player/issues/67
2633 - Added a new configuration API.
2634 - https://github.com/google/shaka-player/issues/93
2635 - License preprocessing can now modify HTTP method and server URL.
2636 - https://github.com/google/shaka-player/issues/134
2637 - https://github.com/google/shaka-player/issues/135
2638 - Added an API to load captions not specified in the manifest.
2639 - https://github.com/google/shaka-player/issues/133
2640 - Added support for live streams using SegmentList.
2641 - https://github.com/google/shaka-player/issues/88
2642 - Added support for multiple BaseURL elements for failover.
2643 - https://github.com/google/shaka-player/issues/68
2644 - Gave IAbrManager implementation the ability to clear the buffer when
2645 switching streams.
2646 - https://github.com/google/shaka-player/pull/144
2647 - Added setNetworkCallback API to DashVideoSource to modify network requests.
2648 - https://github.com/google/shaka-player/issues/148
2649 - Improved error reporting for unplayable content.
2650 - Added support for multiple DRM schemes per ContentProtection and simplified
2651 DRM scheme configuration.
2652 - https://github.com/google/shaka-player/issues/71
2653 - Improved documentation for license pre- and post-processing.
2654 - https://github.com/google/shaka-player/issues/137
2655
2656Bugfixes:
2657 - Restricting all video tracks now fires an error event.
2658 - https://github.com/google/shaka-player/issues/179
2659 - https://github.com/google/shaka-player/issues/170
2660 - Changing text tracks now fires an adaptation event.
2661 - https://github.com/google/shaka-player/issues/147
2662 - Fixed bad interactions between pausing and negative playback rates.
2663 - https://github.com/google/shaka-player/issues/130
2664 - Fixed support for negative r values in SegmentTimeline.
2665 - https://github.com/google/shaka-player/issues/162
2666 - Fixed bugs that could cause infinite buffering for certain configurations.
2667 - https://github.com/google/shaka-player/issues/166
2668 - Fixed exceptions fired during rapid Player destroy().
2669 - https://github.com/google/shaka-player/issues/151
2670 - Fixed linting with conflicting globally-installed copy of linter library.
2671 - https://github.com/google/shaka-player/issues/153
2672 - Fixed support for SegmentTimelines with presentationTimeOffset.
2673 - https://github.com/google/shaka-player/issues/143
2674 - Fixed support for apps/content which specify multiple DRM scheme configs.
2675 - https://github.com/google/shaka-player/issues/177
2676
2677Broken Compatibility:
2678 - Removed Player methods deprecated since v1.3.0.
2679 - getCurrentResolution
2680 - getCurrentTime
2681 - getDuration
2682 - getMuted
2683 - getVolume
2684 - play
2685 - pause
2686 - requestFullscreen
2687 - seek
2688 - setMuted
2689 - setVolume
2690 - https://github.com/google/shaka-player/issues/118
2691
2692Deprecated:
2693 - The following methods on Player are deprecated in favor of
2694 configure()/getConfiguration() and will be removed in v1.6.0:
2695 - enableAdaptation
2696 - getAdaptationEnabled
2697 - setStreamBufferSize
2698 - getStreamBufferSize
2699 - setLicenseRequestTimeout
2700 - setMpdRequestTimeout
2701 - setRangeRequestTimeout
2702 - setPreferredLanguage
2703 - setRestrictions
2704 - getRestrictions
2705 - https://github.com/google/shaka-player/issues/93
2706 - A new two-argument ContentProtectionCallback has been added to
2707 DashVideoSource, and the old style is deprecated and will be removed
2708 in v1.6.0.
2709 - https://github.com/google/shaka-player/issues/71
2710
2711
2712## 1.4.2 (2015-09-04)
2713
2714A roll-up of recent bugfixes.
2715
2716Bugfixes:
2717 - Fix storage of duplicate session IDs for encrypted offline content.
2718 - Specify EME sessionTypes, required in newer EME draft.
2719 - https://github.com/google/shaka-player/issues/128
2720 - Fix regression in rewind support, once more working outside buffered range.
2721 - https://github.com/google/shaka-player/issues/165
2722 - Support renamed output protection errors from newer EME draft.
2723 - Fix seeking in custom controls on Android.
2724 - https://github.com/google/shaka-player/issues/164
2725 - Fix missing final chunk when storing certain videos for offline playback.
2726 - https://github.com/google/shaka-player/issues/157
2727 - Prevent crashing of module loaders which use 'define' but are not full AMD
2728 loaders.
2729 - https://github.com/google/shaka-player/issues/163
2730
2731Test app features:
2732 - Added 'offline' URL param.
2733
2734
2735## 1.4.1 (2015-08-18)
2736
2737A roll-up of recent bugfixes and small improvements.
2738
2739Bugfixes:
2740 - An exception is no longer thrown from StreamVideoSource in uncompiled mode
2741 when the stream limits cannot be computed.
2742 - Fixed support for multiple encrypted audio tracks.
2743 - https://github.com/google/shaka-player/issues/112
2744 - Fixed support for manifests that use SegmentList with a single URL.
2745 - Fixed support for audio and video robustness settings in compiled mode.
2746 - The MPD 'main' property is now defined in the correct class.
2747 - The same initialization segment is no longer inserted multiple times into
2748 the SourceBuffer.
2749 - Removed a race in Stream that could stop AdaptationEvents from firing.
2750 - Stopped the compiler from renaming PersistentState and DistinctiveIdentifier
2751 enum values.
2752 - Removed a race in Player.getStats() that could cause NaN stats.
2753 - Fixed support to recover from failed segment requests.
2754 - https://github.com/google/shaka-player/issues/131
2755 - Made rewind, pause, play, and fast-forward consistent with normal video
2756 element behavior, the UI, and Player.setPlaybackRate().
2757 - https://github.com/google/shaka-player/issues/130
2758 - https://github.com/google/shaka-player/issues/138
2759 - Improved seek handling during stream startup.
2760 - https://github.com/google/shaka-player/issues/136
2761 - Unnecessary seeking events during stream startup are no longer fired.
2762 - https://github.com/google/shaka-player/issues/132
2763 - Segment fetches are no longer retried if the Stream has been destroyed.
2764 - https://github.com/google/shaka-player/issues/156
2765 - Fixed support for offline in compiled mode.
2766
2767Features:
2768 - The version indicator on the demo page now displays the NPM version (if
2769 available) when the git version is unavailable.
2770 - Added support to clear the audio buffer when switching tracks.
2771 - https://github.com/google/shaka-player/issues/119
2772 - Added the ability to detect and recover from multiple buffered ranges.
2773 - https://github.com/google/shaka-player/issues/121
2774 - Improved error messages when persistent licenses are not supported.
2775 - https://github.com/google/shaka-player/issues/85
2776
2777Testing:
2778 - Reduced test flakiness overall.
2779 - Certain (unavoidable) decode errors are now suppressed on Chrome Linux.
2780 - Added waitUntilBuffered() function to help reduce test flakiness.
2781
2782
2783## 1.4.0 (2015-07-06)
2784
2785Code health release. Major refactoring of streaming logic.
2786
2787Bugfixes:
2788 - Overriding a license server URL in the test app no longer causes a PSSH
2789 from the MPD to be ignored.
2790 - Fixed possible event listener leak.
2791 - https://github.com/google/shaka-player/issues/109
2792
2793Features:
2794 - Player.destroy() now returns a Promise.
2795 - DrmSchemeInfo now has distinctiveIdentifier, persistentState, and
2796 robustness parameters.
2797 - Clarified buffering event policies.
2798 - https://github.com/google/shaka-player/issues/77
2799 - Added a license pre-processor.
2800 - https://github.com/google/shaka-player/issues/62
2801 - Added support for the MPD Location element.
2802 - https://github.com/google/shaka-player/issues/65
2803 - Custom BandwidthEstimators can now allow XHR caching.
2804 - https://github.com/google/shaka-player/issues/76
2805 - Added support for startNumber of 0, per the recent DASH spec corrigendum.
2806 - https://github.com/google/shaka-player/issues/10
2807 - Added support for server certificate APIs through DrmSchemeInfo.
2808 - https://github.com/google/shaka-player/issues/84
2809 - Major refactor of streaming. Switching representations is now faster and
2810 more flexible. Live stream seek ranges are more accurate.
2811 - https://github.com/google/shaka-player/issues/51
2812 - XHR timeout is now runtime-configurable.
2813 - https://github.com/google/shaka-player/issues/50
2814 - Buffering goals are now runtime-configurable.
2815 - https://github.com/google/shaka-player/issues/49
2816 - Alternative IAbrManager implementations can now be injected at runtime.
2817 - https://github.com/google/shaka-player/issues/48
2818
2819Test app features:
2820 - Added "buffered ahead" and "buffered behind" indicators.
2821 - https://github.com/google/shaka-player/issues/47
2822 - Converted cycle buttons into checkboxes so cycling can be stopped during
2823 playback.
2824 - https://github.com/google/shaka-player/issues/46
2825 - Test app now jumps to live when the user clicks on the time code in a live
2826 stream.
2827 - Added an example of a trick-play UI built on the Player API.
2828 - https://github.com/google/shaka-player/issues/54
2829
2830Testing:
2831 - Disabled code coverage stats in unit tests by default.
2832 - https://github.com/google/shaka-player/issues/105
2833 - Split unit tests and integration tests into separate test runners.
2834 - https://github.com/google/shaka-player/issues/104
2835 - Added a Karma config file to make automated testing easier.
2836 - Added checks for offline features to the support-testing page.
2837
2838Documentation:
2839 - Documented the fact that autoplay does not work on mobile, and why.
2840 - Documented error events and how to handle them.
2841 - https://github.com/google/shaka-player/issues/106
2842 - Documented browser support and porting.
2843 - https://github.com/google/shaka-player/issues/66
2844 - Documented Player APIs for trick play interface.
2845 - https://github.com/google/shaka-player/issues/54
2846
2847
2848## 1.3.2 (2015-07-06)
2849
2850A roll-up of recent bugfixes.
2851
2852Bugfixes:
2853 - Fixed case-sensitive scheme URI check in the test app.
2854 - Fixed support-testing page for very old browsers.
2855 - Fixed multi-lingual encrypted content.
2856 - https://github.com/google/shaka-player/issues/112
2857 - Fixed load-time exceptions in IE 9.
2858 - https://github.com/google/shaka-player/issues/87
2859 - https://github.com/google/shaka-player/pull/110
2860
2861
2862## 1.3.1 (2015-05-22)
2863
2864A roll-up of recent bugfixes and small improvements.
2865
2866Bugfixes:
2867 - Fixed some broken tests.
2868 - Fixed buffering states.
2869 - https://github.com/google/shaka-player/issues/61
2870 - Fixed fullscreen polyfill installation.
2871 - https://github.com/google/shaka-player/issues/81
2872 - Fixed handling of live content with minimumUpdatePeriod of 0.
2873 - https://github.com/google/shaka-player/pull/64
2874 - Fixed selection of live content (type=dynamic).
2875 - https://github.com/google/shaka-player/issues/69
2876 - https://github.com/google/shaka-player/issues/70
2877 - Fixed AJAX request timeouts.
2878 - https://github.com/google/shaka-player/issues/78
2879 - https://github.com/google/shaka-player/pull/79
2880 - Fixed spec compliance for polyfilled session expiration.
2881 - Fixed buffer time for offline playback.
2882 - Fixed offline API consistency.
2883 - https://github.com/google/shaka-player/issues/72
2884
2885Features:
2886 - Refactored and updated support test page.
2887 - http://shaka-player-demo.appspot.com/support.html
2888 - Simplified polyfill installation. (shaka.polyfill.installAll)
2889 - New polyfill for CustomEvent.
2890 - Small improvements to browser compatibility.
2891 - (node.childNodes, node.textContent, currentScript, CSS fixes, etc.)
2892 - Documented clock sync and CORS issues with live content.
2893 - https://github.com/google/shaka-player/issues/53
2894 - Documented JRE requirements.
2895 - Test app now accepts a URL parameter to make ChromeCast testing easier.
2896 - https://github.com/google/shaka-player/issues/56
2897 - Stopped using deprecated methods in tests and tutorials.
2898 - https://github.com/google/shaka-player/issues/73
2899 - Added progress events for storing offline content.
2900 - Documented offline APIs.
2901 - https://github.com/google/shaka-player/issues/60
2902
2903
2904## 1.3.0 (2015-04-16)
2905
2906Feature release, introducing live streaming and offline playback.
2907
2908Bugfixes:
2909 - Fixed playback and buffering of streams whose index is inaccurate.
2910 - Fixed EME spec compliance.
2911 - https://github.com/google/shaka-player/issues/45
2912 - Fixed FakeEventTarget exception handling.
2913 - Fixed aggressive dead code stripping by the compiler.
2914 - Fixed a bug in which subtitles were enabled by default without a subtitle
2915 language match.
2916
2917Features:
2918 - Added offline playback support.
2919 - https://github.com/google/shaka-player/issues/22
2920 - Added offline support for encrypted content (on platforms which support
2921 persistent licenses).
2922 - https://github.com/google/shaka-player/issues/23
2923 - Added live stream support.
2924 - https://github.com/google/shaka-player/issues/21
2925 - Added support for header-based clock synchronization.
2926 - Added support for inheriting Segment{Base,List,Template} across levels in
2927 MPDs.
2928 - Add polyfill support for fullscreen events.
2929 - Updated EME usage to the March 12 draft.
2930 - Added Player.getAdaptationEnabled().
2931 - https://github.com/google/shaka-player/pull/31
2932 - Added support for bandwidth restrictions and restrictions not based on
2933 license responses.
2934 - https://github.com/google/shaka-player/pull/36
2935 - Added support for requireJS and improved support for commonJS.
2936 - Sped up integration tests and improved test robustness.
2937 - Bandwidth estimates can now be persisted across playbacks.
2938 - Custom bandwidth estimator objects can now be injected into the Player.
2939 - Improved EME v0.1b polyfill consistency with native EME in Chrome.
2940 - Improved buffering and underflow mechanisms.
2941 - Improved error reporting if DRM info is missing.
2942 - Improved robustness in the face of HTTP 404 and 410 errors during segment
2943 fetch.
2944 - Improved documentation for Role tags and multilingual assets.
2945
2946Test app features:
2947 - Example player controls in the test app.
2948
2949Deprecated:
2950 - The following methods on Player are deprecated. They will be removed in
2951 v1.4.0:
2952 - getCurrentResolution() (replace with video.videoWidth & video.videoHeight)
2953 - getCurrentTime()/seek() (replace with video.currentTime)
2954 - getDuration() (replace with video.duration)
2955 - getMuted()/setMuted() (replace with video.muted)
2956 - getVolume()/setVolume() (replace with video.volume)
2957 - play() (replace with video.play)
2958 - pause() (replace with video.pause)
2959 - requestFullscreen() (replace with video.requestFullscreen())
2960
2961Broken compatibility:
2962 - The license postprocessor callback is no longer given a Restrictions
2963 argument. See Player.getRestrictions()/setRestrictions().
2964 - The suppressMultipleEvents flag has been dropped from DrmSchemeInfo, which
2965 changes the constructor signature. This flag interfered with key rotation.
2966
2967
2968## 1.2.3 (2015-04-07)
2969
2970A roll-up of recent bugfixes.
2971
2972Bugfixes:
2973 - Fixed consistency of setPlaybackRate(0).
2974 - Fixed support for mp4a.40.5 audio content.
2975 - Improved rewind accuracy.
2976 - Fixed decode of query parameters in content URLs.
2977 - https://github.com/google/shaka-player/pull/40
2978 - Fixed FakeEventTarget for Chrome 43+.
2979 - Removed flaky assertion in EME polyfill.
2980 - Made AbrManager less aggressive.
2981 - Fixed EME spec compatibility and encrypted playback in Chrome 43+.
2982 - https://github.com/google/shaka-player/issues/45
2983
2984Features:
2985 - Added support for module.exports.
2986 - https://github.com/google/shaka-player/pull/35
2987
2988Test app features:
2989 - Added a new 4k test asset.
2990
2991
2992## 1.2.2 (2015-03-11)
2993
2994Bugfixes:
2995 - Version 1.2.1 had multiple issues with its version numbering. These
2996 are now corrected, but npm requires unique version numbers to publish.
2997 Version 1.2.1 has been pulled from npm.
2998 - https://github.com/google/shaka-player/issues/30
2999
3000Features:
3001 - Added getAdaptationEnabled() to Player.
3002 - https://github.com/google/shaka-player/issues/29
3003
3004
3005## 1.2.1 (2015-03-10)
3006
3007A roll-up of recent bugfixes, plus a few minor additions to the test app.
3008Branched from v1.2.0.
3009
3010Bugfixes:
3011 - Try to recover from a streaming failure.
3012 - https://github.com/google/shaka-player/issues/28
3013 - Ignore spurious error events from the video tag.
3014 - Update docs WRT content restrictions and folder organization.
3015 - Fix clearkey errors in Chrome 42+.
3016 - Fix computation of the number of segments in MpdProcessor.
3017 - Only affects assets which use SegmentTemplate with a duration attribute.
3018
3019Test app features:
3020 - Rename a confusing asset.
3021 - Add a button to cycle video tracks.
3022 - Support MPD init data overrides for all DRM schemes.
3023
3024
3025## 1.2.0 (2015-02-24)
3026
3027Lots of internal refactoring and bugfixes, and a few new features.
3028
3029Bugfixes:
3030 - Buffer eviction no longer causes hangs on seek.
3031 - https://github.com/google/shaka-player/issues/15
3032 - Adaptation no longer causes hangs on looping and seeking backward.
3033 - https://github.com/google/shaka-player/issues/26
3034 - StreamStats no longer shows null for width and height before adaptation.
3035 - https://github.com/google/shaka-player/issues/16
3036 - Content with differing start times for the audio & video streams no longer
3037 exhibits A/V sync issues.
3038 - https://github.com/google/shaka-player/issues/17
3039 - DrmSchemeInfo's suppressMultipleEncryptedEvents flag is now correctly
3040 honored regardless of the timing of events.
3041 - Calculations for the $Time$ placeholder in MPD SegmentTemplates has been
3042 corrected.
3043 - The test app no longer causes mixed-content errors when served over HTTPS.
3044 - Small mistakes in URLs and asset names in the test app have been corrected.
3045 - Windows checkouts now have consistent newline style.
3046 - https://github.com/google/shaka-player/issues/12
3047 - Windows build steps documented.
3048 - https://github.com/google/shaka-player/issues/13
3049
3050Features:
3051 - The isTypeSupported polyfill has been removed and all EME APIs have been
3052 updated to the [Feb 9 2015 EME spec].
3053 - https://github.com/google/shaka-player/issues/2
3054 - Gaps and overlaps in SegmentTimeline are no longer treated as an error.
3055 Large gaps/overlaps will still generate a warning.
3056 - https://github.com/google/shaka-player/issues/24
3057 - HDCP-related failures are now translated into error events in Chrome 42+.
3058 - https://github.com/google/shaka-player/issues/14
3059 - The MPD Role tag is now supported as a way of indicating the main
3060 AdaptationSet for the purposes of language matching.
3061 - https://github.com/google/shaka-player/issues/20
3062 - More detail added to AJAX error events.
3063 - https://github.com/google/shaka-player/issues/18
3064 - The Player now dispatches buffering events.
3065 - https://github.com/google/shaka-player/issues/25
3066 - Parser support for the new v1 PSSH layout, including parsing of key IDs.
3067 - https://github.com/google/shaka-player/issues/19
3068 - The fullscreen polyfill has been updated and expanded.
3069 - DashVideoSource refactored to split DASH-independent functionality into the
3070 generic StreamVideoSource. This should simplify the implementation of new
3071 video sources for non-DASH manifest formats. (Contributions welcome.)
3072 - Automatic build numbering has been added, with version numbers appearing in
3073 the test app UI.
3074 - The library has been published on [npm] and [cdnjs].
3075 - Release version numbering follows the [semantic versioning spec].
3076
3077Broken Compatibility:
3078 - System IDs in PSSH objects are now hex strings instead of raw strings.
3079
3080[Feb 9 2015 EME spec]: https://bit.ly/EmeFeb15
3081[npm]: https://www.npmjs.com/package/shaka-player
3082[cdnjs]: https://cdnjs.com/libraries/shaka-player
3083[semantic versioning spec]: http://semver.org/
3084
3085
3086## 1.1 (2015-01-14)
3087
3088Maintenance release.
3089
3090Bugfixes:
3091 - The enabled flag for text tracks is now preserved when switching tracks.
3092 Player.enableTextTrack() is no longer required after selectTextTrack().
3093 - https://github.com/google/shaka-player/issues/1
3094 - The documentation for Player methods enableTextTrack, setPreferredLanguage,
3095 and getCurrentResolution has been corrected.
3096 - https://github.com/google/shaka-player/issues/3
3097 - https://github.com/google/shaka-player/issues/4
3098 - https://github.com/google/shaka-player/issues/6
3099 - The AbrManager class is now correctly destroyed.
3100 - https://github.com/google/shaka-player/issues/5
3101 - Clearkey support for Chrome 41+ has been fixed.
3102 - https://github.com/google/shaka-player/issues/8
3103 - A new polyfill has been added to compensate for Chrome 41+'s removal of
3104 MediaKeys.isTypeSupported.
3105 - https://github.com/google/shaka-player/issues/7
3106 - Several unused internal methods have been removed from the codebase.
3107 - Fixed a failing assertion in one of the MediaKeys polyfills.
3108 - Fixed failing code coverage analysis and related parse errors in several
3109 tests.
3110 - Fixed support for MPDs with SegmentTemplate@duration and
3111 MPD@mediaPresentationDuration, but no Period@duration attribute.
3112 - https://github.com/google/shaka-player/issues/9
3113
3114Features:
3115 - Tests are now checked for style.
3116 - Tests have been expanded to increase coverage and exercise more Player
3117 features:
3118 - playback rate
3119 - stats
3120 - language preference
3121 - license restrictions
3122 - WebM/VP9
3123 - error events
3124 - Integration tests now run much faster.
3125 - MediaKeys polyfills have received minor updates to improve compatibility
3126 with Chrome 41.
3127 - New sample assets and code in app.js to demonstrate how to use a PSSH from
3128 an MPD to override what's in the content itself.
3129
3130Broken Compatibility:
3131 - None!
3132
3133
3134## 1.0 (2014-12-19)
3135
3136First public release.
3137
3138Bugfixes:
3139 - Text tracks are no longer ignored in MPD manifests.
3140 - Adaptation decisions are now quicker and more reliable.
3141 - (This bug was more noticeable on faster internet connections.)
3142 - Playback no longer gets "stuck" on certain content.
3143 - Playback no longer gets "stuck" after certain seek patterns.
3144 - Player get/select/enable methods can now be called without a video source.
3145 - A \<video\> tag's "videoWidth"/"videoHeight" attributes now update
3146 correctly on Chrome >= 40.
3147 - Manual adaptation while paused no longer unpauses the video.
3148 - Credentials can now be used on cross-domain license requests.
3149 - Range headers are no longer sent for all segment requests.
3150 - (This fixes issues with IIS.)
3151 - A missing declaration of getVideoPlaybackQuality() has been added.
3152 - The compiled code no longer pollutes the global namespace.
3153 - DASH manifests using \<SegmentList\> are now parsed correctly.
3154 - Formatting has been fixed in the "Shaka Player Development" tutorial.
3155
3156Features:
3157 - The Player is now reusable. You can call load() multiple times without
3158 calling destroy().
3159 - The JS linter is now included in sources, fixing compatibility issues
3160 between versions.
3161 - The test suite now includes playback integration tests.
3162 - The Player has been updated to support the 01 Dec 2014 draft of the EME
3163 specification.
3164 - The loader in load.js no longer makes assumptions about app.js. You can
3165 now use load.js to bootstrap other applications.
3166 - The test app now uses less screen real estate.
3167 - All custom events have been documented, and a new tutorial has been added
3168 to demonstrate how they can be used.
3169 - The Player now has a support-check API to determine if the browser has all
3170 necessary features for playback.
3171 - Sample code in the tutorials is now marked up to highlight changes from the
3172 previous sample.
3173 - Code coverage in unit tests has been increased.
3174 - Flakiness in unit tests has been reduced.
3175 - DASH manifests using \<SegmentTemplate\> without a segment index or segment
3176 timeline are now supported.
3177 - The DASH "presentationTimeOffset" attribute is now supported.
3178
3179Broken Compatibility:
3180 - ContentProtectionCallback no longer takes a "mimeType" argument.
3181 - DrmSchemeInfo constructor no longer takes a "mimeType" argument.
3182 - DrmSchemeInfo constructor's "initData" argument is now an object with
3183 fields instead of a Uint8Array.
3184 - DrmSchemeInfo now takes a "withCredentials" argument.
3185 - lib.js has been renamed to shaka-player.compiled.js.
3186
3187
3188## 0.1b (2014-11-21)
3189
3190Private beta release.
3191