All Versions
Latest Version
Avg Release Cycle
83 days
Latest Release
1332 days ago

Changelog History

  • v5.2.0 Changes

    July 09, 2020

    ๐Ÿ†• New Features

    • โž• Added a public method for Amplitude.stop() (#399)
    • ๐Ÿ‘ Allow initialization with only playlists (#440)

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed issue where native events became "unbound" after song changes (#441)
    • ๐Ÿ›  Fixed issue where AmplitudeCore is undefined (#435)
    • ๐Ÿ›  Fixed issue with shuffle highlighting the wrong song in the active song container (#434)
  • v5.1.0 Changes

    May 29, 2020

    ๐Ÿš€ This release addresses a lot of the memory management with large files and re-binding of audio events.

    ๐Ÿ”‹ Features

    • โž• Added prependSong() method to allow you to add a song to the front of the songs array.

    ๐Ÿ› Bug Fixes

    ๐Ÿ”€ PRs merged

    Thanks to the following contributors:
    @phranzia, @klh, @rowild, @szepeviktor, and @anybany for their hard work!

  • v5.0.3 Changes

    November 06, 2019

    ๐Ÿฑ No functional changes. Just added support for npm fund (more detail here) ๐Ÿ’ฐ

    ๐Ÿ‘ If you love AmplitudeJS, support future development here:

  • v5.0.2 Changes

    July 18, 2019

    ๐Ÿ›  "Previous" Key Binding Event Fixed

    ๐Ÿ›  Fixes Bug #368 . Calls proper key binding event.

  • v5.0.1 Changes

    July 15, 2019

    ๐Ÿ†• New Features


    ๐Ÿ› Bug fixes

  • v5.0.0 Changes

    July 12, 2019

    ๐Ÿ”‹ Features

    ๐Ÿš€ We focused on making AmplitudeJS easier to use than ever before! Not many changes were added to the core, but we added a ton of new features to stabilize future releases and make it even easier to get started with AmplitudeJS. These features include:

    • ๐Ÿš€ Released entirely new demo website โœจ
    • ๐Ÿšš Moved all examples to CodePen for easier understanding
    • ๐Ÿ“š Greatly improved and organized documentation
    • Much clearer instructions on how to install and get started
    • โž• Added automated testing with TravisCI and Jest tests
    • โž• Added ability for people to become "backers" or "sponsors" on our open collective page
    • โž• Added instructions on how people can contribute to AmplitudeJS (in any capacity)

    ๐Ÿ› Bug fixes

    We didn't stop there either... We squashed a lot of bugs too:

  • v4.1.0 Changes

    March 05, 2019

    ๐Ÿ›  Fixes issues with the Web Audio API not playing audio on Safari and Chrome. This ensures that the user interacts before the Web Audio API starts.

  • v4.0.0 Changes

    January 09, 2019

    ๐Ÿ†• New Features

    AmplitudeJS 4.0 comes packed with a ton of new features such as:

    • ๐ŸŒ Web Audio API Visualization Elements - You can now visualize your audio and create custom visualizations in a simple template structure!
    • ๐ŸŒ Wave Form Elements - You can now generate waveforms for your AmplitudeJS audio using the Web Audio API.
    • Callbacks For All HTML5 Audio Events - All HTML5 Audio element events are able to be hooked into:
    • Time Based Callbacks - You can now run a method at a certain point within a piece of audio.
    • Re-structured Code - Everything is modular and easy to be extended and maintained.

    ๐Ÿ’ฅ Breaking Changes

    ๐Ÿš€ AmplitudeJS 4.0 was one of the biggest releases thus far. We tried to limit the breaking changes, but in order to scale for the future we had to make a few. I should have every change documented below and the reason why the change was made.

    All AmplitudeJS Attributes Have HTML5 Dataset Prefix

    ๐Ÿ›  In order to make AmplitudeJS validated properly by w3 terms, we prefixed all of the attributes on AmplitudeJS elements to have the data- prefix. This makes all of the attributes compatible with the HTML5 dataset API:

    ๐Ÿš€ What this means is any time you are defining a specific element for a song or playlist, you will have to use data-amplitude-song-index or data-amplitude-playlist. In 3.x releases, these were just amplitude-song-index or amplitude-playlist. In order to work with 4.0 and above, you will have to update these references.

    Standard Attributes For Defining Elements

    In versions 3.x, we had a variety of different attributes to define an element based on it's level of use. For example, if we had a global play/pause button it'd be amplitude-main-play-pause="true" as an attribute. This got really cumbersome with multiple elements existing on either a global level (controlling the entire player), a playlist level (controlling functions within a playlist), a song level (controlling an individual song), and a song in playlist level (controlling a song within a playlist). Now everything is based on a combination of attributes. These are as follows:

    • Global Level: class="amplitude-{specialized-class}"
    • Playlist Level: class="amplitude-{specialized-class}" data-amplitude-playlist="{playlist}"
    • Song Level: class="amplitude-{specialized-class}" data-amplitude-song-index="{songIndex}"
    • Song In Playlist: class="amplitude-{specialized-class}" data-amplitude-song-index="{songIndex}" data-amplitude-playlist="{playlist}"

    These combinations work for all elements that are in AmplitudeJS. Now there are some elements that don't span all of the scopes. Let's take an amplitude-volume-up element. This only works on the global level. It wouldn't make sense to have individual playlist volumes.

    Playlist Song Indexes Are Scoped To Playlist

    In versions 3.x song indexes are now scoped to playlists. What this means is that when you use data-amplitude-song-index on a song display IN a playlist, it references the index of the song in the playlist instead of the songs array. For example if song index 1 is used on the 'Hip Hop' playlist, it references song index 1 within that playlist. Before it was the index in the songs array.

    Next And Previous Buttons Only Work In Playlists If Playlist Is Active

    ๐Ÿ–จ So there are two levels of next and previous buttons. The global level which will react to the state of the player and the playlist level. If a global level next button or previous button is clicked, it will either go to the next/previous song in the songs array if no playlist is active, or the next/previous song in the playlist if a playlist is active. Now on the playlist level the buttons only go to the next/previous song in the playlist when clicked and ONLY if the playlist is active. If you click a next/previous button on a playlist that isn't active, it doesn't do anything. It will only print a debug message if debug is turned on.

    ๐Ÿ”ง Autoplay Configuration Has Been Removed

    ๐Ÿšš Most browsers do not support autoplay features anymore. The functionality to set up AmplitudeJS for autoplay has been removed. If you initialize with autoplay, it will just be ignored.

    That should be the migrations! If you ran into anything, please reach out and we can lend a hand!

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixes #303
    • ๐Ÿ›  Fixes #293
    • ๐Ÿ›  Fixes #283
    • ๐Ÿ›  Fixes #288
    • ๐Ÿ›  Fixes #291
  • v3.3.1 Changes

    August 22, 2018

    ๐Ÿ†• New Features

    • ๐Ÿ‘ Allows for delay between songs
    • ๐Ÿ‘ Allows for user to dynamically update meta data

    ๐Ÿ› Bug Fixes

    • Returns proper songs from get songs in playlist
    • ๐Ÿ›  Fixed issue where song won't play after song sliding and mute
    • Set next fires when adding a song
    • ๐Ÿ‘ Allow starting playlist song
  • v3.3.0 Changes

    June 19, 2018

    ๐Ÿ†• New Features

    • โž• Added two new example players
    • ๐Ÿ“‡ Autofill with metadata
    • โž• Add songs to playlists dynamically
    • Logic implemented to continue after next song ends
    • ๐Ÿ”„ Added playlist_changed and time_updated callbacks

    ๐Ÿ› Bug fixes