ReleaseDescriptor class

Parsed release.json metadata for one platform-specific update artifact.

Descriptors use schema version 3 and point at one platform-specific artifact plus the install strategy needed by the native helper. Optional delta artifact metadata can be published ahead of runtime support; the updater continues to choose the full artifact until delta verification and patch application are implemented.

Constructors

ReleaseDescriptor({required int schemaVersion, required String packageId, required String appName, required String version, required int? buildNumber, required String platform, required String channel, required ReleaseArtifact artifact, required ReleaseInstall install, required String minimumUpdaterVersion, required DateTime generatedAt, Map<String, String> minimumOS = const {}, List<ReleaseDeltaArtifact> deltaArtifacts = const [], ReleaseSignature? signature})
Creates release metadata for one downloadable artifact.
const
ReleaseDescriptor.fromJson(Map<String, dynamic> json)
Parses and validates a schema-v3 release descriptor from JSON.
factory

Properties

appName → String
Human-readable app name shown by update UI and release tooling.
final
artifact → ReleaseArtifact
Downloadable artifact described by this release.
final
buildNumber → int?
Optional platform build number used as a same-version tiebreaker.
final
channel → String
Release channel, such as stable.
final
deltaArtifacts → List<ReleaseDeltaArtifact>
Optional descriptor metadata for future delta update artifacts.
final
generatedAt → DateTime
UTC timestamp for descriptor generation.
final
hashCode → int
The hash code for this object.
no setterinherited
install → ReleaseInstall
Install strategy for the staged artifact.
final
minimumOS → Map<String, String>
Optional minimum OS versions keyed by platform.
final
minimumUpdaterVersion → String
Minimum updater package version expected to handle this descriptor.
final
packageId → String
Stable package identifier used to match releases to an app.
final
platform → String
Target platform identifier, such as macos, windows, or linux.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
schemaVersion → int
Descriptor schema version. This package currently supports version 3.
final
signature → ReleaseSignature?
Optional detached descriptor signature metadata.
final
version → String
Semantic app version for this release.
final

Methods

canonicalSignatureBytes() → List<int>
Encodes toCanonicalSignatureJson as UTF-8 bytes.
minimumOSForPlatform(String platform) → String?
Returns the minimum OS value for platform, when descriptor metadata has one.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toCanonicalSignatureJson() → Map<String, dynamic>
Returns the stable JSON payload used for signing and verification.
toJson() → Map<String, dynamic>
Converts this descriptor to the schema-v3 JSON shape.
toString() → String
A string representation of this object.
inherited
validate() → void
Validates required schema, identity, artifact, and install fields.

Operators

operator ==(Object other) → bool
The equality operator.
inherited