# 🚀 Vega 2.0 Launching

**URL:** <https://community.amazondeveloper.com/t/vega-2-0-launching/29849>\
**Category:** Announcements\
**Tags:** release-notes\
**Created:** [October 29, 2026, 9:03pm UTC](https://community.amazondeveloper.com/t/vega-2-0-launching/29849 "2026-10-29T21:03:17Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Moses](https://dhm3gbtzu79o6.cloudfront.net/user_avatar/community.amazondeveloper.com/moses/32/524_2.png) [@Moses](https://community.amazondeveloper.com/u/Moses)\
**Post date:** [October 29, 2026, 9:03pm UTC](https://community.amazondeveloper.com/t/vega-2-0-launching/29849/1 "2026-10-29T21:03:17Z")

</div>

[![blog_firetv2026_954x240](https://d3mq594dkmpl37.cloudfront.net/original/2X/7/7d022c3eb897a8cadcfb8742e436020d600dbbd0.png)](https://developer.amazon.com/apps-and-games/blogs/2026/10/vega-2-0-sdk-launch)

Today, we’re announcing the general availability of Vega OS 2.0, Vega SDK 2.0 with advanced Vega Developer Tools, all of which are graduating from Open beta. Vega OS already powers tens of millions of devices worldwide, including Echo and Fire TV devices. Vega OS 2.0 has now rolled out to all Vega-powered Fire TV devices.

Whether you are bringing an existing app to Vega or building your first one, this release improves three things: how performant your apps are, how fast you can build them, and how confident you can be building on Vega. Here’s what’s new and how it helps you.

## Build More Performant Apps

### React Native 0.83

Vega 2.0 includes React Native 0.83, bringing React 19, the React Compiler, and React Native DevTools to your Fire TV development workflow.

The React Compiler handles memoization for you at build time. No more manual React.memo, useCallback, or keeping dependency arrays in sync across every tile and handler. Only what needs to re-render does, which means less CPU work and better app performance, especially on catalogue screens with dozens of tiles.

Hermes v1 improves how your code is compiled at build time and how it runs on the device. That helps with the work your TV app does all the time: parsing big catalogue JSON, sorting and filtering rows, and layout math.

You also get React Native DevTools for debugging, so when something is slow, you can see exactly why. Commonly used libraries like React Navigation, Reanimated, and Lottie have been updated for compatibility, and new CSS styling properties like boxShadow and outline give you more options for TV focus states. Explore the [supported libraries](https://developer.amazon.com/docs/vega-api/latest/supported-libraries) to see what’s available.

Still on React Native 0.72? We know jumping eleven releases is a significant upgrade. That’s why we built tools and workflows to make the path forward easier; Vega already uses React Native’s new architecture, so the upgrade is simpler than you might expect. Read our blog **[Upgrade to React Native 0.83 on Vega OS](https://developer.amazon.com/apps-and-games/blogs/2026/10/react-native-for-vega-os)** for more guidance.

### Go beyond React Native app with Vega native APIs

Sometimes the best performance means going beyond what React Native can do on its own. Vega 2.0 brings native APIs that give you access to capabilities beyond what React Native or WebView can offer. For example, you can use these APIs to add task scheduling and custom UI components to your React Native app. Add native functionality where your app needs it and continue building the rest of your experience in React Native.

Check out our blog on how to **[Enhance your React Native App with Vega native APIs](https://community.amazondeveloper.com/t/enhance-your-react-native-app-with-vega-native-apis/29721)** and explore the available sample apps.

Our native tooling and AI-powered development capabilities for native APIs are available in early access and will continue to evolve based on developer feedback.

## Build faster with AI Powered Development

### Amazon Devices Builder Tools (ADBT) for AI

Earlier this year, we introduced [Amazon Devices Builder Tools (ADBT) for AI](https://developer.amazon.com/docs/adbt/get-started) to help developers build faster, test and debug Fire TV apps using their preferred AI coding agents. ADBT for AI provides Amazon device specific knowledge including Vega and workflows to assist with development tasks as you build your Fire TV app.

[We continue to launch more Skills and MCP based workflows](https://community.amazondeveloper.com/t/oct-8-2026-adbt-ai-whats-new/29704) within ADBT, including workflows for migrating Java and Kotlin apps from Fire OS to React Native for Vega, EMBER catalogue, Launcher, Live TV integrations, support to debug performance issues with React Native DevTools, and accessibility workflows.

For an existing Vega app, use ADBT for AI to generate a plan for [upgrading from React Native 0.72 to 0.83](https://developer.amazon.com/apps-and-games/blogs/2026/10/react-native-for-vega-os). Based on initial partner testing, developers reported that AI-assisted code migration can be completed in less than one day, excluding testing. Actual migration time varies by app and AI coding agent.

If you already develop apps for Fire TV using Java or Kotlin on Fire OS, you can use ADBT for AI. In early partner pilots, developers reported that ADBT helped accelerate migration from a Fire OS app to an initial working Vega app from months to within a week, reduce the time to a working Amazon feature integration from weeks to days, and shorten performance and crash debugging from days to hours. Results and timing vary by app, task, and AI agent. Additional development and testing may be needed before release. You can review the generated guidance, update your app, and test the changes in your project.

Visit the [Amazon Devices Builder Tools documentation](https://developer.amazon.com/docs/adbt/get-started) to setup within your preferred AI coding agent and try supported workflows in your app.

### DevAssistant. Your documentation AI partner

DevAssistant answers Vega questions directly in the developer documentation portal, using official docs as its source. We’ve also shipped a set of updates based on developer feedback: a domain selector to focus responses on Vega, chat history, page-level context for more relevant answers, search overviews, and support for languages localization, so you spend less time searching docs and more time writing code.

## Build with Confidence

### API stability

Vega 2.0 introduces a well-defined API surface that stays consistent between minor SDK releases. Breaking changes are saved for the major release, which ships once a year. That means you can adopt minor updates with confidence, no unexpected API changes, no rework, and plan for major upgrades on your own timeline.

Going forward, expect one major annual release with minor releases on a regular cadence. Your APIs stay stable across minor releases, giving you a clear timeline to plan upgrades and stay current with the latest SDK improvements.

## Next Steps

### Update your existing Vega app

If you already have a Vega app, [download the Vega 2.0 SDK](https://developer.amazon.com/docs/vega/2.0/install-vega-sdk) and review the [release notes](https://developer.amazon.com/docs/vega/2.0/vega-release-notes) to plan your update.

For apps using React Native 0.72, we recommend migrating to [React Native 0.83](https://developer.amazon.com/apps-and-games/blogs/2026/10/react-native-for-vega-os) to take advantage of the updated framework, the React Compiler, Hermes v1, and React Native DevTools. Use [ADBT for AI](https://developer.amazon.com/docs/adbt/get-started) to create a migration plan for your app, then build and test your changes with the updated SDK.

If your app requires additional capabilities, such as task scheduling or custom UI components, review the [Vega native APIs](https://developer.amazon.com/docs/vega-api/latest/vega-apis-overview). You can evaluate these capabilities alongside your framework upgrade.

### Get started with Vega 2.0

New to Vega? [Visit the tutorial](https://developer.amazon.com/docs/vega/2.0/hello-world) that walks you through setting up your development environment and building your first Vega app.

Download the [Vega 2.0 SDK](https://developer.amazon.com/docs/vega/2.0/install-vega-sdk) and review the [release notes](https://developer.amazon.com/docs/vega/2.0/vega-release-notes) to explore what’s available in Vega 2.0. For AI-assisted development, visit the [Amazon Devices Builder Tools documentation.](https://developer.amazon.com/docs/adbt/get-started) Explore our sample apps on GitHub.

Build more performant apps, build faster, and build with confidence. We can’t wait to see what you build with Vega 2.0.

# [Vega SDK and OS version 2.0 Release Notes](https://developer.amazon.com/docs/vega/2.0/vega-release-notes)

### [Rate your experience with the Vega SDK](https://amazon6.qualtrics.com/jfe/form/SV_86tiGj9LbClpsVg?source=releasenotes)

Vega SDK 2.0, Vega OS 2.0, and the Vega Developer Tools are now generally available, and they’re no longer in open beta. Vega OS 2.0 has rolled out to all Vega-powered Fire TV devices, so you can build for OS 2.0 today. Vega 2.0 enables you to:

- **Build faster, more responsive apps with React Native 0.83.** React Native 0.83 is now generally available and brings React 19, the React Compiler, and Hermes v1. The React Compiler handles memoization at build time, so you no longer need to add `React.memo` or `useCallback` by hand. Debug performance issues with React Native DevTools. Style focus states with new CSS properties such as `boxShadow` and `outline`. Since SDK 0.24, more libraries support RN 0.83. These include React Navigation, Reanimated, and Lottie, plus additional Expo libraries.
- **Add native capabilities to your React Native app.** Use Vega native APIs to build custom UI components in C++ and to schedule background tasks that run after your app closes. Build the rest of your app in React Native. Native tooling is in open beta.
- **Migrate and build with AI assistance.** Amazon Devices Builder Tools (ADBT) for AI is the recommended way to use AI coding agents for Vega development. Use it to plan your upgrade from RN 0.72 to RN 0.83, migrate a Fire OS app to React Native for Vega, and debug performance issues.
- **Catch compatibility issues before you build.** `vega project doctor` now includes compatibility linters for JavaScript, TypeScript, and native code. They flag APIs that aren’t available on every OS version your app targets.

This release requires **`OS 2.0 (<build number>)`** on your Vega Fire TV Stick, which is compatible with Vega SDK 2.0.x. To check your device software version, go to **My Fire TV** \> **About**.

## Announcements

### Vega general availability and API stability

Starting with 2.0, the Vega API surface stays stable across minor SDK releases. Breaking changes ship only in the major release, once a year. Minor releases follow on a regular cadence. You can adopt each minor release without rework, and plan for major upgrades on your own timeline.

### OS version range support

Your app’s manifest can now declare a range of supported OS versions, from a minimum to a target. Most Vega devices update to the latest OS version, so for most apps, set both `min` and `target` to `2.0`. In future releases, some devices might not receive the latest OS version. If your app needs to reach those devices, set `min` to the oldest OS version you support, and use the compatibility linters to guard newer APIs. **Action required:** Set `[os.version]` in `manifest.toml` to the range your app supports, then rebuild. See [Target OS Versions](https://developer.amazon.com/docs/vega/2.0/target-os-version)

### TextInput Done and Back behavior will match stock React Native

In an upcoming Vega OS release, a single-line `TextInput` on React Native 0.83 without `submitBehavior` will use the React Native default, `blurAndSubmit`. Pressing **Done** will fire `onSubmitEditing`, then blur the field and close the keyboard. Pressing **Back** will fire `onSubmitEditing` with `submitAction` set to `'previous'`, then do the same. Today, the field keeps focus after **Done** , and **Back** closes the keyboard without notifying your app. Fields that set `submitBehavior="submit"`, multiline fields, and React Native 0.72 apps aren’t affected. **Action required:** If your RN 0.83 app treats every `onSubmitEditing` event as a submission, filter on `submitAction` and treat `'previous'` as a dismiss. To keep the keyboard open after **Done** , set `submitBehavior="submit"`. For details, see [Handle Password Input Events](https://developer.amazon.com/docs/vega/2.0/handle-password-input-events-vega).

## Breaking changes

### OS version module entries are now generated at build time

In SDK 0.24, `vega project update-manifest` wrote `/com.amazon.vega.os@IVega_*` entries into the `[[needs.module]]` and `[[wants.module]]` sections of your source `manifest.toml`. Starting with SDK 2.0, the build owns these entries and generates them from `[os.version]` into the packaged manifest. `vega project update-manifest` now writes only the `min` and `target` values, and on every run it removes tool-owned module entries from your source manifest. Module entries you declare for other system modules are preserved. On a project created with SDK 0.24, the first run deletes these lines from your source-controlled manifest:

```auto
[[needs.module]]
id = "/com.amazon.vega.os@IVega_1_2"

```

**Action required:** Commit the resulting diff, and don’t restore the removed entries by hand. See [Manifest [os.version] Section](https://developer.amazon.com/docs/vega/2.0/manifest-os-version#os-version-module-entries-are-tool-owned)

### Deep imports no longer resolve in React Native 0.83 libraries

Starting with SDK 2.0, the React Native for Vega core package and the Vega versions of Gesture Handler, Lottie, React Navigation, Reanimated, React Native SVG, and React Native Screens expose only their public JavaScript interface in `node_modules`. The public API is unchanged. If your RN 0.83 app uses top-level imports, it’s unaffected. If it uses deep imports that reach into a library’s internal implementation paths, your build fails because those paths no longer resolve. This change doesn’t affect RN 0.72 apps. **Action required:** If your RN 0.83 app uses deep imports, replace them with top-level imports (preferred) or lazy imports. If any of your Jest tests depend on a library’s internal implementation, mock those modules in your test code instead.

### React Linear Gradient is replaced by a built-in style prop in React Native 0.83

React Native 0.83 supports linear gradients natively through the `experimental_backgroundImage` style prop, which accepts standard CSS `linear-gradient()` syntax on any `View`. The `@amazon-devices/react-linear-gradient` library is no longer needed and isn’t included in the RN 0.83 library set. RN 0.72 apps are unaffected.

```auto
// Before (RN 0.72) — breaks on RN 0.83
import LinearGradient from '@amazon-devices/react-linear-gradient';

<LinearGradient colors={['#e66465', '#9198e5']} style={styles.gradient}>
  <Text>Hello</Text>
</LinearGradient>

// After (RN 0.83) — built-in style prop
<View style={{
  experimental_backgroundImage: 'linear-gradient(#e66465, #9198e5)'
}}>
  <Text>Hello</Text>
</View>

```

**Action required:** When you migrate to RN 0.83, remove the `@amazon-devices/react-linear-gradient` dependency and replace `<LinearGradient>` components with the `experimental_backgroundImage` style prop on a `View`. See [Replace LinearGradient with the backgroundImage style prop](https://developer.amazon.com/docs/vega/2.0/rn-migration-code#linear-gradient)

### Use @shopify/flash-list instead of @amazon-devices/shopify\_\_flash-list in React Native 0.83

On React Native 0.72, Vega provided its own FlashList implementation as `@amazon-devices/shopify __flash-list`. On React Native 0.83, use the public FlashList package, `@shopify/flash-list`, instead. The `@amazon-devices/shopify__ flash-list` package isn’t available for React Native 0.83 apps, so an app that still imports it fails at runtime. RN 0.72 apps are unaffected. **Action required:** When you migrate to RN 0.83, replace the `@amazon-devices/shopify__flash-list` dependency with `@shopify/flash-list`, and update your imports.

### Experimental APIs are no longer supported

SDK 0.24 announced that the Vega SDK’s experimental APIs were being deprecated. Starting with SDK 2.0, experimental APIs are no longer supported. **Action required:** If your app uses experimental APIs, migrate to the supported APIs before you build with SDK 2.0. To find the experimental APIs in your app and plan the migration, use Amazon Devices Builder Tools (ADBT) for AI version 1.0.19 or later.

## New features

### Build native UI components and background tasks in C++

React Native for Vega apps can now include views and modules written in C++, and use them from JavaScript like any other component or module. Two sample apps for React Native 0.83 show how. Both run on Fire TV Stick and the Vega Virtual Device:

- **Native UI Component sample:** Renders C++ views built with the Vega UI toolkit inside your React tree. The sample passes props from JavaScript to native code and sends events back to JavaScript. It also covers D-pad focus, animation, image prefetching, and VoiceView accessibility.
- **Periodic Background Task sample:** Wraps the Vega Task Manager in a C++ Turbo Module, so your app can run a headless JavaScript task on a repeating schedule. The schedule stays in place after your app closes. The minimum interval is 60 seconds, and each run can take up to five minutes.

Task Manager doesn’t have a JavaScript API yet. To schedule tasks, copy the sample’s `PeriodicTasks` Turbo Module into your app. Read more in the [Enhance your React Native App with Vega native APIs](https://community.amazondeveloper.com/t/enhance-your-react-native-app-with-vega-native-apis/29721) blog post.

### Find and fix accessibility issues as you edit in Vega Studio

The A11y Inspector in Vega Studio checks your .tsx and .jsx files as you edit. It flags components that assistive technologies, such as VoiceView, can’t describe or operate, and suggests quick fixes. The inspector uses the same rules as the Vega ESLint plugin, so its results match your build pipeline. It’s on by default in Vega Studio 0.24.2 and later. See [Find and Fix Accessibility Issues in Vega Studio](https://developer.amazon.com/docs/vega/2.0/vega-studio-accessibility-inspector)

### Compatibility lint for JavaScript and TypeScript

When `min` is lower than `target`, an API introduced after `min` might not exist on every device your app supports. `vega project doctor` now checks your source code against the SDK compatibility manifest and reports three rules:

- `no-unguarded-os-api` (error): an API introduced after `min` is used without a guard.
- `no-removed-api` (error): an API removed at or before `min` is still in use.
- `warn-deprecated-api` (warning): an API deprecated at or before `target` is still in use.

To fix an unguarded API, wrap it in an `isPresentOnOS()` check from `@amazon-devices/kepler-compatibility` and provide a fallback, or raise `min`. The second argument to `isPresentOnOS()` is the library version that provides the API, not the OS version. `vega project doctor` exits with a non-zero status when a check fails, so you can use it as a gate in your CI pipeline.

```auto
import { isPresentOnOS } from '@amazon-devices/kepler-compatibility';
import * as FileSystem from '@amazon-devices/kepler-file-system';

function saveSettings(data: string) {
  if (isPresentOnOS('@amazon-devices/kepler-file-system', '2.0.0')) {
    return FileSystem.writeFile('/data/settings.json', data);
  }
  return saveSettingsWithLegacyApi(data);
}

```

See [Target OS Versions](https://developer.amazon.com/docs/vega/2.0/target-os-version#guard-newer-apis-with-ispresentonos)

### Compatibility lint for native code

For projects with `kepler.projectType` set to `native`, `vega project doctor` also checks C and C++ sources. It reports unguarded `QueryInterface` calls for OmniKit interfaces added after `min`, and interfaces removed before `min` or deprecated by `target`. To use an optional newer interface, call `TryQueryInterface<T>()` and check for `nullptr`. Use `QueryInterface<T>()` only for interfaces guaranteed at `min`. See [Upgrade Your App’s OS Version Compatibility](https://developer.amazon.com/docs/vega/2.0/upgrade-os-version-compatibility)

### Verify Account Login integration from the command line

The new `kcp-cli-v2` tool, pre-installed on Vega devices, lets you check your app’s Content Launcher Account Login status without a separate test harness. From your app’s component shell, run `kcp-cli-v2 account-login read-status` to read the current login status. Run `kcp-cli-v2 account-login watch-status` to monitor login status changes in real time while you sign in and out of your app. The tool requires Developer Mode and a sideloaded app, and doesn’t run on the Vega Virtual Device. See [Test Content Launcher Integration](https://developer.amazon.com/docs/vega/2.0/content-launcher-testing#verify-account-login-integration-using-kcp-cli)

## Improvements

### Full TextPath support in React Native SVG

`@amazon-devices/react-native-svg` now fully supports the `TextPath` element, so you can render text along a curved or arbitrary path, for example for circular labels and curved headings, without pre-rendering the text as an image. See [react-native-svg](https://developer.amazon.com/docs/vega-api/2.0/react-native-svg)

### Smoother audio across MSE segment boundaries

The W3C Media pipeline now implements the Media Source Extensions audio splice algorithm and handles overlapping audio frames. Before this change, adaptive streams that appended overlapping or padded audio segments, such as at ad insertion points or period boundaries, could produce audible clicks, gaps, or drift. Decoded (PCM) audio is now trimmed and linearized before it reaches the audio sink, so playback stays continuous across segment boundaries without any change to your app. See [W3C Media API in React Native for Vega](https://developer.amazon.com/docs/vega/2.0/media-player)

## Resolved issues

### AC-3 and E-AC-3 codec strings in W3C Media capability checks

`navigator.mediaCapabilities.decodingInfo()` no longer rejects configurations that use the `ac3`, `eac3`, or `ec3` codec strings. Before this fix, these strings were routed to the AV1 codec parser, so the call failed and players such as Shaka Player filtered out every variant with AC-3 audio. Separately, an MPEG-TS SourceBuffer with a combined codec string such as `video/mp2t; codecs="avc1.4D401F,ac3"` played video but silently dropped the AC-3 audio track. These streams now use a demuxer that supports AC-3 in MPEG-TS, so audio plays.

### dash.js stability fix in dash-rel-v5.0.0-r1.8

The Vega release of dash.js includes the following fix:

- dash.js now reports an error once, when the retry limit is reached, instead of on every retry. This matches the behavior of upstream dash.js 5.0.0.

To get this fix, download the latest release from [Play Adaptive Content (DASH) with Dash.js Player](https://developer.amazon.com/docs/vega/2.0/media-player-dash-player).

### Video surface resize while playback is paused

When you resized a video surface while playback was paused, the paused frame didn’t scale to the new size, or the video briefly appeared in the wrong position before it resumed. The compositor now re-presents the last frame at the new size, so picture-in-picture and multiview layouts resize correctly in the paused state.

### Seek events in MSSE mode

Native apps that use Media Source Sample Extensions (MSSE) mode didn’t receive the `seeked` event after a call to `seek()` on `IMediaSampleSourceTrack`. The media pipeline now registers its seek-completion callback, so `IHtmlMediaElementEventListener` receives `timeupdate` and `seeked` when a seek completes. In MSSE mode, `seek()` is asynchronous.

### TextInput cursor position after focus changes

When a `TextInput` sat next to another focusable element, moving focus away with the D-pad and back moved the cursor one character each time. The key-up event from the D-pad press reached the `TextInput` after focus had already moved. The cursor now stays where you left it.

### vpm install-async exits after installation

`vpm install-async` printed `INSTALLATION_COMPLETED` but didn’t exit when you ran it without the `--token` argument, which blocked automated test scripts. The command now exits when installation finishes. If you added `--token` as a workaround, you can remove it.

### W3C Media API reference formatting

The W3C Media API reference now renders type links and multi-line descriptions correctly. This affects `MediaCapabilitiesKeySystemConfiguration`, the `scalingmode` property of `VideoProps`, `HTMLVideoElement`, and `AudioPlayer`.

### Appium tests work again on OS 1.2 and later

On some OS 1.2 builds, the automation toolkit service that Appium uses didn’t start on the device. Port 8383 showed as listening, but no process handled requests. Appium commands such as `findElement`, `takeScreenshot`, and `getPageSource` failed with `socket hang up` or `ECONNRESET`, and re-enabling Developer Mode didn’t help. The automation toolkit service now starts in Developer Mode, so Appium sessions connect and run as expected.

## Known issues

### RN 0.83 apps crash at launch when a dependency pulls in the RN 0.72 runtime

If an RN 0.83 app depends on a library version built for RN 0.72, the RN 0.72 runtime loads into the same process and the app crashes at launch with `SIGABRT` or `SIGSEGV`. The device log shows `Failed to get system bundle path for: index.amzn__react-native-kepler-2.hermes.bundle`. The most common cause is `@amazon-devices/kepler-ui-components` 2.x, which depends on `@amazon-devices/keplerscript-native-ui-components` and its bundled RN 0.72 runtime. **Workaround:** Upgrade `@amazon-devices/kepler-ui-components` to 3.0.0 or later. Replace `@amazon-devices/react-linear-gradient` with the `experimental_backgroundImage` style prop (see [Replace LinearGradient with the backgroundImage style prop](https://developer.amazon.com/docs/vega/2.0/rn-migration-code#linear-gradient)). After a clean rebuild, check that `keplerscript-app-config.json` doesn’t list any RN 0.72 system bundles.

### HEVC playback fails on Fire TV Stick HD (2026)

On Fire TV Stick HD (2026) running OS 2.0, the HEVC hardware decoder isn’t available. HEVC streams load indefinitely without an error event, and `KeplerMediaDescriptor.queryMediaCapabilitiesSync()` returns no decoders for `CodecMimeType.MIME_HEVC`. H.264 playback isn’t affected. **Workaround:** Before playback, query `KeplerMediaDescriptor` for HEVC support and fall back to an H.264 stream when no decoder is returned.

### No error event when a video decoder can’t be created

If the media pipeline can’t create or link a video decoder, it doesn’t send an `error` event to JavaScript. Playback appears to load indefinitely. To detect unsupported codecs before playback, use `KeplerMediaDescriptor.queryMediaCapabilities()`.

### HEVC live HLS in MPEG-TS doesn’t start

Live HLS streams that carry HEVC video in MPEG-TS segments don’t show video. The timestamp offset is applied twice, so samples get negative timestamps and are dropped, and Shaka Player repeatedly seeks forward. H.264 streams and HEVC VOD streams aren’t affected. **Workaround:** In Shaka Player, set `manifest.hls.sequenceMode` to `true`.

### removeSourceBuffer() hangs while an append is in progress

If you call `MediaSource.removeSourceBuffer()` while `appendBuffer()` is still in progress on that SourceBuffer, the call blocks the JavaScript thread and the system stops the app as not responding. The call doesn’t throw an `InvalidStateError`. **Workaround:** Before you remove a SourceBuffer, check that its `updating` property is `false`, or wait for its `updateend` event.

### Video surface ignores pixel aspect ratio

`KeplerVideoSurfaceView` renders decoded frames with square pixels and ignores the stream’s pixel aspect ratio. Anamorphic standard-definition content, such as 720×576 broadcast video with a 16:9 display aspect ratio, appears horizontally squeezed. All `scalingmode` values, including `strech`, preserve the buffer’s aspect ratio, so you can’t correct the aspect ratio in your app.

### Large multi-period DASH manifests can make dash.js apps stop responding

The native XML parser is available only for Shaka Player, so dash.js parses manifests in JavaScript. Live DVR streams that add a period for each ad break grow on every manifest refresh. After about 25–60 minutes, a single refresh can block the JavaScript thread long enough that the system stops the app as not responding. **Workaround:** Run the player in a headless JavaScript service so manifest processing doesn’t block the UI thread. Don’t log or `JSON.stringify` the full manifest in your app.

### HMAC keys must be exactly 256 bits

`WebCrypto.subtle.importKey()` in `@amazon-devices/keplercrypto` rejects HMAC-SHA-256 keys that aren’t exactly 256 bits long, with `NotSupportedError: A key length greater than the hash length (256 bits) is not supported`. **Workaround:** For keys longer than 512 bits, hash the key with SHA-256 before you import it. This produces the same HMAC result. For other key lengths, use another HMAC implementation until the fix ships.

### Screensaver starts during gameplay with a phone controller

The screensaver starts after five minutes without local input, even when a user plays a cloud-streamed game with a paired phone as the controller. Input from the phone goes to the cloud session, so the device doesn’t register user activity. Vega doesn’t provide an API to keep the screen on.

### Apps can’t change the display refresh rate

State-changing `DisplayManager` APIs, such as `requestConfigChange()` and `enableAutoConfigSwitch()`, require the `com.amazon.graphics.privilege.display.manager` privilege, which isn’t available to third-party apps. Without it, `commitStates()` returns a commit ID but makes no change and doesn’t call `onCommitSuccess` or `onCommitFailure`. Apps can’t switch the output to match content frame rates such as 23.976 or 50 fps.

### “Alexa, previous” doesn’t reach the app

When a user says “Alexa, previous” during playback, the app’s Media Playback handler doesn’t receive the Previous command, and Alexa replies that the command isn’t working. “Alexa, next” and “Alexa, pause” work as expected.

### VPN Manager doesn’t route IPv6 traffic

The VPN Manager API supports WireGuard only and doesn’t route IPv6 traffic through the tunnel. IPv6 traffic leaves the device outside the VPN, and `addRoute()` rejects IPv6 CIDRs with `Invalid route CIDR format`. IPv6 support is planned for a future release.

### PNG splash screen animations play at a low frame rate

Splash screen animations made of many full-HD PNG frames play at about 8 fps and can take several seconds to appear. The device decodes each PNG on the CPU. **Workaround:** Encode the frames as ASTC and package them as `compressedSplashScreenImages.zip` next to `SplashScreenImages.zip` in `assets/raw/`. ASTC splash animations play at 30 fps. In this release, an ASTC splash screen can render black on every launch after the first until the device restarts.

### Crash reporting libraries can’t capture low-memory kills

When the kernel stops an app for exceeding its memory limit, the process receives `SIGKILL`, so crash reporting libraries such as Sentry can’t record the crash. `tryGetLastTerminationData()` currently reports only app-not-responding terminations.

### VoiceView can’t be enabled from the Developer Mode shell

`vdcm set "com.amazon.devconf/system/accessibility/VoiceViewEnabled" "ENABLED"` fails with `No permission for operation` in the Developer Mode shell. To turn on VoiceView, use the device’s accessibility settings instead.

### ifconfig doesn’t work in the Developer Mode shell

The Developer Mode shell doesn’t have access to `/proc/net`, so `ifconfig` doesn’t return network information. To find your device’s IP address for VDA over TCP/IP, select **Settings** \> **Network** on the device.

### TypeScript 4 projects fail to build with @types/node 26

If your project uses TypeScript 4 and installs `@types/node` 26.x, directly or through another dependency, type checking and builds fail with errors in the `@types/node` declaration files. `@types/node` 26.x uses TypeScript syntax that TypeScript 4 doesn’t support. `@types/node` is a community-maintained package that isn’t part of the Vega SDK. The Vega SDK doesn’t set your `@types/node` version, so this issue can affect a project on any SDK version. **Workaround:** Update `typescript` in your `devDependencies` to version 5, for example `5.8.3`. If you can’t upgrade TypeScript yet, pin `@types/node` to a version earlier than 26 in `devDependencies` or `overrides`. Then run `npm install` and rebuild.

For more information, see the [Vega 2.0 announcement blog](https://developer.amazon.com/apps-and-games/blogs/2026/10/vega-2-0-sdk-launch):

> **[Announcing Vega 2.0 general availability](https://developer.amazon.com/apps-and-games/blogs/2026/10/vega-2-0-sdk-launch)**
>
> Vega OS 2.0, SDK 2.0, and Developer Tools are now available, delivering faster, more performant app builds.

And the [Vega 2.0 release notes](https://developer.amazon.com/docs/vega/2.0/vega-release-notes):

> **[Vega SDK Release Notes - Amazon Vega Docs](https://developer.amazon.com/docs/vega/2.0/vega-release-notes)**
>
> Vega SDK 2.0, Vega OS 2.0, and the Vega Developer Tools are generally available, with React Native 0.83, Vega native APIs, and OS compatibility linters.
