diff --git a/CHANGELOG.md b/CHANGELOG.md index ff1ea57..dd625d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,21 @@ sibling project the same week this note was added. ## [Unreleased] +## [0.0.48] - 2026-08-31 + +Antigravity's official updater publishes native Windows x86_64 and +arm64 executables for both releases this provider can move between. Those exact +PE files, their lengths and their digests were already present in the provider, +but stale availability metadata still named both Windows platforms as +unpublished, so a valid software plan was refused before it could name the +artifact. + +The stale refusal is gone. Install, update, status, rollback and removal now use +the same measured two-release lifecycle on all six native platform pairs. A +generated invariant also rejects any current or previous release that calls a +platform both published and unpublished, preventing the artifact table and the +capability declaration from silently disagreeing again. + ## [0.0.47] - 2026-08-31 A target caught part-way through a change can be recovered from the daily diff --git a/Cargo.lock b/Cargo.lock index 8d373df..6e25d82 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -66,7 +66,7 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "harness-runtime" -version = "0.0.47" +version = "0.0.48" dependencies = [ "provider-v3", "serde", @@ -128,7 +128,7 @@ dependencies = [ [[package]] name = "opencode-setup-system" -version = "0.0.47" +version = "0.0.48" dependencies = [ "harness-runtime", "provider-v3", @@ -147,7 +147,7 @@ dependencies = [ [[package]] name = "provider-v3" -version = "0.0.47" +version = "0.0.48" dependencies = [ "serde", "serde_json", @@ -209,7 +209,7 @@ dependencies = [ [[package]] name = "setup-core" -version = "0.0.47" +version = "0.0.48" dependencies = [ "miniz_oxide", "serde", diff --git a/Cargo.toml b/Cargo.toml index 8bcdb28..4c8998d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ ] [workspace.package] -version = "0.0.47" +version = "0.0.48" edition = "2024" rust-version = "1.89" license = "AGPL-3.0-or-later" @@ -23,9 +23,9 @@ sha2 = "0.11" # `setup-core::archive`); an inflate loop is not, because its bugs are # memory-safety bugs and it is not improved by being hand-written here. miniz_oxide = "0.9" -setup-core = { path = "crates/setup-core", version = "0.0.47" } -provider-v3 = { path = "crates/provider-v3", version = "0.0.47" } -harness-runtime = { path = "crates/harness-runtime", version = "0.0.47" } +setup-core = { path = "crates/setup-core", version = "0.0.48" } +provider-v3 = { path = "crates/provider-v3", version = "0.0.48" } +harness-runtime = { path = "crates/harness-runtime", version = "0.0.48" } [workspace.lints.rust] unsafe_code = "forbid" diff --git a/README.md b/README.md index 1ff9329..1d612ed 100644 --- a/README.md +++ b/README.md @@ -179,7 +179,7 @@ release is a convenience, not the authorised copy. ```bash docker run --rm -v "$HOME/.config:/config" \ - ghcr.io/nddev-opennetwork/opencode-setup-system:0.0.47 \ + ghcr.io/nddev-opennetwork/opencode-setup-system:0.0.48 \ status --target /config/