NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev
Web plugin for assets_audio_player_plus, play music/audio stored in assets files directly from Flutter.
Last release 5 months ago
15 Apr 2026
Too new to tell
only 1 dated releases
Nearly every release is documented
notes for 1 of 1 stable releases
Nothing withdrawn
no release was ever pulled
5 months old
1 releases · first in 2026
One column per month.
Restored the web plugin (previously deleted upstream because it used the deprecated dart:html API).
First release of the assets_audio_player_plus continuation fork. Published by
Zakria Khan after the upstream
assets_audio_player package was discontinued on pub.dev.
assets_audio_player → assets_audio_player_plus.assets_audio_player_web →
assets_audio_player_plus_web, with implements: assets_audio_player_plus
correctly wired so Flutter's plugin resolver picks it up.pubspec.yaml homepage: URLs and all Dart package:... imports.example/pubspec.yaml: depends on assets_audio_player_plus: ^3.2.0 with a
local path: override for development.com.github.florent37.*) left
untouched — they're internal and don't affect pub.dev publishing.dart:html API).dart:html → package:web + dart:js_interop so the plugin
compiles to both JavaScript (flutter run -d chrome) and
WebAssembly (flutter build web --wasm).WebPlayerHtml.stop() now fully detaches the old <audio> element (clears
src, calls load(), nulls the reference). Fixes a bug where rapid
open()/replaceAt() calls could leave the previous element still playing,
producing overlapping audio on web.findAssetPath() URL-encodes each path segment, so asset filenames with
spaces or unicode no longer 404 in the browser.onAudioAddedAt / onAudioRemovedAt in lib/src/assets_audio_player.dart
now read the current isPlaying state and pass it as autoStart, instead
of force-starting playback. Previously inserting an item at the current
playlist index would always autoplay even if the player was paused.AudioWidget _totalDuration: changed from late Duration to
Duration _totalDuration = Duration.zero so the position callback firing
before onReadyToPlay no longer throws LateInitializationError.Audio.copyWith now accepts pitch — the field was declared on the
private constructor but never surfaced on copyWith.flutter analyze returns 0 issues across
the plugin, web sub-package, and example.flutter_neumorphic_plus dependency and the neumorphic look.
Replaced with a clean Material 3 launcher + screens (seeded
ColorScheme.fromSeed(Colors.deepPurple), light + dark).example/lib/ into main.dart + demos/ + widgets/ +
utils/ (snake_case, one demo per file).flutter_audio_query and flutter_audio_recorder git
dependencies (unmaintained, missing AGP 8 namespace).flutter create --org=com.zakriakhan
with the declarative Gradle plugins block (modern AGP 8 requirement).
Added POST_NOTIFICATIONS, WAKE_LOCK, FOREGROUND_SERVICE,
FOREGROUND_SERVICE_MEDIA_PLAYBACK permissions, plus the custom
assets.audio.player.notification.icon metadata and drawables.DemoScaffold (AppBar + info banner) so every demo is
self-documenting.open() throws, transport controls rendered unconditionally with stream
defaults (no longer invisible before first emission).autoStart: true and auto-opens the playlist paused.mm:ss timestamps.cacheDownloadInfos
stream to explicit Dio.onReceiveProgress download. Real percentage + MB
counters on both web (blob URL) and Android (temp file). Plays from the
cached copy on completion.dart:io +
path_provider, web uses a Dio download into a package:web blob URL.somafm.com/songs/groovesalad.json every 20 s with manual
refresh button. Graceful fallback on CORS errors.audio.updateMetas() via player.current; play/pause button added.assets/audios/2 country.mp3 → country2.mp3 and pop test.mp3 →
pop.mp3 to remove spaces that tripped the browser's <audio src="">.electronic.mp3 and pop.mp3 (≈4 MB each) instead of country.mp3
(11 MB) in the AudioWidget and Insert / replace demos for faster
load times..github/workflows/ci.yml — dart format check, flutter analyze on
plugin + web + example, flutter test, flutter build web --release and
--wasm, flutter build apk --debug. Runs on every PR..github/dependabot.yml — weekly pub updates across all three
packages, monthly Gradle + Actions..github/CODEOWNERS — reviews routed to @cyclone-pk..github/pull_request_template.md — checklist covering formatter,
analyze, tests, platforms, Flutter version, screenshots.CONTRIBUTING.md — full contributor guide (setup, testing
expectations, web-specific DDC + WASM requirements, release process).README.md — added project-status banner, platform test checklist,
"Hire me on Fiverr" button, refreshed screenshot strip (s1/s2/s3/s4.png).example/README.md — rewritten with accurate snippets using the real
current API and a table mapping each demo to the APIs it exercises.flutter build web --wasm succeedsFirst release of the web implementation under the _plus name.
assets_audio_player_web to assets_audio_player_plus_web.implements: assets_audio_player_plus so Flutter's federated plugin
resolver wires it up automatically.dart:html → package:web + dart:js_interop so the plugin
compiles to both JS (flutter run -d chrome) and WebAssembly
(flutter build web --wasm).WebPlayerHtml.stop() now fully detaches the old <audio> element
(clears src, calls load(), nulls the reference) — prevents overlapping
audio on rapid open()/replaceAt() calls.findAssetPath() URL-encodes each path segment, so asset filenames with
spaces or unicode resolve correctly in the browser.Your coding agent can read these notes before it upgrades. Set up the MCP server →