Skip to content
Branch: master
Find file Copy path
Find file Copy path
4 contributors

Users who have contributed to this file

@rafa8626 @johndyer @marcobiedermann @berryamin
1425 lines (1136 sloc) 92.2 KB

Version History

4.2.10 (2019/04/17)

4.2.9 (2018/03/27)

4.2.8 (2018/01/16)

4.2.7 (2017/11/17)

  • Fixed issue with setFillMode when using cross-domain URLs in iframe @rafa8626
  • Added new proxyType and streamDelimiter variables to Flash video to support RTMPS compatibility @rafa8626
  • Fixed issues with renderers when trying to use muted property while using MediaElement shim @rafa8626
  • Fixed typo with Twitch renderer related to trigger mouse events @rafa8626
  • Fixed typo when assigning options to Dailymotion renderer @rafa8626
  • Added missing workflow to set controls on YouTube, Facebook and Dailymotion renderers via controls property @rafa8626
  • Added missing playing event on Vimeo and Dailymotion renderer @rafa8626
  • Expanded regexp to accept 3-letter country codes and underscore for 4-letter country codes @rafa8626
  • Added init, getElement and buildfeatures methods for WP compatibility @rafa8626
  • Make setPoster method to work on mobile devices with native controls ( @lucash
  • Added missing conditional in native HLS and HTML5 renderer to test media files correctly to trigger error after testing all of them @rafa8626
  • Added jsDelivr badge ( @LukasDrgon
  • Fixed issue with visible method when getClientRects is not a function @rafa8626
  • Fixed issues with parseInt method not setting radix in some calls @rafa8626
  • Added missing argument in secondsToTimeCode method to check the time format given and display accordingly @rafa8626
  • Fixed issues related to duplicated calls when triggering error and fixed style for poster when error is displayed @rafa8626
  • Fixed issue with captions not being rendered inside video frame on any state @rafa8626
  • Integrated destroy method in MediaElement class @rafa8626
  • Added validation to modify SoundCloud iframe attributes when using video tag @rafa8626
  • Fixed issue when checking for native dimensions of video element to set responsive dimensions correctly @rafa8626
  • Added missing workflow to make loop work correctly in YouTube according to documentation @rafa8626
  • Changed paths for hls.js and flv.js renderers to always be up-to-date @rafa8626
  • Fixed issue with timecode displaying 60 seconds @rafa8626
  • Fixed JSDocs for some features @rafa8626

4.2.6 (2017/09/19)

  • Fixed positioning of progress bar tooltip @rafa8626
  • Added style to avoid flickering when using volume on Chrome @rafa8626
  • Fixed broken UUT @rafa8626
  • Added configs parameter for native FLV according to documentation for flv.js ( @xiaosongxiaosong
  • Added missing call to avoid further calls to attempt set the player's dimensions once removed @rafa8626
  • Fixed typo when checking error event and fixed workflow to loop multiple sources until valid one is found for html5 and native_hls renderers @rafa8626
  • Fixed workflow to enable/disable controls once error occurs and once user recovers from error @rafa8626
  • Fixed issue when no height attribute but style is set to create proper player dimensions @rafa8626
  • Use local variable for getComputedStyle polyfill to avoid recursion on Firefox ( @synthecypher
  • Fixed accessibility issues when using keyboard on focused progress bar and moved keyActions to their individual components @rafa8626
  • Fixed issues with progress bar tooltip when media duration is too long @rafa8626
  • Added new mejs variables needed for WordPress @rafa8626
  • Fixed issues with events fired in incorrect time for flash_video renderer @milax
  • Set specific settings for embedding flash object in Edge browser ( @milax
  • Added new constant to detect passive events and added conditional for touchstart events @rafa8626
  • Removed width and height from embed object to ensure Flash audio will play on Chrome ( @milax
  • Fixed issue with Caption/Chapters menus not selecting options properly when using mouse @rafa8626 and @Instagit
  • Removed black area when Flash player is used in audio player ( @milax
  • Fixed issue with poster option not being set if poster attribute is absent @rafa8626
  • Moved code inside player.js to corresponding features to restore original order or operations when creating layers @rafa8626
  • Added unmute command for Facebook renderer @rafa8626
  • Fixed events emitting and run handlers of active renderer only for Flash and HTML5 renderer ( @milax
  • Fixed issues when setting sources for Flash HLS renderer and added missing events @rafa8626
  • Upgraded hls.js to 0.8.2 version and flv.js to 1.3.3 version @rafa8626
  • Refactor Facebook renderer to solve issues when instantiating multiple videos and added new lang parameter to load language on SDK @rafa8626
  • Fixed typos in Twitch renderer that caused channels not to play properly @rafa8626
  • Fixed typos in Flash renderer to avoid issues with embed dimensions @rafa8626
  • Reintegrated old workflow to deal only with dash.js play errors @rafa8626
  • Updated documentation @rafa8626
  • Added documentation about MEJS installation through Bower ( @thompsonemerson

4.2.5 (2017/08/09)

  • Removed workflow that ignored MIME type to get a better media match @rafa8626
  • Fixed typos related to HLS MIME type and library version @rafa8626

4.2.4 (2017/08/08)

  • Added missing conditional to set current time properly for live streams (especially YouTube ones) @rafa8626
  • Fixed issues with Flash fallback for FLV and RTMP in regards of setting current time and other events @rafa8626
  • Fixed typos when setting poster for iOS and when destroying player @rafa8626
  • Fixed typo when setting default player caused issues on Firefox when extending MediaElementPlayer object @rafa8626
  • Fixed issue related to iframe renderers not resizing properly after using fullscreen @rafa8626
  • Updated RTMP and Dailymotion sources @rafa8626
  • Added useDefaultControls configuration to simplify list of features ( @rafa8626
  • Removed build/mediaelement.js in package.js to avoid duplication issues in Meteor and added missing languages @rafa8626
  • Removed unnecessary event un-bindings that caused errors on Edge @rafa8626
  • Added missing layer to display errors correctly on native renderers and added missing styles for errors; customError accepts a callback as well @rafa8626
  • Added missing translations; removed Brazilian Portuguese and added Catalan in demo file @rafa8626
  • Added forceLive configuration to hide progress bar and display Live Broadcast even when duration is a valid number @rafa8626
  • Fixed issues with Flash HLS renderer related to restarting video once ended @rafa8626
  • Added missing translations @rafa8626
  • Fixed issue with native M(PEG)-DASH assigned to MediaElement shim related to The play() request was interrupted error @rafa8626
  • Created workflow to remove/restore poster when using FB and iPhone and updated SDK version @rafa8626

4.2.3 (2017/07/22)

  • Fixed issue with setting default player causing some sources to autoplay @rafa8626
  • Added new useFakeFullscreen configuration element to bypass conditional when entering fullscreen and added CSS to hide native controls @rafa8626
  • Fixed issue with sequence of files when creating bundle @rafa8626
  • Updated FLV and HLS libraries @rafa8626
  • Cleaned stylesheet and fixed minor issues on demo file @rafa8626
  • Fixed issues when using setPoster method after player was initialized @rafa8626
  • Fixed issues with setSrc method duplicating events on the native renderers @rafa8626
  • Removed code to load media when playing considered unnecessary @rafa8626
  • Added mechanism in YouTube renderer to add YouTube's thumbnail as a poster using youtube's imageQuality parameter @rafa8626
  • Fixed typo on setFill mode and fixed issue with poster when using iOS @rafa8626
  • Fixed issue with M(PEG)-DASH renderer related to dash.js not picking settings from the renderer @rafa8626
  • Added missing dependency to player/library.js file ( @JulianKniephoff
  • Added missing code to explain how to use MediaElement with RequireJS @rafa8626
  • Integrated Flashls events to be processed by the player @rafa8626
  • Fixed test file when using JSDom and Mocha Chai @rafa8626
  • Changed arguments in M(PEG)-DASH native renderer to trigger correctly events @rafa8626

4.2.1/4.2.2 (2017/06/28)

  • Added conditional to avoid AJAX request on non-SSL media on iOS @rafa8626
  • Fixed error with .versions file @rafa8626

4.2.0 (2017/06/26)

  • Fixed issues related to Promises with native renderers @rafa8626
  • Fixed typos in player to execute properly destroy() and stop() methods @rafa8626
  • Fixed issues with error message not being displayed properly in different scenarios @rafa8626
  • Fixed issue with controls not being hidden using keyboard @rafa8626
  • Fixed issue using fullscreen button and iframes @rafa8626
  • Updated documentation on ReactJS about how to destroy a player and fixed typo on WordPress section @rafa8626
  • Added missing documentation about how to install MediaElement in Drupal @rafa8626
  • Fixed typo in Vimeo renderer @rafa8626
  • Updated version of Facebook API @rafa8626
  • Replacing buffer querySelector with getter function in player ( @ychen022
  • Fixed issues with keyboard not picking events correctly on Chrome @rafa8626
  • Improved error system to catch more errors and present them to user @rafa8626
  • Removed mediaelementplayer bundles, as well as jQuery file, considered unnecessary @rafa8626
  • Added new middleware layer to allow interaction with other players @rafa8626
  • Used flex-box to reduce calculation via Javascript on control bar ( @marcobiedermann and @rafa8626
  • Fixed issue with events not being unbound when player is destroyed and removed unnecessary callbacks from it @rafa8626
  • Added missing style for buffering element @rafa8626
  • Removed conditional to disable control bar when an error happens @rafa8626
  • Updated references to (Adobe / Apache) Flex SDK in documentation ( @isantolin
  • Updated CDN references for both native FLV and HLS renderers @rafa8626
  • Fixed issue with tooltip position when rail is 100% and gets cut off @rafa8626
  • Fixed The play() request was interrupted errors by changing way to check for Promises and methods @rafa8626
  • Added missing workflow to hide controls when playing media and mouse is out of player container @rafa8626
  • Added conditionals to check if src track is not empty to avoid render empty track sources @rafa8626

4.1.3 (2017/06/06)

4.1.2 (2017/05/25)

  • Fixed issues with Accessibility in Chapters/Captions and Volume slider @rafa8626
  • Added new resources to documentation @rafa8626
  • Fixed MD broken link ( @Mackiovello
  • Changed calculation to avoid higher dimensions than expected using parseFloat on responsive mode @rafa8626
  • Updated file for WordPress upgrades, and fixed README file @rafa8626
  • Fixed hasFluidMode() method to return proper result ( @lucash
  • Fixed issue with logical operators and ~ symbol @rafa8626
  • Integrated loadScript() method to optimize way to load external libraries ( @jimmywarting
  • Removed unnecessary whitespaces, upgraded packages and removed comments on bundles @rafa8626
  • Fixed issue with startVolume not being picked by non-native renderers @rafa8626
  • Added getDuration() and used methods vs property access to allow MediaElementPlayer to be extended ( @jhutchins
  • Added player min-width based on elements visible on control bar @rafa8626
  • Added missing events to set startVolume properly when loading new data @rafa8626
  • Fixed issue related to controlbar not reflecting loading progress @rafa8626
  • Fixed issues with native FLV renderer related to load new sources and having multiple players rendering FLV media @rafa8626
  • Enabled DRM support for M(PEG)-DASH via setSrc() and dash.drm configuration @rafa8626
  • Added support to pass a single object in setSrc() @rafa8626
  • Added Persian translation ( @wmateam

4.1.1 (2017/05/16)

  • Added missing conditional to reuse exitFullscreen method @rafa8626
  • Added new code snippet to use player with AudioContext.decodeAudioData() @rafa8626
  • Added missing conditional for bug with hidden iframes in Firefox @rafa8626
  • Fixed typo in Vimeo renderer @rafa8626
  • Added workflow to solve issue with iOS and HTTPS playing media @rafa8626
  • Changed match to test and includes to indexOf to improve performance @rafa8626
  • Fixed responsive mode within iframe ( @lucash
  • Updated German translation ( @SoftCreatR
  • Enforced https protocol on external libraries ( @jimmywarting
  • Fixed issue when using YouTube in audio tag triggering double buffering/play events when starting media @rafa8626
  • Fixed fill mode within iframe @rafa8626
  • Fixed player accessibility using Tab key and avoid hidding controls on audio element @rafa8626
  • Fix usage for iOS with native controls ( @lucash

4.1.0 (2017/05/04)

  • Added grunt watch and tasks depending on files modified @rafa8626
  • Fixed typo for documentation about features configuration element ( @abumalick
  • Fixed issue related to time tooltip appearing on all player instances when hovering over one player's progress bar @rafa8626
  • Improved workflow to store all source attributes for mediaFiles list @rafa8626
  • Added improvements and hover behavior to player slider ( @ricking06 and @rafa8626
  • Added babel-preset-env to optimize bundles based on supported browsers @rafa8626
  • Fixed typos in Vimeo and Twitch renderers @rafa8626

4.0.7 (2017/04/25)

  • Fixed issues when using MediaElement inside an iframe (cross and non cross-domain) @rafa8626
  • Fixed way to detect fullscreen mode properly for all renderers and fixed fullscreen for iOS @rafa8626
  • Fixed workflow when using data-mejsoptions attribute @rafa8626
  • Updated flv.js library ( @isantolin
  • Added new section on Documentation to link Code Snippets related to MediaElement @rafa8626

4.0.6 (2017/04/20)

4.0.5 (2017/04/14)

  • Fixed typo to allow None caption to be unchecked @rafa8626

4.0.4 (2017/04/11)

  • Added missing conditional to display error message only if message is set on event @rafa8626
  • Fixed issue with old versions of IE not unsetting CSS values properly for fill mode @rafa8626
  • Added workflow from Flash audio shim into video shim and removed several duplicated events @rafa8626
  • Fixed issues with play/pause toggle and fadeIn and fadeOut effects @rafa8626
  • Updated HLS shim library to latest version @rafa8626
  • Fixed issue with keyboard trap in Safari desktop due to media's children element(s) being moved from original position @rafa8626
  • Added missing style to hide native cues when using Safari desktop due to new workflow implemented @rafa8626
  • Added documentation about setting new captions, media tag attributes and using stretching modes @rafa8626
  • Added missing French translations ( @kloh-fr
  • Cleaned SVG sprite and separate plugin icons in new sprite ( @johndyer
  • Updated Swedish translations ( @xpetter

4.0.3 (2017/04/04)

  • Fixed typo when detecting dimensions for stretching: auto @rafa8626
  • Perform improvements to AJAX method to prevent "pre-flight" requests @rafa8626
  • Removed Captions menu height adjustment considered unnecessary @rafa8626
  • Fixed typo with event specific to Android and iOS @rafa8626
  • Fixed issue with Android not being able to play video when touching video area @rafa8626
  • Added captionschange event and fixed minor issue for None caption @rafa8626
  • Fixed show/hide of play, loading and buffer elements in various events @rafa8626
  • Fixed issues with setting source for hls renderer due to latest changes on library @rafa8626
  • Added documentation about how to use MediaElement with React @rafa8626
  • Standardized way to create events for all native renderers @rafa8626
  • Fixed documentation in to indicate methods in Features section @rafa8626

4.0.2 (2017/03/23)

  • Added new unit tests to increase code coverage @rafa8626
  • Fixed issue with setFill() method and reintroduced old workflow in focusout event @rafa8626
  • Added default media dimensions to avoid breaking control bar when player is in small container @rafa8626
  • Fixed issue with volume slider and rail width calculation @rafa8626

4.0.1 (2017/03/22)

  • Fixed major issues with iOS that prevent the player to be built @rafa8626

4.0.0 (2017/03/22)

  • Removed all dependencies to jQuery in code and created utils/dom.js to mimic jQuery's most used methods @rafa8626
  • Added missing unit tests @rafa8626
  • Fixed minor issues on Twitch, Facebook HLS and M(PEG)-DASH renderers @rafa8626
  • Fixed minor issue with play/pause button not being updated properly when switching to new source and media has ended @rafa8626
  • Fixed issues in documentation @rafa8626
  • Fixed issue with readyState value in Flash video shim @rafa8626
  • Added pause event when changing media sources @rafa8626
  • Integrated remove() polyfill to simplify more code ( @jimmywarting
  • Reintegrated and improved Download File workflow if error happens while attempting to play media @rafa8626
  • Fixed workflow for autoplay property in all renderers @rafa8626
  • Integrated Mocha JSDOM package to add more unit tests @rafa8626
  • Created file to describe the utilities/features available @rafa8626

3.2.4 (2017/03/14)

3.2.3 (2017/03/02)

  • Brought missing fix for HLS @rafa8626

3.2.2 (2017/03/02)

  • Fixed issue with renderers order by sorting them when user does not specify any order for them @rafa8626
  • Added addControlElement() to preserve order of control elements when certain features are reset @rafa8626
  • Fixed issue with native HLS when processing errors @rafa8626
  • Fixed issue when no dimensions are being set in <video> tag for <iframe> renderers @rafa8626
  • Fixed issues with HLS and M(PEG)-DASH renderers to avoid downloading fragments before playing media @rafa8626
  • Cleaned code on native renderers @rafa8626

3.2.1 (2017/02/28)

  • Added missing documentation for NPM given latest changes @rafa8626

3.2.0 (2017/02/28)

3.1.3 (2017/02/23)

  • Fixed typo in in regards of Automatic start ( @SvenJuergens
  • Added translation for Polish language ( @greg-dev
  • Added translation for Russian language ( @Globulopolis
  • Added overlay on iframe renderers to allow triggering mouse/click events properly @rafa8626
  • Fixed issue with inconsistency between MediaElementPlayer and MediaElement instantiations @rafa8626
  • Fixed minor issues with FLV native renderer @rafa8626
  • Fixed typo in pause event not being triggered on Facebook and YouTube renderers @rafa8626
  • Fixed issue on progress feature that caused multiple events being fired incorrectly when clicking on rail @rafa8626
  • Corrected typo in full.js file ( @helmetroo
  • Several fixes for YouTube renderer ( @anomaly-stalker
  • Integrated ESLint to verify/fix code with more strict standards @rafa8626
  • Fixed issue with mute/unmute ARIA text ( @DmitryKrekota
  • Fixed issue with obfuscated URLs or URLs without extension detected in #2087 @rafa8626
  • Fixed accessibility issue related to use keyboard in Safari @rafa8626
  • Fixed typo in demo file related to switching to Chinese language and added conditional to disable media URLs on iOS @rafa8626
  • Removed IE8 hacks ( @jimmywarting
  • Cleaned unnecessary code and fixed issue with Vimeo renderer @rafa8626
  • Fixed security issue with Flash by introducing shimScriptAccess configuration element and reading allowScriptAccess flag @rafa8626
  • Added documentation about use of MediaElement with a responsive grid plugin effectively, thanks to @DeysonOrtiz, and other updates on it @rafa8626

3.1.2 (2017/02/10)

  • Expanded workflow to stop media loading completely when removing player @rafa8626
  • Added more fixes to Flash audio shim ( @an1rk4
  • Added security statements on almost all shims to allow to be played cross-domain @rafa8626
  • Removed HAS_TOUCH flag considered unnecessary @rafa8626
  • Fixed workflow to detect if libraries on HLS, DASH and FLV renderers were already loaded @rafa8626
  • Reintegrated workflow to load source using flashvar src in audio ( @astr0junk
  • Improved documentation for Installation and API @rafa8626
  • Added workflow to sanitize HTML for captions due to potential XSS vulnerability @rafa8626
  • Added muted workflow for audio Flash shim ( @an1rk4
  • Added CDNjs badge for README @rafa8626
  • Added validation to avoid Flash check on MS Edge due to issues with plugins element @rafa8626
  • Added reference to "mediaelement/mediaelement-plugins" ( @isantolin
  • Standardized way to display chapters tracks using button and menu @rafa8626

3.1.1 (2017/02/02)

  • Added patch in Flash audio shim to load new source correctly @an1rk4
  • Fixed issues when removing player, specially when using any Flash shim @rafa8626

3.1.0 (2017/02/02)

  • Updated documentation about how to use custom player (HLS, DASH, FLV, etc.) correctly @rafa8626
  • Expanded Renderers List table and other documentation tweaks @rafa8626
  • Updated German translations ( @SoftCreatR
  • Added hideVideoControlsOnPause configuration element to hide controls when media is paused @rafa8626
  • Added showPosterWhenPaused option and updated documentation @rafa8626
  • Added new media to demo file to match main website and reformatted demo/demo.js @rafa8626
  • Added missing method call when removing media through remove() method and documented workflow to remove player @rafa8626
  • Added new array element to map all read-only properties to avoid TypeError on certain properties @rafa8626
  • Added workflow to use YouTube as an audio player @rafa8626
  • Updated file ( @theomathieubhvr
  • Added workflow to pause media when sliding rail to improve memory performance ( @ricking06 and @rafa8626
  • Changed name of NPM file all.js to full.js for clarity purposes @rafa8626
  • Added missing elements on mediaelementplayer.js bundle @rafa8626
  • Fixed issues when using audio shim @rafa8626

3.0.2 (2017/01/27)

3.0.1 (2017/01/20)

  • Fixed several issues in terms of using Meteor/NPM package and added new files to link build/mediaelement.js and build/mediaelement-and-player.js for NPM @rafa8626
  • Added image to README file, as well as favicon for demo and test files @rafa8626
  • Enabled external builds using Browserify ( @neonaut
  • Added missing conditionals to avoid issues with non-existing renderers bundle @rafa8626
  • Fixed conditional to target browsers/devices that support HLS natively and caused issues with other media types @rafa8626
  • New logo and layout for website @mediaelement
  • Added missing documentation about importing MEJS and using RequireJS @rafa8626
  • Updated RTMP sources since prior one expired @rafa8626
  • Fixed issue with controls not hiding on mouseleave when video is not playing (#1995) @rafa8626
  • Added missing reference to FLV in main website ( @isantolin
  • Removed Browserify option to reduce size of unminified bundles @rafa8626

3.0.0 (2017/01/16)

2.23.5 (2017/01/06)

  • Fixed typo that caused Wordpress support for translations to be broken (#1984) @rafa8626

2.23.4 (2016/10/21)

2.23.3 (2016/10/13)

2.23.2 (2016/10/01)

2.23.1 (2016/09/26)

2.23.0 (2016/09/06)

2.22.1 (2016/08/18)

2.22.0 (2016/07/17)

2.21.2 (2016/05/08)

  • Fixed IE8 compatibility with new security update

2.21.1 (2016/05/06)

2.21.0 (2016/05/05)

2.19.1 (2016/02/26)

  • Fix for closed caption button caused by previous 508 change

2.19.0 (2016/02/24)

  • YouTube now uses HTML5 iframe API as a priority to Flash
  • Simplified Fullscreen code for older browsers without native API support
  • 508 Accessibility Fixes #1690 @rtackett
  • Fix a minor typo in Readme #1693 @pra85
  • Fix wrong "currentSrc" call in ga plugins #1687 @ivanteoh

2.19.0 (2015/12/18)

2.18.2 (2015/10/09)

2.18.1 (2015/08/11)

2.18.0 (2015/08/05)

2.17.0 (2015/05/30)

2.16.4 (2015/03/01)

2.16.3 (2014/12/10)

2.16.2 (2014/11/15)

  • Fixed broken swf files because of new problem with binary @OwenEdwards

2.16.1 (2014/11/07)

2.16.0 (2014/11/06)

2.15.1 (2014/08/11)

2.15.0 (2014/08/03)

2.14.2 (2014/04/04)

2.14.1 (2014/03/31)

  • Fix infinite loop on progress bar

2.14.0 (2014/03/29)

2.13.2 (2014/01/24)

2.13.1 (2013/09/?06)

  • Support for fullscreen in IE11 beta

2.13.0 (2013/09/01)

2.12.1 (2013/08/26)

2.12.0 (2013/06/02)

2.11.3 (2013/04/13)

  • Change to getScriptPath to allow querystring variables to be added (for Wordpress Core)

2.11.2 (2013/04/12)

2.11.1 (2013/04/11)

Major changes

Fixes and updates

2.11.0 (2013/03/13)

2.10.3 (2013/01/27)

2.10.2 (2013/01/26)

2.10.1 (2012/12/31)

2.10.0 (2012/11/23)

2.9.5 (2012/09/26)

  • Fixed faulty FlashMediaElement.swf (due to Git program mashing it)
  • Fixed track element issues introduced by DFXP captions

2.9.4 (2012/09/24)

*2.9.3 (2012/08/23) *

  • Allows use of style="max-width: 100%;" for responsive video
  • Added type to source buttons in mep-feature-sourcechooser.js:48 @flamadiddle
  • Fix use of inArray and $ in src/js/me-shim.js @lftl, @Seb33300, @eusonic and others (this was a regression bug from another fix)
  • Fixing syntax error in events demo @JeffreyATW

*2.9.2 (2012/07/06) *

  • Added a few height checks (from Joe Anderson)
  • Removed console.log statements
  • Better file MIME type detection when the "type" attribute is not set @Seb33300)
  • Pass the event keyCode to the keyActions handler, and make seek interval configurable @bborn
  • Responsive flash fix, YouTube edits @heikki
  • New auto_plugin mode that starts with plugins then tries HTML5 @savil

2.9.1 (2012/06/01)

  • Fixed Firefox 10+ Fullscreen error

2.9.0 (2012/05/31)

  • Fixed pointer-events detection in IE9 (when using Flash mode or YouTube)
  • YouTube now shows annotations (using YouTube player rather than chromeless)
  • Fix play/pause when clicking on video when overlays are displayed @markomarkovic
  • Dont listen to mouse events when there's not a reason to @neverarriving
  • Adding CSS animated buffer to the time rail @neverarriving
  • Fix for box-sizing: border-box from cutting off time text. @MatthewCallis

2.8.2 (2012/05/15)

  • Fixed volume slider bug when initially hidden
  • Fixed YouTube size problems in Flash mode

2.8.1 (2012/04/19)

  • Flash fullscreen: video not fullsized
  • Flash fullscreen: youtube controls not working

2.8.0 (2012/04/17)

  • Revamped YouTube to work using the Flash shim so that it supports fullscreen
  • Fix for remove() method (lennym)
  • Fix possible issue with ContextMenu ( quangvhg)
  • Fix for stop button ( slavva97)
  • Type on var and ; (lennym)
  • Fix for keyboard support forward and backward (myffical)

2.7.0 (2012/03/12)

  • Added horizontal volume control, the new default for audio (based on work by @gavinlynch(
  • Possible issues with < IE8 centering resolved
  • Full set of controls under Silverlight (@Birol2010(
  • YouTube fix @raknam
  • shim now has a .tagName property, and other DOM-like methods @tantalic
  • Poster display fix when HTML5, Flash, and Silverlight are all missing @bruha
  • Source Chooser plugin @markomarkovic
  • Fix for flash audio mute @lbernau

2.6.5 (2012/02/01)

  • Removed iOS 3.x poster code @xtat @James Cross
  • Fixed bug when player is initially hidden in display:none;
  • Workaround for when inside an <iframe> and Chrome doesn't correctly report exiting from fullscreen

2.6.4 (2012/01/10)

  • Fixed a Flash bug when one video ended and another was loaded through setSrc() and load()
  • Option for markup between current time and duration @tantalic

2.6.3 (2012/01/08)

  • Sending all options to Flash including colors

2.6.2 (2012/01/06)

  • Fixed Flash fullscreen button inside an <iframe>
  • Fixed flash auto starting in 100% mode

2.6.1 (2012/01/03)

  • Updated Opera's Flash Fullscreen support (apparently, it doesn't like pointer-events:none with Flash)
  • Added a fullscreenchange event to Flash to better track events

2.6.0 (2011/12/27)

2.5.0 (2011/12/15) - 56kb

  • Flash fullscreen now works on hover, so it's much easier to use. For Firefox it's always on, but for others usePluginFullScreen:true option
  • For the audio player, Flash objects are positioned outside the main <div> which allows the player to be hidden without breaking flash
  • Volume controls was adjusted slightly
  • Removed Google translate features (Google killed the API)

2.4.3 (2011/12/10)

  • keyboard controls are now an array, allowing multiple keys to do the same thing
  • support for Google TV keybuttons (based on above)
  • arrow keys now move when paused
  • floating time is now handled via JavaScript instead of CSS :hover (and removed from touch devices)

2.4.2 (2011/12/06) - 57.3kb

  • keyboard controls (up/down controls volume, left/right seeks, space play/pause, f goes fullscreen)
  • <audio> now works with 100% for responsive layouts @283(
  • Support for auto start with class mejs-player and data-mejsoptions e.g. <video src="media.mp4" class="mejs-player" data-mejsoptions='{"features":@"playpause","progress","volume"}, "success": "myCallback"}'><video>
  • With multiple players on a page, when one starts the others pause (toggle pauseOtherPlayers: true) @285(

2.4.1 (2011/12/05) - 55.7kb

2.4.0 (2011/11/28) - 54.9kb

2.3.3 (2011/11/21) - 49.4kb

  • removed volume controls for touch devices (Android and iOS require hardware volume)
  • set a timeout to hide controls on touch devices
  • fixed timecode bug with :09 (used radix)
  • fixed bug when long videos end: (try/catch)
  • fixed issue with alwaysShowControls
  • removed a console.log in fullscreen that broke IE

2.3.2 (2011/11/12) 49.6kb

  • removed http from Flash and Silverlight embeds to support SSL
  • fixed a possible bug when neither src nor type was specified
  • turned off useCapture for a few events

2.3.1 (2011/11/07)

  • Another set of changes to handle various browser native fullscreen issues
  • New control behavior for touch enabled devices (iPad, Android tablets)
  • Bug fix for Flash (bradleyboy)

2.3.0 (2011/11/01) - 48.5kb

  • Fixed bug when fullscreen was called before play pressed
  • Additional classes mejs-audio, mejs-video, mejs-ios, mejs-iphone, mejs-ipad, mejs-android added to contianing <div> for styles
  • IE9 can't use <video width="100%"> so you must use either options ({videoHeight:'100%'}) or inline style <video style="width:100%;height:100%;">
  • updated fullscreen code for Safari (erktime)
  • loading indicators shows during 'waiting' event
  • iOS and Android now show "big play" button again (sometimes overlaps on iPhone)

2.2.5 (2011/10/14)

  • fix for Flash fallback in certain scenarios (IE RegExp problem, Firefox fullscreen Flash issue)
  • adjustments for floating time indicator

2.2.4 (2011/10/10)

  • True FullScreen support in Firefox (nightly) and Chrome (Canary)
  • more updates for 100% mode
  • enableContextMenu(), disableContextMenu() methods
  • change to poster code to let it be set later

2.2.3 (2011/10/07b) - 45.8kb

  • updated accessibility again for JAWS and NVDA (thanks to
  • added CSS class <html class="mejs-embed"> for <iframe> embeds

2.2.2 (2011/10/07) - 45.8kb

  • added support for <video width="100%" height="100%"></video> <video style="width:100%;height:100%"></video> (i.e. responsive/adaptive players)
  • added :focus state for buttons to improve accessibility
  • added title and aria-controls attributes to buttons to improve accessibility
  • changed when loading circle appears (WebKit fires the 'loadstart' event differently than FF or IE)

2.2.1 (2011/10/06) - 44.1kb

  • fixed a bug with fullscreen that caused IE to completely mess up it layout
  • fixed another bug with fullscreen and z-index

2.2.0 (2011/10/04)

  • controls now display on iPad, iPhone, and Android. Can be turned off using (iPadForceNativeControls:true)
  • fullscreen support for iPad (different from true fullscreen on Safari 5.1)
  • added frameaccurate timecode (via gselva)
  • added contextmenu as a feature. if turned on the default includes: fullscreen toggle, mute toggle, and media download
  • updated WebVTT support (still had some SRT formatting restrictions)
  • dynamic player creation: from <a href="media.mp4">video</a> and <div class="mejs"></div> specifying type (string or array)
  • Fixed bug where Flash couldn't go fullscreen with track chapters
  • fixed a bug with Flash fullscreen ratios
  • controls now disappear on timeout when mouse is idle (useful for fullscreen)
  • enableControls() and disableControls() (for pre/post roll scenarios)
  • added an autoplay override (especially for WebKit browsers)
  • fixed functionality of mute toggling
  • reorganized plugins to use $.extend
  • updating functionality of loading graphic to account for various browser inconsistencies (loadstart event)

2.1.9 (2011/08/04) - 36.9kb

  • fixed Android 2.1 and 2.2 playing problems (still need a good 2.3 and 3.0 device. hint. hint.)

2.1.8 (2011/08/03) - 36.9kb

  • True fullscreen for Safari 5.1
  • Flash/Silverlight fullscreen is now "full window" (except for Firefox which cannot handle adjusting Flash without reloading it)

2.1.7 (2011/07/19) - 35.9kb

  • fixed mute button (kaichen)
  • added alwaysShowControls option (kaichen)
  • forceful padding override on buttons
  • started "ender" branch to experiment with removing jQuery dependency and baking in ender.js
  • updated the use of type javascript option with src is present
  • remove preload="none" hack for Chrome now that it supports it (note: Chrome still strangely fires a 'loadstart' event)
  • added hooks for other jQuery compatible libraries like @ender.js(
  • Wordpress: if you don't specify a file extension, mejs will look for attached files and use them @video src="/wp-content/uploads/myfile"
  • Wordpress: option to select a 'skin'
  • Wordpress: option to select audio width/height

2.1.6 (2011/06/14) - 35.5kb

  • fix errors when the progress bar isn't present
  • buttons are now actual <button> tags which allows tabbed controls (for better accessibility and possible ARIA support)
  • fix problems with low volume in Flash on startup (startVolume was sometimes 0!)
  • updated a few places to use jQuery 1.6's new prop/attr methods
  • updated skins to account for new <button> (still need highlighted style)

2.1.5 (2011/05/28) - 35.2kb

  • minor fix for controls not showing time or duration
  • when switching files, the Flash plugin now forcibly stops downliading

2.1.4 (2011/05/20) - 35.2kb

  • fixed display of hours
  • fixed Flash audio bug where pausing when the file wasn't fully loaded would cause the progress bar to go offscreen
  • fixed Flash video bug where percent loaded was always 100%
  • fixed Flash audio bug where pressing pause, then play would always restart playback from the beginning
  • startVolume works more clearly in plugins (esp. Opera and Linux)
  • tracks support no longer refers to WebSRT, but is more generic for WebVTT (not all features of WebVTT are supported yet)
  • fixed fullscreen in Safari OS X 10.5 (which doens't really support true fullscreen)
  • Flash and Silverlight can now start downloading if preload="auto" or preload="metadata" (warning: preload="metadata" will load the entire thing)

2.1.3 (2011/04/12) - 35.8kb

  • added support for hours in time format (00:00:00) and an alwaysShowHours option to force hours to always show
  • removed some duplicate flash events
  • added 'seeking' event to Flash/SL (already had 'seeked')

2.1.2 (2011/03/23) - 34.4kb

  • fixed IE6 and IE7 caption position
  • fixed IE7 failure in certain places
  • changed browser UA detection to use only lowercase (iPhone iphone)
  • fixed Flash audio loaded bug (reporting 0 after loaded)
  • added removeEventListener to shims
  • new rail-resizing code

2.1.1 (2011/03/07) - 33.5kb

  • added 'loadeddata' event to Flash and Silverlight
  • switched to flashvars parameter to support Apache's mod_security
  • better flash fullscreen support
  • added flv-x to flash's accepted types
  • Fixed a bug in poster sizing (only affected IE)
  • added "isFullScreen" property to media objects (like Safari's webkitDisplayingFullscreen)
  • controls start hidden with autoplay
  • fixed iOS loading issues (success wasn't firing, other errors)
  • fixed IE6 when using new MediaElementPlayer(), rather than jQuery

2.1.0 (2011/02/23) - 32.9kb

  • Updated control styles for a cleaner look
  • Added loadeddata and canplay events to Flash and Silverlight
  • Added loading indicator to MediaElementPlayer
  • Added stop button (pause, then return to currentTime:0)
  • IE6/7 CSS updates
  • Poster is now forced to the size of the player (could be updated to be proportional if someone wants to add that)
  • Updated Flash ended event to account for buffering weirdness
  • Fixed a track text hovering problem

2.0.7 (2011/02/13) - 31.9kb

  • Added 'mode' option to force native (HTML5) or shim (Flash,Silverlight) modes
  • Fixed audio seeking bug in Flash (thanks Andy!)
  • Fixed startVolume not working in Flash
  • Overrided Chrome's autoplay since it doesn't always work

2.0.6 (2011/02/04) - 31.7kb

  • Whitespace cleanup on files
  • Preventing flash/sl plugins from reinitializing when they are removed by another script
  • Fixed IE JavaScript errors in Flash fallback (seen in Wordpress)
  • Added 'play' event to Silverlight to prevent errors

2.0.5 (2011/01/25) - 31.7kb

  • Added error object to player
  • Adjusted popup timer and progress bar
  • Fixed media URL escaping
  • Stopped sending poster to plugin
  • Silverlight culture update
  • Added back reference check (also makes jQuery usage easier)
  • Added stop() function to mediaelement
  • timerupdate still fires when paused (plugins)
  • Added Security.allowDomain("*") to Flash so it can be used on different domains
  • Fixed progress bar for Firefox 3 with Ogg files
  • Prevented Flash from re-creating the player when show/hide restarts it
  • Fixed initial volume level in non-HTML5 players
  • Made PNG8 versions of controls images (for IE6)

2.0.4 (2011/01/14) - 31.2kb

  • Fixed a major bug in plugin detection.

2.0.3 (2011/01/13) - 31.2kb

  • changed IE Flash insertion to include me-plugin CSS class
  • changed player error handling
  • fixed a bug in the Silverlight player related to URLs

2.0.2 (2010/12/31) - 31.1kb

  • Changed HTML escape method to encodeURICompnent
  • Flash-based RMTP support (contributor: sylvinus)
  • Fixed Wordpress loop bug
  • Changed time popup to move with mouse instead of currentTime
  • added enablePluginSmoothing (Flash)
  • Added some "play" "playing" event duplication to Flash

2.0.1 (2010/12/20) - XX.Xkb

  • Changed Flash to allow cross domain video
  • Added 'click' event to Flash and Silverlight
  • Updated autoplay attribute detection

2.0.0 (2010/12/13) - 30.8kb

  • Reorganized MediaElementPlayer code to allow each button to become a pluggable feature that can be removed or overrided
  • Enabled a no JavaScript version to support Video for Everybody nested syntax (optional)
  • Enabled drag on progress bar
  • Preload="none" is default for Flash and Silverlight
  • Preload="none" enabled on Google Chrome
  • Added skins to download
  • Support for skin swapping
  • Updated volume handle controls
  • Update progress controls display
  • Exposed MediaElement API methods on player
  • Adjusted layout for IE6

1.1.7 (2010/11/29) - 29.8kb

  • Fixed bug with <track> loading on <audio> player

1.1.6 (2010/11/23) - 29.8kb

  • Chapters support <track kind="chapters" />

1.1.5 (2010/11/21) - 29.8kb

  • Workaround for IE issues when accidentally placed inside <p> tag
  • Fixed silverlight pause state reporting
  • Switched back to Flash as default
  • Removed requirement for Google translate API <script> (direct JSONP call)
  • Added googleApiKey option

1.1.4 (2010/11/21) - 29.5kb

  • Added Default volume level to options (0.8)
  • Fix for IE volume slider positioning
  • Fix for IE tracks parsing (replacement String.split)
  • Changed namespace from html5 to mejs
  • Remove all showMessage references
  • Controls show again after playback ends

1.1.3 (2010/11/20) - 29.0kb

  • Change to fallback mechanism and styling (Windows Phone 7)

1.1.2 (2010/11/19) - 28.9kb

  • Removed messages, added big play button
  • Google translate now supports more than 1000 characters
  • Added a dropdownlist of languages from which the user can select
  • Added timerUpdate option to set the millisecond speed of timeupdate events
  • Updated the media file and examples

1.1.1 (2010/11/18) - 27.1kb

1.1.0 (2010/11/17) - 22.6kb

  • Total re-oganization of MediaElement, MediaElementPlayer, and supporting objects
  • Updated CSS to a cleaner look, with better IE support & big play button
  • Simplified all plugin and version detection
  • Added loop option (useful for audio files)
  • Added the ability to turn each control button on/off
  • Added canPlayType to PluginMediaElement
  • Updated setSrc to take multiple sources

1.0.7 (2010/11/16) - 18.15kb

  • Total re-oganization of MediaElement code
  • JSLint compliant, YUI compliant

1.0.6 (2010/11/15) - 17.96kb

  • Rebuilt PluginDetection (removed SWFObject and Microsoft code)
  • More JSLint compatible (still a few iterations to get there)
  • Added jQuery 1.4.4

1.0.5 (2010/11/10 later on)

  • Fixed a problem with the *.min.js files
  • Added jQuery 1.4.3

1.0.4 (2010/11/10) - 18.32kb

  • Fixed Flash display when <video> did not match actual dimensions
  • autosizing in Flash and Silverlight
  • added options for defaultVideoWidth, defaultVideoHeight when <video> height and width are not set
  • included minified versions using YUI compressor

1.0.3 (2010/09/24)

  • changes in poster handling
  • fix IE9 startup bug (its 'play' event fires wrongly it seems)
  • fixed Flock, Opera sizing bugs
  • fixed audio ended bug in special cases under Flash
  • added default height/width when they are not specified in attributes

1.0.2 (2010/09/17)

  • minor updates to support IE9 beta1

1.0.1 (2010/09/13)

  • added native fullscreen support for Safari 5 (via webkitEnterFullScreen)

1.0.0 (2010/08/09)

  • initial release
You can’t perform that action at this time.