Release protocol-v2 builds as kvshare 0.2.0 #22

Merged
erik merged 1 commit from fix/task-0318d385-release-0.2.0 into main 2026-09-23 22:28:39 -05:00
Owner

Summary

Correct the package version for the incompatible protocol-v2 change to 0.2.0. The first local deployment of PR #21 incorrectly reused 0.1.6, making distinct builds indistinguishable by their displayed versions.

Task

Follow-up release/deployment correction for task-0318d385 and merged PR #21. The user requested the version correction and redeployment without reopening the completed implementation task.

Changes

  • Bump the canonical version in Cargo.toml to 0.2.0 and regenerate Cargo.lock with cargo check.
  • Update macOS installation examples and both platforms' minimum-version guidance.
  • Add 0.2.0 release notes, including the protocol compatibility break and correction for mislabeled local 0.1.6 builds.
  • Document that changed deployed code must receive a new version and that deployments must use checksum-verified packages from the approved tagged release.

Verification

  • cargo check
  • ./scripts/pre-pr.sh: Rust formatting/clippy/tests, Swift formatting/macOS app build/tests, release tag/artifact-version tests for 0.2.0.
  • git diff --check
  • No runtime behavior or dependencies changed; protocol remains version 2.
  • CI run 75 passed Rust and Swift checks for 70ad6599e158dab98ef7d803ab5f50da1de3952a.
  • Release dry run 76 built the Arch package successfully.
  • Local macOS package build passed with required persistent Apple signing. Expanded package reports 0.2.0, passes strict/deep signature verification, and has the same signing designated requirement as the installed app; checksum verified.
  • macOS release CI signing is misconfigured: the import step reports one identity imported, but signing fails with no identity found. Credentials were not changed. A locally signed package from the approved tag is the proposed publication fallback, pending human acceptance.
  • Release publication and redeployment follow merge approval; no 0.2.0 release has been published or installed yet.

After approved merge

Create annotated tag v0.2.0 at the merged commit. With human acceptance of the CI signing warning, build the macOS package from that tag using the existing valid local Apple identity and publish it with its checksum alongside the Arch release package; do not weaken signing or change credentials. Download and verify the published artifacts, then upgrade both this Mac mini and erik-dev. Preserve signing identity, configuration, and rollback copies; verify installed versions and protocol-v2 connectivity.

Human merge approval is required. Do not auto-merge.

## Summary Correct the package version for the incompatible protocol-v2 change to **0.2.0**. The first local deployment of PR #21 incorrectly reused 0.1.6, making distinct builds indistinguishable by their displayed versions. ## Task Follow-up release/deployment correction for `task-0318d385` and merged PR #21. The user requested the version correction and redeployment without reopening the completed implementation task. ## Changes - Bump the canonical version in Cargo.toml to 0.2.0 and regenerate Cargo.lock with cargo check. - Update macOS installation examples and both platforms' minimum-version guidance. - Add 0.2.0 release notes, including the protocol compatibility break and correction for mislabeled local 0.1.6 builds. - Document that changed deployed code must receive a new version and that deployments must use checksum-verified packages from the approved tagged release. ## Verification - [x] `cargo check` - [x] `./scripts/pre-pr.sh`: Rust formatting/clippy/tests, Swift formatting/macOS app build/tests, release tag/artifact-version tests for 0.2.0. - [x] `git diff --check` - [x] No runtime behavior or dependencies changed; protocol remains version 2. - [x] CI run 75 passed Rust and Swift checks for `70ad6599e158dab98ef7d803ab5f50da1de3952a`. - [x] Release dry run 76 built the Arch package successfully. - [x] Local macOS package build passed with required persistent Apple signing. Expanded package reports 0.2.0, passes strict/deep signature verification, and has the same signing designated requirement as the installed app; checksum verified. - [ ] macOS release CI signing is misconfigured: the import step reports one identity imported, but signing fails with `no identity found`. Credentials were not changed. A locally signed package from the approved tag is the proposed publication fallback, pending human acceptance. - [ ] Release publication and redeployment follow merge approval; no 0.2.0 release has been published or installed yet. ## After approved merge Create annotated tag v0.2.0 at the merged commit. With human acceptance of the CI signing warning, build the macOS package from that tag using the existing valid local Apple identity and publish it with its checksum alongside the Arch release package; do not weaken signing or change credentials. Download and verify the published artifacts, then upgrade both this Mac mini and erik-dev. Preserve signing identity, configuration, and rollback copies; verify installed versions and protocol-v2 connectivity. Human merge approval is required. Do not auto-merge.
fix: version the incompatible protocol release as 0.2.0
All checks were successful
CI / Rust build, lint, and test (pull_request) Successful in 12s
CI / Swift build, lint, and test (pull_request) Successful in 15s
70ad6599e1
Give protocol-v2 builds an unambiguous package version and document coordinated upgrades instead of reusing 0.1.6.

Task: #task-0318d385
Author
Owner

Review update

  • PR: #22 (open)
  • Task: task-0318d385 (remains closed; this is its user-requested release correction)
  • Reviewed commit: 70ad6599e158dab98ef7d803ab5f50da1de3952a
  • Result: warnings — version correction is sound; macOS release automation has a signing-configuration failure requiring an explicit release-path decision.

Summary

Cargo.toml and Cargo.lock now consistently identify this incompatible protocol-v2 release as 0.2.0. Existing packaging reads the canonical value for both platforms. Installation instructions and release notes explain the required coordinated upgrade and the previously mislabeled local 0.1.6 builds. No runtime code or dependencies changed.

Acceptance criteria preservation

The feature was implemented and reviewed in merged PR #21, with evidence recorded in task comment note-fce29d02. This follow-up changes only version metadata and documentation; it preserves the reviewed implementation, and the full checks were rerun successfully.

  • Met — Mac-control mirroring: implementation unchanged; routing tests pass.
  • Met — Linux-control mirroring: implementation unchanged; routing tests pass.
  • Met — Disabled toggle: ordinary routing and balanced release behavior unchanged; tests pass.
  • Met — Exclusions: modified/non-number/numpad routing unchanged; tests pass.
  • Met — Ownership/pointer: mirroring ownership behavior unchanged; tests pass.
  • Met — Lifecycle safety: existing toggle/handoff/disable/disconnect/lock/readiness tests pass.
  • Met — Automated checks: local pre-PR suite and CI run 75 Rust/Swift jobs passed for the reviewed commit. Release-version tests now verify 0.2.0.
  • Met — Documentation: upgrade instructions and release notes now identify the feature as 0.2.0/protocol 2 and warn about incompatible older peers.

Release verification

  • Release dry run 76: prepare step passed; Arch package build passed (1m17s).
  • macOS release CI imported one signing identity, then the package-signing step failed with no identity found. No secret or keychain settings were changed to bypass this failure.
  • The same package script succeeded locally with required persistent Apple signing. The expanded package reports 0.2.0, passes strict/deep codesign verification, has the installed app's designated requirement, and passes checksum verification.
  • No 0.2.0 tag, publication, or deployment has been performed. After merge approval, a local macOS package must be built from the approved tag and published with its checksum, then the published packages must be downloaded and verified before deployment.

Findings

  • Blocking code issues: 0.
  • Warnings: 1 — the CI signing configuration prevents a fully automated macOS release. Publishing the verified, locally signed macOS package is a viable fallback but requires explicit human acceptance; otherwise repair CI signing configuration before publication. Signing requirements must remain enforced.
  • Original task criteria: 8 total, 8 met, 0 missing (preserved by this metadata/documentation-only change).

Final verdict

Warnings. Wait for explicit human approval to merge PR #22 and accept the locally signed macOS release path, or obtain authorization to repair CI signing configuration. Do not merge or publish automatically.

### Review update - PR: https://forge.caradoc.com/erik/kvshare/pulls/22 (open) - Task: `task-0318d385` (remains closed; this is its user-requested release correction) - Reviewed commit: `70ad6599e158dab98ef7d803ab5f50da1de3952a` - Result: **warnings** — version correction is sound; macOS release automation has a signing-configuration failure requiring an explicit release-path decision. ### Summary Cargo.toml and Cargo.lock now consistently identify this incompatible protocol-v2 release as 0.2.0. Existing packaging reads the canonical value for both platforms. Installation instructions and release notes explain the required coordinated upgrade and the previously mislabeled local 0.1.6 builds. No runtime code or dependencies changed. ### Acceptance criteria preservation The feature was implemented and reviewed in merged PR #21, with evidence recorded in task comment `note-fce29d02`. This follow-up changes only version metadata and documentation; it preserves the reviewed implementation, and the full checks were rerun successfully. - [x] **Met — Mac-control mirroring:** implementation unchanged; routing tests pass. - [x] **Met — Linux-control mirroring:** implementation unchanged; routing tests pass. - [x] **Met — Disabled toggle:** ordinary routing and balanced release behavior unchanged; tests pass. - [x] **Met — Exclusions:** modified/non-number/numpad routing unchanged; tests pass. - [x] **Met — Ownership/pointer:** mirroring ownership behavior unchanged; tests pass. - [x] **Met — Lifecycle safety:** existing toggle/handoff/disable/disconnect/lock/readiness tests pass. - [x] **Met — Automated checks:** local pre-PR suite and CI run 75 Rust/Swift jobs passed for the reviewed commit. Release-version tests now verify 0.2.0. - [x] **Met — Documentation:** upgrade instructions and release notes now identify the feature as 0.2.0/protocol 2 and warn about incompatible older peers. ### Release verification - Release dry run 76: prepare step passed; Arch package build passed (1m17s). - macOS release CI imported one signing identity, then the package-signing step failed with `no identity found`. No secret or keychain settings were changed to bypass this failure. - The same package script succeeded locally with required persistent Apple signing. The expanded package reports 0.2.0, passes strict/deep codesign verification, has the installed app's designated requirement, and passes checksum verification. - No 0.2.0 tag, publication, or deployment has been performed. After merge approval, a local macOS package must be built from the approved tag and published with its checksum, then the published packages must be downloaded and verified before deployment. ### Findings - Blocking code issues: **0**. - Warnings: **1** — the CI signing configuration prevents a fully automated macOS release. Publishing the verified, locally signed macOS package is a viable fallback but requires explicit human acceptance; otherwise repair CI signing configuration before publication. Signing requirements must remain enforced. - Original task criteria: **8 total, 8 met, 0 missing** (preserved by this metadata/documentation-only change). ### Final verdict **Warnings.** Wait for explicit human approval to merge PR #22 and accept the locally signed macOS release path, or obtain authorization to repair CI signing configuration. Do not merge or publish automatically.
erik merged commit 23531b0fa2 into main 2026-09-23 22:28:39 -05:00
erik deleted branch fix/task-0318d385-release-0.2.0 2026-09-23 22:28:39 -05:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
erik/kvshare!22
No description provided.