Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

vidstack

vidstack59.9kMIT0.6.15TypeScript support: included

Build awesome media experiences on the web.

accessible, audio, customizable, dailymotion, elements, extensible, file, framework-agnostic, hls, html5, media, plyr, player, spec-compliant, universal, vds, video, vidstack, vime, vimeo, web-component, universal, youtube

readme

Vidstack Player

package-badge react-package-badge discord-badge

Build and ship a production-ready video or audio player! Robust, customizable, and accessible. The successor to Plyr 3.x and Vime 5.x.

Quickstart

Our library works with any of the JavaScript frameworks listed below. You can decide to build your own player layout using our components, or you can take advantage of our pre-built layouts to get up and running quickly! See any of the following links to get started.

Installation:

Resources:

Documentation

If you'd like to learn more about Vidstack Player, you can find our documentation on our website:

Player Documentation

Community

If you need help with anything related to Vidstack, or if you'd like to casually chit-chat with other members:

Thanks ❤️

A special thanks to the following organizations who are kindly supporting Vidstack with sponsored accounts:

changelog

Changelog

All notable changes to this project will be documented in this file.

1.12.12-next (2024-10-24)

🐛 Bug Fixes

Player

  • remove top-level usage of chrome framework API (#1480) (c0173b0)

1.12.11-next (2024-09-20)

🐛 Bug Fixes

Player

  • set intrinsic thumbnail aspect ratio correctly (7923070)

1.12.10-next (2024-09-15)

🐛 Bug Fixes

Player

  • live stream improvements (3e9867c)
  • slider should not respond to key events when disabled (67e8169)
  • slider chapters calc might receive undefined cue (5af7cb9)
  • default to intrinsic aspect ratio for thumbnails (921734f)
  • add audio/m4a mime type (#1412) (e129a9e)
  • plyr layout not registering radio element (ce20ffc)
  • save playback state correctly on source quality change (35b89fb)
  • store pending load script requests (4734549)
  • correctly append search params to download url (39774ab)

Player (React)

  • include all events in react export (0475518)

1.12.9-next (2024-08-14)

🐛 Bug Fixes

Player

  • transform decorators before esbuild (4af47b8)
  • unexpected token { in ios<17 (5ac2894)
  • youtube does not play on first request (6677c57)

1.12.8-next (2024-08-12)

🐛 Bug Fixes

Player

  • title occasionally not set (98506a2)

1.12.7-next (2024-08-12)

🐛 Bug Fixes

Player

  • submenus not showing (4b23c60)
  • pause without sound any invalid youtube plays (12d2463)

1.12.6-next (2024-08-12)

🏎️ Performance

Player

  • only auto-update placement of floating panels when showing (5fd9db2)

🐛 Bug Fixes

Player

  • add audio/m4a mime type (6801a84)
  • audio boost not working (0917752)
  • clipping broken (95a3dad)
  • pause youtube on frame on invalid internal play (b72448d)

1.12.5-next (2024-08-08)

⏪ Revert

Player

🐛 Bug Fixes

Player

  • custom decorator parser (ff64e78)

1.12.4-next (2024-08-08)

🐛 Bug Fixes

Player

  • replace sucrase with esbuild (3a12e45)

1.12.3-next (2024-08-07)

🐛 Bug Fixes

Player

1.12.2-next (2024-08-07)

🐛 Bug Fixes

Player

  • media session incorrectly seeks backward (c7cf7c8)
  • migrate back to rollup (5b757bf)

1.12.1-next (2024-08-06)

🐛 Bug Fixes

Player

  • inject cjs shims into plugins bundle (472c030)
  • mark side effect chunks created by esbuild (fd271de)

1.12.0-next (2024-08-05)

🏎️ Performance

Player

  • use private class fields and methods (e1f8bd5)
  • use events controller (c831df8)

🐛 Bug Fixes

Player

  • do not use absolute chunk urls for legacy cdn files (600a9a9)
  • prevent focus scrolling default audio layout on play (0f147c6)
  • audio mime type audio/mp3 (73253ce)
  • volume setter prop not updating media state (cefeafc)
  • clip start on youtube video hides poster (b1cb41e)
  • do not show controls on end when looping (5c9309d)
  • do not bound seeking to start (a00a54c)
  • allow tracks to be passed directly to plyr constructor (0f26dfa)

Player (React)

  • server render media sources (1efe43d)
  • support nextjs image in poster component (6847417)
  • empty string error on thumbnail image (4fe90f3)

1.11.30-next (2024-07-20)

✨ Features

Player

  • vimeo fullscreen support on iphone (a56eb3c)

🐛 Bug Fixes

Player

  • submenu not opening when inside dialog in shadow dom (12c5c3f)
  • vimeo video freezes on loop when out of viewport (3de2980)
  • better youtube command promise handling (4d02919)

1.11.29-next (2024-07-12)

🐛 Bug Fixes

Player

  • hide poster when not defined (a6b1453)
  • remove console log (#1346) (288c8ae)

1.11.28-next (2024-07-11)

🐛 Bug Fixes

Player

  • thumbnail loader race condition (cebfe8f)
  • time updates stop when page is hidden (bf59ba5)

Player (CDN)

  • static blocks throwing on iOS 15 (537fc45)

1.11.27-next (2024-07-10)

🐛 Bug Fixes

Player

  • time stutter on safari (8857154)
  • bundle plugin incorrectly imports plyr layout (fa91c21)
  • improve played tracking across providers (513db34)
  • toggle button non-passive event listener (a2a3ce3)

1.11.26-next (2024-07-09)

✨ Features

Player

  • new changeDuration on remote control (71d4594)
  • new changeClipStart and changeClipEnd on remote control (52ae3db)

🐛 Bug Fixes

Player

  • auto find and use <dialog> as layout menu container (9dac0ba)
  • fire error event when source fails to load (1baf446)
  • youtube autoplay prevents interaction on fail (6b3457d)

1.11.25-next (2024-07-04)

🐛 Bug Fixes

Player

  • update maverick to 0.42.0 (60ba0b9)
  • prevent blocking native embed controls (6da5bfc)
  • add audio/mp3 to audio types (a0a4470)
  • remove poster img src when empty (#1328) (b8a53b2)
  • remove hls network error retries (#1318) (177c30e)

Player (React)

1.11.24-next (2024-06-20)

🐛 Bug Fixes

Player

  • ignore key shortcut if invalid modifier pressed (9608ad3)

Player (React)

  • captions component throws when switching view types (471f314)

1.11.23-next (2024-06-19)

✨ Features

Player

  • new menuContainer default layout prop (0efc998)

🐛 Bug Fixes

Player

  • detect flac audio ext (5359e80)
  • announcer setting state after component is destroyed (#1303) (0edf188)
  • improve unlisted vimeo video handling (#1315) (5d5ae75)
  • default chapter radio padding broken (7e9a624)
  • delegate called on undefined error on provider destroy (f968659)
  • maintain provided source order (f583604)

Player (React)

  • audio layout end time slot not working (a896970)
  • support exactOptionalPropertyTypes (25d0831)

1.11.22-next (2024-06-07)

🐛 Bug Fixes

Player

  • typeerror format not func (a8be90b)
  • css reset breaking some menu styles (6306b13)
  • font settings should apply on load (223bef3)
  • autoplay breaks on safari (b194d06)
  • default load play button has incorrect color (e0ebc2d)
  • default live button at edge not red (4b0e109)
  • keyboard display should not show empty icons (008141d)
  • video border radius cssvar should apply to controls (bb19e05)

Player (React)

  • incorrect class on default playback menu (28c7598)

1.11.21-next (2024-04-29)

🐛 Bug Fixes

Player

  • media session check throwing during ssr (963bb8c)

1.11.20-next (2024-04-29)

🐛 Bug Fixes

Player

  • check media session is supported (#1268) (e6a3fb4)

1.11.19-next (2024-04-22)

✨ Features

Player

  • data-active and data-ended slider chapter attrs (dd8e445)

🐛 Bug Fixes

Player

  • default theme padding breaks due to css resets (cf9b193)
  • muted prop should take priority over storage (7283344)
  • improve vite plugin hmr (be19840)
  • dash provider library types should accept namespace (e7e5d65)
  • releasing slider should not trigger other elements (5548a15)

1.11.18-next (2024-04-19)

✨ Features

Player (React)

  • add default layout slots for settings submenus (#1246) (0467f87)

🐛 Bug Fixes

Player

  • unknown warning on media-icon from bundler plugins (b263650)
  • exit fs and pip on destroy (068f1fa)
  • prefer raf for scheduling jobs (3d3a27a)
  • destroy component instance (7f830f3)
  • improve slider key handling (a93c7e5)

1.11.17-next (2024-04-09)

🐛 Bug Fixes

Player

1.11.16-next (2024-04-09)

🐛 Bug Fixes

Player

  • blocker preventing hover interactions on plyr layout (8057b11)

1.11.15-next (2024-04-09)

🐛 Bug Fixes

Player

  • update media-icons to 1.1.4@next (f2d33fd)

1.11.14-next (2024-04-09)

🐛 Bug Fixes

Player

  • improve dash track labels (#1243) (3893637)
  • reset mangle cache (6a46433)
  • cdn breaking due to node modules mangling (7dc7588)

1.11.13-next (2024-04-08)

✨ Features

Player

  • export core and globals from cdn entry (02058f8)

🐛 Bug Fixes

Player

  • player constructor poster not styled correctly (94a57c4)
  • menu items outside scroll not painting on safari (c6d6a63)
  • menu scroll and focus improvements (f435f2a)

1.11.12-next (2024-04-07)

🐛 Bug Fixes

Player

  • cdn bundle chunk versions have skewed (9c63ad9)

1.11.11-next (2024-04-07)

🐛 Bug Fixes

Player

  • save captions hidden in local storage (#1235) (c191ee0)

1.11.10-next (2024-04-04)

🐛 Bug Fixes

Player

  • invalid styles dir in cdn bundle (c285fc7)

1.11.9-next (2024-04-04)

🐛 Bug Fixes

Core

  • analyze file missing in npm dist (f45e93d)

1.11.8-next (2024-04-04)

🐛 Bug Fixes

Player

  • plyr layout element not registering (5a61fc6)

1.11.7-next (2024-04-03)

🐛 Bug Fixes

Player

  • bundler plugins should support multiple files (5c5db3f)
  • flip and shift floating ui to stay in view (22ecaa7)
  • do not render layouts when ios controls are shown (eeed0e4)
  • infer src type so native hls playback works (18be0a5)
  • relax no text track label to warning from error (e66a8bd)
  • vertically centers posters (#1227) (0d3400a)

Player (React)

  • comma in default video layout (479df95)

1.11.6-next (2024-04-02)

🐛 Bug Fixes

Player

  • worker conditional export should take priority over browser (7bf5ae8)

1.11.5-next (2024-04-02)

🐛 Bug Fixes

Player

  • sveltekit cloudflare worker bundle throws (554e423)

1.11.4-next (2024-04-01)

🐛 Bug Fixes

Player

  • prefers color scheme not overriden (5125ed1)
  • time slider seek keys not working when hidden (c1ce79c)
  • browser conditional exports (3f1a666)

1.11.3-next (2024-03-31)

🐛 Bug Fixes

Player

  • time is not visible in light theme default video layout (6e9a9b1)

Player (React)

  • default auto quality checkbox resets (1ad5321)

1.11.2-next (2024-03-31)

⏪ Revert

Player

  • show message when no cast devices (c7934a9)

🐛 Bug Fixes

Player

1.11.0-next (2024-03-30)

⏪ Revert

Player

  • clear saved time on media end (1b9c598)

✨ Features

Player

  • audio gain support (#1145) (c3e08c5)
  • new accessibility settings menu (0b6470f)
  • show example captions text on style change (8ceae6b)
  • keyboard animations setting in default layout (b63fa16)
  • loop setting in default layout (5f07f55)
  • media announcer (533edc5)
  • announcements setting in default layout (701f7ce)
  • new speed slider component (cd413ba)
  • new quality slider component (e6d801a)
  • new default layout settings controls (4718669)
  • support color preference in default theme (0a96ec6)
  • specify default theme color scheme (9a10613)
  • add download button to default layout (80488b6)
  • new slider steps component (5623c98)
  • source qualities (837daa0)
  • new js player constructors (2876c73)
  • new cdn urls and bundles (e36958c)
  • add new artwork player prop (c0a4eaf)
  • add airplay support for audio (c60c2fc)
  • add new onLoad method to storage (2ce029f)
  • dash provider (#1212) (000c7a4)
  • add setAudioGain method on player (a4a7778)

🐛 Bug Fixes

Player

  • always include keyboard status updates (82ec4a3)
  • respect prefers reduced motion in default theme (208a152)
  • include provider file name hashes in cdn bundle (5c76bbc)
  • improve volume slider popups (07ebc12)
  • show title in default layout (6adb7f4)
  • add deno to node exports (22afcea)
  • add bun to node exports (17afddd)
  • show volume slider when available in small default layout (20b9eab)
  • include react example in source selection warning (a3d6eb1)
  • add workerd to node exports (#1198) (dedd706)
  • stop expensive updates when not visible (be96bd2)
  • narrow player src types (82988ca)
  • default <track> element not selected (c82528b)
  • checkVisibility api not available on ios safari (1ef5e06)
  • improve google cast error handling and events (6fc54a9)
  • accept youtu.be short urls (9261b06)
  • vimeo ended event not firing (53025a3)
  • focus on controls hide should not scroll (778132f)
  • extending LocalMediaStorage should work (71298c3)
  • accept none value for fullscreen orientation attr/prop (545b7d6)
  • clear saved time in storage on media end (3c37e51)
  • trigger started if resuming from stored session (6cdeed7)
  • allow seeking directly to end (20cc205)
  • hls tracks not initializing correctly (edddf3b)
  • hide chapters menu button when disabled (9e96b33)
  • rework layout loading in player class constructors (b37814c)
  • cdn entries need absolute url import specifiers (c2bafe7)
  • handle seeking to end precision changes (abf9b17)
  • replace small percent sign for slider values (#1215) (833f2e4)
  • keep js constructed player alive (5f5cae1)
  • load poster element in js player create (2c56c58)
  • add media-icons/element to external deps (ac7acf6)
  • only remove js player controls if layout provided (685ea68)
  • add dash src to media src type (2cc150b)
  • improve menu focus and scroll management (a73a99a)

Player (React)

  • rename DefaultKeyboardActionDisplay to DefaultKeyboardDisplay (9d573f9)
  • slider callbacks not firing (a4fe4e0)
  • alt optional on poster for slotting (aa46aae)

1.10.9-next (2024-02-20)

🐛 Bug Fixes

Player

  • correctly resolve current chapter index (#1174) (275daa2)
  • external vimeo hls urls are not loading (c774e5f)

1.10.8-next (2024-02-20)

✨ Features

Player

  • add seek keyboard animation display icons (ff93604)
  • new showMs prop on slider value component (4e23e26)
  • save video quality in storage (c8524dc)

Player (React)

  • expose controls group slots (9e86ef2)

🐛 Bug Fixes

Player

  • video caption button incorrectly hidden on touch input (dfed2dc)
  • seek to live edge on play (ed5e8ec)
  • min-live-dvr-window attr not updating (7491385)
  • slider chapters should reset after seeking back on end (4dd2012)
  • last slider chapter not filled to end (e804c19)
  • do not fetch embed poster if one is provided (2503c5d)
  • use voice reader friendly labels (6b9d999)

Player (React)

  • throws on build if no player src is provided (a26fd41)
  • noScrubGesture should be optional in default layout (a2a2f4a)

1.10.7-next (2024-02-17)

✨ Features

Player (React)

  • export <DefaultVideoKeyboardActionDisplay /> (5f5d40a)

🐛 Bug Fixes

Player

  • log media errors in dev (6cf4575)
  • restart keyboard display animations on key press (2376735)
  • include source type attr for html providers (9ab499e)

1.10.6-next (2024-02-15)

🐛 Bug Fixes

Player

  • duplicate base.css imports in bundler plugin (808c490)
  • VTTContent type missing array declarations (7869e90)
  • playback rate state not initializing correctly (231b036)
  • youtube provider should fire pause event on end (35b1fb9)
  • default themed menu not interactable on mobile (94b25fa)
  • controls prop setter on player instance missing (9bfa26e)
  • watch menu button hint part changes (a17239a)
  • show thumbnail img once it has loaded (ab86b55)
  • pass media remote control to keyboard shortcut callbacks (cfe2331)
  • add separate key up and down callbacks to shortcuts (b643602)

Player (React)

  • poster showing broken image icon on load (#1153) (3f00fbc)
  • setting controls causes warning (8f1fe4d)

React

  • setting prop to undefined should use default value (aaf9b04)

1.10.5-next (2024-02-06)

✨ Features

Player

  • include separate default and plyr layout cdn imports (c583cf0)

🐛 Bug Fixes

Player

  • font size setting not applied in fullscreen (2a882d0)
  • source objects failing provider loader checks (d243793)
  • do not prevent f1-f12 keys from working (6a06b57)
  • clipped video can not be replayed (ad61932)
  • vimeo url with progressive_redirect is not embed (1cb9fee)
  • support unlisted vimeo videos (2bfcce9)
  • poster showing broken image icon on load (2684fc3)

Player (React)

  • use remotion thumbnail in plyr layout preview scrub (3651045)
  • remotion provider firing seeked before seeking when paused (cd7e8da)

1.10.4-next (2024-02-03)

✨ Features

Player

  • new noScrubGesture prop on default layout (5de514f)
  • new playbackRates prop on default layout (2c51d76)

🐛 Bug Fixes

Player

  • watch supported check correctly in remote playback (5b33c7a)
  • disable audio menu if only one option (f464edf)
  • seekable end of clipped videos is incorrect (4217dfe)
  • scrollbar styles not applying on chromium 121+ (6404bfe)
  • select text tracks on change and update storage correctly (195c289)
  • poster component should use inferred when none provided (d533263)
  • remove trusted-types from types (c79d376)
  • player duration prop always returns -1 (54cbc0c)
  • clipped duration overwriting intrinsic duration (3bab0d6)
  • thumbnails vtt json not accepted correctly (cee73b4)
  • 0-9 key seeking stopped working (79636c1)
  • airplay not working on macos safari and with hls streams (2332626)
  • expected selector error on default video layout css (#1135) (10758dd)
  • resolve hls stream type when using preferNativeHLS (ce73b65)

1.10.3-next (2024-01-31)

🐛 Bug Fixes

Player

  • startTime failing thumbnails image assertion when 0 (1bf42cc)
  • small default video layout controls should be lower (d2031ca)
  • watch airplay availability (f7bfe28)
  • do not set crossorigin for youtube/vimeo posters (1a6f3af)
  • embed ui should not be focusable when no native controls (40cc6a1)
  • storage not working correctly with embeds (6f3c18b)
  • do not reset playback rate on source change (7671c89)
  • track playback rate in storage (a0379ae)
  • clipped youtube embed requires two plays (84b574f)

1.10.2-next (2024-01-30)

🐛 Bug Fixes

Player

  • include plugins.js in package (f077434)
  • add progress live edge cssvar to plyr layout (d2c29a4)
  • inferred title/poster being overwritten by user provided (083a484)

1.10.1-next (2024-01-30)

🐛 Bug Fixes

Player

  • plyr layout live button spacing (ef57fc3)
  • audio layout play button colors being overriden (86819b0)
  • layout props missing in analysis (e6c9b83)

1.10.0-next (2024-01-30)

✨ Features

Core

  • web component bundler plugins (dfd4fa5)

Player

  • new sliderChaptersMinWidth layouts prop (441c54e)
  • allow json to be passed directly to track content prop (f20e904)
  • new clipStartTime and clipEndTime player props (f190651)
  • new disabled prop on gesture component (0a1cc02)
  • new posterLoad player prop (ea2a9e7)
  • new load="play" player option (1b7389c)
  • new storageKey player prop (b397859)
  • new disableTimeSlider default layout prop (219b90e)
  • new noGestures default layout prop (2fff957)
  • load chapters from vimeo embed (8a23415)
  • new crossOrigin prop on poster component (ecbf277)
  • new crossOrigin prop on slider video component (d699c7b)
  • new crossOrigin prop on thumbnail components (72b8056)
  • support new thumbnail src types (698e575)
  • new keyboard action display in default layout (52890b0)
  • airplay support (0f7df2f)
  • google cast support (d08d630)
  • add media session api support (da82b35)
  • new storage player prop and MediaStorage interface (778ff6c)
  • new view, stream, and remote type tailwind variants (e15aefc)
  • font style customization menu (4e902b6)
  • expose cancellable media request events on all components (b6d84af)
  • include ManagedMediaSource support check (ab35874)
  • plyr layout (622dfda)
  • redesign default audio layout (7ff5e65)
  • new title component (764c977)
  • new duration player prop (4cf4457)
  • new seekStep default layout prop (1d32867)

Player (React)

  • default layout slots (209d400)
  • add remotion support to plyr layout (9534d68)
  • allow default video slots to be passed to both sizes (5abd619)

🐛 Bug Fixes

Player

  • call ready state on text track with content only (d3aad91)
  • fill last slider chapter gap based on duration difference (32ed5d5)
  • youtube should fire seeking and not play on initial seek (5f11163)
  • vimeo should fire seeking (298be0c)
  • remotion provider should fire seeking (5c4c359)
  • improve looping behaviour (23fd34f)
  • accessibility warning on iframes (51e3697)
  • switching src on cdn throwing (5565724)
  • include tooltip left/right default theme styles (80ad732)
  • vimeo video info can be undefined (#1062) (c8b871f)
  • update icon slots on all mutations (00073a0)
  • catch false postive vimeo pro detection (29d6fa0)
  • use intrisic duration for last vimeo chapter end time (4dbe21e)
  • rename crossorigin prop to crossOrigin (37513ea)
  • rework media request queue (6f9c16b)
  • set src on poster image to prevent white border (437764f)
  • rename playsinline prop to playsInline (e7cb6c5)
  • rename autoplay prop to autoPlay (0fc9dd7)
  • add missing load events to all providers (446a4f4)
  • remove redundant default layout exports (67de0e9)
  • replace player query lists with callbacks (3644a74)
  • remove player query lists (6f1129e)
  • key events not updating slider value (a39a6fc)
  • manage focus when default audio layout transitions (87340eb)
  • toggle captions on plyr layout should show cue (1ea562a)
  • iframe should not leak outside media provider (ed93a31)
  • switching from youtube to vimeo gets stuck (597cef7)
  • settings stops working via keyboard after exiting (f4954d9)
  • vimeo not firing ended event (fba30c9)
  • check whether browser can play audio/video type (b7ff954)
  • select default hls captions (11b0c70)
  • tweak remote playback tw variants (e6c506b)
  • support never for small-when attr (04955c4)

Player (React)

  • default chapters menu should use compact layout when no thumbnails (809098e)
  • click callbacks not working in menus (fcb938f)

1.9.8-next (2023-12-15)

🐛 Bug Fixes

Player

  • vimeo playing and progress events not fired (a3fceac)

Player (React)

  • unexpected token { in iOS<17 (5720ce3)

1.9.7-next (2023-12-13)

🐛 Bug Fixes

Player

  • queue media requests (01649b3)
  • identify unique captions tracks (4b6b3a5)
  • add hls network error retry logic (be67987)

Player (React)

  • resolve invalid dom properties warning (39e440d)

1.9.6-next (2023-12-12)

🐛 Bug Fixes

Player

  • render captions when using embeds (d20eba6)

1.9.5-next (2023-12-12)

🐛 Bug Fixes

Player

  • update maverick to 0.41.1 (a646d4b)

Player (React)

  • add correct remotion component doc links (2d68c89)
  • apply asChild when used on remotion components (60385c3)

1.9.4-next (2023-12-11)

🐛 Bug Fixes

Player

  • cdn breaking due to mangle cache being created late (6cd1dee)

1.9.3-next (2023-12-10)

🐛 Bug Fixes

Player

  • use mangle cache for deterministic chunks (48b8324)
  • chapters menu should update on cue changes (574a0a3)

1.9.2-next (2023-12-09)

🐛 Bug Fixes

Player

  • initialize muted/volume correctly when using instance setters (87561b2)

Player (React)

  • stable waiting detection in remotion provider (4ca23a8)

1.9.1-next (2023-12-08)

🐛 Bug Fixes

Player

  • fire seeked event when vimeo video paused (a8131a1)

Player (React)

  • move remotion to completely separate entry (6a74780)
  • remotion provider should fire seeked (d9322ee)

1.9.0-next (2023-12-08)

✨ Features

Player (React)

🐛 Bug Fixes

Player

  • maintain volume state across provider changes (902a666)

Player (React)

  • use slider hooks throwing on setup (6088de7)

1.8.3-next (2023-12-04)

🐛 Bug Fixes

Player

  • prefer setting attrs on spinner elements (1be676a)

1.8.2-next (2023-12-04)

🐛 Bug Fixes

Player

  • mute button not working with vimeo provider (b387e8f)

1.8.1-next (2023-12-02)

🐛 Bug Fixes

Player

  • only apply default aspect ratio to video view (9b95a50)

1.8.0-next (2023-12-02)

✨ Features

Player

  • new hideControlsOnMouseLeave player prop (a481351)
  • new selector tailwind plugin option (e051bd2)
  • new spinner component (e0b0ab1)
  • expose hideOnMouseLeave prop on controls component (7eeabdd)

🐛 Bug Fixes

Player

  • set default aspect ratio of 16/9 (0e385a2)
  • remove const enum usage to simplify bundled output (fff8c36)
  • only fullscreen video view by default on mobile (b58616a)
  • title not updating after init (1c82248)
  • cursor should not dissapear while starting (273d30b)

1.7.0-next (2023-11-30)

✨ Features

Player

🐛 Bug Fixes

Player

  • disable click/touchstart event when toggles are disabled (7c1ce4d)
  • clear media layout children correctly (67aa63c)

Player (React)

  • speed normal label not using translations (1b72abc)
  • updating current time on page transitions throws (ed8b646)

1.6.2-next (2023-11-26)

🐛 Bug Fixes

Player

  • add gap between default slider chapter title and value (8d58a80)
  • chapter title not initialized correctly (ad1bc47)
  • media layout not cloning templates correctly (a258f34)

1.6.1-next (2023-11-24)

🐛 Bug Fixes

Player

  • youtube provider chunk not split (85dfa1a)

1.6.0-next (2023-11-24)

✨ Features

Player

🐛 Bug Fixes

Player

  • can use video presentation throwing (aff2d29)
  • use native controls for youtube on ios safari (23cd9a9)
  • resolve a few event type trigger issues (fc19c33)

1.5.7-next (2023-11-21)

🐛 Bug Fixes

Player

  • webpack parse error in regions css calc (3ca3213)
  • add bg color to default poster theme (766aa7a)
  • update slider chapters when track mode toggled (8cf48b4)
  • dynamically update slider chapters (362a1fc)
  • source select loop when using fallback header (ec8a4f9)
  • do not preconnect to jsdelivr for hls when imported (f404094)

1.5.6-next (2023-11-14)

✨ Features

Player

  • include provider in can play event detail (15a70d3)

🐛 Bug Fixes

Player

  • css normalize affecting menu radios (f5c9c67)
  • broken quality switch docs link (f81d533)
  • missing closing calc bracket on placement offset (234a34e)
  • include text content height in menu height calc (feb6627)
  • accept standard child button as tooltip trigger (5e5c1b9)
  • add focus styles to live button default theme (6261f18)
  • vertical slider thumb size is incorrect (96f16f6)
  • menu close icon looks slightly off (1322167)
  • include slider chapters css vars docs (b38f09c)
  • autoplay error data attr should be boolean (d2e1eeb)
  • slider value attr not updating state (b7164cc)

1.5.5-next (2023-11-07)

🐛 Bug Fixes

Player

  • keep-alive jsx type should be optional (e8a73c0)

1.5.4-next (2023-11-07)

🐛 Bug Fixes

Player

  • avoid re-appending trigger event on abort (11ade5c)
  • include keep-alive in framework jsx types (b8ea805)

1.5.3-next (2023-11-07)

🐛 Bug Fixes

Player

  • playsinline not initializing correctly (dbf7785)
  • scroll and zoom gestures not working on iphone (671cdaf)

1.5.2-next (2023-11-06)

✨ Features

Player

  • expose ios-controls in tailwind (ae56f15)

🐛 Bug Fixes

Player

  • update chapter index correctly on live streams (8b9fa4b)
  • initial seek on live:dvr should not go to edge (f1837ad)
  • better handle ios controls (5820094)
  • native renderer might be null due to race condition (5e2d90c)
  • show slider chapters on larger mobile landscape (7c0416a)
  • use native poster if not playsinline on ios safari (5009ddf)

1.5.1-next (2023-11-01)

✨ Features

Player

  • add orientation request events (2ebd688)

🐛 Bug Fixes

Player

  • add missing media event details (e79ad85)

1.5.0-next (2023-10-30)

✨ Features

Player

  • thumbnails now support json (16bdd0d)

🐛 Bug Fixes

Player (React)

  • useMediaState throwing when given player ref (18789bc)
  • media-captions should be safe to use on server (b986bf8)

1.4.9-next (2023-10-29)

🐛 Bug Fixes

1.4.8-next (2023-10-29)

🐛 Bug Fixes

Player

  • allow multiple thumbnail images (fa7137d)
  • clear text tracks correctly (8e9bc7e)
  • expose value setter on radio group (bd6e123)
  • apply media queries in player query list correctly (128151f)
  • controls should only be hidden on iphone under certain conditions (13162fd)
  • update initial duration in can play correctly (2534cae)
  • spacing issue between time and slider on mobile audio layout (c8b9f3e)
  • add playsInline prop on player instance (e2ae08e)
  • update playsinline state on prop change (4efe80b)

1.4.7-next (2023-10-25)

🐛 Bug Fixes

Player

  • resolve thumbnails with relative base url (b3f4d99)
  • switching providers loses muted state (9d68484)
  • use null as default value for tracked error states (7e5abdd)

1.4.6-next (2023-10-24)

🐛 Bug Fixes

Player

  • prevent buttons from submitting a parent form (#974) (73d2b2e)
  • swipe gesture interfering with scroll (b6ee427)
  • invalid autoplay tracking and freezing (1aa4cf3)

Player (React)

  • unexpected token { on iOS<16.4 (e1b8d80)

1.4.5-next (2023-10-23)

🐛 Bug Fixes

Player

  • swipe gesture freezes on android (75e1113)
  • respect playsinline on all touch devices (ebc5771)
  • controls component delay overriding player prop (35bf1e0)
  • hide controls on iphone when started and not playsinline (99b061a)
  • schedule disconnect destroy at end of raf queue (2d4b9d0)

Player (React)

  • slider chapters attempting to update after destroyed (bf082fd)

1.4.4-next (2023-10-20)

🐛 Bug Fixes

Player

  • audio view type should display contents (1c7c8ca)
  • focused slider keyboard should not affect another (1f7b216)
  • calling raf on menu attach throws server side (90b8f11)

1.4.2-next (2023-10-19)

✨ Features

Player

🐛 Bug Fixes

Player

  • better slider value defaults (9dc50fe)
  • prevent page scroll when interacting with sliders via keyboard (f2c6454)

1.4.1-next (2023-10-19)

🐛 Bug Fixes

Player

  • resolve relative hls rendition uri (c59c8fd)
  • simplify resolving relative thumbnail urls (fb7e30e)
  • keep isHLSSupported pure (4eb8b77)
  • align chapter title to start (adace29)
  • updating attrs after destroyed will throw (1e7ad2b)

1.4.0-next (2023-10-18)

✨ Features

Player

  • add j/l to global seek keys (d87cb18)
  • new speed up and slow down keyboard shortcuts (b1c26c5)

🐛 Bug Fixes

Player

  • set all labels and use translations (a5a617d)
  • lighthouse passive perf warning (fce730f)
  • forward global keyboard events to slider correctly and bound value (5d70279)
  • avoid double controls on iphone (da5de05)

Player (React)

  • useThumbnails memo error (09b41f6)

1.3.0-next (2023-10-17)

🐛 Bug Fixes

Player

  • improve stream type detection (7659ac1)
  • memory leak on provider change (24f451f)
  • normalize handling of time formatting across components (6201a26)

1.2.2-next (2023-10-17)

🐛 Bug Fixes

Player

  • update default layout component doc links (5ac0697)
  • attach gesture event triggers (eab1553)

Player (React)

  • add gesture event callbacks (bbca26a)

1.2.1-next (2023-10-17)

🐛 Bug Fixes

Player

  • update web component docs links (0433f99)

1.2.0-next (2023-10-16)

🐛 Bug Fixes

Player

  • toggle button throws on press (5278d63)
  • destroying while playing can throw errors in async paths (65cfdd5)
  • css reset messing up react settings menu (df24ee5)
  • focus padding not applied to popup chapters menu (d2f4c84)
  • do not load hls src on dom connect (92fa791)
  • slider chapters should fill all tracks when media has ended (599eaa1)
  • add new gesture events will-trigger and trigger (29fd986)

1.1.10-next (2023-10-10)

🐛 Bug Fixes

Player

  • popper align offset direction is reversed (39fd92c)
  • text renderer throwing on cdn bundle (8b6120b)
  • do not reset media when keepAlive (a67b24f)
  • prefer @media over @container due to support (5b9908f)

1.1.9-next (2023-10-09)

🐛 Bug Fixes

Player

  • cdn loading wrong version of media captions (43dc2e7)
  • remounting default layout breaks (afcac0d)
  • prefer component name when logging (5e5d698)

Player (React)

React

  • use vidstack pkg source code when building (9131ef0)

1.1.8-next (2023-10-06)

🐛 Bug Fixes

Player

  • check stream type again on can play event (78e126e)
  • fill all slider chapters when live edge (d8283a6)

Player (React)

  • clean up ref instance types (6890b58)

1.1.7-next (2023-10-04)

🐛 Bug Fixes

Player (React)

  • react import missing on audio layout (6e003a6)

1.1.5-next (2023-10-03)

🐛 Bug Fixes

Player

  • align video to center of provider container (67fadf6)
  • hide tooltips on mobile (e635ad0)
  • show default start duration on mobile only when available (1d3427d)
  • show buffering in default layout when stream type unknown (cfd4670)
  • use dvh over vh for menus (aebf75e)
  • media remote hook not working and activate dev logging (84bfe8a)

1.1.4-next (2023-10-02)

🐛 Bug Fixes

Player

  • remove filling slider end gap for now (029037b)

1.1.3-next (2023-10-02)

🐛 Bug Fixes

Player

  • account for rounding filling slider chapter end gap (8faf9fd)

1.1.2-next (2023-10-02)

🐛 Bug Fixes

Player

  • unsupported styles in captions file (475c089)
  • fill start/end chapter gaps correctly (9948109)
  • aspect ratio breaks on safari (611a418)
  • incorrect live stream detection on safari (392ec6e)
  • default audio layout menus not offset correctly (1e212b8)
  • slider chapters are being built multiple times on init (93f27a2)
  • useMediaRemote throws on init (57c8d07)

1.1.0-next (2023-10-01)

✨ Features

Player

  • add live stream support to default layout (622d812)

🐛 Bug Fixes

Player

  • do not show volume slider when play button is interacted with (757841d)

1.0.5-next (2023-10-01)

🐛 Bug Fixes

Player

  • view type not set when initial src is hls (a16e644)
  • log warning when autoplay fails first time (666103b)

1.0.4-next (2023-09-30)

🐛 Bug Fixes

Player (React)

  • initialize sources correctly during ssr (ee688f8)

1.0.3-next (2023-09-30)

✨ Features

React

  • add rsc support and split up default ui audio/video (4e390ac)

🐛 Bug Fixes

Player

  • include elements.d.ts in package files (e88f816)
  • add hydration issue warning when rendering default layout (7c902a4)
  • initialize playsinline correctly (a73b537)

Player (React)

  • dispatch on latest callback prop (3c8d196)
  • volume slider not showing (ad1481f)

React

  • small layout tweaks and fixes (716e22c)