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, orlinux.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