Cobalt 27 LTS Stable

The Cobalt team has published Cobalt 27 LTS Stable including Starboard API version 18 to the 27.lts branch with tag 27.lts.10 (27.lts.10.1041180).

Corresponding Evergreen binaries are available on GitHub at the 27.lts.10 Release tag

Cobalt 27 represents the most significant architectural evolution in Cobalt's history. By transitioning the core engine from a custom web runtime to a fully-fledged Chromium fork based on M138, Cobalt 27 brings modern, next-generation features, performance, and developer experience to Cobalt-powered devices.

This release also marks a major milestone in platform portability. Starboard 18 consolidates the transition to standard POSIX APIs, replacing over a hundred proprietary Starboard functions with industry-standard calls. This dramatically simplifies porting, shortening the timeline for bringing Cobalt to new devices from months to just weeks, saving significant engineering, testing, and operational resources.

Available Reference Ports:

  • Desktop Linux
  • RDK (starboard/contrib/rdk)
  • Android (AOSP)

Migration guide from Cobalt 25 to Cobalt 27 is available here:

[Required] New Starboard Extensions for Cobalt 27:

  • CobaltExtensionCrashHandlerApi
  • StarboardExtensionNativeStabilityApi

Cobalt 27 provides a fully modernized, standards-compliant web platform. This shift brings robust, cutting-edge web technologies directly to Cobalt devices bringing richer user experiences optimized for embedded devices.

  • Rich WebGL Capabilities: Full support for standard WebGL 1 and 2 opens up advanced 2D and 3D graphics capabilities able to render complex visual effects, highly interactive UI layouts, and immersive animations with hardware-accelerated graphics performance.
  • Standards Compliance: Developers can target modern Web APIs with confidence. The transition enables modern CSS layouts, advanced JS features, and full compliance with standard Web APIs, making it easier and faster for Cobalt developers to deploy new features.
  • V8 Performance Boost: By running the latest V8 JavaScript engine, complex JavaScript animations and app state transitions execute faster and more efficiently.
  • Modernized Graphics & Compositing Pipeline: GPU rasterization and compositing are now handled by Chromium's hardware-accelerated graphics pipeline (using the Chromium Ozone framework on Linux/Starboard ports), translating Blink rendering into standard OpenGL ES and native platform graphics calls.
  • WASM Support: Full support for standard WebAssembly for near-native execution performance – unlocking advanced client-side media processing and higher web runtime performance.
  • Fully Featured DevTools (Available on non-gold builds): You can now debug Cobalt applications using the standard Chrome DevTools interface out-of-the-box. Simply launch a build, navigate to chrome://inspect on a desktop Chrome browser on the same network, and inspect the running app with access to the DOM tree, performance profilers, console, and network analyzers. This replaces the limited, custom debugging tools of the past.

Starboard 18

Starboard has undergone a massive simplification. Bespoke, proprietary Starboard APIs (e.g., SbMemory*, SbThread*, SbSocket*, SbFile*) have been phased out and replaced with standard POSIX APIs already available on platforms. This reduced Starboard APIs from 273 (Starboard 15) vs 117 (Starboard 18).

Why POSIX API Adoption Matters:

By adopting POSIX, Cobalt integration efforts can be cut from months of development to just weeks. Porting is no longer about implementing custom wrapper functions for threading, file I/O, and sockets. Instead, developers can link their system's standard libraries (e.g., pthread, libc, openssl) directly, dramatically reducing integration time.

New Starboard APIs and Extensions (starboard/CHANGELOG.md):

While many Starboard APIs were removed, several new interfaces and updates were introduced to support modern media capabilities, features, and modularity:

Starboard Changes

  • Dynamic Media Codec Switching:
    • SbMediaCanChangeType()
    • Added to media.h. This API allows the browser to query whether the platform's media pipeline supports dynamic stream configuration changes (e.g., SourceBuffer.changeType()) without destroying and recreating the player instance
    • SbPlayerWriteSamples()
    • Capabilities Update: Now supports writing samples with different mime-types and codecs on the fly if SbMediaCanChangeType() returns true.
  • System and Storage Updates:
    • kSbSystemPathFilesDirectory
    • System Property: Introduced to define the permanent write-path for DOM localStorage and persistent cookies
    • Evergreen now uses 2-slots (instead of 3), optimizing flash storage usage.
  • Lifecycle Updates
    • Synchronous Conceal Lifecycle Handling
    • Updated kSbEventTypeConceal handling and lifecycle documentation to ensure graphics and media resources are deterministically released before background suspension completes.
  • AV2 Video Codec Support: Added AV2 definition to SbMediaVideoCodec to prepare the media stack for next-generation AV2 streams.

New & Updated Starboard Extensions

These extensions are either brand new, updated, or have had their legacy core API C headers fully removed, making the extension implementation mandatory for baseline functionality:


2027 YouTube Certification

Remember to use 27.lts.10 (or newer) for 2027 YouTube certification and for your product release.

Contact Points

Please contact our support channels if you have any problems, questions, or feedback.