Amazon Developer

as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases
Get Started
Design and Develop
Publish
Reference
Support
Native
Skip to main content
There are Vega-specific changes that are required for your app to load correctly on the device.

3.1 Manifest.toml interactive components

Update the runtime module path and interface for UI components:
Key changes
  1. Component ID: krl.2 → krl.4
  2. Runtime module path: keplerscript.runtime.loader_2 → runtime.react_native_kepler_4
  3. Interface: IKeplerScript_2_0 → IReactNativeKepler_0

3.2 Manifest.toml headless components

If your app uses headless components (services or tasks), update their runtime modules as shown in the examples below.
Key changes
  1. Runtime module path: headless.runtime.loader_2 → runtime.react_native_kepler_headless_4
  2. Interface: IKeplerScript_2_0 → IReactNativeKeplerHeadless_0

3.3 Manifest.toml OS version

Your manifest.toml must have an [os.version] section to build with SDK 2.0. This requirement applies whether you migrate to RN 0.83 or stay on RN 0.72. If your app was created with SDK 0.23 or earlier, it doesn’t have this section, and the build fails with the following error:
Set target to 2.0, the OS version that SDK 2.0 builds against. Set min to the oldest OS version your app supports. 2.0 is the recommended value, and you can set 1.2 to also support OS 1.2. For help choosing, see Choose min.
To add the section, run one of the following commands from your project root. Each command writes the same [os.version] section. Pick the one that matches what else you want to change. Always pass both --os-version and --os-min. Without them, update-manifest prompts for the values, and in a non-interactive shell, such as CI, it accepts the defaults without asking. If you leave out --os-min, update-manifest and update set min to the oldest available OS version. The install --fix and update commands change the @amazon-devices/* versions in package.json. After you run either one, run npm install. If you run update-manifest alone, vega project doctor keeps warning about out-of-date package versions until you run vega project install --fix. If your manifest already has an [os.version] section, check its target value. install --fix doesn’t change an existing target. To change it to 2.0, use update-manifest or update. Don’t add OS version module entries (/com.amazon.vega.os@IVega_*) to your source manifest.toml. The build generates them from [os.version]. For details, see Manifest [os.version] Section.

3.4 app.json updates

Update the component ID in app.json from krl.2 to krl.4:

3.5 CMakeLists.txt updates

Update version numbers, C++ standard, and library targets in the CMakeLists.txt file. Template pattern (krl.2 → krl.4)
Version suffix pattern (072 → 083)
Native code linking (if using C++ native modules)
Requirements
  • CMake 3.22+
  • C++20-compatible compiler (GCC 10+, Clang 12+, MSVC 2019+)

3.6 Vega bundle configuration

If your app uses JavaScript system bundling, add the bundle configuration package in your package.json file. A standard app doesn’t need this package, and the Vega app template doesn’t include it.
Optionally, configure bundle splitting in package.json. For production apps, it’s recommended to remove disableSplitBundle or set to false to enable code splitting for better performance.
Last modified on October 30, 2026