Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 4 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 4 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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"
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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/<dir> --json
```

Expand Down
23 changes: 23 additions & 0 deletions crates/opencode-setup-system/src/software.rs
Original file line number Diff line number Diff line change
Expand Up @@ -245,4 +245,27 @@ mod tests {
.unwrap_or_default();
assert_eq!(unpublished, SOFTWARE.unsupported);
}

#[test]
fn no_release_calls_a_platform_both_published_and_unpublished() {
let baseline = measured();
for name in ["software_artifacts", "previous_software_artifacts"] {
let Some(block) = baseline.get(name) else {
continue;
};
let published = block["platforms"].as_object().unwrap();
let unpublished = block
.get("unpublished")
.and_then(serde_json::Value::as_array)
.into_iter()
.flatten()
.filter_map(serde_json::Value::as_str);
for platform in unpublished {
assert!(
!published.contains_key(platform),
"{name}: {platform} is both published and unpublished"
);
}
}
}
}
2 changes: 1 addition & 1 deletion install.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
# powershell -ExecutionPolicy Bypass -File install.ps1 -Version 0.1.0
[CmdletBinding()]
param(
[string]$Version = "0.0.47",
[string]$Version = "0.0.48",
[string]$InstallDir = "$env:LOCALAPPDATA\Programs\opencode-setup-system"
)
$ErrorActionPreference = "Stop"
Expand Down
2 changes: 1 addition & 1 deletion install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ set -eu

REPO="NDDev-OpenNetwork/opencode-setup-system"
BINARY="opencode-setup-system"
VERSION="${1:-0.0.47}"
VERSION="${1:-0.0.48}"
PREFIX="${OPENCODE_INSTALL_DIR:-$HOME/.local/bin}"

case "$(uname -s)" in
Expand Down
Loading