Developer highlights for Roku OS 7.6

Roku OS 7.6

Roku OS 7.6 begins rolling out to Roku devices today. With this latest firmware update, we’ve introduced new developer tools and APIs to increase channel performance and improve the end-user experience.

How to update

The rollout process for Roku OS 7.6 will occur in phases throughout the next few weeks. We expect the firmware to be available on all current-generation Roku streaming players and Roku TV models before the end of May.

Roku devices will automatically update within 24 hours of the firmware becoming available. Alternatively, developers can check if the latest version is available from the Home screen by going to Settings > System > System update.

7.6 system update

Performance optimization and debugging

  • BrightScript profiler tool A BrightScript profiler tool has been added to Roku OS to gather important metrics such as CPU usage and function “wall-clock” times. Use this tool to analyze performance and increase code efficiency. (BrightScript profiler documentation;visualization tool)
  • Rendezvous logging — Information on the thread rendezvous can now be accessed from within the developer console. To toggle this log setting, telnet to the device port 8080 and enter “enhanced_dev_log rendezvous [on|off]”. (Testing and debugging Roku channels)
  • Node operation performance metrics — Debug command “sgperf” has been added to port 8080 to track roSGNode operations by thread, whether it’s a create- or a subsequent-operation on an existing node, and whether it involved a rendezvous. (Testing and debugging Roku channels)
  • Shorthand debugger commands — Shorthand alternatives can now be used to replace many debugger commands. (Testing and debugging Roku channels)

SceneGraph APIs & improvements

  • TVOD APIs — New APIs have been added to the RSG ChannelStore component to support in-channel purchases. (ChannelStore docs, ChannelStore node sample,  roChannelStore docs, roChannelStore sample)
  • Remove flicker during channel launch — SceneGraph channels can add the line “splash_rsg_optimization=1” to their manifest to avoid flashing to a black screen between the splash screen and their initial screen. (Roku channel manifest)
  • New function for cloning an entire node tree — The clone() function has been added to ifSGNodeDict to clone an entire node tree, or just the node depending on the boolean value passed. (ifSGNodeDict)
  • Convert structures containing arrays into an RSG node tree — An “update” function has been added to ifSGNodeChildren. Use ifSGNodeChildren.update() to convert objects with arrays and/or associative arrays into node trees. (ifSGNodeChildren)
  • Improved rotation animation — Fixed a rotation animation issue for the following device model groups: 2450X, 2500X, 27XXX, 37XXX, and 5000X. (SceneGraph animations; FloatFieldInterpolator)

BrightScript APIs & improvements

  • Microphone APIs — Added a roMicrophone component and roMicrophoneEvent for capturing voice input from the user. Note that channels in the Kids & Family category can not use these APIs. (roMicrophone; roMicrophoneEvent)
  • HTTP/2 support —roUrlTransfer objects now support HTTP/2. Among the benefits, HTTP/2 support allows for connection sharing, which is accomplished by establishing all roUrlTransfers that could share a connection from the same Task thread. (roUrlTransfer)
  • Conditional compilation — BrightScript now supports conditional compilation, which allows blocks of code to be run only while set to true. (Conditional compilation)
  • API to count node impressions — Two new fields — enableRenderTracking and renderTracking — have been added to RenderableNode to check whether a node is fully or partially rendered within the bounding rectangle of the screen. Developers can use this information to track node impressions.
  • Import BrightScript files using relative URIs — Developers can now specify URIs relative to the XML component’s file for the <script> element’s “uri” attribute. (script)
  • New functions added to ifDeviceInfo:
    • GetGraphicsPlatform queries the device to see if it supports OpenGL or DirectFB. The function takes no arguments. The return is either “opengl” or “directfb” as a string. (ifDeviceInfo)
    • GetClientTrackingId is an alias for the existing GetPublisherId function. The alternative function name is meant to help developers remember to use publisher ID instead of the device ESN. (ifDeviceInfo)

For more information on the recent SDK updates, review our developer documentation.

Roku OS 7.6 also introduced many great consumer features, with a focus on Roku TV. The complete list of consumer updates can be found on the Roku Blog.

This entry was posted in News and tagged , , , . Bookmark the permalink.
  • Blake

    Any improvements to the audio guide feature? If there was, why wasn’t it listed prominently with the other features?

    • Tom Charles

      Hi Blake, good question. Roku OS 7.6 did not introduce any changes to the functionality of Audio Guide.

  • Christopher Meunier

    My lg 65fl5700 TV (with roku built in) has started resetting whIle using the roku apps (plex, food network and HGTV for a few) since the 7.6 update. Is there any way to roll back a version?

    • YES, PRESS 5 TIMES HOME, 3 TIMES FW & 2 TIMES BW the secret screen will open click on UPDATE SOFTWARE….in the next screen click on CONTINUE to roll back… 🙂

  • Brian Obillo

    Update slowed down my roku 2 4210, scrolling through the home screen is laggy and the lag is carried on to some channels as well. I also experience random flickering when scrolling this is mostly visible when navigating from home to streaming channels menu.

  • sirmeili

    Any updates to the ECP? And if not, are there any expected updates anytime soon? Specifically being able to run a search and get search results could really be beneficial in Home Automation implementations where it is tied with voice control.

      • sirmeili

        Yup, I saw that, but it only brings up the search UI on the tv. I was hoping for something that would return results for something like:

        “Search for Iron man”
        – HA software calls the roku and gets results

        “I found Iron man on Netflix, would you like me to start it?”
        – waits for a response

        – HA software calls roku using deep linking to launch the Netflix app and start the movie

  • Conor O’Doherty

    After upgrading my Roku 3 to 7.6 I experienced a slight snow effect with a crackling noise and the device started resetting itself. I changed the resolution from 1080 to 720 and the device works fine.

  • Jack & Lucy KARSTENS

    Approx 2 weeks ago, our Roku 2 (2720X) and Roku 3 (4200X) began NOT retrieving and/or NOT loading items in the free Roku News drop down topics. The selected item may either not load altogether, or it may 1st play the preceding advertisement and then may or may not play the requested video. At times the video successfully plays, at others it may play if we hit the back-arrow and re-select, at other times it will freeze-up for a long while while only displaying the video title before skipping on to the next item. The cycle then repeats. All other streaming options work without any problems. Is this something that is in the programmer’s list of potential fixes? Please advise.

  • Richard Kuring

    Wondering if there is a password protection feature that is available.
    Is there any way to block the download of certain app channels on my roku player or a way that a password is needed to view certain app channels
    My specific need at the moment is to prevent the shopping channels from being downloaded, viewed or accessed and I would like my kids not to be able to access some of the app channels.

  • CatwomanMN

    So Roku is on my sh*t list since this update! My favorite channel XTV now has limited functions. Gone-LiveTV-All of it, 24/7-all shows cut in half what I can access, onDemand seems to be the only thing working (until Roku screws it up with another update)
    Anyone else have these problems too? Thanks a lot Roku. 🙁

  • Reuben Patrick

    I am trying to cycle the channel store sever using the secret screen. I have done this several times before in the past. I am able to select it but when I click on it, it does not change any thing. Is any one else having this problem since the update? I have a Roku 3(4230x)

  • As you all know there is a feature to prevent anyone to ADD a channel to your Account with a , my question is, is there any way to PREVENT SOMEONE TO ERASE A CHANNEL THAT IS ALREADY IN MY ACCOUNT?