Video.js Blog

Gary Katsevman2017-11-27

Video.js 6.5.0 Release

November 17th marked the pre-release of Video.js 6.5.0. It comes shortly after the release of 6.4.0, which has now been promoted to latest! This is a pretty exciting release because we finally got our own element! I like to call it the I Can't Believe It's Not Custom Elements because it isn't an actual custom element but it's not a standard HTML element either. Also, a nice and smooth progress bar thanks to a first time contributor; thanks @vhmth!. A pretty major memory leak fix, and many code refactors and bug fixes. I'd like to thank everyone who contributed and the four first time contributors to Video.js: @vhmth, @FirefoxMetzger, @EhsanCh, and @shahlabs. This post comes a week late because it was Thanksgiving week in the US after release and I was on break, if you celebrate Turkey day 🦃, hope you had a good one!

Notable Changes

  • I Can't Believe It's Not Custom Elements with a <video-js> element. It works exactly like the <video> embed but without requiring you to use the <video> element and the benefits and drawbacks that come with it. It also adds the video-js class name automatically for you, so, there's no need to add it.

  • A smooth progress bar!

    before the changebefore the change
    after the changeafter the change
  • After much spelunking in the code base and developer tools, we've plugged most of the memory leaks with retained DOM elements in Video.js!

  • Many code refactorings from our old code style to the new one by @kocoten1992!

  • Previously, you could accidentally seek or toggle playback using the middle or right clicks. Now, just go ahead and try it!

  • An accessibility fix with regards to title tooltips and menu items.

  • Better handling of play() in our new asynchronous world, especially immediately after changing the source.

Committers

Raw Changelog

### [6.5.0](https://github.com/videojs/video.js/compare/v6.4.0...v6.5.0) (2017-11-17)

Features

  • add a version method to all advanced plugin instances (#4714) (acf4153)
  • allow embeds via <video-js> element (#4640) (d8aadd5)

Bug Fixes

  • Avoid empty but shown title attribute with menu items and clickable components (#4746) (dc588dd)
  • Player#play: Wait for loadstart in play() when changing sources instead of just ready. (#4743) (26b0d2c)
  • being able to toggle playback with middle click (#4756) (7a776ee), closes #4689
  • make the progress bar progress smoothly (#4591) (acc641a)
  • only allow left click dragging on progress bar and volume control (#4613) (79b4355)
  • only print element not in DOM warning on player creation (#4755) (bbea5cc)
  • trigger timeupdate during seek (#4754) (1fcd5ae)

Chores

Code Refactoring

Documentation

Performance Improvements

  • null out els on dispose to minimize detached els (#4745) (2da7af1)

Tests