> For the complete documentation index, see [llms.txt](https://docs.apryse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apryse.com/web/audio/changelog.md).

# Audio Changelog

Enhance your web experience with the latest updates in our Audio Changelog. Stay informed on fixes, features, and improvements for seamless audio functionality. The Apryse Web SDK streamlines secure,

{% hint style="info" %}
New licenses for WebViewer Audio are no longer offered.
{% endhint %}

## 4.1.0 (2026-02-17)

* Removed incompatible material ui library. Incompatible with React 19

## 3.0.0 (2025-12-14)

* **BREAKING CHANGE**: Upgraded to React 19

## 2.21.3 (2023-11-09)

* Fix for webviewer hotkeys allowing invalid tools to be selected

## 2.21.2 (2023-10-27)

* Fix for `loadAudio` not loading for Blob objects and File objects

## 2.21.0 (2023-08-01)

* Fix for multi selection triggering when clicking on multiple regions
* Fix for not being able to add annotations programmatically
* Added support for #t={seconds} parameter in url. This loads the audio at the specific time.

## 2.20.0 (2023-07-18)

* Update to React 18

## 2.19.2 (2023-05-16)

* Fixing a FireFox rendering issue.

## 2.19.1 (2023-04-25)

* Fixing typescript issue

## 2.19.0 (2023-03-31)

* Adding compatibility with WebViewer 10.0.0

## 2.18.0 (2023-01-28)

* Added serviceWorkerLocation option to loadAudio. Useful for being able

to pass custom headers.

## 2.17.1 (2023-01-19)

* Adding custom header support for WebViewer Audio
* Adding button to loop audio

## 2.17.0 (2022-12-13)

* Added backwards compatibility with WebViewer 8.9.0

## 2.16.0 (2022-11-03)

* Added compatibility layer with WebViewer Video to allow frame by frame video comparison

## 2.15.0 (2022-10-07)

* Added new drag controls for more accurate frame by frame annotating. Use shift + mouse drag to have more precision. Only available and applicable when used with webviewer-video.

## 2.14.12 (2022-09-11)

* Add compatibility with webviewer 8.8
* Moved audio redaction to the redaction tool group
* General quality of life fixes for audio

## 2.14.5 (2022-06-08)

* Added typescript types

## 2.14.0 (2022-05-03)

* Fix for not being abled to disable waveform peaks.
* Added `generatedPeaks` option to `loadAudio`.
* Removed `isLargeFile` option.

## 2.13.0 (2022-04-25)

* Safari fix for audio files not being able to be seeked
* Added `isLargeFile` option to `loadAudio` as a workaround. This option is known to cause seeking issues on Safari.

## 2.11.0 (2022-03-16)

* Adding option `generatedPeaks` to disable audio decoding and deal with large mp3 files
* Refactoring code so downloading audio files now works when switching between different types of documents

## 2.11.0 (2022-03-23)

* Annotation previews will now be generated on the fly, reducing exported XFDF size

## 2.10.0 (2022-03-03)

* Shaka player support with video

## 2.9.0 (2022-02-27)

* Adding option `showMobileStyling` to disable mobile styling for custom applications

## 2.8.5 (2022-02-15)

* Adding clean up to session after components are unmounted from DOM

## 2.8.1 (2022-01-20)

* Fixing a race condition with Webviewer 8.2.0 where audio would load faster than webviewer UI resulting in it failing to render

## 2.8.0 (2022-01-07)

-Adding `UI` namespace on audioInstance to mimic how webviewer does their APIs. Can be use `updateElement` function to update `regionDeleteButton` functionality.

## 2.7.0 (2021-12-08)

* Added a new build bundle that includes React, for projects that don't want to install React. Check the #Builds README section for more information.

## 2.5.3 (2021-09-20)

* Various bug fixes

## 2.5.2 (2021-09-09)

* Various bug fixes
* Refactoring and optimizing code

## 2.5.1 (2021-08-31)

* Various bug fixes
* Updating documentation regarding ffmpeg
* Webviewer Audio should now transpile to es5

## 2.5.0 (2021-08-26)

* Webviewer Audio is now backwards compatible with Webviewer 7.x
* Read only mode is now respected when changed after initial load
* Multiple audio instances should now work and play their appropriate audio tracks

## 2.4.2 (2021-08-16)

* Bugfix for waveform peaks being incorrect and having trouble loading

## 2.4.0 (2021-08-12)

* Viewer now respects read only mode
* Updating styling of tool should reflect when creating regions
* Waveform should now be responsive
* Some ie11 compatibility fixes.
  * ie11 Video/Audio editing disabled.
  * ie11 Waveform does not render.
* Added ability to load video as a script tag
  * Added a `Loading as Script Tag` section to README

## 2.2.0 (2021-08-05)

* Updated package to work with WebViewer 8.0 and newer

## 2.1.0 (2021-09-03)

* Added getWaveSurfer API to retrieve the underlying WaveSurfer object.

## 2.0.3 (2021-07-14)

* Documented audio events
* Changed to use the builtin download button in WebViewer
* Various bug fixes

## 2.0.0 (2021-06-22)

* Removed react being provided by the package. The important project must now supply react.
* New rendering of the waveform.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.apryse.com/web/audio/changelog.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
