930 lines (812 sloc) 77.6 KB


HEAD (Unreleased)


5.12.1 (2016-08-25)


5.13.0 (2016-08-25)


5.12.0 (2016-08-25)

  • @misteroneill, @BrandonOCasey, and @pagarwal123 updates all the code to pass the linter (view)
  • @misteroneill added ghooks to run linter on git push (view)
  • @BrandonOCasey removed unused base-styles.js file (view)
  • @erikyuzwa, @gkatsev updated CSS build to inlcude the IE8-specific CSS from a separate file instead of it being inside of sass (view) (view2)
  • @gkatsev added null checks around navigator.userAgent (view)
  • greenkeeper updated karma dependencies (view)
  • @BrandonOCasey updated language docs to link to IANA language registry (view)
  • @gkatsev removed unused dependencies (view)
  • @misteroneill enabled and updated videojs-standard and fixed an issue with linting (view)
  • @misteroneill updated tests to qunit 2.0 (view)
  • @gkatsev added slack badge to README (view)
  • @gkatsev reverted back to qunitjs 1.x to unbreak IE8. Added es5-shim to tests (view)
  • @gkatsev updated build system to open es5 folder for bundles and dist folder other users (view)
  • greenkeeper updated uglify (view)
  • greenkeeper updated grunt-concurrent (view)
  • greenkeeper updated karma-chrome-launcher (view)
  • @gkatsev added tests for webpack and browserify bundling and node.js requiring (view)
  • @rlchung fixed tests that weren't disposing players when they finished (view)

5.11.6 (2016-08-25)

  • @imbcmdth Added exception handling to event dispatcher (view)

5.11.5 (2016-08-25)

  • @misteroneill fixed wrapping native and emulated MediaErrors (view)
  • @snyderizer fixed switching between audio tracks. Fixes #3510 (view)
  • @jbarabander added title attribute to audio button. Fixes #3528 (view)
  • @misteroneill fixed IE8 media error test failure (view)

5.11.4 (2016-08-16)


5.11.3 (2016-08-15)

  • @vdeshpande fixed control text for fullscreen button (view)
  • @mister-ben fixed android treating swipe as a tap (view)
  • @mboles updated duration() method documentation (view)
  • @mister-ben silenced chrome's play() request was interrupted by pause() error (view)

5.11.2 (2016-08-09)


5.11.1 (2016-08-08)

  • @vxsx fixed legend selector to be more specific. Fixes #3492 (view)

5.11.0 (2016-07-22)

  • @BrandonOCasey Document audio/video track usage (view)
  • @hartman Correct documentation to refer to nativeTextTracks option (view)
  • @nickygerritsen Also pass tech options to canHandleSource (view)
  • @misteroneill Un-deprecate the videojs.players property (view)
  • @nickygerritsen Add title to all clickable components (view)
  • @nickygerritsen Update Dutch language file (view)
  • @hartman Add descriptions and audio button to adaptive classes (view)
  • @MattiasBuelens Retain details from tech error (view)
  • @nickygerritsen Fix test for tooltips in IE8 (view)
  • @mboles added loadstart event to jsdoc (view)
  • @hartman added default print styling (view)
  • @ldayananda updated videojs to not do anything if no src is set (view)
  • @nickygerritsen removed unused tracks when changing sources. Fixes #3000 (view)
  • @vit-koumar updated Flash tech to return Infinity from duration instead of -1 (view)
  • @alex-phillips added ontextdata to Flash tech (view)
  • @MattiasBuelens updated components to use durationchange only (view)
  • @misteroneill improved Logging for IE < 11 (view)
  • @vdeshpande updated control text of modal dialog (view)
  • @ldayananda fixed mouse handling on menus by using mouseleave over mouseout (view)
  • @mister-ben updated language to inherit correctly and respect the attribute on the player (view)
  • @sashyro fixed nativeControlsForTouch option (view)
  • @tbasse fixed techCall null check against tech (view)
  • @rbran100 checked src and currentSrc in handleTechReady to work around mixed content issues in chrome (view)
  • @OwenEdwards fixed caption settings dialog labels for accessibility (view)
  • @OwenEdwards removed spurious head tags in the simple-embed example (view)
  • @ntadej added a null check to errorDisplay usage (view)
  • @misteroneill fixed logging issues on IE by separating fn.apply and stringify checks (view)
  • @misteroneill fixed npm test from running coveralls locally (view)
  • @gkatsev added es6-shim to tests. Fixes Flash duration test (view)
  • @misteroneill corrects test assertions for older IEs in the log module (view)
  • @gkatsev fixed setting lang by looping through loop element variable and not constant tag (view)

5.10.8 (2016-08-08)

  • @gkatsev re-published to make sure that the audio button has css

5.10.7 (2016-06-27)

  • @gkatsev pinned node-sass to 3.4 (view)
  • @mister-ben added try catch to volume and playbackrate checks. Fixes #3315 (view)
  • @m14t removed unused loadEvent property in ControlBar options (view)
  • @bklava updated pt-BR language file (view)
  • @mister-ben updated menus to use default videojs font-family (view)
  • @vdeshpande fixed chapters getting duplicated each time a track is loaded (view)

5.10.6 (2016-06-20)

  • @gkatsev fix not fully minified video.min.js file.

5.10.5 (2016-06-07)

  • @gkatsev pinned dependencies to direct versions (view)
  • @gkatsev fixed minified vjs in ie8 when initialized with id string (view)
  • @IJsLauw fixed unhandled exception in deleting poster on ios7 (view)

5.10.4 (2016-05-31)

  • Patch release to fix dist on npm

5.10.3 (2016-05-27)

  • @BrandonOCasey fixed source handlers being disposed multiple times when a video is put into the video element directly (view)

5.10.2 (2016-05-12)

  • @gkatsev nulled out currentSource_ in setSource (view)

5.10.1 (2016-05-03)

  • @nickygerritsen Pass tech options to source handlers (view)
  • @gkatsev Use fonts 2.0 that do not require wrapping codepoints (view)
  • @chrisauclair Make controls visible for accessibility reasons (view)
  • @gkatsev updated text track documentation and crossorigin warning. Fixes #1888, #1958, #2628, #3202 (view)
  • @BrandonOCasey added audio and video track support (view)
  • @OwenEdwards added language attribute in HTML files for accessibility (view)
  • @incompl clear currentSource_ after subsequent loadstarts (view)
  • @forbesjo add an audio track selector menu button (view)

5.9.2 (2016-04-19)

  • @gkatsev grouped text track errors in the console, if we can (view)

5.9.1 (2016-04-19)

  • @benjipott updated IS_CHROME to not be true on MS Edge (view)
  • @mister-ben blacklisted Chrome for Android for playback rate support (view)
  • @gkatsev made the first emulated text track enabled by default (view)
  • @gkatsev fixed removeRemoteTextTracks not working with return value from addRemoteTextTracks (view)
  • @forbesjo added back the background color to the poster (view)
  • @gkatsev fixed text track tests for older IEs (view)

5.9.0 (2016-04-05)

  • @gkatsev updated vjs to not add dynamic styles when VIDEOJS_NO_DYNAMIC_STYLE is set (view)
  • @OwenEdwards added basic descriptions track support (view)
  • @kamilbrenk Added lang
  • @arius28 added greek translation file (el.json) (view)
  • @ricardosiri68 changed the relative sass paths (view)
  • @gkatsev added an option to keep the tooltips inside the player bounds (view)
  • @defli added currentWidth and currentHeight methods to the player (view)
  • fix IE8 tests for VIDEOJS_NO_DYNAMIC_STYLE (view)
  • @OwenEdwards fixed links adding extra tab stop with IE by removing anchor tags on videojs init (view)
  • @scaryguy updated videojs cdn urls in the README (view)
  • @mister-ben updated the time tooltips to use the chosen font family (view)
  • @OwenEdwards improved handling of deprecated use of Button component (view)
  • @forbesjo added chrome for PR tests (view)
  • @MCGallaspy added vttjs to the self-hosting guide (view)
  • @chrisauclair added ARIA region and label to player element (view)
  • @andyearnshaw updated document event handlers to use el.ownerDocument (view)

5.8.8 (2016-04-04)

  • @vtytar fixed auto-setup failing if taking too long to load (view)
  • @seescode fixed css failing on IE8 due to incorrect ie8 hack (view)
  • @seescode fixed dragging on mute toggle changing the volume (view)

5.8.7 (2016-03-29)

  • @llun fixed menus from throwing when focused when empty (view)
  • @mister-ben added dir=ltr to control bar and loading spinner (view)
  • @avreg fixed notSupportedMessage saying video when meaning media (view)
  • @mister-ben fixed missing native HTML5 tracks (view)
  • @mister-ben updated Arabic language files (view)

5.8.6 (2016-03-25)

  • @misteroneill fixed typo and indenting in language files (view)

5.8.5 (2016-03-17)

  • @gkatsev cleared vttjs script handlers on dispose. Fixed tests (view)

5.8.4 (2016-03-17)

  • @gkatsev changed emulated tracks to in novtt to wait for vttjs to load or error before parsing (view)

5.8.3 (2016-03-10)

  • @gkatsev fixed keyboard control of menus with titles. Fixes #3164 (view)

5.8.2 (2016-03-09)

  • @gkatsev fixed chapters menu. Fixes #3062 (view)

5.8.1 (2016-03-07)

  • @gkatsev updated videojs badges in the README (view)
  • @BrandonOCasey converted remaining text-track modules to ES6 (view)
  • @gkatsev cleared waiting/spinner on timeupdate. Fixes #3124 (view)
  • @BrandonOCasey updated text track unit tests to use full es6 syntax (view)
  • @defli added missing var to sandbox index.html example (view)
  • @defli fixed typo and updated Turkish translations (view)
  • @OwenEdwards fixed menu closing on ios, specifically ipad (view)

5.8.0 (2016-02-19)

  • @gkatsev added issue and PR templates for github (view)
  • @Nipoto added fa.json (farsi/persian lang file) (view)
  • @forbesjo updated travis to use latest firefox (view)
  • @Naouak updated time display to not change if values do not change (view)
  • @forbesjo updated track settings to not fail restoring settings when localStorage is not available (view)
  • @mister-ben Added en.json as localization template (view)
  • @misteroneill added alt css as video-js-cdn.css (view)

5.7.1 (2016-02-11)

  • @alex-phillips fixed reference to videojs-vtt.js dependency (view)
  • @gkatsev fixed minified videojs in IE8. Fixes #3064 and #3070 (view)

5.7.0 (2016-02-04)

  • @forbesjo updated emulated tracks to have listeners removed when they are removed (view)
  • @incompl improved the UX of time tooltips (view)
  • @gkatsev updated README to include links to plugins page and getting started and cleaner link to LICENSE (view)
  • @hartman Corrected adaptive layout selectors to match their intent (view)
  • @mister-ben updated Umuted to Unmute in lang files (view)
  • @hartman updated fullscreen and time controls for more consistent widths (view)
  • @hartman Set a min-width for the progress slider of 4em (view)
  • @misteroneill fixed iphone useragent detection (view)
  • @erikyuzwa added ability to add child component at specific index (view)

5.6.0 (2016-01-26)

  • @OwenEdwards added ClickableComponent. Fixed keyboard operation of buttons (view)
  • @OwenEdwards Fixed menu keyboard access and ARIA labeling for screen readers (view)
  • @OwenEdwards Fixed volume menu keyboard access (view)
  • @mister-ben made $primary-foreground-color a !default sass var (view)
  • @OwenEdwards fixed double-localization of mute toggle control text (view)
  • @gkatsev checked muted status when updating volume bar level (view)
  • @vitor-faiante updated the guides (view)
  • @aril-spetalen added language support for Norwegian (nb and nn) (view)
  • @CoWinkKeyDinkInc fixed table in Tracks guide. Replaced some single quotes with double quotes (view)
  • @hubdotcom changed URLs in README to be protocol-relative (view)
  • @gkatsev updated to latest videojs-ie8 shim (view)

5.5.3 (2016-01-15)

  • @gkasev updated vjs to correctly return already created player when given an element (view)
  • @mister-ben updated CDN urls in setup guide (view)
  • @rcrooks fixed a couple of docs link and a jsdoc comment (view)

5.5.2 (2016-01-14)

  • make sure that styleEl_ is in DOM before removing on dispose (view)

5.5.1 (2016-01-08)

  • @gkatsev fixed sass if else for icons (view)

5.5.0 (2016-01-07)

  • @hartman fixed usage of lighten in progress component. Fixes #2793 (view)
  • @misteroneill exposed createEl on videojs (view)
  • @huitsing updated docstrings for autoplay and loop methods (view)
  • @rcrooks fixed some broken links in guides (view)
  • @forbesjo fixed errorDisplay erroring on subsequent openings (view)
  • @incompl updated build command in (view)
  • @forbesjo updated player to not autoplay if there is no source (view)
  • @gkatsev updated css to have ascii codepoints for fonticons. Expose new scss file (view)

5.4.6 (2015-12-22)

  • @gkatsev fixed vertical slider alignment in volume menu button (view)

5.4.5 (2015-12-15)

  • @gkatsev added mouse/touch listeners to volume menu button (view)
  • @gkatsev updated styles for inline menu and volume bar (view)
  • @BrandonOCasey updated sandbox to to use newer CDN urls (view)
  • @hartman updated options guide doc (view)
  • @rcrooks fixed simple embed example (view)

5.4.4 (2015-12-09)

  • @gkatsev switched to use custom vtt.js from npm (view)

5.4.3 (2015-12-08)

  • @gkatsev updated options customizer and github-release options (view)

5.4.2 (2015-12-08)

  • @gkatsev updated grunt-release config (view)

5.4.1 (2015-12-08)

  • @misteroneill updated videojs-ie8 to 1.1.1 (view)
  • @gkatsev added Player#tech. Fixes #2617 (view)
  • @nick11703 changed multiline comments in sass with single-line comments (view)
  • @gkatsev added a Player#reset method. Fixes #2852 (view)
  • @chemoish emulated HTMLTrackElement to enable track load events (view)
  • @gkatsev added nullcheck for cues in updateForTrack. Fixes #2870 (view)
  • @gkatsev added ability to release next tag from master (view)
  • @gkatsev added chg- and github- release for next releases (view)

5.3.0 (2015-11-25)

  • @forbesjo updated formatTime to not go negative (view)
  • @imbcmdth added sourceOrder option for source-first ordering in selectSource (view)

5.2.4 (2015-11-25)

  • @gesinger checked for track changes before tech started listening (view)
  • @gesinger fixed handler explosion for cuechange events (view)
  • @mmcc fixed vertical volume (view)

5.2.3 (2015-11-24)

  • @gkatsev fixed clearing out errors (view)

5.2.2 (2015-11-23)

  • @DatTran fixed bower paths. Fixes #2740 (view)
  • @nbibler ensured classes begin with alpha characters. Fixes #2828 (view)
  • @bcvio fixed returning current source rather than blob url (view)
  • @tomaspinho added ended event to API docs (view)
  • @paladox updated xhr from deprecated ver to v2.2 (view)

5.2.1 (2015-11-16)

  • @dmlap Check a component is a function before new-ing (view)
  • @ksjun corrected the registerTech export (view)

5.2.0 (2015-11-10)

  • @gkatsev made initListeners more general and added Tech.isTech. Fixes #2767 (view)
  • @dmlap updated swf to 5.0.1 (view)
  • @gkatsev added a tech registry. Fixes #2772 (view)
  • @Lillemanden impoved logic for dividing RTMP paths (view)
  • @bdeitte added a test for improved RTMP path dividing logic (view)
  • @paladox updated grunt-cli dependency (view)
  • @paladox updated grunt-contrib-jshint (view)
  • @siebrand updated dutch translations (view)
  • @misteroneill exposed DOM helpers (view)
  • @incompl fixed broken link to reduced test cases article (view)
  • @zjruan updated text track prototype loops to blacklist constructor for IE8 (view)
  • @gkatsev fixed usage of textTracksToJson (view)
  • @gkatsev updated contrib.json to use / as branch-name separator in feature-accept (view)
  • @gkatsev updated MediaLoader to check for techs in their registry (view)

5.1.0 (2015-11-02)

  • @typcn bumped grunt-sass to ^1.0.0 to support node 4.x (view)
  • @gkatsev removed unhelpful isCrossOrigin test (view)
  • @forbesjo updated karma to use all installed browsers for unit tests (view)
  • @forbesjo removed android/ios tests to increase build stability (view)
  • @nickygerritsen added canPlayType method to player (view)
  • @gkatsev fixes track tests and ignored empty properties in tracks converter (view)
  • @misteroneill added a modal dialog (view)
  • @misteroneill removed z-index from big play button (view)
  • @DaveVoyles updated URL to player API docs (view)
  • @ (view)
  • @kahwee Fixed sandbox plugin example to work in Video.js 5 (view)
  • @Soviut Fixed argument names in some API docs (view)
  • @forbesjo Added Microsoft Caption Maker link (view)
  • @misteroneill updated modal dialog CSS (view)
  • @misteroneill Add browserify
  • @brkattk updated emulateTextTrack to exit early if no textTracks (view)
  • @chemoish Fix captions sticking to bottom for webkit browsers. Fixes #2193 (view)
  • @imbcmdth Deferred the implementation of select functions in the tech to source handlers if they provide them (view)

5.0.2 (2015-10-23)

  • @imbcmdth fixed an issue with emulateTextTracks being called before the tech dom was ready (view)
  • @gkatsev bumped obj.assign to fix uncaught SecurityError in iframes. Fixes #2703 (view)
  • @gkatsev updated contrib update and have contrib release only update local branches (view)
  • @gkatsev bumped chg to fix stalling issues (view)

5.0.0 (2015-09-29)

  • @carpasse infer MIME types from file extensions in the HTML5 and Flash techs (view)
  • @mmcc updated the slider to allow for vertical orientation (view)
  • @dmlap removed an ie6 hack for flash object embedding (view)
  • @heff replaced Closure Compiler with Uglify for minification (view)
  • @OleLaursen added a Danish translation (view)
  • @dn5 Added new translations (Bosnian, Serbian, Croatian) (view)
  • @mmcc (and others) converted the whole project to use ES6, Babel and Browserify (view)
  • @heff converted all classes to use ES6 classes (view)
  • @mmcc added ES6 default args and template strings (view)
  • @dconnolly replaced JSON.parse with a safe non-eval JSON parse (view)
  • @mmcc added a new default skin, switched to SASS, modified the html (view)
  • @gkatsev removed event.isDefaultPrevented in favor of event.defaultPrevented (view)
  • @heff added and extends function for external subclassing (view)
  • @forbesjo added the scrubbing property (view)
  • @heff switched to border-box sizing for all player elements (view)
  • @forbesjo added a vjs-button class to button controls (view)
  • @bc-bbay Load plugins before controls (view)
  • @bc-bbay rename onEvent methods to handleEvent (view)
  • @dmlap added an error message if techOrder is not in options (view)
  • @dconnolly exported the missing videojs.plugin function (view)
  • @mmcc added back the captions settings styles (view)
  • @gkatsev updated the component.js styles to match the new style guide (view)
  • @gkatsev added error logging for bad JSON formatting (view)
  • @gkatsev added a sensible toJSON function (view)
  • @bc-bbay fixed instance where progress bars would go passed 100% (view)
  • @eXon began Tech 2.0 work, improved how tech events are handled by the player (view)
  • @gkatsev added get and set global options methods (view)
  • @heff added support for fluid widths, aspect ratios, and metadata defaults (view)
  • @heff reorganized all utility functions in the codebase (view)
  • @eXon made additional tech 2.0 improvements listed in #2126 (view)
  • @heff Cleaned up and documented src/js/video.js and DOM functions (view)
  • @mmcc Changed to pure CSS slider handles (view)
  • @mister-ben updated language support to handle language codes with regions (view)
  • @heff changed the 'ready' event to always be asynchronous (view)
  • @heff fixed instances of tabIndex that did not have a capital I (view)
  • @heff fixed a number of IE8 and Flash related issues (view)
  • @heff Reverted .video-js inline-block style to fix Flash fullscreen (view)
  • @mmcc switched to using button elements for button components (view)
  • @mmcc increased the size of the progress bar and handle on hover (view)
  • @mmcc moved the fonts into their own repo (view)
  • @mmcc deprecated the options() function and removed internal uses (view)
  • @carpasse enhanced events to allow passing a second data argument (view)
  • @bc-bbay made the duration display update itself on loadedmetadata (view)
  • @arwidt added Swedish and Finnish translations (view)
  • @heff moved all the CDN logic into videojs/cdn (view)
  • @mmcc fixed the progress handle transition jerkiness (view)
  • @dmlap added support for the seekable property (view)
  • @mmcc un-hid the current and remaining times by default (view)
  • @pavelhoral fixed a bug with user activity that caused the control bar to flicker (view)
  • @dmlap updated to videojs-swf@4.7.1 to fix a video dimensions issue on subsequent loads (view)
  • @mmcc added the vjs-big-play-centered class (view)
  • @thijstriemstra added a logged error when a plugin is missing (view)
  • @gkatsev fixed the texttrackchange event and text track display for non-native tracks (view)
  • @mischizzle fixed event.relatedTarget in Firefox (view)
  • @mboles updated JSDoc comments everywhere to prepare for new docs (view)
  • @mmcc added a currentTime tooltip to the progress handle (view)
  • @pavelhoral fixed subclassing without a constructor (view)
  • @dmlap fixed a vjs_getProperty error caused by a progress check before the swf was ready (view)
  • @dmlap exported the videojs.log function (view)
  • @gkatsev updated vttjs to fix a trailing comma JSON error (view)
  • @gkatsev exported the videojs.bind() function (view)
  • Insert cloned el back into DOM. Fixes #2214 (view)
  • @heff sped up testing (view)
  • pass fs state to player from enterFullscreen, split full-window styles into their own selector (view)
  • Fixed vertical option for volumeMenuButton (view)
  • @dmlap switched events to not bubble by default (view)
  • @dmlap export videojs.createTimeRange (view)
  • @dmlap export a basic played() on techs (view)
  • @dmlap use seekable on source handlers when defined (view)
  • @dmlap fire seeking in the flash tech, not the SWF (view)
  • @dmlap expose the xhr helper utility (view)
  • @misteroneill fixed internal extends usage and added a deprecation warning (view)
  • @eXon added the poster to the options the tech receives (view)
  • @eXon made sure the volume persists between tech changes (view)
  • @eXon added the language to the options the tech receives (view)
  • @mmcc Added "inline" option to MenuButton and updated VolumeMenuButton to be able to utilize it (view)
  • @misteroneill restore some properties on window.videojs. (view)
  • @misteroneill restore some 4.x utilities and remove deprecated functionality (view)
  • @heff use a synchronous ready() internally (view)
  • @nickygerritsen scrubbing() is a method, not a property (view)
  • @sirlancelot change "video" to "media" in error messages (view)
  • @nickygerritsen use the default seekable when a source handler is unset (view)
  • @gkatsev always use emulated TextTrackLists so tracks survive tech switches (view)
  • @misteroneill restore Html5.Events (view)
  • @misteroneill removed the deprecated Component init method (view)
  • @misteroneill restore videojs.formatTime (view)
  • @misteroneill include child components with `true` in options (view)
  • @misteroneill create video.novtt.js in dist builds (view)
  • @misteroneill pass vtt.js option to tech (view)
  • @forbesjo updated the sauce labs config and browser versions (view)
  • @mmcc made sure controls respect muted attribute (view)
  • @dmlap switched global options back to an object at videojs.options (view)
  • @ogun fixed a typo in the Turkish translation (view)
  • @gkatsev fixed text track errors on dispose and in cross-browser testing (view)
  • @mmcc added type=button to button components (view)
  • @mmcc Fixed IE by using setAttribute to set 'type' property (view)
  • @misternoneill fixed vertical slider issues (view)
  • @gkatsev moved default and player dimensions to style els at the top of HEAD (view)
  • @gkatsev moved default and player dimensions to style els at the top of HEAD el (view)
  • @gkatsev removed non-default track auto-disabling (view)
  • @gkatsev exported event helpers on videojs object (view)
  • @nickygerritsen fixed texttrack handling in IE10 (view)
  • @gkatsev deep clone el for iOS to preserve tracks (view)
  • @forbesjo switched automated testing to BrowserStack (view)
  • @gkatsev fixed nativeControlsForTouch handling. Defaults to native controls on iphone and native android browsers. (view)
  • @heff fixed cross-platform track tests by switching to a fake tech (view)
  • @gkatsev improved tech controls listener handling. (view)
  • @dmlap move seek on replay into the flash tech (view)
  • @dmlap @gkatsev improve Flash tech error property and add an error setter to the base tech (view)
  • @dmlap update to videojs-swf 5.0.0-rc1 (view)
  • @dmlap expose start and end buffered times (view)
  • @heff fixed a number of console errors after testing (view)
  • @gkatsev made the sass files available via npm in src/css (view)
  • @heff removed playerOptions from plugin options because it created an inconsistency in plugin inits (view)
  • @heff added a default data attribute to fix the progress handle display in IE8 (view)
  • @heff added back the default cdn url for the swf (view)
  • @gkatsev fixed the default state of userActive (view)
  • @heff fixed event bubbling in IE8 (view)
  • @heff cleaned up internal duration handling (view)
  • @heff fixed the UI for live streams (view)
  • @gkatsev updated opacity of caption settings background color (view)
  • @gkatsev made all sass variables !default (view)
  • @heff fixed the inline volume control and made it the default (view)
  • @forbesjo fixed webkit deprecation warnings (view)
  • @forbesjo added Android and iOS browser testing (view)
  • @heff improved css selector strengths (view)
  • @heff moved scss vars to be private (view)
  • @heff added a fancy loading spinner (view)
  • @gkatsev added a mouse-hover time display to the progress bar (view)
  • @heff added an attributes argument to createEl() (view)
  • @heff made tech related functions private in the player (view)
  • @heff removed the loadedalldata event (view)
  • @dmlap switched to using raynos/xhr for requests (view)
  • @heff Fixed double loadstart and ready events (view)
  • @gkatsev fixed potential double default style elements (view)
  • @imbcmdth extended createTimeRange to support multiple timeranges (view)
  • @misteroneill rename "extends" to "extend" for ie8 (view)
  • @forbesjo removed the PhantomJS dependency (view)
  • @misteroneill re-exposed videojs.TextTrack (view)
  • @heff removed a second copy of video.novtt.js from dist (view)
  • @heff fixed timeranges deprecation warnings in tests (view)
  • @misteroneill updated play control to use its state for icon (view)
  • @gkatsev exposed isCrossOrigin and used it to enable CORS for textTrack XHRs (view)
  • @misteroneill fixed tsml to be used as a tag for template strings (view)
  • @eXon added support for a tech-supplied poster (view)
  • @heff improved some skin defaults for external styling (view)
  • @heff changed component child lists to arrays instead of objects (view)

4.12.15 (2015-08-31)

  • @dmlap update to videojs-swf 4.7.4 (view)
  • @bc-bbay migrate seeking on replay to the flash tech (view)
  • Updated to v4.7.5 of the swf (view)

4.12.14 (2015-08-21)

  • @gkatsev removed non-default track auto-disabling (view)

4.12.13 (2015-08-10)

  • @dmlap update to videojs-swf v4.7.3 (view)

4.12.12 (2015-07-23)

  • @imbcmdth updated source handlers to use bracket notation so they wont break when using minified videojs (view)
  • @imbcmdth fix potential triggerReady infinite loop (view)

4.12.11 (2015-07-09)

  • @saxena-gaurav updated swf to 4.7.2 to fix flash of previous video frame (view)
  • @gkatsev updated the vtt.js version to fix JSON issues (view)
  • @dmlap fixed an error caused by calling vjs_getProperty on the swf too early (view)

4.12.10 (2015-06-23)

  • @dmlap update to video-js-swf 4.7.1 (view)
  • @imbcmdth src() should not return blob URLs with MSE source handlers (view)

4.12.9 (2015-06-15)

  • @imbcmdth updated currentSrc to return src instead of blob urls in html5 tech. Fixes #2232 (view)
  • @imbcmdth fixed async currentSrc behavior (view)

4.12.8 (2015-06-05)

  • @dmlap add the seekable property (view)
  • @dmlap fix seekable export (view)

4.12.7 (2015-05-19)

  • @tjenkinson Added background-color to vjs-poster to remove transparent borders around scaled poster image (view)
  • @bc-bbay fixed a bug where the player would try to autoplay when there was no source (view)
  • @bc-bbay update time display on loadedmetadata (view)
  • @dmlap update swf to 4.7 to pick up preload fix (view)

4.12.6 (2015-05-07)

  • @saxena-gaurav fixed a bug from disposing after changing techs (view)

4.12.5 (2015-03-17)

  • Updated to videojs-swf v4.5.4 to fix a potential security issue (view)

4.12.4 (2015-03-05)

  • Randomized the Google Analytics calls to stay under the limit (view)

4.12.3 (2015-02-28)

  • @heff fixed setting the source to an empty string (view)

4.12.2 (2015-02-27)

  • @gkatsev fixed disabling of default text tracks (view)

4.12.1 (2015-02-19)

  • @gkatsev fixed the track list reference while switching techs that use emulated tracks (view)
  • @gkatsev fixed a Firefox error with the captions settings select menu options (view)

4.12.0 (2015-02-17)

  • @PeterDaveHello added a Traditional Chinese translation (view)
  • @mmcc updated the hide/show functions to use a class instead of inline styles (view)
  • @mister-ben added better handling of the additional videojs() arguments when the player is already initialized (view)
  • @anhskohbo added a Vietnamese translation (view)
  • @Sxmanek added a Czech translation (view)
  • @jcaron23 added the vjs-scrubbing CSS class and prevented menus from showing while scrubbing (view)
  • @dmlap fixed URL parsing in IE9 (view)
  • @gkatsev Fixed issue where ManualTimeUpdatesOff was not de-registering events (view)
  • @brycefisher Added a guide on player disposal (view)
  • @toniher added a Catalan translation (view)
  • @mmcc added a VERSION key to the videojs object (view)
  • @mmcc fixed an issue with text track hiding introduced in #1681 (view)
  • @dmlap exported video.js as a named AMD module (view)
  • @dmlap fixed poster hiding when the loadstart event does not fire (view)
  • @chikathreesix fixed an object delete error in Chrome (view)
  • @steverandy fixed an issue with scrolling over the player on touch devices (view)
  • @mmcc improved tap sensitivity (view)
  • @mister-ben added a vjs-ended class when playback reaches the end of the timeline (view)
  • @dmlap Add network and ready state properties (view)
  • @woollybogger exported the hasClass function (view)
  • @DevGavin fixed the Chinese translation (view)
  • @iSimonWeb added font-path variable (view)
  • @shoshomiga added a Bulgarian translation (view)
  • @ragecub3 added a Turkish translation (view)
  • @gkatsev greatly improved text track support and implemented vtt.js as the webvtt parser (view)
  • @gkatsev fixed captions showing by default in Chrome and Safari (view)
  • @mister-ben fixed a woff warning in Firefox (view)

4.11.4 (2015-01-23)

  • @heff exported missing source handler functions (view)
  • @heff fixed type support checking for an empty src string (view)
  • @carpasse fixed a bug in updating child indexes after removing components (view)
  • @dmlap fixed a bug where native controls would show after switching techs (view)
  • @H1D fixed an issue with file extension type detection (view)
  • @bclwhitaker updated to v4.5.3 of video-js-swf (view)

4.11.3 (2014-12-19)

  • @gdkraus fixed a bug where you could no longer tab-navigate passed a menu button (view)
  • @matteos exported the setSource functions so source handlers will work in the minified version (view)
  • @matteos fixed RTMP playback (view)

4.11.2 (2014-12-17)

  • @mmcc fixed a bug where the playback rate menu would not open (view)
  • @gkatsev fixed an issue with source handlers that caused subclasses of source handler classes to break (view)

4.11.1 (2014-12-04)

  • @heff fixed a code bug in track XHR requests (view)

4.11.0 (2014-12-04)

  • @rutkat updated sliders to use keydown instead of keyup for more responsive key control (view)
  • @toloudis fixed an issue with checking for an existing source on the video element (view)
  • @rafalwrzeszcz fixed the Flash object tag markup for strict XML (view)
  • @thijstriemstra fixed a number of typos in the docs (view)
  • @heff added the Source Handler interface for handling advanced formats including adaptive streaming (view)
  • @azawawi added an Arabic translation (view)
  • @mmcc added functions for better timeout and interval handling (view)
  • @mmcc fixed the vdata exception when you dispose a player with tracks (view)
  • @nemesreviz added a Hungarian translation (view)
  • @heff updated the SWF to the latest version (view)

4.10.2 (2014-10-30)

  • @heff fixed checking for child options in the parent options to allow for 'false' (view)
  • @heff fixed the VolumeMenuButton options to allow passing 'vertical' to the VolumeBar (view)
  • @mmcc fixed localization of captions/subtitles menu off buttons (view)

4.10.1 (2014-10-29)

@heff removed his own stupid error view

4.10.0 (2014-10-28)

  • @aptx4869 fixed an issue where the native JSON parser wasn't used (view)
  • @andekande improved the German translation (view)
  • @OlehTsvirko added a Ukrainian translation (view)
  • @OlehTsvirko added a Russian translation (view)
  • @thijstriemstra added a Dutch translation (view)
  • @heff updated the poster to use CSS styles to display; fixed the poster not showing if not originally set (view)
  • @mmcc fixed an issue where errors on source tags could get missed (view)
  • @heff enhanced the event listener API to allow for auto-cleanup of listeners on other componenets and elements (view)
  • @mmcc fixed an issue with the VolumeButton assuming it was vertical by default (view)
  • @DevGavin added a Simplified Chinese translation (view)
  • @heff Added the ability to set options for child components directly in the parent options (view)
  • @heff turned on the custom html controls for touch devices (view)

4.9.1 (2014-10-15)

  • Bumped to videojs-swf v4.5.1 to fix a data sanitization issue (view)

4.9.0 (2014-09-30)

  • @deedos added a Brazilian Portuguese translation (view)
  • @baloneysandwiches added a hasClass method (view)
  • @mynameisstephen fixed an issue where slider event listeners were not being cleaned up (view)
  • @alexrqs cleaned up the Spanish translation (view)
  • @t2y added a Japanese translation (view)
  • @chikathreesix fixed an issue where data-setup options could be missed (view)
  • @seniorflexdeveloper added new translations and translation updates (view)
  • @chikathreesix exported the videojs.Flash.embed method (view)
  • @doublex fixed an issue with IE7 backwards compatibility (view)
  • @mmcc made it possible to override the font-size of captions and subtitles (view)
  • @philipgiuliani added an Italian translation (view)
  • @twentyrogersc fixed the return value when setting the poster source (view)
  • @heff updated to swf v4.5.0 to fix event issues (view)
  • @rpless made the VolumeMenuButton volume more accesible via tab navigation (view)
  • @mmcc added support for audio tags (html5 audio only) (view)

4.8.5 (2014-09-25)

  • Updated to the latest version of the swf to fix HLS playback (view)

4.8.4 (2014-09-23)

  • @gkatsev fixed isFullscreen reporting on iOS devices (view)

4.8.3 (2014-09-22)

  • @heff updated to the latest version of the SWF to 4.4.4 (view)

4.8.2 (2014-09-16)

  • @gkatsev fixed an IE11 bug where pause was not fired when the video ends (view)

4.8.1 (2014-09-05)

  • @dmlap fixed an issue where an error could be fired after player disposal (view)
  • @dmlap fixed poster error handling (view)
  • @dmlap fixed an issue with languages and subclassing the player (view)
  • @mmcc fixed a few CSS issues with the poster and the error 'X' (view)
  • @MrVaykadji and @Calinou added a french translation (view)
  • @heff fixed an internal deprecation warning and missing deprecated functions (view)

4.8.0 (2014-09-03)

  • @andekande added a German translation (view)
  • @mattosborn fixed a bug where getting the video element src would overwrite it (view)
  • @songpete fixed a bug where keyboard events were bubbling and causing additional actions (view)
  • @knabar made the inactivity timeout configurable (view)
  • @seniorflexdeveloper added language files to the distribution for including specific languages (view)
  • @gkatsev improved handling of null and NaN dimension values (view)
  • @gkatsev fixed an issue where the controls would break if Flash was initialized too quickly (view)
  • @mmcc fixed an issue where if no playback tech was supported the error could not be caught (view)

4.7.3 (2014-08-20)

  • Added function for adding new language translations, updated docs, and fixed the notSupportedMessage translation (view)
  • Exposed the player.selectSource method to allow overriding the source selection order (view)

4.7.2 (2014-08-14)

  • Fixed a case where timeupdate events were not firing, and fixed and issue with the Flash player version (view)

4.7.1 (2014-08-06)

  • Fixed the broken bower.json config (view)

4.7.0 (2014-08-05)

  • Added cross-browser isArray for cross-frame support. fixes #1195 (view)
  • Fixed support for webvtt chapters. Fixes #676. (view)
  • Fixed issues around webvtt cue time parsing. Fixed #877, fixed #183. (view)
  • Fixed an IE11 issue where clicking on the video wouldn't show the controls (view)
  • Added a composer.json for PHP packages (view)
  • Exposed the vertical option for slider controls (view)
  • Fixed an error when disposing a tech using manual timeupdates (view)
  • Exported missing Player API methods (remainingTime, supportsFullScreen, enterFullWindow, exitFullWindow, preload) (view)
  • Added a base for running saucelabs tests from grunt (view)
  • Added additional browsers for saucelabs testing (view)
  • Added support for listening to multiple events through a types array (view)
  • Exported the vertical option for the volume slider (view)
  • Fixed Component trigger function arguments and docs (view)
  • Now copying all attributes from the original video tag to the generated video element (view)
  • Added files to be ignored in the bower.json (view)
  • Fixed an error that could happen if Flash was diposed before the ready callback was fired (view)
  • The up and down arrows can now be used to control sliders in addition to left and right (view)
  • Added a player.currentType() function to get the MIME type of the current source (view)
  • Fixed a potential conflict with other event listener shims (view)
  • Added support for multiple time ranges in the load progress bar (view)
  • Added vjs-waiting and vjs-seeking css classnames and updated the spinner to use them (view)
  • Now restoring the original video tag attributes on a tech change to support webkit-playsinline (view)
  • Fixed an issue where the user was unable to scroll/zoom page if touching the video (view)
  • Added "sliding" class for when slider is sliding to help with handle styling (view)

4.6.4 (2014-07-11)

  • Fixed an issue where Flash autoplay would not show the controls (view)

4.6.3 (2014-06-12)

  • Updated to version 4.4.1 of the SWF (view)
  • Fixed a minification issue with the fullscreen event. fixes #1282 (view)

4.6.2 (2014-06-10)

  • Fixed an issue with the firstplay event not firing when autoplaying (view)

4.6.1 (2014-05-20)

  • Udpated playbackRate menu to work in minified version (view)

4.6.0 (2014-05-20)

  • Updated the UI to support live video (view)
  • The UI now resets after a source change (view)
  • Now assuming smart CSS defaults for sliders to prevent reflow on player init (view)
  • Fixed the title element placement in menus [view]
  • Fixed title support for menu buttons (view)
  • Fixed extra mousemove events on Windows caused by certain apps, not users [view]
  • Fixed error due to undefined tech when no source is supported [view]
  • Fixed the progress bar not finishing when manual timeupdate events are used [view]
  • Added a more informative and styled fallback message for non-html5 browsers [view]
  • Added the option to provide an array of child components instead of an object [view]
  • Fixed casing on webkitRequestFullscreen [view]
  • Made tap events on mobile less sensitive to touch moves [view]
  • Fixed the default flag for captions/subtitles tracks [view]
  • Fixed compilation failures with LESS v1.7.0 and GRUNT v0.4.4 [view]
  • Added better error handling across the library [view]
  • Updated captions/subtiles file fetching to support cross-origin requests in older IE browsers [view]
  • Added support for playback rate switching [view]
  • Fixed an issue with the loadstart event order that caused the big play button to not hide [view]
  • Modernized the fullscreen API and added support for IE11 [view]
  • Added cross-browser testing with SauceLabs, and added Karma as the default test runner (view)
  • Fixed saucelabs integration to run on commits in TravisCI (view)
  • Added a clearer error message when a tech is undefined (view)
  • Added a cog icon to the font icons (view)
  • Added a player option to offset the subtitles/captions timing (view)

4.5.2 (2014-04-12)

  • Updated release versioning to include bower.json and component.json

4.5.1 (2014-03-27)

  • Fixed a bug from the last release where canPlaySource was no longer exported

4.5.0 (2014-03-27)

  • Added component(1) support (view)
  • Captions now move down when controls are hidden (view)
  • Added the .less source file to the distribution files (view)
  • Changed src() to return the current selected source (view)
  • Added a grunt task for opening the next issue that needs addressing (view)
  • Fixed Android 4.0+ devices' check for HLS support (view)

4.4.3 (2014-03-06)

  • Fixed bugs in IE9 Windows 7N with no Media Player (view)
  • Fixed a bug with setPoster() in the minified version (view)

4.4.2 (2014-02-24)

  • Fixed module.exports in minified version (view)

4.4.1 (2014-02-18)

  • Added .npmignore so dist files wouldn't be ignored in packages

4.4.0 (2014-02-18)

  • Made the poster updateable after initialization (view)
  • Exported more textTrack functions (view)
  • Moved player ID generation to support video tags with no IDs (view)
  • Moved to using QUnit as a dependency (view)
  • Added the util namespace for public utility functions (view)
  • Fixed an issue with calling duration before Flash is loaded (view)
  • Added player methods to externs so they can be overridden (view)
  • Fixed html5 playback when switching between media techs (view)
  • Fixed Firefox+Flash mousemove events so controls don't hide permanently (view)
  • Fixed a test for touch detection (view)
  • Updated the src file list for karma tests (view)
  • Added more tests for API properties after minification (view)
  • Updated projet to use npm version of videojs-swf (view)
  • Added support for dist zipping on windows (view)
  • Fixed iOS fullscreen issue (view)
  • Fixed touch event bubbling (view)
  • Fixed ARIA role attribute for button and slider (view)
  • Fixed an issue where a component's dispose event would bubble up (view)
  • Quieted down deprecation warnings (view)
  • Updated the seek handle to contain the current time (view)
  • Added requirejs and browserify support (UMD) (view)

4.3.0 (2013-11-04)

  • Added Karma for cross-browser unit testing (view)
  • Unmuting when the volume is changed (view)
  • Fixed an accessibility issue with the big play button (view)
  • Exported user activity methods (view)
  • Added a classname to center the play button and new spinner options (view)
  • Added API doc generation (view)
  • Added support for codecs in Flash mime types (view)

4.2.2 (2013-10-15)

  • Fixed a race condition that would cause videos to fail in Firefox (view)

4.2.1 (2013-09-09)

  • Fixed an infinite loop caused by loading the library asynchronously (view)

4.2.0 (2013-09-04)

  • Added LESS as a CSS preprocessor for the default skin (view)
  • Exported MenuButtons for use in the API (view)
  • Fixed ability to remove listeners added with one() (view)
  • Updated buffered() to account for multiple loaded ranges (view)
  • Exported createItems() for custom menus (view)
  • Preventing media events from bubbling up the DOM (view)
  • Major reworking of the control bar and many issues fixed (view)
  • Fixed an issue with minifiying the code on Windows systems (view)
  • Added support for RTMP streaming through Flash (view)
  • Made tech.features available to external techs (view)
  • Minor code improvements (view)
  • Updated time formatting to support NaN and Infinity (view)
  • Fixed an undefined error in cases where no tech is loaded (view)
  • Exported addClass and removeClass for player components (view)
  • Made the fallback message customizable (view)
  • Fixed an issue with the loading spinner placement and rotation (view)
  • Fixed an issue with fonts being flaky in IE8

4.1.0 (2013-06-28)

  • Turned on method queuing for unready playback technologies (flash) view
  • Blocking user text selection on player components view
  • Exported requestFullScreen() and cancelFullScreen() in the minified version view
  • Exported the global players reference, videojs.players view
  • Added google analytics to the CDN version (view)
  • Exported fadeIn/fadeOut for the Component API (view)
  • Fixed an IE poster error when autoplaying (view)
  • Exported bufferedPercent for the API (view)
  • Augmented user agent detection, specifically for Android versions (view)
  • Fixed IE9 canPlayType error (view)
  • Fixed various issues with captions (view)

4.0.4 (2013-06-11)

  • Added google analytics to current CDN version. (view)

4.0.3 (2013-05-28)

  • Fixed an bug with exiting fullscreen. view

4.0.2 (2013-05-23)

  • Correct version number for CDN swf url. Minify CSS. view

4.0.1 (2013-05-22)

  • Fixed old IE font loading view

4.0.0 (2013-05-09)

  • Improved performance through an 18% size reduction using Google Closure Compiler in advanced mode
  • Greater stability through an automated cross-browser/device test suite using TravisCI, Bunyip, and Browserstack.
  • New plugin interface and plugin listing for extending Video.js
  • New default skin design that uses font icons for greater customization
  • Responsive design and retina display support
  • Improved accessibility through better ARIA support
  • Moved to Apache 2.0 license
  • 100% JavaScript development tool set including Grunt
  • Updated docs to use Github markdown
  • Allow disabling of default components
  • Duration is now setable (need ed for HLS m3u8 files)
  • Event binders (on/off/one) now return the player instance
  • Stopped player from going back to beginning on ended event
  • Added support for percent width/height and fluid layouts
  • Improved load order of elements to reduce reflow
  • Changed addEvent function name to 'on'
  • Removed conflicting array.indexOf function
  • Added exitFullScreen to support BlackBerry devices (pull/143)

3.2.0 (2012-03-20)

  • Updated docs with more options.
  • Overhauled HTML5 Track support.
  • Fixed Flash always autoplaying when setting source.
  • Fixed localStorage context
  • Updated 'fullscreenchange' event to be called even if the user presses escape to exit fullscreen.
  • Automatically converting URsource URL to absolute for Flash fallback.
  • Created new 'loadedalldata' event for when the source is completely downloaded
  • Improved player.destroy(). Now removes elements and references.
  • Refactored API to be more immediately available.


  • 3.2.1 (2012-04-06) Fixed setting width/height with javascript options
  • 3.2.2 (2012-05-02) Fixed error with multiple controls fading listeners
  • 3.2.3 (2012-11-12) Fixed chrome spinner continuing on seek

3.1.0 (2012-01-30)

  • Added CSS fix for Firefox 9 fullscreen (in the rare case that it's enabled)
  • Replaced swfobject with custom embed to save file size.
  • Added flash iframe-mode, an experimental method for getting around flash reloading issues.
  • Fixed issue with volume knob position. Improved controls fading.
  • Fixed ian issue with triggering fullscreen a second time.
  • Fixed issue with getting attributes in Firefox 3.0
  • Escaping special characters in source URL for Flash
  • Added a check for if Firefox is enabled which fixes a Firefox 9 issue
  • Stopped spinner from showing on 'stalled' events since browsers sometimes don't show that they've recovered.
  • Fixed CDN Version which was breaking dev.html
  • Made full-window mode more independent
  • Added rakefile for release generation

3.0.0 (2012-01-10)

  • Same HTML/CSS Skin for both HTML5 and Flash video
  • Super lightweight Flash fallback player for browsers that don’t support HTML5 video
  • Free CDN hosting


  • 3.0.2 (2012-01-12) Started tracking changes with zenflow
  • 3.0.3 (2012-01-12) Added line to docs to test zenflow
  • 3.0.4 (2012-01-12) Fixing an undefined source when no sources exist on load
  • 3.0.5 (2012-01-12) Removed deprecated event.layerX and layerY
  • 3.0.6 (2012-01-12) Fixed wrong URL for CDN in docs
  • 3.0.7 (2012-01-12) Fixed an ie8 breaking bug with the poster
  • 3.0.8 (2012-01-23) Fixed issue with controls not hiding in IE due to no opacity support