Howler.js Versions Save

Javascript audio library for the modern web.

v2.2.4

7 months ago
  • FIXED Invalid regex detection of Opera versions 100+ (#1676).
  • FIXED The pannerAttr method wouldn't set the values the first time it was called (#1497).
  • FIXED Error when refreshing the buffer on a sound that has already been unloaded (#1508).

v2.2.3

2 years ago
  • FIXED Fatal error in Chrome for iOS (#1491).

v2.2.2

2 years ago

The README has been updated with more examples and various clarifications. PRs/issues with suggestions for further improvements are appreciated.

  • CHANGED Include keydown event when unlocking audio (#1417).
  • CHANGED The audio state is changed to loading while the player is buffering (#1444).
  • FIXED Looping sounds wouldn't always work correctly in recent versions of Firefox desktop (#1445).
  • FIXED Disabled WebM in Safari 14 until bug in Safari is resolved (#1476).
  • FIXED Error when calling seek() on audio that hasn't loaded (#1423).
  • FIXED Before a sound had loaded, calling pause() after seek() didn't have the intended behavior (#1439).

v2.2.1

3 years ago
  • FIXED The latest Safari 14 changed how WAV support was detected (#1415).
  • FIXED Edge case that could cause an infinite loop while fading (#1369).
  • FIXED Calling seek without a seek value while a file was still loading no longer adds it to the queue and correctly returns 0 (#1189).
  • FIXED Correctly handle finite audio files that return Infinity duration in Safari (#658).

v2.2.0

3 years ago
  • ADDED New xhr property that allows setting custom headers (such as for auth), changing the withCredentials setting and specifying the HTTP method for the request. These only apply to Web Audio (#997).
  • ADDED New Howler.stop() global stop method to stop all sounds at once (#1308).
  • ADDED Support for m4b audio format (#1170).
  • CHANGED Allow passing metadata string to preload option to only preload the metadata (#1140).
  • FIXED Correctly handle AudioContext interrupted state causing stuck suspending state (#1106).
  • FIXED The volume method would sometimes return incorrect values when using very short fade lengths (#1045).
  • FIXED Error that HowlerGlobal was not defined when using jsdom-global (#1331).
  • FIXED Memory leak in Safari when an audio context can't be unlocked (#1338).

Breaking Changes

  • The xhrWithCredentials property is now included in the xhr property object with key withCredentials.

v2.1.3

4 years ago
  • FIXED Don't try to obtain HTML5 audio if there is no audio support (#1191).
  • FIXED The x/y/z orientations for the top of the listener weren't being set properly (#1221).
  • FIXED Race condition that could prevent looping audio from always looping (#1225).
  • FIXED Race condition that could cause the main volume to be reset to 1 if called before unlockAudio (#1210).

v2.1.2

5 years ago
  • FIXED Removed browser check for auto play unlock since all major browsers now implement this.
  • FIXED Live streams now stop downloading when they are stopped, also fixing issue in Chrome with stopping twice (#1129).
  • FIXED Prevent error in Edge when Audio isn't supported (#1147).

v2.1.1

5 years ago
  • FIXED Regression that broke simple play/pause usage in certain edge cases (#1101).
  • FIXED Loading and unloading multiple Howls with the same src could cause them all to unload (#1103).

v2.1.0

5 years ago
  • ADDED Howler now maintains a general pool of HTML5 Audio nodes that are unlocked on first user input, which fixes issues with subsequent HTML5 Audio plays not working (#1008).
  • ADDED New global html5PoolSize option that allows setting the default size of the HTML5 Audio object pool (#1008).
  • CHANGED Since locking of audio is no longer mobile-only, mobileAutoEnable has been renamed to autoUnlock.
  • FIXED Playing a sound with locked audio in Chrome or elsewhere could cause playing() to return true (#939).
  • FIXED Correctly use setPosition instead of setOrientation in Safari (#1033).
  • FIXED Prevent error on seek or duration being negative (#1034).
  • FIXED Force fade values to be numbers to prevent errors (#1027).
  • FIXED An InvalidStateError could sometimes be thrown in Internet Explorer (#1052).
  • FIXED Prevent silent failure of AudioContext creation in Safari (#1021).
  • FIXED Changing rate and seek on a paused sound could cause seek to end up at the wrong position (#1088).
  • FIXED Calling play twice before a sound had loaded could lead to both sounds having the same ID (#1060).

Breaking Changes

  • If you are directly setting Howler.mobileAutoEnable (it defaults to true), then you should change this to Howler.autoUnlock.
  • The new HTML5 Audio object pool shouldn't change anything for 99% of use-cases, but if for whatever reason you don't want to use the pool, you can set html5PoolSize to 0 to bypass using the pool.

v2.0.15

5 years ago
  • FIXED Errors with touch events and blocked click events in Chrome (#1003 #1011 #1025 #1026).
  • FIXED Audio decoding error wasn't always handled correctly (#1019).
  • FIXED Potential error during playback in Internet Explorer 11 (#1016).