NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #352 most downloaded on pub.dev
Audio recorder from microphone to file or stream with multiple codecs, bit rate and sampling rate options.
Last release 3 months ago
29 Jun 2026
Release timing varies
gaps range from 8 days to 5 months
Nearly every release is documented
notes for 50 of 50 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
57 releases · first in 2020
One column per quarter.
fixes #609
fixes #609
This release marks the end of a long wait, finally completing developments that had been on hold for too long, resulting in countless fixes.
This release marks the end of a long wait, finally completing developments that had been on hold for too long, resulting in countless fixes.
Notables changes:
RecordConfig, you can retrieve the effective RecordConfig from onConfigChanged callback. Native platforms now eagerly clamp to device and codec capabilities. While not bullet proof, there's no more surprises.InputDevice now provides preferred samples rates and type (sco, builtIn, etc.).Changelog:
onConfigChanged to dart side.chore: Breaking change Remove background recording service. See docs.
shouldResume system flag on audio interruption and don't stop on resume failure.manageAudioSession deprecated config property.chore: Deprecate background Android service (will be removed in v7).
This version is the last before v7 which will raise SDK versions to Flutter 3.44/Dart 3.12.
IndexOutOfBoundsException for AAC ADTS streaming.allowHapticsAndSystemSoundsDuringRecording iOS option.pactl command for consistent parsing.feat: Add request parameter to hasPermission() method to check permission status without requesting.
request parameter to hasPermission() method to check permission status without requesting.convertBytesToInt16 to allow pre-filled bytes array.AudioInterruptionMode not pausing or resuming.chore: Updated transitive dependencies.
fix: Calling stop never ends when not recording.
feat: Allow background recording on Android & iOS.
AVAudioSession.RecordConfig.feat: Make all streams as broadcast streams.
fmedia with parecord & ffmpeg.fix: Properly cancel platform streams before disposing others resources.
chore: Updated transitive dependencies.
chore: Updated platform dependencies.
chore: Updated Android dependency.
chore: Updated Android and web dependencies.
fix: Expose cancel method to stop and discard the recording.
fix: Regression on creation sequence when disposing AudioRecorder without using it.
AudioRecorder without using it.fix: Regression on creation sequence when disposing AudioRecorder without using it.
AudioRecorder without using it.fix: Creation sequence which may lead to unexpected behaviours.
fix: close state stream controller on dispose.
Massively reworked platform implementations.
Chore:
Features:
cancel() method to stop and remove file if any.Fix:
Breaking changes:
Record has been renamed to AudioRecorder to avoid confusion with dart v3.start and startStream method parameters are now wrapped in RecordConfig object.samplingRate has been renamed to sampleRate.fix: Adding events to amplitude stream after close
fix: Amplitude timer is not restarted for subsequent recordings.
chore: remove pcm8bit. Virtually still available since we have pcm 16 bits.
pcm8bit. Virtually still available since we have pcm 16 bits.convertBytesToInt16 to convert Uint8List to signed int 16 bits.Testers needed to reach release ! *
Testers needed to reach release !
Chore:
Features:
cancel() method to stop and remove file if any.Fix:
Breaking changes:
Record has been renamed to AudioRecorder to avoid confusion with dart v3.start and startStream method parameters are now wrapped in RecordConfig object.samplingRate has been renamed to sampleRate.* chore: Update linter rules. * chore: Update dependencies. * chore: Update readme.md.
fix: Deprecation warning on Android.
fix: Android build issue with linter.
fix: Android build issue with linter.
feat: onStateChanged() stream is now filled by platform implementations.
onStateChanged() stream is now filled by platform implementations.
onAmplitudeChanged could result in computation error.fix: WAV header overwrites first 44 data bytes.
fix: Android hasPermission() method does not throw exception anymore when permission has been denied.
hasPermission() method does not throw exception anymore when permission has been denied.* fix: iOS compilation.
feat: Add input devices listing and selection (linux / windows / macOS / web).
Nothing published for this version
Nothing published for this version
Nothing published for this version
* core: README.md updates.
feat: Add linux platform. EXPERIMENTAL.
feat: More encoders and features on Windows.
core: OPUS and vorbis formats are now in OGG containers (instead of MP4).
This contains very small breaking changes. See below.
This contains very small breaking changes. See below.
AudioEncoder values are now in lowerCamelCase.start#samplingRate is now an integer.AudioEncoder.aac is now AudioEncoder.aacLc.isEncoderSupported to check if the encoder is available on the platform.fix: iOS - hasPermission double check was needed when permission was undeterminated.
core: Moved from jcenter to mavenCentral (Android).
* fix: web pubspec.yaml file.
pubspec.yaml file.fix: Android request code is now frozen.
feat: Add getAmplitude() to get current and max dBFS.
getAmplitude() to get current and max dBFS.start method to align behaviour with web platform.stop method now returns the output path.fix: Android warning "mediarecorder went away with unhandled events".
Add pause/resume/isPaused features.
Relaxing dart/flutter constraints for pub.dev analysis.
Add null safety support (based on v1.0.3).
Allow recording from bluetooth device on iOS.
Fix (for good) potential exception when closing beofre recorder is actually started (Android).
Fix potential exception when closing beofre recorder is actually started (Android).
Flutter 1.12.0 is now minimum version (Flutter plugin API v2).
* Fix broken build on Android.
* Fix broken build on Android.
Implementations for Android and iOs.
Your coding agent can read these notes before it upgrades. Set up the MCP server →