Release Notes
These release notes contain what's new in Vime 5 and how you can migrate over from Vime 4.
#
What's New?This release focuses on consistency, performance improvements and refactoring internals to bring some long awaited features.
Shadow DOM. All components are now safely tucked away in the Shadow DOM, no more random styles breaking! In addition, all
class
andstyle
attributes have been moved from the<Host>
element to a container inside the component, this means you can safely apply your own styles to Vime components without messing up the internals.New icon library system. The icon system has been reworked to include additional icon sets, and it's now much easier to create your own. Vime now comes with
vime
andmaterial
icon sets out of the box, and there'll be more coming in the future! You can easily switch between icon sets and even change them on a component-by-component basis.Provider switching. Providers can now be changed dynamically, so one moment you can be using HLS and in the next whatever you like.
HLS/DASH audio tracks and video quality support. There is now an API for getting/setting the audio tracks and playback qualities when using HLS/DASH. Not only that... but they are now automatically synced with the default Vime settings menu!
New captions interface. Entirely new captions system that adds support for HLS/DASH. There are new properties/methods/events for text tracks, and the default Vime settings menu now supports captions loaded from a HLS/DASH manifest.
Dynamic mobile UI. The mobile UI now uses
ResizeObserve
to dynamically change between mobile and desktop mode. If the player goes below480px
it'll go into mobile mode, and any larger it'll jump back to desktop.New loading screen. A new loading screen component
vm-loading-screen
has been introduced to replace the old and dusty skeleton animation. You can now easily add your own logo or branding while the player is booting or media is loading.Cleaner touch styling. This is a small change but styling for touch devices uses rounded highlights to match your thumb instead of a square. There's also pressed feedback now, which is when your holding your thumb on an element such as a control.
Smoother settings UI. The settings has been revamped with some new animations. It just feels a little nicer to use and less jumpy.
Naming is more consistent across the library. The CSS variables were already using the prefix
vm
but the components were usingvime
such asvime-video
, and events were usingv
such asvPlay
. This is obviously silly so everything isvm
now. Examples:vm-video
,--vm-player-font-family
,vmPlay
.Less naming pollution. Framework integrations have been simplified by removing the
Vime
prefix from all components.
- Attributes over classes for styling. Most components including the player were styled based
on classes before such as
vime-player.mobile
, due to using the Shadow DOM and steering away from placing styles on the host element, all styles are applied via attributes now such asvime-player[mobile]
.
#
Migrating (v4 to v5)The largest change to take note of is that Vime now uses the Shadow DOM. If you were querying or manipulating elements inside the player, this won't be possible anymore.
All component, event and CSS variables are prefixed now with
vm
. Components have gone fromvime-video
tovm-video
, events fromvPlay
tovmPlay
, and CSS variables remain the same as before--vm-player-font-family
.Skeleton has been removed from the DefaultUi and with it the
noSkeleton
property. You can add this back manually yourself if you want it.The
attached
property andvmAttached
event has been removed from the player component.The
vime-icons
component has been removed and replaced byvm-icon-library
.The icons folder in the root
@vime/core
package has been moved. Icons are now kept in sets under theicons
folder such asicons/vime
andicons/material
. If you were loading these files from the CDN for any reason then simply point to the new URL.Auto-generated ids now use the
vm
prefix instead ofvime
.The icon component accepts a
src
prop instead of ahref
prop.The
errors
property has been removed from the player, all errors are emitted from thevmError
event instead ofvErrorsChange
.The
loadSprite
helper has been removed and is not exported from any package.