Table of Contents


SDK Update Release Notes: version 9 - 10/23/2018

Roku OS 9 introduces a new manifest flag which adds drastic improvements to the memory footprint and launch times of Roku SceneGraph (RSG) channels. All RSG channels should set the "rsg_version=1.2" manifest entry to run the new, higher performing SceneGraph update. This update also adds memory profiling capabilities to the BrightScript Profiler tool, enabling developers to better identify memory leaks in their channels.

Roku TV models are expected to receive the update in early 2019.

Below is a list of new APIs, tools, performance enhancements, and media updates for developers.

SceneGraph enhancements

New BrightScript Profiler features

The BrightScript Profiler now includes a memory profiling tool that can be used to help developers identify memory leaks or memory that is allocated during channel operation without ever being freed. Roku OS 9 also adds support for streaming of profiling data to a local network host.

Media, DRM, and content meta-data updates

Miscellaneous

For an overview of the consumer features added in Roku OS 9, visit the Roku Blog.

SDK Update Release Notes: version 8.2 - 09/26/2018

Roku OS 8.2 is a firmware update focused primarily on firmware optimizations and bug fixes, along with new features that will enable Roku TV models to work seamlessly with the upcoming Roku TV Wireless Speakers. This update introduces no new features, APIs, console logs, or tooling about which developers should be mindful.

For our consumer release notes, see here.

SDK Update Release Notes: version 8.1 - 05/1/2018

Media, DRM, and content meta-data updates

Deprecated APIs

Five roDeviceInfo methods are being deprecated and replaced with similar APIs (as seen in the chart below).

The deprecated APIs will remain in the firmware and continue to work for one year; they will be removed from the firmware in the Spring 2019 OS update. Developers must update their channels to use the new APIs within the next year.

Below is a complete list of the APIs deprecated as of Roku OS 8.1.

Deprecated API

Replacement API

GetDrmInfo()

GetDrmInfoEx()

GetAdvertisingId()

GetRIDA()

IsAdIdTrackingDisabled()

IsRIDADisabled()

GetClientTrackingId()

GetChannelClientId()

GetDeviceUniqueId()

N/A — Use GetChannelClientId()

General API Enhancements

SceneGraph Updates

SDK Update Release Notes: version 8.0 - 10/2/2017

Performance & Optimization

SceneGraph Updates

System Overlay & Closed Caption Updates

Miscellaneous

SDK Update Release Notes: version 7.7 - 06/20/2017

Roku OS 7.7 focuses mainly on bug fixes and firmware optimizations to increase performance of Roku SceneGraph (RSG) channels.

How to update

All current-generation Roku streaming players and Roku TV models will update to Roku OS 7.7. 

SceneGraph additions and modifications

While Roku OS 7.7 is focused almost entirely on bug fixes and developer optimizations, it does include a few new consumer features.

For our consumer release notes, visit the Roku Blog.

SDK Update Release Notes: version 7.6 - 04/11/2017

SceneGraph Additions and Changes

BrightScript Additions and Changes

BrightScript Debugger Changes

New manifest entry

UI Watchdog

UI watchdog was re-enabled in version 7.6.

The UI Watchdog is a timer that runs on the Roku system and ensures overall stability of the platform by forcing a reboot of the system if it appears to be hung.  During normal system operation the timer (watchdog timeout value) is periodically reset to ensure that a reboot is not triggered. In the case of the UI Watchdog, the firmware will give a 3 second grace period for a side-loaded channel locking/over-taxing the Render thread before a system reboot is triggered (for a channel-store installed channel the firmware gives a 10 second grace period).

SDK Update Release Notes: version 7.5 - 11/01/2016

SceneGraph Additions and Changes

BrightScript Additions and Changes

New manifest entries:

BrightScript Debugger Changes

External Control Protocol Additions

Media Player Updates

SDK Update Release Notes: version 7.2 - 06/21/2016

This release adds two notable features. A text to speech feature has been added to allow all Roku applications to provide audible spoken versions of the user interface. Also, an option to buffer a video stream without actually playing it is now included, to provide a "fast start" video playback capability to your applications. You can use this option to begin buffering the video stream while a user is reading a description of the video, and then start the actual playback when the user selects it. Roku SceneGraph also supports this new option, as well as built-in support for Audio and Video node playlists, improved HTTPS support, improved debugging, and several other new features. 

SceneGraph Changes

Component Changes

BrightScript Debugger Changes

SDK Update Release Notes: version 7.1 - 04/05/2016

The 7.1 firmware release incorporates several BrightScript and BrightScript component improvements. There is now support for playing broadcast and cable content on a Roku TV which includes a tuner. SceneGraph has numerous improvements to the Video node, and new capabilities such as passing global data between components, passing parameters to callback functions, localization, and downloading libraries of SceneGraph components.

SceneGraph Changes

BrightScript Language Additions

BrightScript Language Fixes

Component Changes

SDK Update Release Notes: version 7.0 - 10/06/2015

SceneGraph XML API

A new user interface programming API has been added. Information on this new API can be found in:

Roku Search and Follow

Users can now follow content from the Roku homescreen Search in addition to My Feed. This allows you to have users who choose to follow a particular search term (a movie, director, or an actor) to receive automatic updates when your latest content includes that term.

Roku 4 Support

Support is now included for the Roku 4 Streaming Media Player. This Roku Player features greatly enhanced video resolution output up to 2160p (ultra-high definition, or UHD). This Roku Player also allows the creation and use of user interfaces with 1080p (full high-definition, or FHD) resolution. The Roku 4 Streaming Media Player includes a much more powerful quad core ARM processor and decoding support for the HEVC (high-efficiency video code) codec to allow efficient streaming of 2160p video content.

ECP Install Command 

 An install command has been added to the ECP to allow deep-linking to uninstalled channels.

BrightScript language

BrightScript components

roAssociativeArray

roDeviceInfo

SDK Update Release Notes: version 6.2 - 04/09/2015

Roku Ad Framework

BrightScript language

BrightScript components

ifDateTime changes
ifDraw2D changes

SDK Update Release Notes: version 6.1 - 12/04/2014

BrightScript language

BrightScript debugger

BrightScript components

roDeviceInfo changes
roMessageDialog changes

SDK Update Release Notes: version 5.4 - 04/14/2014

New in this release

SDK Update Release Notes: version 5.3 - 12/17/2013

Version 5.3 introduced user configurable closed caption settings.  The Roku settings UI now includes controls for turning captions on or off at the system level.  These settings control closed caption behavior for all channels.  Closed captions on instant replay are also controlled from these settings.

SDK Update Release Notes: version 5.2 - 10/08/2013

Version 5.2 introduced a new security model for side-loading channels.  Accessing the web interface for the device now requires a userid and password to log in.  Please see the article here for more details:  http://blog.roku.com/developer/2013/10/08/security-enhancements-added-to-channel-development

New in this release

SDK Update Release Notes: version 5.1 - 08/05/2013

New in this release

SDK Update Release Notes: version 5.0 - 06/05/2013

Version 5.0 of the Roku OS was released to all second and later generation devices.  The home screen introduces a completely new look and feel for navigating my channels, the channel store, and settings.  This release does not introduce any new screens or templates to the SDK.

New in this release

SDK Update Release Notes: version 4.9 - 11/12/2012

New in this release

SDK Update Release Notes: version 4.8 - 07/03/2011

We've had our heads down working diligently on new firmware features and supporting new hardware. Hello Streaming Stick! In v4.8, we have some new developer SDK features to share with you. We are continuing our firmware version numbering scheme with v3.1 currently released to all "Classic" or "Roku1" models and major version 4.8 coming soon to all Roku2 models. 

We are maturing as a company, and with that comes new legal requirements. In v4.8, we are asking our development community to agree to the development terms directly on the box before it can side-load and channels.  As soon as your developer mode box updates to v4.8, you may find you are unable to side-load channels. You will need to re-enable developer mode by entering the following remote control sequence: 3x Home, 2x Up, Right, Left, Right, Left, Right. After entering "Enable Installer" on the secret screen, it will present you with the developer terms that you must read and scroll through and then click down to "I Agree". The box will then reboot with the side-loading installer enabled.

The Roku Team

New in this release

Compatibility Issues

Remember to re-enable developer mode in v4.8!

SDK Update Release Notes: version 4.1 - 12/21/2011

With v4.1, Roku is now supporting the “Roku 2” generation of boxes. We’ve tried to keep the Roku SDK compatible across all the different models and have highlighted hardware and SDK differences in a new Section 1.4 of the Developer Guide. Our firmware version numbering requires a little explanation as major version 3 is currently released to all “Classic” models and major version 4 is release to all “Currently Selling” models. We continue to have minor releases planned on both of these major release branches. All features from the v3.0 beta have made it into the final v3.0 and 4.1.


We understand that we haven’t exposed all the functionality the Roku 2 platform has to offer to the entire Roku Developer Community. Roku has a good track record of taking security issues seriously. There are many such issues to work through before we can expose low level OpenGL interfaces in a secure manner that the content owners in our community are also comfortable with. We are working diligently toward that end.

We appreciate all the hard work the Roku Developer Community has put into developing some great applications on the Roku platform. We are happy that the Roku 2 has been well received by the market and are looking forward to continued shared success with the Roku Developer Community and all the great new channels you can create.

The Roku Team

New in this release

• Roku 2 platform support.
• Brightscript Plugin for Eclipse
• Updated videoPlayer sample application
• All v3.0 beta features are now fully supported on classic models running v3.0 and Roku 2 models running v4.1:

Compatibility Issues

Please note that we have deprecated support for Macrovision and WMV video. We still have support for CGMS (Copy Guard Management System) protection for analog outputs and HDCP protection for digital output. There has been very little use of WMV video, and if anyone has content out there it can be converted to MP4 with several transcoding applications, including ffmeg (please see our encoding guide for example usage).

SDK Update Release Notes: version 3.0 - 04/18/2011

We’re making the 3.0 Beta firmware available to all developers who request it. If your box isn’t already part of the developer beta group, send a private developer forum message to RokuKevin. Include the serial number of the Roku units you would like to run the 3.0 beta on.
It is very important that all developers regression test their applications on version 3.0 and note any incompatibilities. You may need to publish an update to your application to make it compatible with v3.0.

There are some exciting new features in the v3.0 SDK that will support developers building 2D games for the Roku box. We encourage all game developers to support both HD and SD modes. About half of the Roku’s out there still run in SD mode. We’ve added screen level scaling to support developers using one set of graphics assets and a single game engine running in both HD and SD modes. Although v3.0 has not been released to end users yet, we are now encouraging discussion about v3.0 features on the developer forum.


The Roku Team

New in this release 

The new 2D Graphics components are considered part of the core BrightScript language and are documented in the BrightScript Reference. The new platform components are documented in the Component Reference. New v3.0 components have their own sections and new methods on previously existing components are called out with their own “Since v3.0” sections.

Compatibility Issues

BrightScript v3.0 is stricter in some ways than BrightScript v2.0. Areas in your app with variables that are used before initialized, or return statements that return a different type than specified in the function declaration may cause runtime errors in v.30 that may have run successfully in v2.0.

It is very important that all developers regression test their applications on version 3.0 and note any incompatibilities. You may need to publish an update to your application to make it compatible with v3.0.

SDK Update Release Notes: version 2.9 - 03/31/2011

With the release of firmware v2.9 build 1553, we are excited to share our latest SDK documentation. We have added several new features that developers can take advantage of. Many of you have already seen the new Premium Developer Program. With a premium developer account you can charge for applications in the Roku channel store and Roku will handle the billing for you. To sign up for a premium developer account you simply need to provide your tax id and agree to the new terms and conditions. Our new v2.9 SDK helps support paid applications with the ability to launch the channel store to purchase your application. You can create a free “Lite” app that includes a banner ad that up-sells to a premium app. When the user clicks on the ad, the “Buy” page is launched in the channel store. There is an example of this in the roPosterScreen section of the component reference.

Please refer to the Component Reference Section 7 for an introduction to the two new components in v2.9. The roAudioMetadata component gives you access to metadata included in many audio files. It recognizes ID3 tags and supports cover art. The roImageMetadata component gives you access to metadata in image files.

Version 2.9 updates the grid component by letting the developer control the “Up” button behavior and giving developers the ability to stack grid screens without a lot of extraneous code.

Thanks for all the channels you’ve developed so far. We’re looking forward to all the new ones you’re busy working on.

The Roku Team

New in this release

New v2.9 components have their own section in the reference and new methods on previously existing components are called out with their own “Since v2.9” sections.

SDK Update Release Notes: version 2.8 - 11/18/2010

It’s been a short time since we last updated you, but we still have a few things worth sharing in this release of the SDK. We’ve added developer specified HLS stream switching strategies, new commands in the External Control API, and customizable GridScreen layouts.

We appreciate your support of the Roku platform and always welcome your feedback.
The Roku Team

New in this release

New v2.8 components have their own section in the reference and new methods on previously existing components are called out with their own “Since v2.8” sections.

Compatibility Issues

We have maintained backward compatibility with the v2.7 SDK. Some have experienced video playback issues with their HLS streams. The number one issue was incorrect aspect ratios and resolutions. We’ve addressed most of these issues with a new v2.8 build (1158), but we have requested that any other HLS playback regression issues from v2.7 be posted to a sticky thread on our forum. We will attempt to address them all in a timely manner.

SDK Update Release Notes: version 2.7 - 10/07/2010

This release brings several new features to the Roku SDK, as well as support for the additional hardware capabilities of the new Roku models. The new models add 1080p playback capability and a new 12 button remote control. The new remote control will come with the Roku XD and Roku XDS. The Roku HD will continue to ship a 9 button remote. However, the 12 button remote will be available for purchase separately. The 12 button remote will also work on the older Roku models, providing the installed base access to the new button capabilities with only a remote control purchase. While not all users will have the 12 button remote, we are strongly encouraging developers to add support for the three new remote control buttons.


The “Instant Replay”, is implemented entirely in the firmware and will work on all channels during video playback without any changes to developer channels. The “Back” button works by default on most screens, but needs to be enabled on dialogs if the screen close behavior is desired. The “Info” button is intended to provide additional contextual information at various points within channels. It is up to developers to use the new features in the roMessageDialog and support the “Info” button usage pattern of launching context menus and dialogs. We have included a simpleinfo sample app in this release that illustrates the info button usage.

We are also introducing 1080p video playback support on the Roku XD and XDS models. Updated Information on supported encoding resolutions is included in the new Encoding Guide. We encourage developers to add 1080p streaming content at bitrates below 4.0Mbps.

A much anticipated addition to the SDK is the new roGridScreen component which presents the user with a scrolling grid as an alternative to the poster screen interface. The simplegrid sample app demonstrates how to use this new feature. 

Below is the complete list of new features in this release.

We appreciate your support of the Roku platform and welcome your feedback.

The Roku Team

New in this release

New v2.7 components have their own section in the reference and new methods on v2.4 components are called out with their own “Since v2.7” sections.

Compatibility Issues

We have maintained backward compatibility with the v2.7 SDK. However, developers need to be aware of the new hardware models and update their channels to take advantage of the new features. If your back end services do any type of authentication based on model numbers, or you have any code that is based on model numbers you will need to update your code. 

If any of your BrightScript code is enabling certain features based on model number, we have a new roDeviceInfo.HasFeature() method that will enable you to code this logic in a more forward-looking manner. If you don’t account for the new “Back” and “Info” buttons in your code, users may think your channel does not behave correctly.

On most screens, the back button will automatically send an event that matches the isScreenClosed() predicate. However, this behavior would break many modal dialogs that do not expect to receive an isScreenClosed()event because they are waiting for a state change or reacting to user input that must be answered. We chose not to break these channels and instead did not enable the back button by default on the roMessageDialog component. We did provide a method to enable the back button on roMessageDialogs that can successfully 
handle an isScreenClosed() event. You should survey your channel for any roMessageDialog components that should enable the back button with EnableBackButton(true). The “Info” button will enable you to pop-up any screen of your choosing. There are two new events added to support this new button. Events matching isButtonInfo()return the button focus of any on screen buttons in when the Info remote key is pressed. Events matching isListItemInfo()return the index of the focused poster when the Info remote key is pressed. The simpleinfo sample application shows basic support for the “Info” button that also demonstrates an overlay dialog on a poster screen. When isRemoteKey()events are propogated to your script, the event.GetIndex() for the Info key is 10.

SDK Update Release Notes: version 2.6 - 06/28/2010

The 2.6 SDK release adds a number of new components to the Roku Platform SDK and introduces a new user interface for developers on the Channel Store for managing your channels.

The Channel Store Developer Site now provides support for managing application dependencies based on minimum required firmware version or hardware capabilities. For example, if your application requires the features of a specific firmware release or a hardware feature, you can specify this dependency and ensure your application is only published to the correct systems. We recommend studying the Channel Packaging and Publishing Guide for more information about the Channel Store versioning support.

We have added a number of new components to the SDK and expanded the API’s for some of our existing components. Be sure to check out the new roImageCanvas component, which allows much greater freedom for laying out custom types of screens. We’ve also added API’s to open up the USB port on the Roku XR for developers, support for HTTP Live Streaming, plus many other new features.

We hope you enjoy these new features and we’re anxious to see the new types of applications that you develop with these capabilities. Thanks again for your support.

The Roku Team

Compatibility Issues

The 2.6 SDK release adds additional events. Please be sure your event loops ignore unknown events. If your code is exiting event loops rather than just ignoring unknown events your application may have undefined behavior.

Important Notes

New in this release

There are lots of other changes in this release and these are just some highlights that we wanted to specifically mention. Please check the Component Reference for additional details. New v2.6 components have their own section in the reference and new methods on v2.4 components are called out with their own “Since v2.6” sections.

SDK Update Release Notes: version 2.4 - 12/17/2009

This release unites our Channel Store development activities with the SDK. There are a few implications for developers during the transition that we’d like to highlight. Our legacy applications will not appear on the player until it syncs to our Channel Store. The Channel Store is not yet deployed in Production, so Netflix and Amazon will not appear on your player after the upgrade. These apps will eventually reappear on your players as the backend services are upgraded.

We’ve provided this firmware update early so that you have an opportunity to develop with this release before the Channel Store beta is available. After you update your software build, the only features that will be visible on the home screen will be Settings and any developer application that you’ve installed manually. We plan to distribute at least one more SDK release before we get to feature complete for the 
launch, so we’re still adding more features and fixes on your behalf. We think that most of these enhancements are things that will be useful to a wide variety of developers.

Thanks again for your support!
The Roku Team

Compatibility Issues

There have been significant changes to our file system APIs. We’ve implemented these changes so that they are backward compatible for a limited time. Any deprecated API calls will be displayed in the debugger with a warning message. The samples applications were updated to use the new file specification format. Please refer to the BrightScript and Component Reference manuals for more information. Backward compatibility will be removed in the next release, so please update as soon as possible.

Update Instructions

The Roku player will automatically update to the new version within the next 1-2 days.

We hope you force your player to download the new version immediately by following these steps
1) Press the HOME button on the remote control.
2) Use the arrow keys to highlight the “settings” icon and press the SELECT button.
3) Press the right arrow several times until you see “player info” and press SELECT.
4) Highlight “check for update” and press SELECT.
5) SELECT “yes”.
5) Wait for the software to download, and then SELECT “ok” to restart.
Note: If you already have the new version, a message will appear letting you know your version is current.

Important Notes

          Display the secret screen using the following key sequence:

          Home 5x, FastForward 3x, Rewind 2x

After pressing this key sequence, the “secret screen” will appear. Select the “cycle channel store server” option until the text “<bypass account linking>” is displayed and then press the “back” button to exit the screen.

The software update options on this screen are controlled via the server and are not functional for developers. Just ignore these options, since they won’t work anyway.

New in this release

There are lots of other changes in this release and these are just some highlights that we wanted to specifically mention. Please check the documentation for additional details.