From 53df81f70b49e2ed70f478a8957ff07dee7d1822 Mon Sep 17 00:00:00 2001 From: Kit Plummer Date: Sat, 20 Jun 2026 07:18:33 -0700 Subject: [PATCH] chore(release): v0.4.8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Headline: received attachments now keep their original filename and folder layout — the inbox mirrors the sender's outbox path (inbox/) instead of burying files under inbox// (#173). Also ships in this cut (previously [Unreleased]): startup version banner (peat-node + peat-mesh/peat-protocol/peat-schema), --print-config / PEAT_NODE_PRINT_CONFIG, and richer two-sided attachment transaction logging with receive-side post-write size validation. No dependency change vs 0.4.7 (peat-mesh rc.43 / peat-protocol rc.26). --- CHANGELOG.md | 14 ++++++++++++++ Cargo.lock | 2 +- Cargo.toml | 2 +- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0971688..2606a33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.4.8] - 2026-06-20 + +### Fixed + +- **Received attachments keep their original name and folder layout.** Files + were landing at `inbox//` — the original filename + buried under a UUID directory and any subdirectories flattened. The inbox now + mirrors the sender's outbox layout: a file dropped at `outbox/sub/report.pdf` + lands at `inbox/sub/report.pdf`, and re-delivery of the same path overwrites + (latest-wins). Sender-controlled names are re-sanitised on arrival (only + `Normal` path components accepted), so an absolute path or one containing `..` + can never escape the inbox — such a name falls back to a flat + `.bin` at the inbox root. (#173) + ### Added - **Startup version banner.** The first log line now reports peat-node's own diff --git a/Cargo.lock b/Cargo.lock index 1ab1583..731b383 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3959,7 +3959,7 @@ dependencies = [ [[package]] name = "peat-node" -version = "0.4.7" +version = "0.4.8" dependencies = [ "aes-gcm", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index bc08ba2..c6f13ac 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,7 @@ resolver = "2" [package] name = "peat-node" -version = "0.4.7" +version = "0.4.8" edition = "2021" authors = ["Kit Plummer "] license = "Apache-2.0"