API / Minn\Ops / Release

Release final readonly class

Minn\Ops\Release · public/minn/src/Minn/Ops/Release.php · 58 lines

One published Minn release as the update service describes it (and as the minn_release option keeps it, the same shape): the version, its notes and page, when it went out, and its minn.zip with that file's sha256 and its Ed25519 signature. Anything else is not a release Minn offers: a version that is not major.minor.patch, a package anywhere but Minn's own downloads, a missing checksum, or a missing signature.

Uses 1

Constants and properties

constASSET = 'minn.zip'

The archive every release ships: the public/minn/ tree with Minn Admin bundled at minn/admin.

constDOWNLOADS = 'https://updates.minn.run/v1/minn/download/'

Where release packages download from; EngineUpdate fetches nothing else.

propreadonly string $version

Promoted from the constructor.

propreadonly string $url

Promoted from the constructor.

propreadonly string $published

Promoted from the constructor.

propreadonly string $notes

Promoted from the constructor.

propreadonly string $package

Promoted from the constructor.

propreadonly string $sha256

Promoted from the constructor.

propreadonly string $signature

Promoted from the constructor.

Public

new__construct(string $version, string $url, string $published, string $notes, string $package, string $sha256, string $signature)#
staticfromArray(array $row): ?self#

A release from the service's answer or the stored option; null when it is not one Minn offers.

$rowarray<string, mixed>
methodtoArray(): array#

The release as it is kept in the minn_release option.

@return array{version: string, url: string, published: string, notes: string, package: string, sha256: string, signature: string}
methodnewerThan(string $installed): bool#

Whether this release is newer than a version that is installed.