Releases: tuuhin/RecorderApp
Version 1.4.3
✨ Key Improvements & Fixes
- 🎧 Player Stability Correction: Resolved inconsistencies where player state flows were not correctly based on the current player instance. The player state flows now accurately reflect the initial playing state.
- ♻️ Enhanced Thread Management (Resource Cleanup): Implemented explicit stop thread calls to reliably clean up Handler callbacks after the decoding is done. This resolves potential resource leaks and ensures the visualizer thread stops immediately upon extraction completion.
- 🎛️ Media Controller Refinements (Fixing ANRs): The Media Controller setup is now more reliable by moving the Media Session configuration to the Callbacks.
🐞 Issue & PR Reference
- Issue Fixed: #22 (Raised by @DarshakDharaiya)
- Pull Request: #24
- Full Changelog: v1.4.2...v1.4.3
Version 1.4.2
🛠️ Version 1.4.2 — Critical Audio & Sharing Fixes
This patch release addresses key issues introduced in v1.4.1 related to audio extraction threading and file sharing logic.
🐛 Bug Fixes
- Audio Extraction Threading: Resolved a critical issue where the new custom Handler used for audio extraction was being mismanaged or incorrectly terminated across multiple extraction sessions, leading to app crash. The thread lifecycle and resources management is now correctly handled
- Audio File Sharing: Fixed a bug with sharing audio file content Uri which was not correctly configured , causing the intent to fail , now its working as expected.
✅ Summary
- Stability: Fixes to ensure robust handling of background audio extraction threads.
- Functionality: Corrected file sharing logic for audio player files.
What's Changed
Full Changelog: v1.4.1...v1.4.2
Version 1.4.1
🚀 Version 1.4.1 — Performance, Stability & Codebase Modernization
This release brings major performance gains, critical bug fixes, and cleaner architecture across the app.
✨ Highlights
- UI Optimizations: Lazy reads for timer and track data reduce recompositions; new player slider built on modern Compose APIs.
- Threading: Media extraction now runs on a background HandlerThread, improving responsiveness.
- Crash Fix: Fixed splash screen crash caused by premature animation calls.
- Player Logic: Added proper buffering state handling and timeline sync in player flows.
- Database: Enforced UTC timestamps with a migration to fix existing data.
- Recording: Fixed stereo buffer size and coroutine context handling in audio reads.
🧱Internal Improvements
- Refactored services and controllers to use Flow-based state.
- Simplified recorder initialization with a new RecordFormats enum.
- Added testing-runtime module with Hilt test runner and tried adding basic test all over the data module
✅ Summary
- ⚡ Performance: Faster UI & smoother playback
- 🧩 Stability: Key crash and logic fixes
- 🧪 Quality: Included test coverage for some data layer module
What's Changed
- Fix: Issue with clearing the back stack with onboarding. by @tuuhin in #18
- Included Hindi translation to the app and changed app colors by @tuuhin in #19
- Feat: Major Enhancements, Refactoring, and Test Coverage by @tuuhin in #20
Full Changelog: v1.4.0...v1.4.1
Version 1.4.0
✨ v1.4.0: Enhanced First-Time Experience & Core Improvements ✨
This release introduces a brand-new onboarding flow to guide new users, alongside crucial fixes and optimizations for app settings
🚀 What's New & Improved:
- New Onboarding Experience Provides a much-needed guided tour for first-time users.
- File Settings Fixes Migrated blocking file operations in settings to suspending calls and other improvements in UI
- Optimized Application Resources Removed unused and redundant resources from the main application module.
What's Changed
Full Changelog: v1.3.1...v1.4.0
Version 1.3.1
⚠️ Important
If anyone using the old apk and updating this with this current release, please uninstall it and reinstall it.
As we changed the signing config for the release it will not work along with that there are some issues too
- Previously recorded files will be consider as from other app, we can play them, edit them but cannot delete them from our app
- Need to allow external files in file settings to view the files.
📓 Key Changes
Bug Fixes:
- Resolved an issue with the audio player screen visualization (further improvements for longer files are still being investigated).
- Proper cancellation of audio decoder when the user leaves the screen
- Fixed inconsistencies in category-based recording counts in case user opts in or opts out external recordings
Visualization Improvements:
- Switched to using the audio record class for visualization, moving away from amplitude-based values for rendering
- Implemented an extra fade-out animation for the splash screen for a smoother transition.
Enhancements & Updates:
- Updated project dependencies to their latest stable versions.
- Added functionality to directly open recorded files from notifications for quicker access.
- Moved storage statistics to data layer so reducing Jank while moving to file settings.
- Removed the redundant "cancelled recording" notification.
- Incorporated a new signing configuration for release builds, replacing the debug one.
What's Changed
Changelog: v1.3.0...v1.3.1
Version 1.3.0
This release introduces a major new feature - an integrated audio editor - along with significant improvements to the player and overall app stability.
✂️ In-App Audio Editor
You can now edit your recordings directly in the app!
- Trim and Cut Media : Remove unwanted sections from your audio recordings.
- Save Edited Media : Export and store your refined audio files.
- Dedicated Editor Player : Review your edits seamlessly with a secondary playback control.
- Undo and Redo : Easily revert or reapply changes before saving your final version.
▶️ Enhanced Playback
The player module has been significantly improved:
- New Speed Selector UI : An intuitive, YouTube-inspired interface for adjusting playback speed.
- Improved Visualization Graph : A clearer and more informative visual representation of the audio waveform via a new visualization logic
- Jitter Fix : Smoother playback when interacting with favorite markers.
🛠️ Stability and Performance Improvements
This release focuses on providing a more stable and efficient experience:
- Fixed Deep Link Navigation: Resolved issues with navigating to specific content via deep links.
- Recorder Screen and Service Refactor : Simplified the recorder initialization process by consolidating logic from Ui to a logic class.
- Recorder Service Fixes : Addressed various stability issues within the audio recording service.
- Stability Configuration : Added configuration to explicitly mark data classes from other modules as unstable for improved project stability.
➿ Changelog
Version 1.2.2
This release is based on #10.
🆕 New Features
- Search Screen: Added a search screen to simplify getting to your recording.
- Shared element transitions: Added various shared element transition to make the app more interactive
Other changes
- Manage categories screen Ui is changed to a simpler version.
- Some bug fixes in the recordings screen
- Some code fixes in the use cases.
Full Changelog: v1.2.1...v1.2.2
Version 1.2.1
This release focuses on some Bug fixes and improvements, for more info follow #9 PR.
🐞 Bug fixes
- Recorder graph and the stopwatch timer are now able to sync properly.
- Bookmarks can be created for
non-ownerapps - Fixed Player screen going to
Loadingstate when an activity or dialog comes to foreground above it. - Widgets dimensions are corrected.
🌑 Improvements
- Some drawable are changes in the App,
Version 1.2.0
This release focuses on UI, Bug fixes and improvements, along with adding widget functionality to enhance the user experience.
This release is based on PR #4 #5 #7, check them for further details.
🪓 Fixes and corrections
- Fixed storage statistics display issues (incorrect ratios and text).
- Enhanced navigation icon behavior in the top bar.
- Addressed issues with the
PlayerScreen. - Fixed issues in
RecordingsSecondaryDataProviderthat caused the player screen to be stuck in the loading state. - Improved
VoiceRecordingProviderwith a parameter to control whether all recordings should be queried. - The
AudioPlayerScreenwas crashing due to a memory breech , fixed it. BookmarksViewModelholds the responsibility to show and exit bookmakrs.
🌑 New Feature
These are the new additions to the app
- Recorder Widget: Displays the current recording status on the home screen.
- Recordings Widget: Shows the list of current recordings, similar to the recordings screen.
- Mute Player: Muting the current playing item, the device volume doesn't change only the stream is muted.
Version 1.1.2
This version on based on #3, this latest update adds some of the new optional feature, some bug fixes and refactoring
New Features
- 🗺️️ Saving Location on Audio Metadata: Some
Codecallow location to be added in metadata thus added option to add location info with a recording, this is an optional, which can be turn on via recorder settings - 📁 Allow external recording: The app can now read its files and some external files of type recording that are created by some other app, this is only available for
Android 12and above. You can also rename external files if write request is provided.
Fixes and refactoring
- ➰ Refactor, recording providers and fixed some issues
This release contains a bug in the player, keeping it as a memory not use this version.