UNPKG

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