4.1.1 (2024-03-26)
- RN: Fixes an issue when using local assets in release builds
4.1.0 (2024-03-25)
- web: First beta version of RNTP for web
- RN: Massively reduce npm package size
- android: Fix: add namespace to support gradle 8
- android: Improvement: add http headers to notification artwork request
- android: Improvement: use http data source for local urls
- android: Improvement: use SVGs for notification icons
- android: Improvement: specify key when returning key error
- ios: Improvement: improve internal use of playWhenReady to avoid issue where we'd load two tracks at once
- ios: Fix: return correct already intialized error code
- ios: Fix: avoid emitting empty common metadata
- ios: Fix: occasional crash due to attaching metadata output
- ios: Fix: sometimes progress bar would be broken after repeat
4.0.1 (2023-10-31)
- android: Fix: notification dissapearing in background
- android: Allow overriding notification channel name and description
4.0.0 (2023-10-20)
- RN: New metadata events have a new
metadata
property that contains the metadata that was received - android: Fix: allow updating duration in notification metadata
- ios: Avoid prematurely activating audio session
- android: Fix: don't emit both PlaybackTrackChanged when queue ends (parity with iOS)
- android: Fix: allow progressUpdateEventInterval to be set to a decimal value (partial seconds)
- android: Support for setting grace period before stopForeground (defaults to 5 seconds)
- ios: Fix: updating rate will immediately reflect in control center
- android Fix: issue where loading a new track after end required seek to start
- ios: Fix: crash adding output when load is called too fast
4.0.0-rc09 (2023-09-22)
- RN: useIsPlaying hook now takes into account
none
state - ios: Fixes issue where rate was being reset to 1 on play
- ios: Deactivates session before activating on play to avoid issues when losing focus in some scenarios
- RN: Deprecated
Event.PlaybackMetadataReceived
and introduces three new events: [Event.AudioChapterMetadataReceived
,Event.AudioTimedMetadataReceived
,Event.AudioCommonMetadataReceived
] - ios: Change default pitch algorithm to
timeDomain
instead oflowQualityZeroLatency
- android: Fixes progress in notification for HLS audio
4.0.0-rc08 (2023-09-07)
- RN: Undeprecate updateNowPlayingMetadata
- android: Restore notification image caching
- RN: Fix issue with updateOptions and local images
- ios: Activate session on play to avoid issues with background audio
- ios: Second fix for repeat mode
- ios: Correctly update control center progress when pausing/playing
4.0.0-rc07 (2023-08-11)
- ios: Fix firing of
EventType.PlaybackQueueEnded
(fixes #2038) - android: Avoid emitting track changed when replaying the same track
- android: Fixed a regression where
reset()
wasn't clearing notification properly - android: Resolved a where the update metadata method was not working
4.0.0-rc06 (2023-07-25)
- ios: Fix iOS not repeating track in RepeatMode.Track
- RN: Improve types on asset types
- android: Fix foreground issues and notification item
- ios Fix race conditions in player property setting
- android: Improve notification updates when spamming notification buttons
- android Fix AudioPlayerState.IDLE when queue emptied
- android Improve metadata handling
4.0.0-rc05 (2023-06-26)
- ios: Fix crash on getting current item
- android: Improve preciseness of seeking
- android: Improve handling of service foregrounding
4.0.0-rc03 (2023-03-28)
- android: Fixes compilation issue due to uses of Lifecycle (updates kotlin gradle plugin)
4.0.0-rc02 (2023-03-27)
-
android: Fix removeUpcomingItems (#67)
-
android: Notification fixes
-
ios: Fix removing items from queue other than the current track (#41)
-
ios: Fix player state not becoming paused after loading (#46)
-
ios: Fix current item not being updated when removing items from queue (#45)
-
ios: Avoid calling onSkippedToSameCurrentItem when track before is removed (#45)
4.0.0-rc01 (2023-03-14)
- android: add deep link back (#1872) (9c227fa)
- android: fix handling of seek capability (#1938) (166aa0d)
- android: resolve problem with StopPlaybackAndRemoveNotification not working on subsequent exists (#1762) (e742959)
- android: use “none” instead of “idle” for none state (#1924) (e125045)
- clears queue on iOS when you call reset() (#1900) (e3c670a)
- hooks: updates setting initial playback state in usePlaybackState hook (417f3c4), closes #1931
- ios: emit state passed to handleAudioPlayerStateChange (#1928) (a65fdcd)
- ios: prevents overwriting of forward/backward secs (#1855) (fb594c7), closes #1853
3.2.0 (2022-09-23)
- android, events: properly intercept and fire remote playback events (#1668) (9ed308c)
- android: fix state constants (#1751) (7215e64)
- example, ios: remove Capability.Stop (#1671) (49800ab)
- hooks: fix issues with excessive number of pending callbacks (#1686) (1b5bb02)
- hooks: fix useTrackPlayerEvents dependencies (#1672) (f6229d6)
- hooks: useProgress & usePlayback hooks (#1723) (31fa40a)
- ios, events: fix an issue with PlaybackQueueEnded resulting from a race condition (#1750) (e938c68)
- ios: fix various issues in iOS by upgrading SwiftAudioEx (#1738) (224c491)
- ts: add
null
to getCurrentTrack return type (#1681) (096ec68)
- android: add back option to remove notification (#1730) (82a5df9)
- android: add string values to State enum (#1734) (bd48c2d), closes #1688
- android: default the behavior to handle audio becoming noisy (#1732) (dabf715)
- ios: deprecate waitForBuffer (#1695) (d277182)
- ios: improve disabling of playback-progress-updated (#1706) (57de8b5)
- Uses latest KotlinAudio which does not use ExoPlayer fork.
- Adds back support for bluetooth playback control.
- Fixes crash with
reset()
on Android. - Removes
destroy()
on iOS - this was missed. - Removes the
stop()
method -- usepause()
instead.
We are changing how the audio service handles its lifecycle. Previously we had the stopWithApp bool that would try and stop the service when you remove the app from recents, but due to how Android handles foreground services the OS never stops the app process, as it's waiting for the foreground service to come back. We are embracing this and going with what other audio apps (Spotify, Soundcloud, Google Podcast etc.) are doing.
- Rewrite Android module in Kotlin and using KotlinAudio. [mpivchev](
- stopWithApp turns into stoppingAppPausesPlayback
destroy()
is no longer available
- Fix crash with
reset()
on Android. dcvz
-
Add property
isLiveStream
toTrack
for correct display in iOS control center. dcvz -
[iOS] Improve method documentation alpha0010
-
[Android] Add isServiceRunning method biomancer
-
[iOS] Fix track loop crash in certain cases mmmoussa
-
[iOS] Fix seek after play jspizziri
-
[Android] Support Android 12 devices abhaydee
-
[iOS] Add method resolves promise with index formula1
-
Fix getTrack return type puckey
-
[iOS] Fix ambient session not working grubicv
-
[Android] Android 12 and higher bug fix martin-richter-uk
-
[iOS] Update SwiftAudioEx to 0.14.6 to avoid LICENSE warning dcvz
-
Make react-native-windows and optional peer dependency (#1324). jspizziri
- None.
-
Update SwiftAudioEx - Fixes issues with flickering notifications + pause between loads
-
Fix cyclic require warning regression #1057
-
[ios] Fix
PlaybackQueueEnded
event to be called only when the track ends #1243
- [ios] Fix getCurrentTrack returns undefined instead of null
- [ios] Fix getTrack returning undefined instead of nil
- Fix an issue with next/previous in the control center stopping playing on iOS15
- None.
- None.
-
Remove Support for iOS 10 & Support Xcode 13 dcvz #1186
- NOTE: Requires minimum deployment target to be updated to iOS 11.
-
Reset initialization on destroy sreten-bild
-
Fix
onTaskRemoved
NullPointerException Markario
- None.
-
Fix
Event.PlaybackQueueEnded
firing on initialization on Android dcvz #1229 -
Make
useProgress
unmount aware. lyswhut -
Make
usePlaybackState
unmount aware. dcvz
- Import SwiftAudioEx through podspec dcvz
useProgress
hook should update while paused dcvz
- None.