Skip to content

Commit 1b14cf0

Browse files
doublegateclaude
andcommitted
chore: bump version to v2.3.5
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 9c644a3 commit 1b14cf0

File tree

4 files changed

+82
-55
lines changed

4 files changed

+82
-55
lines changed

CHANGELOG.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
---
11+
12+
## [2.3.5] - 2026-01-31 - CI/CD Stability & Security Hardening
13+
1014
### Added
1115

1216
#### Tools
@@ -18,10 +22,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1822

1923
### Changed
2024

21-
- **Cargo.toml**: Added `tools/roe-signer` to workspace `exclude` list
25+
- **Cargo.toml**: Added `tools/roe-signer` to workspace `exclude` list; added `fuzz` to workspace `exclude` list
2226
- **README.md**: Updated gap analysis references to v8.0.0, added tools/roe-signer to project structure and documentation links
2327
- **Protocol-DEV / Clients-DEV**: Updated footer metadata to reflect v2.3.4 status
2428

29+
### Fixed
30+
31+
#### CI/CD Pipeline
32+
- **docs.yml**: Replaced deprecated `--exclude-mail` flag with `--exclude '^mailto:'` for lychee link checker
33+
- **wraith-crypto/src/ratchet.rs**: Fixed clippy `collapsible_if` warning
34+
- **wraith-core transfer/session.rs**: Fixed unclosed HTML tags in doc comments
35+
- **wraith-files chunker.rs**: Fixed unclosed HTML tags in doc comments
36+
- **wraith-crypto/src/ratchet.rs**: Added missing `key_commitment` field in test
37+
- **wraith-crypto/src/elligator.rs**: Increased timing test tolerance from 75% to 100% for CI stability
38+
- **Cargo.toml**: Excluded `fuzz` directory from workspace, fixing Fuzz workflow failures
39+
40+
#### Security (PR #57, PR #60)
41+
- Resolved 58 CodeQL code scanning alerts across the codebase
42+
- Added SAFETY documentation for all FFI pointer access in wraith-ffi
43+
- Eliminated cleartext logging of sensitive peer IDs in wraith-cli
44+
- Added security annotations for cryptographic test vectors
45+
- Dismissed 49 remaining false-positive alerts via GitHub API
46+
2547
---
2648

2749
## [2.3.4] - 2026-01-30 - Performance Optimizations & Security Hardening

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.3.4 - Performance Optimizations & Security Hardening
9+
**Status:** v2.3.5 - CI/CD Stability & Security Hardening
1010

1111
### Metrics
1212
| Metric | Value |

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ exclude = [
4141
]
4242

4343
[workspace.package]
44-
version = "2.3.4"
44+
version = "2.3.5"
4545
edition = "2024"
4646
rust-version = "1.88"
4747
license = "MIT"

README.md

Lines changed: 57 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ A decentralized secure file transfer protocol optimized for high-throughput, low
1414
<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>
1515
<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>
1616
<br>
17-
<a href="https://github.com/doublegate/WRAITH-Protocol/releases"><img src="https://img.shields.io/badge/version-2.3.4-blue.svg" alt="Version"></a>
17+
<a href="https://github.com/doublegate/WRAITH-Protocol/releases"><img src="https://img.shields.io/badge/version-2.3.5-blue.svg" alt="Version"></a>
1818
<a href="docs/security/SECURITY_AUDIT_v1.1.0.md"><img src="https://img.shields.io/badge/security-audited-green.svg" alt="Security"></a>
1919
<a href="https://www.rust-lang.org/"><img src="https://img.shields.io/badge/rust-1.88%2B-orange.svg" alt="Rust"></a>
2020
<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>
@@ -36,16 +36,16 @@ WRAITH Protocol is a privacy-focused, high-performance file transfer protocol de
3636

3737
### Project Metrics
3838

39-
| Metric | Value |
40-
| ----------------- | ---------------------------------------------------------------------- |
39+
| Metric | Value |
40+
| ----------------- | ------------------------------------------------------------------------- |
4141
| **Tests** | 2,148 passing (2,123 workspace + 11 spectre-implant + 14 doc), 16 ignored |
42-
| **Code** | ~141,000 lines Rust (protocol + clients) + ~37,800 lines TypeScript |
43-
| **Documentation** | 114 files, ~62,800 lines |
44-
| **Security** | Grade A+ (zero vulnerabilities, 295 audited dependencies) |
45-
| **Quality** | 98/100, zero clippy warnings |
46-
| **TDR** | ~2.5% (Grade A - Excellent) |
47-
| **Applications** | 12 production-ready clients (9 desktop + 2 mobile + 1 server platform) |
48-
| **Templates** | 17 configuration/ROE templates |
42+
| **Code** | ~141,000 lines Rust (protocol + clients) + ~37,800 lines TypeScript |
43+
| **Documentation** | 114 files, ~62,800 lines |
44+
| **Security** | Grade A+ (zero vulnerabilities, 295 audited dependencies) |
45+
| **Quality** | 98/100, zero clippy warnings |
46+
| **TDR** | ~2.5% (Grade A - Excellent) |
47+
| **Applications** | 12 production-ready clients (9 desktop + 2 mobile + 1 server platform) |
48+
| **Templates** | 17 configuration/ROE templates |
4949

5050
![WRAITH Protocol Banner](images/wraith-protocol_banner-graphic.jpg)
5151

@@ -203,24 +203,24 @@ WRAITH Protocol powers a comprehensive ecosystem of 12 production-ready applicat
203203

204204
The RedOps platform has undergone comprehensive deep audits (v7.0.0 and v8.0.0) with exhaustive line-by-line verification of all source files across all three components. The v8.0.0 audit (2026-01-30) confirmed a major expansion of the Operator Client frontend from 1,558 to 3,608 lines across 27 files (up from 13), with 33 typed IPC wrappers and full end-to-end coverage. The Team Server and Spectre Implant backends remain unchanged.
205205

206-
| Metric | Value |
207-
| -------------------------------- | ----------------------------------------------------------------------------------------- |
208-
| **Overall Completion** | ~97% (zero P0 critical issues) |
209-
| **Total Source Lines** | 15,953 Rust + 3,608 TypeScript + 532 Protobuf + 208 SQL |
210-
| **Modules** | 21 across 3 components |
211-
| **MITRE ATT&CK Coverage** | 87% (35 of 40 techniques implemented across 12 tactics) |
212-
| **P0 Critical Issues** | 0 (all resolved) |
213-
| **P1 High Issues** | 2 remaining (key ratcheting 13 SP, PowerShell runner 5 SP) |
214-
| **Frontend IPC Coverage** | 100% (33/32 proto RPCs + 1 client-only; all wired end-to-end with typed wrappers) |
215-
| **Hardcoded Cryptographic Keys** | 0 (all resolved) |
216-
| **Story Points Remaining** | ~59 SP across 13 findings (0 P0, 2 P1, 5 P2, 6 P3) |
217-
218-
| Component | Completion | Lines | Notes |
219-
| ------------------ | ---------- | ------------------------- | ------------------------------------------------------------------------------ |
220-
| Team Server | 97% | 5,833 Rust | All 32 RPCs wired, playbook system complete, DNS + SMB listeners |
221-
| Operator Client | 99.5% | 1,195 Rust + 3,608 TS | 21 console commands, 33 IPC wired, full UI/UX (zustand, toasts, modals, context menus) |
222-
| Spectre Implant | 95% | 8,925 Rust | 21 modules, 11 tests, no_std with Halo's Gate SSN resolution |
223-
| WRAITH Integration | 97% | (integrated) | P2P mesh C2, entropy mixing, SecureBuffer with mlock, PQ crypto integration |
206+
| Metric | Value |
207+
| -------------------------------- | --------------------------------------------------------------------------------- |
208+
| **Overall Completion** | ~97% (zero P0 critical issues) |
209+
| **Total Source Lines** | 15,953 Rust + 3,608 TypeScript + 532 Protobuf + 208 SQL |
210+
| **Modules** | 21 across 3 components |
211+
| **MITRE ATT&CK Coverage** | 87% (35 of 40 techniques implemented across 12 tactics) |
212+
| **P0 Critical Issues** | 0 (all resolved) |
213+
| **P1 High Issues** | 2 remaining (key ratcheting 13 SP, PowerShell runner 5 SP) |
214+
| **Frontend IPC Coverage** | 100% (33/32 proto RPCs + 1 client-only; all wired end-to-end with typed wrappers) |
215+
| **Hardcoded Cryptographic Keys** | 0 (all resolved) |
216+
| **Story Points Remaining** | ~59 SP across 13 findings (0 P0, 2 P1, 5 P2, 6 P3) |
217+
218+
| Component | Completion | Lines | Notes |
219+
| ------------------ | ---------- | --------------------- | -------------------------------------------------------------------------------------- |
220+
| Team Server | 97% | 5,833 Rust | All 32 RPCs wired, playbook system complete, DNS + SMB listeners |
221+
| Operator Client | 99.5% | 1,195 Rust + 3,608 TS | 21 console commands, 33 IPC wired, full UI/UX (zustand, toasts, modals, context menus) |
222+
| Spectre Implant | 95% | 8,925 Rust | 21 modules, 11 tests, no_std with Halo's Gate SSN resolution |
223+
| WRAITH Integration | 97% | (integrated) | P2P mesh C2, entropy mixing, SecureBuffer with mlock, PQ crypto integration |
224224

225225
For the full gap analysis, see [GAP-ANALYSIS-v2.3.4.md](docs/clients/wraith-redops/GAP-ANALYSIS-v2.3.4.md) (v8.0.0 internal).
226226

@@ -352,34 +352,35 @@ For detailed architecture documentation, see [Protocol Overview](docs/architectu
352352

353353
Measured on production hardware (Intel i9-10850K, 64 GB RAM) with `cargo bench --workspace`. See [Benchmark Analysis v2.3.4](docs/testing/BENCHMARK-ANALYSIS-v2.3.4.md) for full methodology and results.
354354

355-
| Component | Measured Performance | Details |
356-
| -------------------- | ------------------------------------------- | ------------------------------------------ |
357-
| Frame Building | 17.77 ns (76.3 GiB/s) via `build_into` | Zero-allocation API, 10.9x faster than allocating build |
358-
| Frame Full Pipeline | 4.4 us/frame (11-30% faster) | Pre-allocated Vec + unsafe set_len |
359-
| Frame Parsing | 6.9 ns/frame (~196 GiB/s) | SIMD: AVX2/SSE4.2/NEON, constant-time |
360-
| AEAD Encryption | ~1.40 GiB/s (XChaCha20-Poly1305) | 256-bit key, 192-bit nonce |
361-
| Double Ratchet | 1.71 us encrypt (was 26.7 us) | Cached public key, 93.6% improvement |
362-
| Message Header | 12.0 ns deserialize (53% faster) | Direct buffer read, was 25.6 ns |
363-
| Noise XX Handshake | 423 us per handshake (2.6% faster) | Reduced allocations, streamlined validation |
364-
| Elligator2 Encoding | 29.5 us per encoding | Key indistinguishability from random |
365-
| BLAKE3 Hashing | 4.71 GiB/s (tree), 8.5 GB/s (parallel) | rayon + SIMD acceleration |
366-
| File Chunking | 14.48 GiB/s | io_uring async I/O |
367-
| Tree Hashing | 4.71 GiB/s in-memory, 2.61 GiB/s from disk | Merkle tree with BLAKE3 |
368-
| Chunk Verification | 4.78 GiB/s | <1 us per chunk |
369-
| File Reassembly | 5.42 GiB/s | O(m) algorithm, zero-copy |
370-
| Transfer Scheduling | 3.34 ns per request (O(log n)) | BTreeSet priority queue, 118,000x improvement |
371-
| Chunk Tracking | 6.6 ns `is_chunk_missing` (O(1)) | BitVec bitmap, 1000x memory reduction |
372-
| WebSocket Mimicry | 7.45 GiB/s @1456B (55-85% faster) | Pre-allocated buffers, 4-byte XOR masking |
373-
| DoH Tunnel Creation | 45.2 GiB/s @244B (70-86% faster) | Pre-allocated Vec, single allocation |
374-
| Replay Protection | 920 ps sequential accept | 1024-packet sliding window |
375-
| Ring Buffers (SPSC) | ~100M ops/sec | Cache-line padded, lock-free |
376-
| Ring Buffers (MPSC) | ~20M ops/sec | CAS-based, 4 producers |
355+
| Component | Measured Performance | Details |
356+
| ------------------- | ------------------------------------------ | ------------------------------------------------------- |
357+
| Frame Building | 17.77 ns (76.3 GiB/s) via `build_into` | Zero-allocation API, 10.9x faster than allocating build |
358+
| Frame Full Pipeline | 4.4 us/frame (11-30% faster) | Pre-allocated Vec + unsafe set_len |
359+
| Frame Parsing | 6.9 ns/frame (~196 GiB/s) | SIMD: AVX2/SSE4.2/NEON, constant-time |
360+
| AEAD Encryption | ~1.40 GiB/s (XChaCha20-Poly1305) | 256-bit key, 192-bit nonce |
361+
| Double Ratchet | 1.71 us encrypt (was 26.7 us) | Cached public key, 93.6% improvement |
362+
| Message Header | 12.0 ns deserialize (53% faster) | Direct buffer read, was 25.6 ns |
363+
| Noise XX Handshake | 423 us per handshake (2.6% faster) | Reduced allocations, streamlined validation |
364+
| Elligator2 Encoding | 29.5 us per encoding | Key indistinguishability from random |
365+
| BLAKE3 Hashing | 4.71 GiB/s (tree), 8.5 GB/s (parallel) | rayon + SIMD acceleration |
366+
| File Chunking | 14.48 GiB/s | io_uring async I/O |
367+
| Tree Hashing | 4.71 GiB/s in-memory, 2.61 GiB/s from disk | Merkle tree with BLAKE3 |
368+
| Chunk Verification | 4.78 GiB/s | <1 us per chunk |
369+
| File Reassembly | 5.42 GiB/s | O(m) algorithm, zero-copy |
370+
| Transfer Scheduling | 3.34 ns per request (O(log n)) | BTreeSet priority queue, 118,000x improvement |
371+
| Chunk Tracking | 6.6 ns `is_chunk_missing` (O(1)) | BitVec bitmap, 1000x memory reduction |
372+
| WebSocket Mimicry | 7.45 GiB/s @1456B (55-85% faster) | Pre-allocated buffers, 4-byte XOR masking |
373+
| DoH Tunnel Creation | 45.2 GiB/s @244B (70-86% faster) | Pre-allocated Vec, single allocation |
374+
| Replay Protection | 920 ps sequential accept | 1024-packet sliding window |
375+
| Ring Buffers (SPSC) | ~100M ops/sec | Cache-line padded, lock-free |
376+
| Ring Buffers (MPSC) | ~20M ops/sec | CAS-based, 4 producers |
377377

378378
### Optimization Highlights (v2.3.4)
379379

380380
18 performance optimizations and security hardening improvements implemented:
381381

382382
**Obfuscation Layer (wraith-obfuscation):**
383+
383384
- **WebSocket mimicry frame wrapping** -- 55-85% faster via pre-allocated buffers and 4-byte chunked XOR masking (1456B: 4.01 → 7.45 GiB/s, 65KB: 3.08 → 5.78 GiB/s)
384385
- **DoH tunnel query creation** -- 70-86% faster via pre-allocated Vec and single allocation (244B: 12.8 → 45.2 GiB/s, 512B: 12.3 → 22.0 GiB/s)
385386
- **WebSocket RNG optimization** -- Struct-level `Mutex<SmallRng>` replacing per-call RNG creation for mask key generation
@@ -388,19 +389,23 @@ Measured on production hardware (Intel i9-10850K, 64 GB RAM) with `cargo bench -
388389
- **DoH bounds-checking** -- Hardened response parsing against malformed data
389390

390391
**Core Layer (wraith-core):**
392+
391393
- **Frame full pipeline** -- 11-30% faster via `Vec::with_capacity` and unsafe `set_len` eliminating zero-initialization (1456B: 5.85 → 7.62 GiB/s, 65KB: 8.04 → 8.88 GiB/s)
392394
- **Frame padding RNG optimization** -- Thread-local `RefCell<SmallRng>` caching eliminating per-call RNG creation (3 call sites optimized)
393395
- **Frame build delegation** -- `build()` delegates to `build_into()` reducing code duplication
394396
- **Ratchet error path** -- `#[cold]` annotation on key-commitment parsing error path
395397

396398
**Crypto Layer (wraith-crypto):**
399+
397400
- **Message header deserialization** -- 53% faster via direct buffer read and offset calculation (25.6 → 12.0 ns)
398401
- **Noise handshake** -- 2.6% faster via reduced allocations and streamlined validation (25.1 → 24.4 us)
399402

400403
**Security (wraith-files):**
404+
401405
- **Secure memory cleanup** -- Added `zeroize` on `IncrementalTreeHasher` drop for secure erasure of in-progress hash state
402406

403407
**Previous Optimizations (v2.3.2-optimized):**
408+
404409
- Zero-allocation frame building (`build_into_from_parts`) -- 10.9x speedup
405410
- Cached Double Ratchet public key -- 93.6% improvement
406411
- BTreeSet priority queue -- 118,000x speedup for chunk scheduling
@@ -674,7 +679,7 @@ See [CI Workflow](.github/workflows/ci.yml) and [Release Workflow](.github/workf
674679

675680
### Completed
676681

677-
WRAITH Protocol v2.3.4 represents 2,740+ story points across 24 development phases:
682+
WRAITH Protocol v2.3.5 represents 2,740+ story points across 24 development phases:
678683

679684
- Core protocol implementation (cryptography, transport, obfuscation, discovery)
680685
- 12 production-ready client applications (9 desktop + 2 mobile + 1 server platform)
@@ -759,6 +764,6 @@ WRAITH Protocol builds on excellent projects and research:
759764

760765
**WRAITH Protocol** - _Secure. Fast. Invisible._
761766

762-
**Version:** 2.3.4 | **License:** MIT | **Language:** Rust 2024 (MSRV 1.88) | **Tests:** 2,148 passing (2,123 workspace + 11 spectre-implant + 14 doc) | **Clients:** 12 applications (9 desktop + 2 mobile + 1 server)
767+
**Version:** 2.3.5 | **License:** MIT | **Language:** Rust 2024 (MSRV 1.88) | **Tests:** 2,148 passing (2,123 workspace + 11 spectre-implant + 14 doc) | **Clients:** 12 applications (9 desktop + 2 mobile + 1 server)
763768

764769
**Last Updated:** 2026-01-31

0 commit comments

Comments
 (0)