The Cobalt team has published Cobalt 27.LTS.11 including Starboard API version 18 to the 27.lts branch with tag 27.lts.11 (27.lts.11.1041346).
Corresponding Evergreen binaries are available on GitHub at the 27.lts.11 Release tag.
This is a non-Stable development release. Please use Stable (.10, .20) releases for certification. Considering the critical loader_app fix (#13471) included in this release, the Cobalt team strongly recommends that partners upgrading from Cobalt 25 (or earlier) or integrating Cobalt 27 LTS migrate to the next stable release 27.lts.20 as soon as possible.
Cobalt Changes
Bug Fixes
- [CRITICAL] Evergreen
loader_appSlot Count Migration: Fixed an issue where upgrading from a 3-slot configuration (Cobalt ≤ 25) to Cobalt 27's 2-slot configuration causedInstallationManager::Initialize()to fail if the device had rotated into Slot 2, falling back toEvergreen-Liteand preventing future Evergreen updates.loader_appnow resets the on-diskInstallationStorewhen the slot count changes so Slot 0 becomes active immediately. (#13471) - Evergreen
loader_appHardening: Preventedloader_appfrom aborting on malformedmanifest.jsonversion strings (#13123) and added bounds checking to in-memory CRX verification (#12909). - QUIC & Media Stability: Fixed stale QUIC packet send times after download pauses (#13479), resolved a media pipeline hang on initialization errors (#13066), and fixed a crash in the decode-to-texture pipeline when the GL context is lost during idle periods (#13114).
- 64-bit Ozone & Startup Deadlocks: Fixed 64-bit
AcceleratedWidgetwindow pointer truncation crashes on Ozone platforms (#12932) and resolved startup deadlocks ingmtime_rand ICU timezone initialization (#13142, #13069).
Memory Reductions & Performance Improvements
- 3P Memory & Rendering Optimizations: Enabled
CobaltInProcessImageTransferCache,CobaltInProcessDirectRaster, andCobaltContentLengthAwareMojoPipeSizingby default on 3P Starboard platforms (#12996), and reworkedCobaltMmapFontCacheto save ~28–34 MB PMF on warm launches (#13165). - Startup & Network Latency: Deferred V8 code cache disk writes to idle tasks by default (#13167) and sent Cobalt client-hint headers once at startup instead of per-request Mojo IPCs (#13086).
- Media Buffering & Parsing: Launched
FixNeedMoreInputBackpressure(max pending inputs set to 512) and external media memory pool allocation by default (#13118, #12991), and added support for in-place MP4 and WebM stream parsing (#12846, #13015, #13017).
AOSP & RDK
- AOSP: Restored support for devices older than Android 9 (API 24+) (#13108), fixed Crashpad handler startup (#12916), wired up the
NativeStabilityandAccessibility(TTS) extensions (#12975, #13186), enabled the network error dialog (#13273), applied player bounds to the video surface (#13282), and disabled QUIC by default (#13354). - RDK: Added pre-app recommendation service (
com.google.youtube.tv.Recommendations) support (#12872).
Starboard Changes
- Audio: Reinitialized
AdaptiveAudioDecoderimmediately on early config changes before samples are written (#13481) and addedMedia.SkipAudioResamplingOnUnchangedSampleRateto bypass unnecessary resampling (#13467). - System & POSIX: Unified CA certificate lookup under
<content>/ssl/certs(#13068), translated platformgetaddrinfo()error codes to musl equivalents (#13246), resolved full/etc/localtimesymlink chains (#13052), and fixedarm64stack unwinding and call-site symbolization (#12966, #12977). - NPLB: Made AV1 HDR optional for non-HDR 4K devices in
MinimumSupport(#13347).
Contact Points
Please contact our support channels if you have any problems, questions, or feedback.