UNPKG

32.6 kBMarkdownView Raw
1# v3.4.3
2
3- Fixed issue with nodeList for custom playback controls
4
5# v3.4.2
6
7- Fix play/pause button state
8
9# v3.4.1
10
11- Bug fix for custom controls (fixes #1161)
12
13# v3.4.0
14
15- Accessibility improvements (see #905)
16- Improvements to the way the controls work on iOS
17- Demo code clean up
18- YouTube quality selection removed due to their poor support for it. As a result, the `qualityrequested` event has been removed
19- Controls spacing improvements
20- Fix for pressed property missing with custom controls (Fixes #1062)
21- Fix #1153: Captions language fallback (thanks @friday)
22- Fix for setting pressed property of undefined (Fixes #1102)
23
24# v3.3.23
25
26- Add support for YouTube's hl param (thanks @renaudleo)
27- Fix for captions positioning when no controls (thanks @friday and @mjfwebb)
28- Fix #1108: Make sure youtube.onReady doesn't run twice (thanks @friday)
29- Fix for WebKit redraw loop on the `<input type="range">` elements
30
31# v3.3.22
32
33- Travis & CI improvements (thanks @friday)
34- Add navigator.languages fallback for iOS 9 (thanks @friday)
35
36# v3.3.21
37
38- Hide currentTime and progress for streams (thanks @mimse)
39- Fixed condition check (thanks @mimse)
40- Handle undefined this.player.elements.buttons.play (thanks @klassicd)
41- Fix captions.toggle() if there is no toggle button (thanks @friday)
42
43# v3.3.20
44
45- Fix for bug where controls wouldn't show on hover over YouTube video
46
47# v3.3.19
48
49- Remove `pointer-events: none` on embed `<iframe>` to comply with YouTube ToS
50
51# 3.3.18
52
53- Ads are now only supported on HTML5 videos as it violates terms of service for YouTube and Vimeo 😢
54- Fix i18n defaults path on README (thanks @meyt!)
55- Minor increaseVolume and decreaseVolume changes (thanks @friday!)
56
57# v3.3.17
58
59- Fix YouTube muting after seeking with the progress slider (thanks @friday!)
60- Respect preload="none" when setting quality if the media hasn't been loaded some other way (thanks @friday!)
61
62# v3.3.16
63
64- Fixed regression relating the play button status (fixes #1048)
65
66# v3.3.15
67
68- Fix for error relating to play buttons when switching source
69
70# v3.3.14
71
72- Fix sprite loading regression
73
74# v3.3.13
75
76You guessed it, a load of awesome changes from contributors:
77
78Thanks @friday for the following:
79
80- Captions fixes
81- Fix poster race conditions
82- Minor code improvements for quality switching
83- Minor event changes
84- Fix condition in events.toggleListener to allow non-elements
85- Suggestion: Remove array newline rule
86- Contributions improvements
87
88- fix: html5.cancelRequest not remove source tag correctly (thanks @a60814billy)
89- remove event listeners in destroy() (thanks @cky917)
90- Fix markdown in README (thanks @azu)
91- Some parts of the accessibility improvements outlined in #905 (more on the way...)
92- Fix for bug where volume slider didn't always show
93
94# v3.3.12
95
96- Fix synthetic event bubble/proxy loses detail (thanks @friday!)
97- Make utils static (thanks @friday!)
98- Fix for YouTube and Vimeo pausing after seek (thanks @friday!)
99- Vimeo: Update playback state and assure events are triggered on load (thanks @friday!)
100- Captions rewrite (use index internally to support missing or duplicate languages) (thanks @friday and @philipgiuliani!)
101- Contributing document and codepen demo updates (thanks @friday!)
102- Fix for after clicking on the progress bar, keyboard operations will not work (thanks @cky917!)
103
104# v3.3.10
105
106- Fix for buffer display alignment and incorrect BEM classname
107- Fix for playback not resuming position after quality swap (fixes #991, thanks @philipgiuliani!)
108- Travis integration (thanks @friday!)
109- Translate quality badges and quality names (thanks @philipgiuliani!)
110- Improve captions handling for streaming (thanks @friday!)
111- Call duration update method manually if user config has duration (thanks @friday!)
112
113# v3.3.9
114
115Again, more changes from @friday!
116
117- Restore window reference in `is.cue()`
118- Fix InvalidStateError and IE11 issues
119- Respect storage being disabled for storage getter
120
121# v3.3.8
122
123Many changes here thanks to @friday:
124
125- Added missing URL polyfill
126- Pause while seeking to mimic default HTML5 behaviour
127- Add `seeked` event listener to update progress (fixes #966)
128- Trigger seeked event in youtube plugin if either playing or paused (fixes #921)
129- Fix for YouTube and Vimeo autoplays on seek (fixes #876)
130- Toggle controls improvements
131- Cleanup unused code
132- Poster image loading improvements
133- Fix for seek tooltip vs click accuracy
134
135# v3.3.7
136
137- Poster fixes (thanks @friday)
138- Grid tweak
139
140# v3.3.6
141
142- Vimeo fixes for mute state
143- Vimeo ID fix (fixes #945)
144- Use `<div>` for poster container
145- Tooltip fixes for unicode languages (fixes #943)
146
147# v3.3.5
148
149- Removed `.load()` call as it breaks HLS (see #870)
150
151# v3.3.4
152
153- Fix for controls sometimes not showing while video is playing
154- Fixed logic for show home tab on option select
155
156# v3.3.3
157
158- Reverted change to show home tab on option select due to usability regression
159
160# v3.3.2
161
162- Fix for ads running in audio
163- Fix for setting poster on source change
164
165## v3.3.0
166
167- Now using a custom poster image element to hide the YouTube play button and give more control over when the poster image shows
168- Renamed `showPosterOnEnd` to `resetOnEnd` as it makes more sense and now works for all players and does not reload media
169- Fix for same domain SVG URLs (raised by Jochem in Slack)
170- [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/Window/URL) is polyfill now required
171- Added pause className (fixes #941)
172- Button height set in CSS (auto) (fixes #928)
173- Don't autoplay cloned original media (fixes #936)
174- Return to the home menu pane after selecting an option
175
176## v3.2.4
177
178- Fix issue wher player never reports as ready if controls is empty array
179- Fix issue where screen reader labels were removed from time displays
180- Fix issue where custom controls placeholders were not populated
181- Custom controls HTML example updated
182- Fix for aria-label being set to the initial state on toggle buttons, overriding the inner labels
183- Fix for hidden mute button on iOS (not functional for Vimeo due to API limitations) (fixes #656)
184
185## v3.2.3
186
187- Fix for iOS 9 throwing error for `name` property in fullscreen API (fixes #908)
188
189## v3.2.2
190
191- Fix for regression in 3.2.1 resulting in hidden buffer display (fixes #920)
192- Cleaned up incorrect use of `aria-hidden` attribute
193
194## v3.2.1
195
196- Accessibility improvements for the controls (part of #905 fixes)
197- Fix for context menu showing on YouTube (thanks Anthony Recenello in Slack)
198- Vimeo fix for their API not returning the right duration until playback begins (fixes #891)
199
200## v3.2.0
201
202- Fullscreen fixes (thanks @friday)
203- Menu fix for if speed not in config
204- Menu z-index fix (thanks @danielsarin)
205- i18n fix for missing "Normal" string (thanks @danielsarin)
206- Safer check for active caption (thanks @Antonio-Laguna)
207- Add custom property fallback (thanks @friday)
208- Fixed bug for captions with no srclang and labels and improved logic (fixes #875)
209- Fix for `playing` false positive (fixes #898)
210- Fix for IE issue with navigator.language (thanks @nicolasthy) (fixes #893)
211- Fix for Vimeo controls missing on iOS (thanks @verde-io) (fixes #807)
212- Fix for double vimeo caption rendering (fixes #877)
213
214## v3.1.0
215
216- Styling fixes
217
218## v3.1.0-beta.2
219
220- YouTube playback speed fixes
221
222## v3.1.0-beta.1
223
224- HTML5 quality selection
225- Improvements to the YouTube quality selection
226
227## v3.0.11
228
229- Muted and autoplay fixes
230- Small bug fixes from Sentry logs
231
232## v3.0.10
233
234- Docs fix
235- Package upgrades
236
237## v3.0.9
238
239- Demo fix
240- Fix Vimeo regression
241
242## v3.0.8
243
244- Vimeo hotfix for private videos
245
246## v3.0.7
247
248- Fix for keyboard shortcut error with fast forward
249- Fix for Vimeo trying to set playback rate when not allowed
250
251## v3.0.6
252
253- Improved the logic for the custom handlers preventing default handlers
254
255## v3.0.5
256
257- Removed console messages
258
259## v3.0.4
260
261- Fixes for fullscreen not working inside iframes
262- Fixes for custom handlers being able to prevent default
263- Fixes for controls not hiding/showing correctly on Mobile Safari
264
265## v3.0.3
266
267- Vimeo offset tweak (fixes #826)
268- Fix for .stop() method (fixes #819)
269- Check for array for speed options (fixes #817)
270- Restore as float (fixes #828)
271- Fix for Firefox fullscreen oddness (Fixes #821)
272- Improve Sprite checking (fixes #827)
273- Fix fast-forward control (thanks @saadshahd)
274- Fix the options link in the readme (thanks @DanielRuf)
275
276## v3.0.2
277
278- Fix for Safari not firing error events when trying to load blocked scripts
279
280## v3.0.1
281
282- Fix for trying to accessing local storage when it's blocked
283
284# v3.0.0
285
286This is a massive release. A _mostly_ complete rewrite in ES6. What started out as a few changes quickly snowballed. There's many breaking changes so be careful upgrading.
287
288### Big changes
289
290- New settings menu complete with funky animations
291- Ability to adjust speed of playback
292- Ability to toggle caption language (HTML5 and Vimeo only)
293- Ability to set YouTube quality (HTML5 will follow)
294- Added support for Vimeo captions
295- Added Picture-in-Picture support (Safari only)
296- Added AirPlay support (again, Safari only)
297- Added `playsinline` support for iOS 10+
298- Soundcloud removed until I can work on a plugin framework
299- Embedded players are now progressively enhanced - no more empty `<div>`s!
300
301### Other stuff
302
303- Now using SASS exclusively. Sorry, LESS folk it just made sense to maintain one method as SASS is what the cool kids use. It may come back if we work out an automated way to convert the SASS
304- Moved to ES6. All the rage these days. You'll need to look at polyfills. The demo uses [polyfill.io](https://polyfill.io)
305- Added basic looping support
306- Added an aspect ratio option for those that can't leave the 90s and want 4:3
307- `controlshidden` and `controlsshown` events added for when the controls show or hide
308- `qualityrequested` and `qualitychange` events for YouTube quality control (HTML5 will follow)
309- Volume is now `0` to `1` as per HTML5 spec
310- No longer bodging a `<progress>` behind the `<input type="range">` to make up for WebKit's lack of lower fill styling
311- Captions now render with line breaks as intended
312- Captions now render without AJAX using the native events etc
313- Added a fallback for getting YouTube video data incase `.getVideoData()` disappears when one of their developers randomly deletes it again
314- Setup and building of the UI should be way "snappier"
315- Click to toggle inverted time (e.g. 0:01 or -2:59 for a 3 minute video at 1 seconds) - new `toggleInvert` and `invertTime` options
316- Added `autopause` option for Vimeo
317- Added `muted` option for you guessed it, muted playback
318- Restored the `.off()` API method
319- `.play()` will now return a promise to prevent that pesky uncaught promise issue in Chrome etc
320- Pressing and hold the seek bar no longer freezes all other updates of the UI
321
322...plus loads of bug fixes.
323
324### Breaking changes
325
326You gotta break eggs to make an omelette. Sadly, there's quite a few breaking changes:
327
328- Setup now uses proper constructor, accepts a single selector/element/node and returns a single instance - much simpler than before
329- Much of the API is now using getters and setters rather than methods (where it makes sense) to match the HTML5 API - see the docs for more info
330- The data attributes for the embeds are now `data-plyr-provider` and `data-plyr-embed-id` to prevent compatibility issues. These can be changed under `config.attributes.embed` if required
331- `blankUrl` -> `blankVideo`
332- `volume` is now `0` to `1` as per HTML5 spec
333- `keyboardShorcuts` (typo) is now just `keyboard`
334- `loop` is now `loop.active` in preparation for loop enhancements later
335- `html` option for custom controls removed in favour of the `controls` option which now accepts an array (to use built in controls) or a string of HTML for custom controls.
336- `classes` -> `classNames`
337- `classes.videoWrapper` -> `classNames.video`
338- `classes.embedWrapper` -> `classNames.embed`
339- `classes.ready` removed
340- `classes.setup` removed
341- `classes.muted` removed
342- `classes.fullscreen.active` removed in favour of the `:fullscreen` selector
343- `selectors.html5` removed
344- `selectors.embed` removed
345- `selectors.buttons.seek` -> `selectors.inputs.seek`
346- `selectors.volume.input` -> `selectors.inputs.volume`
347- `selectors.volume.display` -> `selectors.display.volume`
348- `selectors.currentTime` -> `selectors.display.currentTime`
349- `selectors.duration` -> `selectors.display.duration`
350
351### Polyfilling
352
353Because we're using the fancy new ES6 syntax, you will need to polyfill for vintage browsers if you want to use Plyr and still support them. Luckily there's a decent service for this that makes it painless, [polyfill.io](https://polyfill.io). Alternatively, you can use the prebuilt polyfilled build but bear in mind this is 20kb larger. I'd suggest working our your own polyfill strategy.
354
355## v2.0.18
356
357- Fix for YouTube .getVideoData() issue (fixes #709)
358
359## v2.0.17
360
361- Vimeo controls fix (fixes #697)
362- SVG4everybody compatibility fix
363- Allow Plyr.setup event listeners to be set up as separate event listeners (https://github.com/sampotts/plyr/pull/703)
364- Added title to the layer html template (for custom controls) (https://github.com/sampotts/plyr/pull/649)
365- Target is null bug fix (https://github.com/sampotts/plyr/pull/617)
366- fix #684 memory leaks issues after destroy (https://github.com/sampotts/plyr/pull/700)
367
368## v2.0.16
369
370- Fullscreen bug fix (fixes #664)
371
372## v2.0.15
373
374- Demo fix
375
376## v2.0.14
377
378- CDN URL updates. Sorry, still working on V3 as hard as I can...
379
380## v2.0.13
381
382- Repo moved and Vimeo demo fix
383
384## v2.0.12
385
386- Ability to set custom `blankUrl` for source changes (https://github.com/sampotts/plyr/pull/504)
387- Ability to set caption button listener (https://github.com/sampotts/plyr/pull/468)
388
389## v2.0.11
390
391- Fix for `cleanUp` being called twice (thanks to @sebastiancarlsson)
392- Fix for YouTube controls on iPad (fixes #391)
393
394## v2.0.10
395
396- Added seek event fixes for Vimeo and YouTube (fixes #409)
397- Added support for embed URLs rather than ID only (fixes #345)
398
399## v2.0.9
400
401- Temporary patch for the YouTube API issues with `getDuration()` (relates to #374)
402
403## v2.0.8
404
405- Added `isPaused()` API method (thanks to @darrena092)
406- Allowed `.on()` API method to be chainable (thanks to @gurupras) (fixes #357)
407- Improved the "awful" rendering of captions on small screens in fullscreen mode (fixes #390)
408- Fix for Firefox VTT compatibility (thanks to @magourex)
409- Fix for Firefox Developer Edition blank video due to `-webkit-mask-image` issue (fixes #392)
410- Added Issue and PR templates with the aim of reducing duplicate or duff issues
411
412## v2.0.7
413
414- Fixed `getCurrentTime()` method (fixes #351)
415- Added `getVolume()` , `isMuted()` and `getDuration()` API methods (fixes #346)
416
417## v2.0.6
418
419- Fixed merge issue with `Updated define to work with AMD imports #326` PR
420- Code formatting
421
422## v2.0.5
423
424- Fix for Vimeo in IE9 & IE10
425- Fix for HTML5 elements not firing `ready` event
426
427## v2.0.4
428
429- Fix for Firefox full screen (fixes #343)
430
431## v2.0.3
432
433- Set 'global' keyboard shortcut option to false as default, added `<textarea>` to editable elements to be ignored
434
435## v2.0.2
436
437- Added 'global' keyboard shortcut option
438
439## v2.0.1
440
441- Version bump for NPM (sorry for folks who upgraded to the now deleted v1.9.0 through NPM)
442
443# v2.0.0
444
445This version contains several potential **_breaking changes_**:
446
447- `setup()` has been reverted to pre v1.8.0 behaviour; meaning it will return the _instance_ rather than the _element_. This is because the reference to the instance is no longer added to the original element (see below).
448- The reference to the `plyr` instance is now added to the media element rather than original container. This is because if a container with multiple children was passed to `setup()` the references to all instances would have been added to the container, creating issues. I would recommend using the return value from `setup()` or the new `get()` method to access the instance.
449- Players will always be wrapped in their own div now - this makes `setup()` and `destroy()` cleaner. This _may_ break any custom styling based on DOM position.
450- Players no longer seek to 0 on 'ended' - this is to fix a bug with Microsoft Edge as it triggers 'ended' on media change for whatever reason. They'll never change ;-)
451
452And some other changes and bug fixes:
453
454- New `get()` method on the global plyr object to get all instances inside a container
455- New API methods: - `getOriginal()` to get the original, _unmodified_ element plyr was setup on (`<video>`, `<audio>` or empty `<div>` for YouTube and Vimeo) - `getContainer()` to get the players outer wrapper element - `getMedia()` to get the players media element (`<video>`, `<audio>` or empty `<div>` for YouTube and Vimeo) - `getEmbed()` to access the YouTube or Vimeo API directly - `getType()` to get the type of the player - `isReady()` to determine if an instance has completed setup and necessary APIs are loaded (for YouTube / Vimeo) - `on()` to provide an easy way to listen to events - `stop()` to, you guessed it, stop the player
456- `destroy()` now works correctly for YouTube and Vimeo (fixes #272)
457- New `destroyed` event when `destroy()` has completed (original element is passed as event.target)
458- Default volume is now 10 (max) rather than 5
459- Sprite is only loaded once (fixes #259)
460- Fixes for Vimeo post message bugs on source change or destroy (fixes #318)
461- Save caption state in storage (fixes #311)
462- Added keyboard shortcuts to the current focused player (with `keyboardShortcuts` boolean option to disable) (fixes #309)
463- Fix for captions bug (fixes #332)
464- Change to AMD (fixes #298)
465
466## v1.8.12
467
468- Vimeo keyboard focus fix (Fixes #317)
469- Fix for Vimeo on basic support devices
470
471## v1.8.11
472
473- Fix for keyboard navigation on Vimeo (Fixes #317)
474- Fix for bug introduced in v1.8.9 related to additional controls
475- Vimeo API upgrade
476- Fix for YouTube bug introduced in v1.8.9
477- Added support for passing array to .setup() (Fixes #319)
478
479## v1.8.10
480
481- Fix for seek issues introduced in v1.8.9
482
483## v1.8.9
484
485- Fix for fullscreen not being defined (Fixes #295)
486- Fix for multiline captions (Fixes #314)
487- Clean up of type checks and fix for `restart()` (Fixes #315)
488- Fix for `MEDIA_ERR_SRC_NOT_SUPPORTED` when calling `.source()` API method
489
490## v1.8.8
491
492- Added getCurrentTime API method (fixes #292)
493- Fix for !hideControls on touch devices (fixes #303)
494
495## v1.8.7
496
497- Line height fix
498
499## v1.8.6
500
501- Reverted font size change
502
503## v1.8.5
504
505- Fixed overflow issues (fixes #286)
506
507## v1.8.4
508
509- Fix for large play button on small videos
510
511## v1.8.3
512
513- Disabled iPad support for YouTube and Vimeo due to iOS limitations with iFrame playback
514- Fixed IE11 icon loading (fixes #269)
515- Updated screenshot (fixes #281)
516- Added WordPress plugin (fixes #239)
517- Added Neos plugin
518- Added HLS, Shaka and dash.js examples (see #235 for more)
519- Improvements for controls hiding and showing on touch devices
520
521## v1.8.2
522
523- Fixed event bubbling
524
525## v1.8.1
526
527- Fixed inaccurate log message
528
529# v1.8.0
530
531- **_(Important)_** `setup()` now returns the element Plyr was setup on rather than the `plyr` object. This means `var player = plyr.setup()[0];` would now be `var player = plyr.setup()[0].plyr;`. This improves support for React and other virtual dom frameworks as mentioned in #254
532- Fixed using a relative URL for `iconUrl` in IE (fixes #269)
533
534# v1.7.0
535
536- SASS cleanup (fixes #265)
537- Docs tidy up to help quick start (fixes #253)
538- Fix for issues with data attribute options passing (fixes #257)
539- **_(Important)_** Removed the requirement for a wrapper div to setup Plyr and removed the dependency on the `plyr` classname as a JS hook. By default it will now look for `<video>`, `<audio>` and `[data-type]` elements. If you are just calling `setup()` with a `<div class="plyr">` you may want to give it a good test after upgrading. You can probably remove the wrapper div. The reason behind this is to make setup easier for newcomers and prevent the styling being used on unsupported players (because the plyr classname was used as a CSS and JS hook - which isn't ideal)
540- Renamed the 'docs' folder to `demo` to avoid confusion - the readme is the docs after all
541
542## v1.6.20
543
544- Fix for multiple sprites being requested (fixes #259)
545
546## v1.6.19
547
548- Fix for scroll direction issues on volume control (fixes #258)
549
550## v1.6.18
551
552- Reduced rounding of seek value from 1 decimal point to 4 (fixes #242)
553
554## v1.6.17
555
556- Added `disableContextMenu` option to hide the right click context menu (fixes #248 and #225)
557
558## v1.6.16
559
560- Always hide standard controls (fixes #225)
561- Fix for Tooltips overflowing (fixes #230)
562
563## v1.6.15
564
565- Restore scroll position when exiting full screen (fixes #236)
566
567## v1.6.14
568
569- SVG sprite loading automatically for an easier setup
570- Touch devices now show controls on touch rather than pausing playback
571
572## v1.6.13
573
574- Decreased sensitivity and inverted scroll on volume slider (scroll up to increase, down to decrease)
575
576## v1.6.12
577
578- Fix for undefined buffer error
579- Add scroll listener on volume slider (PR #227 bty @igoradamenko)
580
581## v1.6.11
582
583- Fix for Vimeo fullscreen (fixes #214)
584
585## v1.6.10
586
587- Changed default icon prefix from 'icon' to 'plyr' to avoid clashes
588
589## v1.6.9
590
591- Added 'latest' CDN option
592- Renamed `sprite.svg` to `plyr.svg` to be inline with the other package files
593
594## v1.6.8
595
596- Fix for bug introduced in v1.6.7
597
598## v1.6.7
599
600- Fixes for using `source` API method on iOS
601
602## v1.6.6
603
604- Icons cleaned up
605- IE11 button fix for tooltips (fixes #210)
606
607## v1.6.5
608
609- IE UI bug fixes
610
611## v1.6.4
612
613- Bug fix for undefined progress bar
614
615## v1.6.3
616
617- Seek back to 0 for all media on ended
618- Check for HTML5 video on ended reload
619- Update to docs for `showPosterOnEnd` option
620
621## v1.6.2
622
623- Fix for tooltip displaying when duration is not set (fixes #177)
624- `showPosterOnEnd` option to show poster when HTML5 video ended (fixes #59)
625- Error handler for YouTube (fixes #189)
626- Initial SoundCloud support (fixes #194)
627- Other minor bug fixes
628
629## v1.6.1
630
631- Tooltip changes for accessibility
632
633## v1.6.0
634
635- New, cleaner, UI: - Controls are now overlaid, maintaining the video's ratio and making sizing easier - A large play button can now be overlaid over videos - Default number of control buttons reduced - New play, pause, rewind and fast forward icons - Flexbox all the things!
636- Tidied up the LESS (and SCSS) as part of the above, variables and mixins in seprate files amking customization and upgrades easier
637- Toggle mute bug fix; if a player was muted previously and the user refreshed, unmuting would have meant volume was still zero (effectively muted), now the config default value is used. Not ideal but good for now
638- New `iconUrl` option allowing specifying a same origin SVG sprite location. Loading this way means you don't need the AJAX sprite loading JavaScript
639- `click` option renamed to `clickToPlay` to make it a bit more self explanatory. Unfortunately cross origin SVG sprites is not supported in any browser yet :-(
640- `hideControls` is now a global option, rather than being exclusive to fullscreen. Controls are now hidden after 2 seconds of no mouse movement. Controls are always shown when media is paused or stopped. This is defaulted to true.
641- `sass` folder in `src` renamed from to `scss`
642
643## v1.5.21
644
645- Bug fix for embeds: `play` not being defined (fixes #185 and #186)
646
647## v1.5.20
648
649- Bug fix for autoplay option
650
651## v1.5.19
652
653- Fix for accessing `embed` property after `ready` event fired
654
655## v1.5.18
656
657- Added 'ready' event for initial setup complete or source change occurs
658- Fixed SASS stylesheet references to transparentize
659- Added default font stack to controls
660- Docs fixes inc controls HTML (fixes #180)
661
662## v1.5.17
663
664- Expose YouTube and Vimeo API (docs update required) (fixes #176)
665- Auto set title based on YouTube getVideoData() title property
666- Bug fix for Vimeo API change (Uncaught TypeError: Cannot read property 'value' of undefined) due to a change their end
667
668## v1.5.16
669
670- Cancel requests on source change (fixes #174)
671
672## v1.5.15
673
674- Fix for CustomEvent polyfill and related bug (see #172)
675
676## v1.5.14
677
678- Volume storage fix (fixes #171)
679
680## v1.5.13
681
682- Fix for manual caption rendering
683
684## v1.5.12
685
686- Added a duration option to pass the duration of the file
687- Added the ability to set options per element by setting a data-plyr attribute on the target elements (this might be useful for the duration option for example)
688- Fixes for Chrome and Safari caption rendering, they now use the default texttrack and cuechange events
689- Firefox bug fix for event not defined
690
691## v1.5.11
692
693- iOS embed bug fixes (fixes #166)
694- Hide IE/Edge <input type='range'> tooltip (since we have a styled one) (fixes #160)
695- SASS bug fix for default values (fixes #158)
696
697## v1.5.9 + v1.5.10
698
699- NPM bug fixes
700
701## v1.5.8
702
703- Fix for touch device seek tooltip
704- Seek improvements
705
706## v1.5.7
707
708- Fix for control tooltips always showing
709
710## v1.5.6
711
712- Seek tooltip (option for tooltips changed, please check docs)
713- SASS compile error fixes (fixes #148)
714- Fullscreen fixes for controls not always hiding/showing (fixes #149)
715- Screen reader icon fixes (title was being read twice due to the tooltip/hidden label)
716
717## v1.5.5
718
719- Fixed controls.md example
720- Bug fix for docs error page
721- Bug fix for controls tooltips
722
723## v1.5.4
724
725- Minor bug fix for clicking video to play/pause after source change
726
727## v1.5.3
728
729- Minor bug fix for occasional display of 0:00 as the media duration
730
731## v1.5.2
732
733- `handlers` option renamed to `listeners`
734- Added event listeners for all types to the plyr container (playback, fullscreen, captions etc - see docs)
735- Removed onSetup config option (use the 'setup' event instead, plyr element is event.plyr)
736- Style bug fixes
737- Vimeo seek bug fix (requires whole seconds when seeking)
738- Fix for fullscreen player (using class hook, not browser fullscreen)
739
740## v1.5.1
741
742- Fix for event listeners being duplicated on source change
743
744# v1.5.0
745
746- Vimeo support (fixes #8)
747- New options for initialization (you can now pass a selector, HTMLElement or NodeList) (fixes #118)
748- Switched to BEM methodology (you will need to change CSS and probably HTML)
749- Decoupled CSS and JS hooks (fixes #129)
750- Custom controls container (fixes #98)
751- Fix for private/incognito mode local storage bug (fixes #131)
752- UMD module setup (fixes #121)
753- Specify iframe title for Vimeo and YouTube (fixes #124)
754- Better handling of mission controls (fixes #132)
755- Retain classname on source change (fixes #120)
756- Increased thumb size on seek (partially fixes #130)
757- Passing no argument to `source` api method, now returns current source (by @gurupras)
758- Ability to add custom handlers to controls prior to Plyr bindings (by @gurupras)
759- Keyboard navigation improvements (focus on seek, focus trap in fullscreen) (fixes #135)
760
761## v1.3.5
762
763- Fixed bug with API use on basic supported browsers
764
765## v1.3.4
766
767- Code cleanup by @calvintam236
768
769## v1.3.3
770
771- Removed captions being read by screen readers
772
773## v1.3.2
774
775- Voiceover fix for captions
776
777## v1.3.1
778
779- ARIA improvements for captions being read
780
781## v1.3.0
782
783- Internationalization support (i18n) using default controls (required markup changes to controls)
784- ARIA enhancements for controls (required markup changes to controls)
785- Captions legibility improvements
786- YouTube bug fixes
787
788## v1.2.6
789
790- SASS updates and fixes (cheers @ChristianPV)
791
792## v1.2.5
793
794- Fix for YouTube quality (let them decide quality)
795
796## v1.2.4
797
798- Fix for omitted kind attribute on <track> (fixes #88)
799
800## v1.2.3
801
802- Fix for YouTube on iPhone or unsupported browsers (fallback to YouTube native)
803- Docs tidy up
804- Fullscreen for Safari fix (fixes #96)
805
806## v1.2.2
807
808- Fix for :focus keyboard vs mouse (fixes #61)
809- Fix for caption positioning in full screen (fixes #92)
810
811## v1.2.1
812
813- Tooltip bug fix
814
815# v1.2.0
816
817- Added YouTube support
818
819## v1.1.13
820
821- Added icon prefix option for when using default controls
822
823## v1.1.13
824
825- Logic tweaks for hiding controls in fullscreen
826
827## v1.1.12
828
829- Bug fix for Chrome Canary
830
831## v1.1.11
832
833- Bug fix
834
835## v1.1.10
836
837- Bug fix
838
839## v1.1.9
840
841- Bug fix for 1.1.8
842
843## v1.1.8
844
845- setVolume API method improvements (fixes #83)
846
847## v1.1.7
848
849- Restore classname on destroy()
850
851## v1.1.6
852
853- New API methods (fixes #77), Fix for non strict mode (fixes #78)
854
855## v1.1.5
856
857- Fix for incorrect `isFullscreen()` return value in Mozilla (fixes #38)
858
859## v1.1.4
860
861- Minor bug fixes
862
863## v1.1.3
864
865- Fixes for random id used in controls with multiple instances and one call to setup
866- Audio player UI improvements
867
868## v1.1.2
869
870- Added an onSetup callback option
871- Added fullscreen API methods `toggleFullscreen()` (must be user iniated), and `isFullscreen()`
872
873## v1.1.1
874
875- Fix for unsupported browser handling
876- Fix for config.controls having no effect
877
878## v1.1.0
879
880- Added config option to set which controls are shown (if using the default controls html) and better handling of missing controls
881
882## v1.0.31
883
884- Display duration on `metadataloaded`
885
886## v1.0.30
887
888- Fixed bug with media longer than 60 minutes (fixes #69)
889
890## v1.0.29
891
892- Added option to hide controls on fullscreen (default `true`) while palying, after 1s. Pause, mouse hover on progress, or focus on a child control re-shows the controls. On touch a tap of the video (which plays/pauses the video by default) is required. (fixes #47)
893- Fixed a bug with caption toggle in 1.0.28
894
895## v1.0.28
896
897- Added API support for browsers that don't have full plyr support (pretty much <=IE9 and `<video>` on iPhone/iPod)
898
899## v1.0.27
900
901- Keyboard accessibility improvements (fixes #66)
902
903## v1.0.26
904
905- Fixes for SASS (cheers @brunowego)
906- Indentation reset to 4 spaces
907
908## v1.0.25
909
910- Fixes for iOS volume controls (hidden)
911- Classnames for left/right controls changed
912
913## v1.0.24
914
915- Added tooltip option to display labels as tooltips (fixes #50)
916
917## v1.0.23
918
919- Handling loading states in the UI (fixes #36)
920
921## v1.0.22
922
923- Added support() API method for checking mimetype support
924- Added source() API method for setting media source(s) (fixes #44)
925- Added poster() API method for setting poster source
926- Refactored captions logic for manual captions
927
928## v1.0.21
929
930- Added an <input type="range"> for seeking to improve experience (and support dragging) (fixes #40, #42)
931- Icons for restart and captions improved (and some IDs changed) (fixes #49)
932
933## v1.0.20
934
935- Default controls included (Fixes #45)
936- Volume changes on `input` as well as `change` (fixes #43)
937- Fix for undefined Play text
938- License changed to MIT
939
940## v1.0.19
941
942- Fixed firefox fullscreen issue (fixes #38)
943
944## v1.0.18
945
946- Added CDN references
947
948## v1.0.17
949
950- SASS support added (thanks to @brunowego)
951- Docs completely separated to avoid any confusion
952- New gulp tasks (will add more documentation for this)
953
954## v1.0.16
955
956- Aria label is now dynamic
957
958## v1.0.15
959
960- Fix for seek time display in controls
961- More documentation for controls html
962
963## v1.0.14
964
965- Minor change for bootstrap compatibility
966
967## v1.0.13
968
969- Minor tweaks
970
971## v1.0.12
972
973- Handle native events (issue #34)
974
975## v1.0.11
976
977- Bug fixes for fullscreen mode
978
979## v1.0.10
980
981- Bower includes src files now
982- Folder re-arrangement
983
984## v1.0.9
985
986- Added buffer progress bar
987- Fixed Safari 8 caption track (it needs to be removed from the DOM like in Safari 7)
988- Added validation (it works or it doesn't basically) of the `html` option passed
989
990## v1.0.8
991
992- Bug fix
993
994## v1.0.7
995
996- Storing user selected volume in local storage
997
998## v1.0.6
999
1000- Fullscreen fallback for older browsers to use "full window"
1001
1002## v1.0.5
1003
1004- More minor bug fixes and improvements
1005
1006## v1.0.4
1007
1008- Fixed caption legibility issues
1009
1010## v1.0.3
1011
1012- Minor bug fixes
1013
1014## v1.0.2
1015
1016- Added OGG to <audio> example for Firefox
1017- Fixed IE11 fullscreen issues
1018
1019## v1.0.1
1020
1021- Bug fixes for IE (as per usual)
1022- Added CSS hooks for media type
1023- Return instances of Plyr to the element
1024
1025## v1.0.0
1026
1027- Initial release