• /
  • EnglishEspañolFrançais日本語한국어Português
  • Log inStart now

Streaming Video & Ads for Mobile release notesRSS

October 15
Media agent for iOS v5.1.0

Notes

  • NRTHEOplayerTracker now requires iOS 15.0 or later (upgraded from iOS 13.0) and THEOplayerSDK-core version 11.x (upgraded from 10.x). Applications that require iOS 13 or 14 support must remain on NRTHEOplayerTracker version 5.0.0. Other tracker packages remain unaffected.

Improvements

  • Updated NRTHEOplayerTracker to support THEOplayerSDK-core version 11.x.

Bug fixes

  • Fixed an issue in NRAVPlayerTracker where pausing playback during rebuffering terminated the buffering event prematurely. The tracker no longer emits CONTENT_BUFFER_END while the buffer remains empty, and playtime is no longer accumulated while playback is paused.
  • Fixed a crash in NRTHEOplayerTracker that occurred when assigning a video source using THEOplayerSDK version 11.x.
  • Fixed an issue in NRIMATracker where the NRTrackerIMA class was omitted from the XCFramework binary. This restores NRTrackerIMA support for Swift Package Manager and manual installation methods.

October 14
Media agent for Android v5.0.2

Bug fixes

  • ExoPlayer / HLS: contentBitrate always reported 0 for HLS streams. media3 internally classifies mixed audio+video HLS segment loads as TRACK_TYPE_DEFAULT rather than TRACK_TYPE_VIDEO (unlike DASH and progressive streams, which were unaffected). The tracker's bitrate-capture logic only fired for TRACK_TYPE_VIDEO, so HLS loads never populated the field. contentBitrate now correctly reflects the actual stream bitrate for HLS content.

September 29
Media agent for Android v5.0.1

Breaking changes

  • THEOplayer tracker API corrected: NRTrackerTHEOPlayer now accepts a THEOplayer Player instance instead of a THEOplayerView. Update your integration to pass theoplayer instance rather than the view itself. The tracker no longer proxies Activity lifecycle — forward onResume(), onPause(), and onDestroy() directly to THEOplayerView.

September 23
Media agent for iOS v5.0.0

⚠ BREAKING CHANGES

  • NRVAVideo.addPlayer(): Now returns without creating a tracker when it can't identify the player type and no explicit playerType was set, instead of silently defaulting to an AVPlayer tracker. If you pass a custom or wrapped player object, set NRVAVideoPlayerConfiguration.playerType explicitly.

Features

  • NRTHEOplayerTracker: Added a new tracker for THEOplayer (Dolby OptiView Player) — content lifecycle events, QoE/rendition tracking, and error mapping. iOS only, iOS 13.0+. Available via CocoaPods, XCFrameworks, and Swift Package Manager.

September 17
Media agent for Android v5.0.0

Features

  • THEOplayer integration - add NRTHEOPlayerTracker module and sample app support

Bug fixes

  • Add error handler
  • Add Read Me file
  • Add Rendition shift
  • Add unit test
  • Added test cases
  • ci: remove --no-ci from semantic-release to fix major version detection
  • ci: remove --no-ci from semantic-release to fix major version detection
  • Error code to null
  • Fix CI failure
  • Fix CI failure
  • Fix CI failure
  • Release tracker issue
  • Remove config driven code
  • Remove default code reference
  • Remove unused code
  • Remove unused code
  • Rephrased the statement
  • Resize the video
  • Review comments
  • Review comments
  • Sample app
  • Test cases
  • theo: restart session on seek-back after video end
  • timeSince-session-boundary
  • Update comment
  • Update ReadMe file
  • Update the video url
  • Updated error handler
  • Updated error handler part
  • Updated with config driven

September 3
Media agent for iOS v4.4.0

New features

  • Added support for Swift Package Manager.
  • NRMediaTailorTracker: Added a new AWS MediaTailor server-side ad-insertion (SSAI) tracker for AVPlayer (iOS 12+ and tvOS 12+), offering feature parity with NRIMATracker.

Bug Fixes

  • ios-publish: Modified retry logic to survive partial pipeline failures.

August 31
Media agent for Android v4.5.0

Features

  • sample-app: show a LIVE badge instead of a countdown for live streams
  • sample-app: support direct manifest URL playback and mock-server testing

Bug Fixes

  • exoplayer: report contentIsLive and omit contentDuration for live streams
  • mediatailor: append newly-reported ads when a tracking-built avail grows (fd2b5fd), closes #2 #3
  • mediatailor: centralise trailing-segment sessionId extraction
  • mediatailor: classify how the tracking endpoint was resolved
  • mediatailor: correct DASH cue offset and give HLS breaks a stable id
  • mediatailor: derive tracking URL from implicit-session DASH playlist path
  • mediatailor: derive tracking URL from implicit-session HLS playlist path
  • mediatailor: describe pending implicit-session tracking URL as deferral
  • mediatailor: emit AD_ERROR when tracking fetch fails silently
  • mediatailor: expose creativeId-first primary key for per-ad metrics
  • mediatailor: harden schedule merge against zombie breaks and pod drift
  • mediatailor: keep manifest pod boundaries when tracking ad count disagrees
  • mediatailor: let EXT-X-DATERANGE override an earlier trackingUrl guess
  • mediatailor: make playhead poll interval configurable at construction
  • mediatailor: match growing-avail ads by start time when adId is absent
  • mediatailor: match manifest breaks by id, gate MISSING_AVAIL_START once
  • mediatailor: paginate NextToken within one poll instead of across polls
  • mediatailor: parse tracking-event beacons with ad-start-relative timing
  • mediatailor: pod endTimeMs must not exceed its enclosing break
  • mediatailor: prune viewed avails from the live schedule
  • mediatailor: read HLS tracking URL from EXT-X-DATERANGE when advertised
  • mediatailor: rename segmentPrefix to canonical adSegmentPrefix
  • mediatailor: require unanimous representation agreement for DASH ad periods
  • mediatailor: revert tracking requests from POST back to GET
  • mediatailor: round-trip NextToken across tracking polls
  • mediatailor: stabilise avail identity across live window rotations
  • mediatailor: surface avails missing startTimeInSeconds as an error
  • mediatailor: surface pods appended after the playhead left their window
  • mediatailor: treat empty avails as no-fill instead of firing AD_START

August 4
Media agent for Android v4.4.0

New features

Bug fixes

  • Aligned totalPauseTime with the iOS clock model and stopped emitting totalTimeSwitchedDown. (924c7b9)
  • Classified startup and playback errors by content-started state, for iOS parity. (a6b3288)
  • Corrected CONTENT_DROPPED_FRAMES event fields and fixed the underlying ANR root cause. (a5afc73)
  • Deduplicated consecutive identical download-rate samples. (e9b6d1f)
  • Emitted a fresh totalPlaytime value in QOE_AGGREGATE. (af065d6)
  • Excluded only ad time from startupTime, for iOS parity. (9321ac8)
  • Recorded the final QoE event into the crash-safe buffer at CONTENT_END. (e1d3ae1)
  • Removed an unused classpath. (f729768)
  • Removed an unused dependency. (0bdd95b)
  • Removed an unused plugin. (fa11838)
  • Replaced the global harvestCycleNumber gate with a per-tracker gate. (9e19faf)
  • Updated a variable name. (72de035)
  • Updated the allowlist for QOE_AGGREGATE context attributes, for iOS parity. (dd1d3ef)
  • Updated the bitrate timer to use the isPlaying transition. (011ade3)

August 4
Media agent for iOS v4.3.0

Published to CocoaPods

  • NewRelicVideoAgent 4.3.0
  • NRAVPlayerTracker 4.3.0
  • NRIMATracker 4.3.0

New features

Bug fixes

  • Fixed ad-break time inflating totalPauseTime. (7c41112)
  • Corrected rendition KPIs across views in multi-video sessions. (bd7d6c9)
  • Fixed multiple device UUIDs per viewId. (790c7e6)

July 13
Media agent for Android v4.3.1

4.3.1 (2026-07-13)

Bug Fixes

  • Fixed an issue where CSAI preroll operations inadvertently dropped CONTENT_START events. (948f229)

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.