<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Streaming Video & Ads for others release notes]]></title><description><![CDATA[Streaming Video & Ads for others release notes]]></description><link>https://docs.newrelic.com</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 16:05:07 GMT</lastBuildDate><atom:link href="https://docs.newrelic.com/docs/release-notes/streaming-others-release-notes/feed.xml" rel="self" type="application/rss+xml"/><item><title><![CDATA[Streaming Video & Ads for others v4.0.0]]></title><guid isPermaLink="false">U3RyZWFtaW5nIFZpZGVvICYgQWRzIGZvciBvdGhlcnMtNC4wLjA=</guid><link>https://docs.newrelic.com/docs/release-notes/streaming-others-release-notes/streaming-others-agent-25-02-25</link><pubDate>Tue, 25 Feb 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;New features &amp;#x26; enhancements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New Event Types Introduced
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;VideoAction&lt;/strong&gt;: This event type represents standard actions related to video playback and interaction.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VideoErrorAction&lt;/strong&gt;: This event type captures errors that occur during video playback, providing detailed insight for troubleshooting.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VideoAdAction&lt;/strong&gt;: Dedicated event type for tracking actions related to video advertisements, ensuring better granularity and reporting.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VideoCustomAction&lt;/strong&gt;: A flexible event type for custom actions and interactions within video applications.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ConnectedDeviceSystem&lt;/strong&gt;: This event type monitors general system level events.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Deprecations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;RokuVideo
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;RokuVideo&lt;/code&gt; event type has been deprecated. Users should transition to using the newer event types that offer enhanced tracking capabilities and specificity.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;RokuSystem
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;RokuSystem&lt;/code&gt; event type has been deprecated. Users should transition to using the newer event types that offer enhanced tracking capabilities and specificity.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;New attributes introduced&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We have introduced a set of new attributes to enhance data tracking and analytics. These attributes provide additional context and details for the new event types. Please refer to the &lt;a href=&quot;https://github.com/newrelic/video-agent-roku/blob/4.0.0/DATAMODEL.md&quot;&gt;data model documentation&lt;/a&gt; for more details.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Impact &amp;#x26; actions required&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Transition from RokuVideo&lt;/strong&gt;: Users currently tracking &lt;code&gt;RokuVideo&lt;/code&gt; events should adapt their implementations to utilize the newly introduced event types. This change provides improved specificity and scope in tracking actions across video interactions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Update Implementations&lt;/strong&gt;: Integrators should update their systems to leverage new attributes introduced with the release, which provide richer context and detail for event tracking.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Testing &amp;#x26; Validation&lt;/strong&gt;: We recommend testing the implementation of new attributes and event types to ensure compatibility and correct data transmission.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Additional information&lt;/h2&gt;
&lt;p&gt;For more details on implementing these changes, refer to the updated documentation and integration guides available &lt;a href=&quot;https://github.com/newrelic/video-agent-roku/blob/4.0.0/README.md&quot;&gt;here&lt;/a&gt;. Should you have any questions or require further assistance, please reach out to our support team.&lt;/p&gt;</content:encoded><description>ReleasedOn: Tue, 25 Feb 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Streaming Video & Ads for others v4.0.1]]></title><guid isPermaLink="false">U3RyZWFtaW5nIFZpZGVvICYgQWRzIGZvciBvdGhlcnMtNC4wLjE=</guid><link>https://docs.newrelic.com/docs/release-notes/streaming-others-release-notes/streaming-others-agent-25-04-22</link><pubDate>Tue, 22 Apr 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Bug fix&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Renamed &lt;code&gt;errorName&lt;/code&gt; with &lt;code&gt;errorMessage&lt;/code&gt; as &lt;code&gt;errorName&lt;/code&gt; has been deprecated.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 22 Apr 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Streaming Video & Ads for others v4.0.2]]></title><guid isPermaLink="false">U3RyZWFtaW5nIFZpZGVvICYgQWRzIGZvciBvdGhlcnMtNC4wLjI=</guid><link>https://docs.newrelic.com/docs/release-notes/streaming-others-release-notes/streaming-others-agent-25-10-09</link><pubDate>Tue, 22 Apr 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Updated&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;contentBitrate&lt;/code&gt; attribute to video events. This uses &lt;code&gt;segmentationBitrate&lt;/code&gt; if available, and falls back to &lt;code&gt;streamBitrate&lt;/code&gt; when necessary.&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;adBitrate&lt;/code&gt; attribute to ad events. The ad bitrate is now extracted using multiple methods and is standardized to bps (bits per second).&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;timeSinceLastError&lt;/code&gt; attribute to error events, reporting the time elapsed since the previous error event.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Tue, 22 Apr 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Streaming Video & Ads for others v4.0.4]]></title><guid isPermaLink="false">U3RyZWFtaW5nIFZpZGVvICYgQWRzIGZvciBvdGhlcnMtNC4wLjQ=</guid><link>https://docs.newrelic.com/docs/release-notes/streaming-others-release-notes/streaming-others-agent-25-11-12</link><pubDate>Wed, 12 Nov 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;Bug fix&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Avoid adding &lt;code&gt;appId&lt;/code&gt; from &lt;code&gt;dataToken&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Fixed &lt;code&gt;nrSendErrorEvent&lt;/code&gt; to send proper data.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 12 Nov 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Streaming Video & Ads for others v4.0.3]]></title><guid isPermaLink="false">U3RyZWFtaW5nIFZpZGVvICYgQWRzIGZvciBvdGhlcnMtNC4wLjM=</guid><link>https://docs.newrelic.com/docs/release-notes/streaming-others-release-notes/streaming-others-agent-25-10-22</link><pubDate>Wed, 22 Oct 2025 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;New feature&lt;/h2&gt;
&lt;h3&gt;Ad error timing analytics&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Added comprehensive tracking for ad error recovery patterns to enhance video advertising analytics.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;What&apos;s changed&lt;/h2&gt;
&lt;h3&gt;New timing attribute&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;timeSinceLastAdError&lt;/code&gt;: Tracks elapsed time since the last ad error occurred
&lt;ul&gt;
&lt;li&gt;Available for &lt;code&gt;VideoAdAction&lt;/code&gt; event type only&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Provides insights into ad error patterns and recovery times&lt;/li&gt;
&lt;li&gt;Helps optimize ad error handling strategies&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Implementation details&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Enhanced &lt;code&gt;nrTrackRAF()&lt;/code&gt; function with error timestamp tracking&lt;/li&gt;
&lt;li&gt;Added conditional attribute logic in &lt;code&gt;nrAddRAFAttributes()&lt;/code&gt; function&lt;/li&gt;
&lt;li&gt;Implemented robust error state management for accurate timing&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 22 Oct 2025 00:00:00 +0000.</description></item><item><title><![CDATA[Streaming Video & Ads for others v4.1.0]]></title><guid isPermaLink="false">U3RyZWFtaW5nIFZpZGVvICYgQWRzIGZvciBvdGhlcnMtNC4xLjA=</guid><link>https://docs.newrelic.com/docs/release-notes/streaming-others-release-notes/streaming-others-agent-26-04-09</link><pubDate>Thu, 09 Apr 2026 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Added QoE analytics for comprehensive video quality tracking with advanced performance metrics&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;averageBitrate&lt;/code&gt; attribute: time-weighted average bitrate across playback&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;peakBitrate&lt;/code&gt; attribute: highest bitrate achieved during playback&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;startupTime&lt;/code&gt; attribute: time from content request to first frame (excludes pre-roll ads)&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;rebufferingRatio&lt;/code&gt; attribute: percentage of playback time spent rebuffering&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;totalRebufferingTime&lt;/code&gt; attribute: total milliseconds in buffer states&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;totalPlaytime&lt;/code&gt; attribute: total content playback time in milliseconds&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;hadStartupError&lt;/code&gt; attribute: boolean indicating if startup failed before content start&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;hadPlaybackError&lt;/code&gt; attribute: boolean indicating if playback errors occurred during session&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;nrActivateQoeTracking(nr)&lt;/code&gt; to enable QoE tracking (disabled by default)&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;nrSetQoeAggregateIntervalMultiplier(nr, multiplier)&lt;/code&gt; to configure event frequency&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Update&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Synchronized QoE events with harvest cycles&lt;/li&gt;
&lt;li&gt;Prevented redundant events through intelligent duplication&lt;/li&gt;
&lt;li&gt;Implemented per-session metric isolation and cleanup&lt;/li&gt;
&lt;li&gt;Implemented time-weighted bitrate calculations for accuracy&lt;/li&gt;
&lt;li&gt;Implemented smart startup time calculation excluding ad time&lt;/li&gt;
&lt;li&gt;Disabled QoE tracking by default; harvest multiplier set to 1 (every harvest cycle)&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 09 Apr 2026 00:00:00 +0000.</description></item><item><title><![CDATA[Streaming Video & Ads for others v4.2.0]]></title><guid isPermaLink="false">U3RyZWFtaW5nIFZpZGVvICYgQWRzIGZvciBvdGhlcnMtNC4yLjA=</guid><link>https://docs.newrelic.com/docs/release-notes/streaming-others-release-notes/streaming-others-agent-26-05-14</link><pubDate>Thu, 14 May 2026 00:00:00 +0000</pubDate><content:encoded>&lt;h2&gt;New features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Added native support for AWS Elemental MediaTailor server-side ad insertion via Roku&apos;s RAFX_SSAI &lt;code&gt;awsemt&lt;/code&gt; adapter&lt;/li&gt;
&lt;li&gt;Added automatic &lt;code&gt;VideoAdAction&lt;/code&gt; recording for MediaTailor ad lifecycle events: &lt;code&gt;AD_BREAK_START&lt;/code&gt;, &lt;code&gt;AD_REQUEST&lt;/code&gt;, &lt;code&gt;AD_START&lt;/code&gt;, &lt;code&gt;AD_QUARTILE&lt;/code&gt;, &lt;code&gt;AD_END&lt;/code&gt;, &lt;code&gt;AD_BREAK_END&lt;/code&gt;, and &lt;code&gt;AD_ERROR&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;nrEnableMediaTailorTracking(nr, adIface)&lt;/code&gt; to register New Relic listeners on a RAFX_SSAI adapter in one call&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;nrSetMediaTailorAdMetadata(tracker, metadata)&lt;/code&gt; to inject sidecar key/value metadata into &lt;code&gt;VideoAdAction&lt;/code&gt; events&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;nrSendVideoAdEvent(nr, actionName, attr)&lt;/code&gt; for direct recording of &lt;code&gt;VideoAdAction&lt;/code&gt; from any tracker&lt;/li&gt;
&lt;li&gt;Added &lt;code&gt;MediaTailorTask.brs&lt;/code&gt; reference task and &lt;code&gt;VideoScene.brs&lt;/code&gt; sample demonstrating the recommended integration pattern&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Update&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Created &lt;code&gt;MediaTailorTracker&lt;/code&gt; in the scene thread and passed to the task via a node field for RAFX listener compatibility&lt;/li&gt;
&lt;li&gt;Initialised session through &lt;code&gt;RAFX_SSAI.requestStream()&lt;/code&gt;; assigned stitched manifest URL from &lt;code&gt;getStreamInfo().manifest_url&lt;/code&gt; to the Video node&lt;/li&gt;
&lt;li&gt;Added Video node &lt;code&gt;position&lt;/code&gt; field observation in the task event loop for ad-break timing resolution&lt;/li&gt;
&lt;li&gt;Set MediaTailor support as opt-in; activates only when &lt;code&gt;nrEnableMediaTailorTracking&lt;/code&gt; is called&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Bug fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fixed Google IMA ad lifecycle events (&lt;code&gt;AD_BREAK_START&lt;/code&gt;, &lt;code&gt;AD_BREAK_END&lt;/code&gt;, &lt;code&gt;AD_START&lt;/code&gt;, &lt;code&gt;AD_END&lt;/code&gt;, &lt;code&gt;AD_QUARTILE&lt;/code&gt;, &lt;code&gt;AD_ERROR&lt;/code&gt;) to correctly produce &lt;code&gt;VideoAdAction&lt;/code&gt; instead of &lt;code&gt;VideoAction&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 14 May 2026 00:00:00 +0000.</description></item><item><title><![CDATA[Streaming Video & Ads for others v4.2.2]]></title><guid isPermaLink="false">U3RyZWFtaW5nIFZpZGVvICYgQWRzIGZvciBvdGhlcnMtNC4yLjI=</guid><link>https://docs.newrelic.com/docs/release-notes/streaming-others-release-notes/streaming-others-agent-26-08-11</link><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;New features&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;&quot;JP&quot;&lt;/code&gt; as a supported &lt;code&gt;region&lt;/code&gt; value (alongside &lt;code&gt;&quot;US&quot;&lt;/code&gt;, &lt;code&gt;&quot;EU&quot;&lt;/code&gt;, and &lt;code&gt;&quot;staging&quot;&lt;/code&gt;), routing event, log, metric, and mobile-connect traffic to the New Relic Japan collector endpoints. Region matching is case-insensitive (&lt;code&gt;&quot;JP&quot;&lt;/code&gt; or &lt;code&gt;&quot;jp&quot;&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fixed a dirty-check gap where &lt;code&gt;QOE_AGGREGATE&lt;/code&gt; events stopped being sent after the first one whenever only a KPI added in 4.2.1 (&lt;code&gt;avgDownloadRate&lt;/code&gt;, &lt;code&gt;minDownloadRate&lt;/code&gt;, &lt;code&gt;maxDownloadRate&lt;/code&gt;, &lt;code&gt;totalSwitchUps&lt;/code&gt;, &lt;code&gt;totalSwitchDowns&lt;/code&gt;, &lt;code&gt;totalPauseTime&lt;/code&gt;, &lt;code&gt;totalRenditions&lt;/code&gt;) changed between harvests—most noticeable during a long pause, where &lt;code&gt;totalPauseTime&lt;/code&gt; was the only value still moving.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Removed &lt;code&gt;totalTimeSwitchedDown&lt;/code&gt; from the &lt;code&gt;QOE_AGGREGATE&lt;/code&gt; event and its internal tracking (rendition-switch-down interval accumulation).&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Wed, 05 Aug 2026 00:00:00 +0000.</description></item><item><title><![CDATA[Streaming Video & Ads for others v4.2.3]]></title><guid isPermaLink="false">U3RyZWFtaW5nIFZpZGVvICYgQWRzIGZvciBvdGhlcnMtNC4yLjM=</guid><link>https://docs.newrelic.com/docs/release-notes/streaming-others-release-notes/streaming-others-agent-26-08-27</link><pubDate>Thu, 27 Aug 2026 00:00:00 +0000</pubDate><content:encoded>&lt;h3&gt;Added&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;contentIsLive&lt;/code&gt; attribute to &lt;code&gt;VideoAction&lt;/code&gt;/&lt;code&gt;VideoAdAction&lt;/code&gt; events, reflecting the Video node&apos;s &lt;code&gt;content.live&lt;/code&gt; field when set — brings Roku in line with the standard cross-agent video data model.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Fixed&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fixed &lt;code&gt;CONTENT_BUFFER_END&lt;/code&gt; being delayed until playback resumed when a rebuffer completed while the video was paused. The event now fires as soon as buffering actually recovers, independent of whether the user has resumed playback — correcting over-reported buffering duration and total rebuffering time for pause-during-buffer scenarios.&lt;/li&gt;
&lt;li&gt;Fixed &lt;code&gt;errorCode&lt;/code&gt;/&lt;code&gt;errorMessage&lt;/code&gt;/&lt;code&gt;backtrace&lt;/code&gt; being stamped onto every &lt;code&gt;VideoAction&lt;/code&gt;/&lt;code&gt;VideoAdAction&lt;/code&gt; event, including heartbeats — Roku&apos;s Video node reports &lt;code&gt;errorCode: 0&lt;/code&gt; (not &lt;code&gt;invalid&lt;/code&gt;) even absent an error, so every non-error event was leaking error-shaped attributes (NR-606648). These now only appear on actual error events.&lt;/li&gt;
&lt;li&gt;Fixed MediaTailor SSAI debug logging (&lt;code&gt;nrActivateLogging&lt;/code&gt;) being silently suppressed since its introduction in 4.2.0 — an extra argument passed to &lt;code&gt;nrCheckLoggingState()&lt;/code&gt; via &lt;code&gt;callFunc&lt;/code&gt; caused the call to no-op instead of evaluating the logging gate, so no MediaTailor debug output was ever produced regardless of logging state.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><description>ReleasedOn: Thu, 27 Aug 2026 00:00:00 +0000.</description></item></channel></rss>