Changelog

A log of notable additions, changes, and fixes shipped in RNTP.

v5.1.2 May 21, 2026

Fixed

iOS New Architecture (RN 0.80) — Export `./package.json` so RN codegen can resolve the library on React Native 0.80. Fixes missing RNTrackPlayerSpec.h on iOS; RN 0.83+ and Android are unaffected.

v5.1.0 May 21, 2026

  • Stream-driven metadata (ICY/ID3) automatically updates the queued media item, keeping the lock screen and useActiveMediaItem in sync with the live title — no app code required.
  • New MediaMetadataChanged event for the effective merged view, alongside MetadataReceived for raw stream-truth.
  • Carry app-defined metadata alongside each media item with the new MediaItem.extras field.

Added

PlayerConfig.autoUpdateMetadataFromStream — Defaults to true. When enabled, incoming ICY/ID3 metadata is merged into the active MediaItem so getActiveMediaItem() and the system Now Playing info (lock screen, notification, CarPlay/Android Auto) reflect the live title without any JS code running. Set to false to receive MetadataReceived events only and update the queue yourself (e.g. to sanitize stream-supplied fields before they reach the UI).

Event.MediaMetadataChanged — Fires when the effective metadata of the active media item changes — track transitions, explicit updateMetadata calls, or the auto-update path landing a stream rewrite. Use this for UI that mirrors getActiveMediaItem() / the lock screen; reserve MetadataReceived for cases that need raw pre-merge stream-truth (e.g. scrobbling).

MediaItem.extras — Attach an opaque, app-defined payload to any media item. Stored verbatim by the player and returned unchanged from getActiveMediaItem, getQueue, and the MediaItemTransition event. Useful for recommendation source, ISRCs, internal IDs, and other metadata you want to travel with a track without polluting the typed fields. Must be JSON-serializable.

Changed

useActiveMediaItem — Now subscribes to MediaMetadataChanged instead of MetadataReceived. The returned item reflects the merged effective view of the active queue item.

Fixed

Event.MetadataReceived (Android) — Now fires for ICY/ID3 metadata updates on live streams. Combined StreamTitle values ("Artist - Title") are split into separate fields to match iOS. Closes #2638.

MediaItem headers (Android) — Per-item HTTP headers now override defaults injected by the underlying player, consistent with iOS.

v5.0.0 Released

  • Ground-up rewrite on Media3 (Android) and a modernised Swift core (iOS).
  • New TurboModule-friendly API surface and stricter, well-typed interfaces.
  • First-class Android Auto and CarPlay integration via setBrowseTree.

Looking for the raw commit log? See GitHub releases.

ende