Skip to content

Commit 552fb23

Browse files
doublegateclaude
andcommitted
chore(release): bump version to v2.2.3
- Update version across all Cargo.toml files and Tauri configs - Add CHANGELOG entry for v2.2.3 - Document CI/CD fixes for macOS bundles and Linux AppImages Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 7255c26 commit 552fb23

File tree

13 files changed

+56
-12
lines changed

13 files changed

+56
-12
lines changed

CHANGELOG.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,50 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
---
1111

12+
## [2.2.3] - 2026-01-24 - CI/CD Build Fixes
13+
14+
### Overview
15+
16+
This release fixes critical issues in the GitHub Release workflow that were causing incomplete macOS client bundles and improves Linux AppImage distribution.
17+
18+
### Fixed
19+
20+
- **macOS DMG Collection:** Fixed `find -exec cp` failing silently for filenames with spaces (e.g., 'WRAITH Transfer_2.2.3_aarch64.dmg')
21+
- **jq Installation Warning:** Added check for existing jq installation before brew install on macOS runners
22+
23+
### Changed
24+
25+
- **Linux AppImages:** AppImages now uploaded as individual downloadable files instead of being bundled in tar.gz
26+
- **Linux Client Bundle:** Now contains only .deb and .rpm packages (AppImages available as separate downloads)
27+
- **Artifact Collection:** Improved using null-terminated find output with proper quoting for filenames with spaces
28+
- **Release Diagnostics:** Added output showing collected DMG/AppImage counts for debugging
29+
30+
### Technical Details
31+
32+
#### macOS Bundle Fix
33+
34+
The macOS client bundle was incomplete (4.45MB instead of ~100MB) because the `find -exec cp` command was silently failing for DMG files with spaces in their names.
35+
36+
**Before (failing silently):**
37+
```bash
38+
find "$RUNNERS_DIR" -name "*.dmg" -type f -exec cp {} "$CLIENT_DIR/" \;
39+
```
40+
41+
**After (handles spaces correctly):**
42+
```bash
43+
while IFS= read -r -d '' file; do
44+
cp "$file" "$CLIENT_DIR/"
45+
done < <(find "$RUNNERS_DIR" -name "*.dmg" -type f -print0)
46+
```
47+
48+
#### AppImage Separation
49+
50+
- Individual AppImages are now direct download assets in GitHub Releases
51+
- Users can download just the AppImage they need without extracting archives
52+
- Checksums for AppImages included in SHA256SUMS-clients.txt
53+
54+
---
55+
1256
## [2.2.2] - 2026-01-24 - Release Workflow Improvements
1357

1458
### Overview

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Guidance for Claude Code when working with this repository.
66

77
WRAITH (Wire-speed Resilient Authenticated Invisible Transfer Handler) is a decentralized secure file transfer protocol implemented in Rust.
88

9-
**Status:** v2.2.2 - Release Workflow Improvements
9+
**Status:** v2.2.3 - CI/CD Build Fixes
1010

1111
### Metrics
1212
| Metric | Value |

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ members = [
3333
exclude = ["crates/wraith-xdp", "fuzz"]
3434

3535
[workspace.package]
36-
version = "2.2.2"
36+
version = "2.2.3"
3737
edition = "2024"
3838
rust-version = "1.88"
3939
license = "MIT"

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ A decentralized secure file transfer protocol optimized for high-throughput, low
1313
<a href="https://github.com/doublegate/WRAITH-Protocol/actions/workflows/codeql.yml"><img src="https://github.com/doublegate/WRAITH-Protocol/actions/workflows/codeql.yml/badge.svg" alt="CodeQL"></a>
1414
<a href="https://github.com/doublegate/WRAITH-Protocol/actions/workflows/release.yml"><img src="https://github.com/doublegate/WRAITH-Protocol/actions/workflows/release.yml/badge.svg" alt="Release"></a>
1515
<br>
16-
<a href="https://github.com/doublegate/WRAITH-Protocol/releases"><img src="https://img.shields.io/badge/version-2.2.2-blue.svg" alt="Version"></a>
16+
<a href="https://github.com/doublegate/WRAITH-Protocol/releases"><img src="https://img.shields.io/badge/version-2.2.3-blue.svg" alt="Version"></a>
1717
<a href="docs/security/SECURITY_AUDIT_v1.1.0.md"><img src="https://img.shields.io/badge/security-audited-green.svg" alt="Security"></a>
1818
<a href="https://www.rust-lang.org/"><img src="https://img.shields.io/badge/rust-1.88%2B-orange.svg" alt="Rust"></a>
1919
<a href="https://doc.rust-lang.org/edition-guide/rust-2024/index.html"><img src="https://img.shields.io/badge/edition-2024-orange.svg" alt="Edition"></a>

clients/wraith-chat/src-tauri/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://schema.tauri.app/config/2",
33
"productName": "WRAITH Chat",
4-
"version": "2.2.2",
4+
"version": "2.2.3",
55
"identifier": "com.wraith.chat",
66
"build": {
77
"frontendDist": "../frontend/dist",

clients/wraith-mesh/src-tauri/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://schema.tauri.app/config/2",
33
"productName": "WRAITH Mesh",
4-
"version": "2.2.2",
4+
"version": "2.2.3",
55
"identifier": "io.wraith.mesh",
66
"build": {
77
"frontendDist": "../frontend/dist",

clients/wraith-publish/src-tauri/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://schema.tauri.app/config/2",
33
"productName": "WRAITH Publish",
4-
"version": "2.2.2",
4+
"version": "2.2.3",
55
"identifier": "io.wraith.publish",
66
"build": {
77
"frontendDist": "../frontend/dist",

clients/wraith-recon/src-tauri/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://schema.tauri.app/config/2",
33
"productName": "WRAITH Recon",
4-
"version": "2.2.2",
4+
"version": "2.2.3",
55
"identifier": "io.wraith.recon",
66
"build": {
77
"frontendDist": "../frontend/dist",

clients/wraith-share/src-tauri/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://schema.tauri.app/config/2",
33
"productName": "WRAITH Share",
4-
"version": "2.2.2",
4+
"version": "2.2.3",
55
"identifier": "io.wraith.share",
66
"build": {
77
"frontendDist": "../frontend/dist",

clients/wraith-stream/src-tauri/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://schema.tauri.app/config/2",
33
"productName": "WRAITH Stream",
4-
"version": "2.2.2",
4+
"version": "2.2.3",
55
"identifier": "io.wraith.stream",
66
"build": {
77
"frontendDist": "../frontend/dist",

0 commit comments

Comments
 (0)