Video.js 6.4.0 Release

Hello everyone, it’s been a while! Yesterday, I pre-released Video.js 6.4.0. It’s a pretty big release with 27 merged Pull Requests from 13 authors and 7 of them were contributors!
I’d like to thank everyone who contributed but particularly those seven. Six of them made their first PRs with Video.js: @estim, @seggev319, @nicolaslevy, @MarcAMo, @knilob, @odisei369. And @kocoten1992 returned with some great PRs to refactor things.

In this release, we fixed a bunch of bugs, refactored some things, updated some tests. We also added some new features.

As with other releases, this is released as next for a short while before being promoted to latest.
You can get these releases on GitHub Releases or from npm

Notable Changes

  • Hebrew translations are now available. Russian and Polish translations were updated as well.
  • The Progress Control can now be disabled. This is useful for when you don’t want users to be able to interact with it but still want to show play progress.
    • The Progress Control will also be fully filled out when the video ends so that we aren’t slightly short or long due to weirdnesses in duration and currentTime.
  • It’s now possible to add a hook that gets automatically removed once called with hookOnce. This mirrors our on and once event methods.
  • If controls are disabled before the modal dialog is opened, the controls stay closed when the dialog is closed.
  • player.src() will now return an empty string when no source is set to match player.currentSrc() and the native video element.
  • Video.js will now warn when the element it is given isn’t in the DOM. This was done as part of a “first-timers-only” issue which we hope to do more off in the future.

Google Analytics note

We’ve updated the README of the project to be explicit about our usage of Google Analytics on the hosted version of Video.js. It is a stripped down version of the Google Analytics pixel and sends data on 1% of those loads.
It can be opted out of by adding the following to the page before the zencdn-hosted version of Video.js is loaded

<script>window.HELP_IMPROVE_VIDEOJS = false;</script>

Our GitHub releases and npm releases do not include Google Analytics. Neither do 3rd-party CDNs like unpkg or CDNjs.


Full Changelog

6.4.0 (2017-11-01)


  • lang: add Hebrew translation (#4675) (32caf35)
  • lang: Update for Russian translation (#4663) (45e21fd)
  • Add videojs.hookOnce method to allow single-run hooks. (#4672) (85fe685)
  • add warning if the element given to Video.js is not in the DOM (#4698) (6f713ca)
  • allow progress controls to be disabled (#4649) (a3c254e)
  • set the play progress seek bar to 100% on ended (#4648) (5e9655f)

Bug Fixes

  • css: update user-select none (#4678) (43ddc72)
  • aria-labelledby attribute has an extra space (#4708) (855adf3), closes #4688
  • Don’t enable player controls if they where disabled when ModalDialog closes. (#4690) (afea980)
  • don’t throttle duration change updates (#4635) (9cf9800)
  • Events#off threw if Object.prototype had extra enumerable properties, don’t remove all events if off receives a falsey value (#4669) (7963913)
  • make parseUrl helper always have a protocl (#4673) (bebca9c), closes #3100
  • Make sure we remove vjs-ended from the play toggle in all appropriate cases. (#4661) (0287f6e)
  • player.src() should return empty string if no source is set (#4711) (9acbcd8)


Code Refactoring