# Vega SDK 0.22 Release

**URL:** <https://community.amazondeveloper.com/t/vega-sdk-0-22-release/25265>\
**Category:** Announcements\
**Tags:** release-notes\
**Created:** [January 6, 2026, 6:00am UTC](https://community.amazondeveloper.com/t/vega-sdk-0-22-release/25265 "2026-01-06T06:00:00Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Michelle\_Nelson](https://dhm3gbtzu79o6.cloudfront.net/user_avatar/community.amazondeveloper.com/michelle_nelson/32/5008_2.png) [@Michelle\_Nelson](https://community.amazondeveloper.com/u/Michelle_Nelson)\
**Post date:** [January 6, 2026, 6:00am UTC](https://community.amazondeveloper.com/t/vega-sdk-0-22-release/25265/1 "2026-01-06T06:00:00Z")

</div>

# 🎉 Happy 2026, Vega app developers! 🎉

We’re excited to bring you the [Vega SDK 0.22 release](https://developer.amazon.com/docs/vega/latest/vega-release-notes.html), which includes one-click symbolication for crashes, and an MCP server that brings Vega-context into your favorite coding agent.

From a platform perspective, you’re going to see improvements with media resource management. There’s also fixes for critical bugs for media playback, streaming, UI rendering, and performance.

## Important Updates

**💻 Command Changes** : All `kepler` commands are now `vega` commands, because Project Kepler is now officially Vega across all platforms. The `kepler` alias is supported in v0.22 but will be discontinued in v0.23. Update your scripts and workflows to use `vega` commands.

**❗SDK Path Deprecation** : The `KEPLER_SDK_PATH` environment variable is being deprecated. Invoke SDK tooling using `vega` from your main installation directory’s binary path. Backwards compatibility is provided in this release but will be removed in v0.23. For more details, documentation, and migration guidance, visit the [Vega SDK documentation.](https://developer.amazon.com/docs/vega/latest/sdk-manager.html)

## What’s New

**🔥 AI-Powered Diagnostics** : The new [Vega DevTools Model Context Protocol (MCP) server](https://developer.amazon.com/docs/vega/latest/mcp-server.html) integrates with your AI coding assistant to help diagnose performance issues using natural language prompts. The first use cases in the Vega Prompt Library will help you with performance diagnostics for Time to Fully Drawn and Time to First Frame issues.

**💪 New Performance KPIs:** Vega DevTools now provides [micro-KPIs](https://developer.amazon.com/docs/vega/latest/measure-app-kpis.html) for Time to First Video Frame, enabling you to debug delays from when the input key is pressed to when the player receives an event. These insights will enable you to build snappier and more fluid apps. In addition, Vega DevTools now offers out-of-the-box integration with Perfetto, making it easier for you to debug app performance issues.

Read more on the Developer Forum: Vega App Performance Series, Part 1[Understanding Fluidity and Responsiveness Metrics,](https://community.amazondeveloper.com/t/vega-app-performance-series-part-1-understanding-fluidity-and-responsiveness-metrics/25135) Part 2 [Investigate Performance Issues](https://community.amazondeveloper.com/t/vega-app-performance-series-part-2-investigate-performance-issues/25136), and Part 3 [Optimizing for Fluidity and Responsiveness](https://community.amazondeveloper.com/t/vega-app-performance-series-part-3-optimizing-for-fluidity-and-responsiveness/25137)

👆 **Simplified Crash Debugging:** Vega Studio will now show a notification if your app crashes and with one click you can see symbolication to better understand your ACR. Previously, you would have to go to a command pallet, locate the ACR file, then symbolicate. With [one-click crash debugging](https://developer.amazon.com/docs/vega/latest/crash-report.html), Vega Studio will automatically symbolicate stack traces and provide root cause analysis, dramatically reducing time spent troubleshooting.

**⚙ Simplified SDK Management** : The new [Vega SDK Manager](https://developer.amazon.com/docs/vega/latest/sdk-manager.html) lets you manage multiple SDK versions across projects through the command line, similar to nvm for Node.js. This makes version upgrades and CI/CD integration seamless. Developer mode is now enabled by default in the Vega Virtual Device, and Chrome DevTools automatically reconnects to your apps after relaunch.

**🎥 Enhanced Media & UI Components** : Media resource management now prevents playback failures on resource-constrained devices by properly managing video sessions during app switching.

➕ **React Native components are receiving significant updates:** `TextInput` now supports `autoFocus` and `multiline`, `ScrollView` includes `maintainVisibleContentPosition`, and the new Vega System Info API provides access to system details and hardware characteristics.

**🔛 Developer mode detection enabled:** The CLI and Vega Studio now detect if developer mode has not been enabled on devices, providing clear error messages and guidance instead of generic failures.

* * *

# 🚀 Full release notes: Vega SDK version 0.22 🚀

We’re excited to bring you the 0.22 release, which introduces an MCP server and prompt library for AI-assisted performance diagnostics, and platform improvements for media resource management. Media playback and streaming, UI rendering, and performance are updated with 60 bug fixes. Also, “Project Kepler” is now officially Vega!

- **Manage SDK versions for your projects through the command-line:** [Vega SDK Manager](https://developer.amazon.com/docs/vega/latest/sdk-manager.html)

- **Vega MCP server and prompt library for performance:** [Set Up Vega DevTools MCP Server](https://developer.amazon.com/docs/vega/latest/mcp-server.html)

- **New micro-KPIs**  **break down app launch metrics:** [Measure App KPIs](https://developer.amazon.com/docs/vega/latest/measure-app-kpis.html)

- **Save time debugging crashes with one-click symbolication:** [Debug App Crash Using Vega Studio](https://developer.amazon.com/docs/vega/latest/crash-report.html)

## Announcements

> ### **⭐ Kepler is now Vega**
> 
> The Kepler codename has changed to Vega across all platforms. Support for the `kepler` alias will be discontinued in v0.23.
> 
> **Action required:** Update any scripts and workflows to use `vega` commands instead of `kepler` commands before upgrading to v0.23.
> 
> ### **⭐ Vega SDK Manager**
> 
> The new SDK Manager makes it easier to update and manage multiple Vega SDK versions. As a result, we are deprecating the use of the `KEPLER_SDK_PATH` environment variable, and the SDK Manager will manage multiple SDK versions. For backwards compatibility, the [Vega SDK Manager](sdk-manager.html) creates a `kepler` alias in this release.
> 
> **Action required:** Invoke all SDK tooling using `vega` from the binary path of your main installation directory, instead of relying on the environment variable. Backwards support is provided in this release, but will be discontinued in v0.23.

## New features

### **Easier version upgrades and management with SDK Manager**

The Vega SDK Manager manages SDK versions for your projects through the command-line with capabilities similar to `nvm` for Node.js or `pyenv` for Python. You can now manage multiple SDK versions and make project-specific configurations, and integrate with CI/CD pipelines.For more information, see [Vega SDK Manager](https://developer.amazon.com/docs/vega/latest/sdk-manager.html)

### **Streamline performance and crash diagnostics**

#### MCP Server for Vega-specific context

The new Model Context Protocol (MCP) server brings Vega context to your AI coding assistant with curated prompts for diagnosing performance issues: Time to First Frame and Time to Fully Drawn. For more information, see [Set Up Vega DevTools MCP Server](https://developer.amazon.com/docs/vega/latest/mcp-server.html).

#### Performance analysis

Developers can now measure micro-KPIs that break down Time to First Video Frame (TTFVF) into “press of play to player initiation” and “player initiation to first frame,” helping developers optimize their media player implementations. AI-powered performance diagnostics help developers identify and resolve performance issues with natural language prompts. For more information, see [Measure App KPIs](https://developer.amazon.com/docs/vega/latest/measure-app-kpis.html).

#### One-click crash debugging

Vega Studio now automatically displays an aggregated crash report (ACR) summary. The report contains the symbolicated stack trace and key debugging information from the ACR file. For more information, see [Debug App Crash Using Vega Studio](https://developer.amazon.com/docs/vega/latest/crash-report.html).

#### Device logging in Vega Studio

Better device logging includes log access through Device Files view, source-level log filtering, and more concise log formats. Automatic device detection was improved by mapping the Vega Virtual Device to Simulator in `trackDevices` and updating simulator node to ‘loading’ on click.

#### Reconnecting with Chrome DevTools

[Chrome DevTools](https://developer.amazon.com/docs/vega/latest/chrome-devtools.html) now automatically reconnects to Vega apps after they are relaunched, enabling seamless reconnection within 3 seconds without manual intervention or configuration. The Vega TV app simplifies debugging so developers can configure and debug within 5-10 minutes.

#### Improved memory leak detection

We’ve improved the memory leak detection documentation for Vega apps with new steps to prevent Application Not Responding (ANR) crashes during debugging and trigger garbage collection for accurate memory analysis. For more information, see [Detect Memory Leaks](https://developer.amazon.com/docs/vega/latest/detect-memory-leaks.html).

## Improvements

### **Developer mode detection enabled**

Developer mode is now enabled by default in the Vega Virtual Device, streamlining the development workflow.

The CLI and Vega Studio now detect when developer mode is inactive on devices, providing clear error messages and guidance instead of generic failures. Developer mode support for input injection through `inputd-cli` enables quick automation testing without Appium, and the Developer Mode received UI improvements including alert dialogs, and snackbar notifications.

### **Ensure fluid apps with micro-KPIs**

New performance KPIs further define how fluidity is measured, ensuring apps that pass certification accurately reflect the user-perceived fluidity of being responsive and smooth. This update includes Input Key Latency for playback scenarios, which detects and fixes issues such as sluggish behavior on start/stop. The Activity Monitor performance algorithm now allows trace files to avoid timeout by running in parallel, and displays a progress indicator with clear error messaging if failures occur.

Read more on the Developer Forum: Vega App Performance Series, Part 1[Understanding Fluidity and Responsiveness Metrics,](https://community.amazondeveloper.com/t/vega-app-performance-series-part-1-understanding-fluidity-and-responsiveness-metrics/25135) Part 2 [Investigate Performance Issues](https://community.amazondeveloper.com/t/vega-app-performance-series-part-2-investigate-performance-issues/25136), and Part 3 [Optimizing for Fluidity and Responsiveness](https://community.amazondeveloper.com/t/vega-app-performance-series-part-3-optimizing-for-fluidity-and-responsiveness/25137)

### **Media and audio**

#### Prevent playback failures with resource management

Media resource management now addresses memory for resource-constrained devices. The media server provides video session information to lifecycle management, so background apps can clean up media resources. This prevents playback failures when switching between apps that require secure video decoders.

### **React Native for Vega and third-party libraries**

#### React Native core component support

- `TextInput`( [TextInput | React Native Vega Reference](https://developer.amazon.com/docs/react-native-vega/0.72/textinput.html) ) now includes essential props such as `autoFocus`, `multiline`, `selection`, and `onChangeText`.

- The `Text`( [Text | React Native Vega Reference](https://developer.amazon.com/docs/react-native-vega/0.72/text.html) ) component added `aria-label`, `selectable`, and `adjustsFontSizeToFit`.

- `ScrollView`( [ScrollView | React Native Vega Reference](https://developer.amazon.com/docs/react-native-vega/0.72/scrollview.html) ) added highly-requested features like `maintainVisibleContentPosition`, scroll indicators, and `contentOffset`.

- The `Image`( [Image | React Native Vega Reference](https://developer.amazon.com/docs/react-native-vega/0.72/image.html) ) component added `progressiveRenderingEnabled`, and `resizeMethod` for better rendering control.

#### React Native APIs and libraries

- Apps can request access to sensitive features like camera and Bluetooth with user consent.

- The `ToastKepler` API added native toast notifications.

- Turbo modules now replace slow URL polyfills, significantly improving performance for `URL` and `URLSearchParams` operations.

- With the new Vega System Info API, developers can run queries about system uptime, OS details, build information, and hardware characteristics. For more information, see [@amazon-devices/kepler-system-info](https://developer.amazon.com/docs/vega-api/latest/README.amazon-devices_kepler-system-info.html).

* * *

## Resolved Issues

### **Media playback and streaming**

- Fixed issues affecting video start times: _Can’t start playback when startTime is set_ and _Mp3 doesn’_@amazon-devices _start playing until fully downloaded_

- Fixed issue regarding progressive audio playback for large files: _Player freezes on content 10~ seconds into stream_

- Fixed caption rendering issue during pause: _Closed Captions disappear when pausing video_

- Fixed network throt@amazon-devicesamazon-devicesamazon-devicesling behavior to properly synchronize audio and video streams during bandwidth limitations: _Audio does not stop when video stops during network throttling_ and _Video plays in fast forward when throttling is removed_

- Improved HLS AES-128 handling during ad transitions.

- Improved DASH DRM multi-period manifest parsing: _Closed captions not showing with DASH DRM Livestreams_ and _App crash on release with DASH DRM Multi-period_

- Improved subtitle timing synchronization: _Subtitle timing drift after 30 seconds of playback_

- Improved audio processing for encrypted HLS streams: _Poor audio quality with AES-encrypted HLS content_ and _App crashes when playing live TV with nativeParseFromString_

### **Application framework and performance**

- Fixed Fetch API handling disparities affecting content playback: _Player freezes on content 10~ seconds into stream_

- Fixed focus loss during navigation when using React Navigation libraries: _Loss of focus during app navigation_

- Fixed animation rendering with `MaskView` components: _Reanimated animation not applied when using MaskView_

- Improved `TextInput` display for number-pad inputs: Extra _dot shown on number-pad TextInput_

- Improved scroll performance by optimizing React-Navigation/Drawer re-rendering behavior: _React-Navigation/Drawer causes unnecessary heavy re-render_

- Improved Sentry symbol mapping support for better debugging.

- Relaxed the ANR timeout in Dev Mode: _Splash screen dismissed immediately in debug builds_

### **User interface (UI) and rendering**

- Fixed Lottie animation cleanup issues to prevent memory leaks: _Looping Lottie animation leaves garbage after unmounting_

- Fixed video layer compositing issues affecting ad playback by correcting compositor handling with proper v-sync delay management: _Main video flashes through videos playing in webview_ and _Opacity issues when using animations in modals._

- Fixed text rendering on simulator with improved shader code execution on Mac OS: _Text may disappear and reappear on different renders_

- Improved thumbnail image quality when using Fast Image component: _Thumbnail image quality reduced when using Fast Image_

- Improved Charles proxy by adding traffic visibility for image requests: _Cannot see images traffic in Charles proxy_

### **Platform services**

- Fixed race condition occurring when components were rapidly started, stopped, and restarted within the same process to improve deep linking reliability for Content Launcher: _Content Launcher DeepLink not working_ and _Content Launcher - Login status is not reflected_

- Fixed Account Login Integration Guide with corrected implementation details: _Correct Account Login Integration Guide_

- Improved Login with Amazon response structure consistency: _Strange structure on responses from identity-lwa-lib_

- Clarified manifest validation requirements regarding module ID case sensitivity to prevent build failures: _Manifest validation failed because of offer module_

### **Developer tools**

- Fixed screenshot functionality to provide correct image formatting: _Screenshot - incorrect format, black screen_

- Improved device registration flow for developers using two-factor authentication with updated documentation guidance:_Virtual Device registration fails with 2FA_

- Clarified app launching commands and deprecation notices for improved developer experience: _Launch app - vlcm vs vmsgr_ and _Error: Command failed: vda -s emulator-5554_ and _Failed to install .vpkg on device Simulator_

* * *

## **Known Issues**

- `MediaSource` objects do not fire the `sourceclose` event when they are detached from `VideoPlayer` objects, causing the player to freeze when waiting for the event.

- Subtitles are not shown when taken from Dash.js player on Amazon port dash.js using Amazon Reference. Resolution includes updates to dash.js player.

- Performing multiple Forward Seek operations without waiting for a response causes a deadlock condition. When fast forward is pressed as quickly as possible for about 2-3 minutes, the `seekwithRate` API takes too long to execute and leads to an ANR.

- “Error: Cannot create URL for blob!” when the same video is replayed. Root cause is `react-native-url-polyfill` cannot be used currently since it does not support `createObjectURL`.

- For regions like Republic Dominicana, the API response for a single day takes 10–15 seconds due to large data volume. Showing that it’s continually loading during this time is a poor UX.

- SVG images with display: ‘none’ are displayed. Not supported by RN72.

- Focusable trait is not being seen in `ucc`. Should be in same hierarchy or linked in some way to be retrieved by Appium selectors.

- Splash screens loaded with 100 images takes 5-6 sections to load. This issue resolves the performance degradation for splash screens that include a high number of image files.

- When `LazilyComponent` is created with `lazy()`, it’s wrapping `TargetComponent`, but the lazy component itself doesn’t have the styling. Root cause is that the `lazy()` function creates a new component that suspends, and when it resolves, it’s not properly preserving the original component’s styling.The issue is that `LazilyComponent` is a lazy-wrapped version of `TargetComponent`, but the lazy wrapper might not be preserving the styling correctly. While this functions on Android, it requires a workaround with React Native for Vega.

- Metadata events are intended to emerge at the PTS of a given ID3 Emsg, such that ID3 Emsg events may be ignored and only metadata need be listened to. However, due to a flaw in Shaka versions prior to 4.14.1, these emerge with incorrect times (using the start time of the segment within with the metadata was found, rather than the actual PTS of the metadata). Additionally, on attempting to manually add metadata cues to the metadata `TextTrack` (obtained from `video.textTracks`, where `kind` = ‘metadata’), an exception is thrown intermittently.

- When navigating, the previously focused element is read out again, followed by the new one. Root Cause: When a web page loads without any explicitly focused elements, the `rootWebArea` receives focus by default. In this scenario, a subsequent focus transfer to any component (like a button or input field) creates an unexpected dual-focus state - both the `rootWebArea` and the newly focused component remain focused simultaneously. This bug will also affect `VoiceView` experience. If the `rootWebArea` element doesn’t defocus, `VoiceView` will speak the whole content of the web page even though the focus is on a button.

- Playback doesn’t start automatically when `mediaElement.autoplay` is set to `true`.

- End user may observe an infinite red spinner 3 seconds after video playback. The low level Webplay (MSE/EME) stops playback with “pipeline error decode.” Issue happens only when the same decoder is first configured for SDR and then during playback gets a request to be reconfigured for HDR.

- For the working video, pipeline is buffering both audio and video whereas for non-working video, pipeline buffers video but not audio and mp4 playing doesn’t work with some content because of issues with the video’s metadata. In the case of the non-working video, the audio queue never reaches 100% while video queue does.

- When using Shaka Player, `originalVideoId` is missing from Shaka’s variantTrack on some HLS streams. This has been updated as part of the external Shaka 4.13.2 release whereas the Vega fork of Shaka Player is running 4.8.5.

- When switching between the audio tracks, apps observe a video pause/stutter during the transition. It seems that Vega is not honoring flushing a `MediaSource` buffer.

- FlatList with `numColumns` recalculates the entire grid layout when new data is added through `onEndReached`, resulting in component unmounting and remounting, which consequently causes focus loss.

- When implementing Headless JS Playback in combination with Shaka Player, logs may show `ERROR Required Lookup Map not populated!` Root cause: compatibility checks don’t seem to work in headless services and/or they are not creating the map appropriately.

- Focus not restored to prev screen with “Transparent Modals” when app uses separate navigation screens, each containing their own modal. Root cause analysis reveals that `navigation.goBack()` correctly navigates from `ExitScreen` back to `LeftNavScreen`, but focus is being restored to the underlying `LeftNavScreen` component instead of its transparent modal window that should be in the foreground.

- Multiple buttons on the screen show the focused state when navigating quickly after transitioning to a new screen. JS code is properly blurring and focusing the correct components and the style updates are set correctly, but the native PMI mutation to re-draw the component never happens.

- `getLocales()` returns locales alphabetically instead of user preference order.

---

<div class="post-metadata">

**Author:** ![sonpage](https://dhm3gbtzu79o6.cloudfront.net/user_avatar/community.amazondeveloper.com/sonpage/32/814_2.png) [@sonpage](https://community.amazondeveloper.com/u/sonpage)\
**Post date:** [January 6, 2026, 6:00am UTC](https://community.amazondeveloper.com/t/vega-sdk-0-22-release/25265/2 "2026-01-06T06:00:00Z")

</div>

Hi Amazon Developer community! 👋

Take a minute to **[complete this quick 3-question satisfaction survey](https://amazon6.qualtrics.com/jfe/form/SV_86tiGj9LbClpsVg?source=discourse)** to let us know what you think of the V0.22 release. We appreciate your valuable feedback and look to improve our product based on your input.

https://amazon6.qualtrics.com/jfe/form/SV_86tiGj9LbClpsVg?source=discourse
