From f0a8cf30131cd495e13ae1d838cb3e6297a8b8b1 Mon Sep 17 00:00:00 2001 From: Kit Plummer Date: Thu, 18 Jun 2026 17:23:12 -0700 Subject: [PATCH 1/2] chore(release): v0.4.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ships the send-side outbox watcher (PEAT_NODE_ATTACHMENT_OUTBOX_WATCH) — drop a file in a root and it auto-distributes to peers' inboxes with no SendAttachments call, completing bidirectional hands-off attachment sync. Bumps crate + peat-cli + chart (version/appVersion/tag) and example image pins to v0.4.5; moves the [Unreleased] entry under [0.4.5]. --- CHANGELOG.md | 2 ++ Cargo.lock | 4 ++-- Cargo.toml | 2 +- chart/peat-node/Chart.yaml | 4 ++-- chart/peat-node/values.yaml | 2 +- crates/peat-cli/Cargo.toml | 2 +- examples/compose/attachments/README.md | 2 +- examples/compose/attachments/docker-compose.multi-host.yml | 2 +- examples/compose/attachments/docker-compose.two-node.yml | 4 ++-- examples/compose/attachments/docker-compose.yml | 2 +- examples/compose/docker-compose.yml | 4 ++-- 11 files changed, 16 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 375f162..13148ca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.4.5] - 2026-06-19 + ### Added - **Send-side outbox watcher** (`PEAT_NODE_ATTACHMENT_OUTBOX_WATCH=true`, opt-in) diff --git a/Cargo.lock b/Cargo.lock index 950a639..b1e3cf0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3886,7 +3886,7 @@ checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" [[package]] name = "peat-cli" -version = "0.4.4" +version = "0.4.5" dependencies = [ "anyhow", "assert_cmd", @@ -3959,7 +3959,7 @@ dependencies = [ [[package]] name = "peat-node" -version = "0.4.4" +version = "0.4.5" dependencies = [ "aes-gcm", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 27789e9..85f3abf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ resolver = "2" [package] name = "peat-node" -version = "0.4.4" +version = "0.4.5" edition = "2021" authors = ["Kit Plummer "] license = "Apache-2.0" diff --git a/chart/peat-node/Chart.yaml b/chart/peat-node/Chart.yaml index c985e67..c95c2ad 100644 --- a/chart/peat-node/Chart.yaml +++ b/chart/peat-node/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: peat-node description: Peat mesh sidecar — gRPC API for co-located applications type: application -version: 0.4.4 -appVersion: "0.4.4" +version: 0.4.5 +appVersion: "0.4.5" diff --git a/chart/peat-node/values.yaml b/chart/peat-node/values.yaml index 6037713..f125735 100644 --- a/chart/peat-node/values.yaml +++ b/chart/peat-node/values.yaml @@ -3,7 +3,7 @@ # -- Container image image: repository: ghcr.io/defenseunicorns/peat-node - tag: v0.4.4 + tag: v0.4.5 pullPolicy: IfNotPresent # -- gRPC listen address (inside the pod) diff --git a/crates/peat-cli/Cargo.toml b/crates/peat-cli/Cargo.toml index ecb74f1..66d6a61 100644 --- a/crates/peat-cli/Cargo.toml +++ b/crates/peat-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "peat-cli" -version = "0.4.4" +version = "0.4.5" edition = "2021" authors = ["Kit Plummer "] license = "Apache-2.0" diff --git a/examples/compose/attachments/README.md b/examples/compose/attachments/README.md index 7381952..8debb5d 100644 --- a/examples/compose/attachments/README.md +++ b/examples/compose/attachments/README.md @@ -97,7 +97,7 @@ ls inbox-b/ # files appear here per distribution_ docker compose -f docker-compose.two-node.yml down -v ``` -(Pulls `ghcr.io/defenseunicorns/peat-node:v0.4.4`. For testing local +(Pulls `ghcr.io/defenseunicorns/peat-node:v0.4.5`. For testing local changes, swap the `image:` line for the commented `build:` block in both services.) diff --git a/examples/compose/attachments/docker-compose.multi-host.yml b/examples/compose/attachments/docker-compose.multi-host.yml index 52cc7b6..f1669ff 100644 --- a/examples/compose/attachments/docker-compose.multi-host.yml +++ b/examples/compose/attachments/docker-compose.multi-host.yml @@ -72,7 +72,7 @@ services: # Deterministic identity + `derive-id` require peat-node v0.4.4+. To run # local changes ahead of a release, comment out `image:` and uncomment # `build:`. - image: ghcr.io/defenseunicorns/peat-node:v0.4.4 + image: ghcr.io/defenseunicorns/peat-node:v0.4.5 # build: # context: ../../.. container_name: peat-node-${NODE_ID} diff --git a/examples/compose/attachments/docker-compose.two-node.yml b/examples/compose/attachments/docker-compose.two-node.yml index 76f76ae..9e3403d 100644 --- a/examples/compose/attachments/docker-compose.two-node.yml +++ b/examples/compose/attachments/docker-compose.two-node.yml @@ -34,7 +34,7 @@ services: # SubscribeAttachmentBundle one frame short of terminal. For # testing local changes, comment out `image:` and uncomment the # `build:` block. - image: ghcr.io/defenseunicorns/peat-node:v0.4.4 + image: ghcr.io/defenseunicorns/peat-node:v0.4.5 # build: # context: ../../.. container_name: peat-node-attachments-a @@ -57,7 +57,7 @@ services: - ./outbox-a:/var/lib/peat/outbox:ro peat-node-b: - image: ghcr.io/defenseunicorns/peat-node:v0.4.4 + image: ghcr.io/defenseunicorns/peat-node:v0.4.5 # build: # context: ../../.. container_name: peat-node-attachments-b diff --git a/examples/compose/attachments/docker-compose.yml b/examples/compose/attachments/docker-compose.yml index 0a862f5..2bcb70d 100644 --- a/examples/compose/attachments/docker-compose.yml +++ b/examples/compose/attachments/docker-compose.yml @@ -29,7 +29,7 @@ services: # use v0.3.0+ for the delivery demo. For testing changes ahead of # a release, comment out the `image:` line and uncomment the # `build:` block to build from the repo root. - image: ghcr.io/defenseunicorns/peat-node:v0.4.4 + image: ghcr.io/defenseunicorns/peat-node:v0.4.5 # build: # context: ../../.. container_name: peat-node-attachments diff --git a/examples/compose/docker-compose.yml b/examples/compose/docker-compose.yml index 47baa8d..b2c5c0e 100644 --- a/examples/compose/docker-compose.yml +++ b/examples/compose/docker-compose.yml @@ -16,7 +16,7 @@ services: peat-node-a: # Latest published release. For testing changes ahead of a release, comment # this out and uncomment the `build:` block to build from the repo root. - image: ghcr.io/defenseunicorns/peat-node:v0.4.4 + image: ghcr.io/defenseunicorns/peat-node:v0.4.5 # build: # context: ../.. container_name: peat-node-a @@ -40,7 +40,7 @@ services: - peat-node-a-data:/data/peat-node peat-node-b: - image: ghcr.io/defenseunicorns/peat-node:v0.4.4 + image: ghcr.io/defenseunicorns/peat-node:v0.4.5 # build: # context: ../.. container_name: peat-node-b From 2f87df3efb705690f49ace671a908581ea39aa8a Mon Sep 17 00:00:00 2001 From: Kit Plummer Date: Thu, 18 Jun 2026 17:46:12 -0700 Subject: [PATCH 2/2] ci: install Windows protoc from GitHub releases (drop flaky Chocolatey) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Windows `choco install protoc` step intermittently 504s on the community Chocolatey feed, leaving protoc absent so peat-schema's build script fails ("Could not find protoc") — it blocked this very release PR twice. Replace it with arduino/setup-protoc@v3 (pinned protoc from GitHub releases) in both the CI Cross-platform job and the release peat-cli-binaries job. Bundled into the release PR to unblock v0.4.5; no code change. --- .github/workflows/ci.yaml | 8 ++++++-- .github/workflows/release.yml | 7 +++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 956a274..be641d4 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -193,8 +193,12 @@ jobs: run: brew install protobuf - name: Install protoc (Windows) if: runner.os == 'Windows' - shell: pwsh - run: choco install protoc -y --no-progress + # Pull protoc from GitHub releases via the maintained action rather + # than the community Chocolatey feed, which intermittently 504s and + # fails the build with "Could not find protoc". + uses: arduino/setup-protoc@v3 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} # macOS builds the whole workspace; Windows builds peat-cli only. # The peat-node root crate uses Unix-only crates (e.g. iroh's # underlying transport pulls in libc) that the Windows port hasn't diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cbfb3e0..2c624e2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -212,8 +212,11 @@ jobs: run: brew install protobuf - name: Install protoc (Windows) if: runner.os == 'Windows' - shell: pwsh - run: choco install protoc -y --no-progress + # GitHub-releases protoc via the maintained action — avoids the + # community Chocolatey feed's intermittent 504s. + uses: arduino/setup-protoc@v3 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Build peat-cli run: cargo build --release -p peat-cli - name: Smoke `peat --help` (Unix)