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
Skip to main content
The [os.version] section declares the range of device OS versions your app supports. Vega validates this section at build time, and the Vega Packaging Tool (VPT) validates it again for packaged apps. Starting with Vega SDK 0.24, the [os.version] section is required. Your build fails if the section is missing.
As of Vega SDK 0.24, OS 1.2 is the only minted OS version, so set both min and target to 1.2. When a later OS version is minted, set target to the newest version you build against and keep min at the oldest version you support.

Fields

The following table describes the fields in the [os.version] section. Both values must be quoted "M.n" strings that name officially minted OS versions. Vega rejects a value that isn’t minted, even when the value is numerically well-formed.

Validation rules

Vega applies the following rules to the [os.version] section:
  • Both min and target must be OS versions known to the SDK compatibility manifest.
  • min must be less than or equal to target.
  • Every [[needs.module]] entry must be available at min.
  • Your code must guard APIs added after min, which the tooling records as [[wants.module]] entries. For details, see Guard newer APIs with isPresentOnOS.

Example manifest

The [os.version] section sits alongside your other manifest sections, and the tooling generates the matching OS version module entries. A complete manifest that targets OS 1.2 looks like the following example.
The [os.version] section is yours to set, and the tooling generates the module entries. Each OS version module id is the OS version with its dot replaced by an underscore, so 1.2 becomes /com.amazon.vega.os@IVega_1_2. Because min and target are both 1.2 in this example, the manifest has a single [[needs.module]] entry and no [[wants.module]] entry. The tooling emits a need for min, and it emits a want only for a version above min.

Add the [os.version] section

You can add the section in three ways. For a project that has no [os.version] section yet, use one of the first two methods. Both are built for authoring the section. The third method is a convenience during migration, and it’s narrower than it looks. Pass both --os-min and --os-version. install resolves your OS target before it writes anything. On a project that has no [os.version] section and no --os-version value, it fails with Missing OS Version and writes nothing. With both flags, it creates the section, sets min, seeds target, and confirms with 📝 Set [os.version] min = "<v>" in manifest.toml. Three more limits apply to the third method:
  • --os-min takes effect only together with --fix. Neither a bare vega project install --fix nor an install <package> run adds the section.
  • --dry-run previews the change without writing it.
  • When [os.version] already exists, this form writes min only and leaves your target unchanged. A legacy [os] section counts as an existing section for this purpose. To change target, use vega project update-manifest.
To validate your manifest’s OS version configuration from the command line, run vega project doctor. To generate the [[needs.module]] and [[wants.module]] entries, run vega project update-manifest.
Last modified on August 10, 2026