- Fix output buffer sizing for
BufferedOpusDecoder(was 4x too small for float output) and inverted multiplier inStreamOpusDecoder - Fix
opus_encoder_ctlvariadic ABI mismatch under WASM by adding a non-variadic C wrapper - Prevent
asTypedListview detachment on WASM memory growth by returning Dart-heap copies - Always copy streaming output to the Dart heap, eliminating use-after-write hazards in
StreamOpusEncoderandStreamOpusDecoder - Guard encoder/decoder methods against use after
destroy()withOpusDestroyedError - Attach
Finalizerto encoder/decoder classes for GC-driven native resource cleanup - Prevent memory leak when a second native allocation throws
- Add
_asStringbounds guard (cap at 256 bytes) to prevent unbounded scanning - Register missing
OpusCustomModeopaque type ininit_web.dart(was duplicatingOpusRepacketizer) - Export
_opus_encoder_ctlin WASM DockerfileEXPORTED_FUNCTIONS
- Extract duplicated encode logic into
_createOpusEncoderand_doEncode/_encodeBufferhelpers - Extract duplicated decode logic into shared helpers and replace magic numbers with named constants
- Deduplicate
OpusPacketUtilswith a shared_withNativePackethelper - Simplify
getOpusVersionimplementation - Add
bytesPerInt16SampleandbytesPerFloatSampleconstants inopus_dart_misc.dart
- Add
repositoryfield to pubspec andCHANGELOG.md - Fix typos across comments and documentation
- Add RFC 6716 validation note to
maxDataBytes - Add comprehensive tests for buffer sizing, bounds checking, use-after-destroy, and allocation failure cleanup
- Add Swift Package Manager support to
opus_codec_iosandopus_codec_macos - Migrate iOS and macOS plugin source files to SPM-compatible directory layout
- Retain CocoaPods compatibility for both platforms
- Bump all package versions
| Package | Version |
|---|---|
| opus_dart | 3.0.4 |
| opus_flutter | 3.0.4 |
| opus_flutter_android | 3.0.4 |
| opus_flutter_ios | 3.0.4 |
| opus_flutter_linux | 3.0.4 |
| opus_flutter_macos | 3.0.4 |
| opus_flutter_platform_interface | 3.0.4 |
| opus_flutter_web | 3.0.4 |
| opus_flutter_windows | 3.0.4 |
- Depend on
opus_flutter_ios:3.0.1andopus_flutter_android:3.0.1 - Depend on newer
web_ffiversion for web support
- libopus 1.3.1
- Updated example
- libopus 1.3.1
- Depend on newer
opus_flutter_webversion
- Migrate all packages to
opus_codecnamespace - Adopt federated plugin structure with platform interface
- Add macOS, Linux, and Windows support
- Web support using
web_ffi - libopus 1.3.1
- libopus 1.3.1
- Minor formatting fixes
- libopus 1.3.1
- Updated for opus_dart 2.0.1, supporting null safety
- Moved to federated plugin structure
- libopus 1.3.1
- Update for opus_dart 1.0.4
- Migrated to new plugin map in pubspec.yaml
- Included iOS binaries
- libopus 1.3.1
- Update for opus_dart 1.0.3
- libopus 1.3.1
- Initial release