From 5f2040f8bf9c05ed1dd2204ed749a716aa346e81 Mon Sep 17 00:00:00 2001 From: harald Date: Thu, 10 Sep 2026 17:02:05 +0200 Subject: [PATCH] chore(release): bump version to 0.4.0 and update manifests --- CHANGELOG.md | 25 ++++++++++++++++++++---- Cargo.lock | 2 +- Cargo.toml | 2 +- INSTALL.md | 4 ++-- README.md | 2 +- packages/scoop/sanctum.json | 6 +++--- packages/winget/HaraldPansi.Sanctum.yaml | 8 ++++---- 7 files changed, 33 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e4dc4d1..b4c507d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,27 @@ Alle nennenswerten Änderungen an diesem Projekt werden in dieser Datei dokument Das Format basiert auf [Keep a Changelog](https://keepachangelog.com/de/1.1.0/) und dieses Projekt folgt den Richtlinien von [Semantic Versioning](https://semver.org/lang/de/). +## [0.4.0] - 2026-09-10 + +### Added +- **Distribution & Package Ecosystem**: + - Offizielles Scoop-Manifest (`packages/scoop/sanctum.json`) für One-Click CLI-Installation und nahtlose Upgrades unter Windows. + - Windows Package Manager (Winget) Manifest (`packages/winget/HaraldPansi.Sanctum.yaml`) zur systemweiten Paketverwaltung. + - Vollständiger Installations-Leitfaden (`INSTALL.md`) für Scoop, Winget, Standalone-Binaries und `cargo install`. +- **Cross-Platform Architektur (Linux & macOS Vorbereitung)**: + - Neues Plattform-Abstraktionsmodul `src/platform/mod.rs` für OS-unabhängiges Speicherschutz- und Mount-Handling. + - POSIX-Memory-Hardening mit `mlock` und `munlock` Systemaufrufen für Unix-Systeme. + - Plattformübergreifendes Datei- und Ordneröffnen (`explorer.exe` unter Windows, `xdg-open` unter Linux, `open` unter macOS). + - Native WebDAV-VFS-Einbindung für Linux GNOME/KDE via `gio mount`. +- **Chaos Engineering & Live-Crash-Resilienz**: + - `tests/live_crash_resilience_test.rs`: Umfassende automatisierte Stresstests mit Multi-Worker Schreibabbrüchen, asynchronen Panic-Simulationen und Validierung der SQLite WAL-Konsistenz (Null Korruption). +- **Legal, Compliance & Software Bill of Materials (SBOM)**: + - `LEGAL.md`: Rechtliche Leitlinien, US EAR § 742.15(b) & EU Dual-Use Exportkontroll-Klassifizierung, DSGVO Art. 25 Zero-Data-Erklärung und Haftungsausschluss nach § 521 BGB. + - `THIRD_PARTY_LICENSES.md`: Lückenloses Lizenzaudit aller 231 Abhängigkeiten (100% permissive Lizenzen, 0% Copyleft) zur strikten Compliance mit Apache-2.0 Section 4. + - Aufnahme von `LEGAL.md` und `THIRD_PARTY_LICENSES.md` in das offizielle Release-Distributionsarchiv (`package-release.ps1`). +- **OpSec & Disaster Recovery UX**: + - `QUICKSTART.md`: Druckbare 24-Wörter BIP-39 Notfallkarte zur sicheren analogen Verwahrung des Notfallschlüssels (Air-Gapped Vault Paper Backup). + ## [0.3.1] - 2026-09-10 ### Added @@ -20,10 +41,6 @@ und dieses Projekt folgt den Richtlinien von [Semantic Versioning](https://semve - **DFIR & Windows Host-Memory Hardening**: - Win32 `VirtualLock` Speicherschutz: Physische Verriegelung des Root-DEK im RAM zur Unterbindung von Auslagerungen in `pagefile.sys` oder `swapfile.sys`. - Windows Defender Controlled Folder Access (CFA / Ransomware-Schutz) Diagnose mit gezielter Hilfestellung. -- **Legal, Compliance & Export-Control (LEGAL-01 bis LEGAL-03)**: - - `LEGAL.md`: Umfassende rechtliche Dokumentation inkl. Exportkontroll-Klassifizierung (US EAR § 742.15(b) & EU Dual-Use GSN), Aufklärung über Plausible Deniability bei Key-Disclosure-Gesetzen, EU/DACH-Haftungsbeschränkung gem. § 521 BGB (Schenkungsrecht) sowie DSGVO Art. 25 Zero-Data-Erklärung. - - `THIRD_PARTY_LICENSES.md`: Lückenlose Attribution aller ~230 statisch eingebundenen Crates (Apache-2.0, MIT, BSD, SQLite Public Domain) zur strikten Erfüllung von Section 4 der Apache-2.0-Lizenz. - - Automatisierte Aufnahme von `LEGAL.md` und `THIRD_PARTY_LICENSES.md` in das Release-Packaging (`package-release.ps1`). ### Changed - **Visuelle Parität & Plausible Deniability beim Mounten (HF-01)**: diff --git a/Cargo.lock b/Cargo.lock index 62504d0..91edefe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1377,7 +1377,7 @@ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f" [[package]] name = "sanctum" -version = "0.3.1" +version = "0.4.0" dependencies = [ "aes-gcm", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index 6d36168..0e2d932 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "sanctum" -version = "0.3.1" +version = "0.4.0" edition = "2021" authors = ["Harald Pansi ", "Sanctum Engineering Team"] description = "Verschlüsselter Ein-Datei-Container unter Windows im reinen Userland via WebDAV" diff --git a/INSTALL.md b/INSTALL.md index 3d6af6d..e300cef 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -39,8 +39,8 @@ Winget entpackt das portable Binary automatisch in das Benutzer-Anwendungsverzei ## 📦 3. Manuelle Installation (Standalone Portable) 1. Lade das aktuelle Release-Paket herunter: - * **URL:** [https://gitea.pansi.eu/harald/sanctum/releases/tag/v0.3.1](https://gitea.pansi.eu/harald/sanctum/releases/tag/v0.3.1) - * **Datei:** `sanctum-v0.3.1-windows-x86_64.zip` + * **URL:** [https://gitea.pansi.eu/harald/sanctum/releases/tag/v0.4.0](https://gitea.pansi.eu/harald/sanctum/releases/tag/v0.4.0) + * **Datei:** `sanctum-v0.4.0-windows-x86_64.zip` 2. Entpacke das Archiv in ein Verzeichnis deiner Wahl (z. B. `C:\Tools\Sanctum\`). 3. *(Optional)* Registriere das Windows Explorer Rechtsklick-Kontextmenü: ```powershell diff --git a/README.md b/README.md index a69552f..6a6c514 100644 --- a/README.md +++ b/README.md @@ -211,7 +211,7 @@ powershell -ExecutionPolicy Bypass -File .\scripts\package-release.ps1 ``` Erzeugt: -- `dist/sanctum-v0.3.1-windows-x86_64.zip` +- `dist/sanctum-v0.4.0-windows-x86_64.zip` - `dist/SHA256SUMS.txt` --- diff --git a/packages/scoop/sanctum.json b/packages/scoop/sanctum.json index ee9ef00..c2930c6 100644 --- a/packages/scoop/sanctum.json +++ b/packages/scoop/sanctum.json @@ -1,12 +1,12 @@ { - "version": "0.3.1", + "version": "0.4.0", "description": "Verschlüsselter Ein-Datei-Container unter Windows im reinen Userland via WebDAV", "homepage": "https://gitea.pansi.eu/harald/sanctum", "license": "MIT", "architecture": { "64bit": { - "url": "https://gitea.pansi.eu/harald/sanctum/releases/download/v0.3.1/sanctum-v0.3.1-windows-x86_64.zip", - "hash": "669c388f95a2e13248a2fd2bd98c1dd9e976295a2377710a19d6afcb46c8fb9f", + "url": "https://gitea.pansi.eu/harald/sanctum/releases/download/v0.4.0/sanctum-v0.4.0-windows-x86_64.zip", + "hash": "0602173dceeb082fdbe7f64b73a37de1e3f7b021390386a9efba8f43aa65e76d", "bin": "sanctum.exe" } }, diff --git a/packages/winget/HaraldPansi.Sanctum.yaml b/packages/winget/HaraldPansi.Sanctum.yaml index afcd4e4..e8812ce 100644 --- a/packages/winget/HaraldPansi.Sanctum.yaml +++ b/packages/winget/HaraldPansi.Sanctum.yaml @@ -1,6 +1,6 @@ # yaml-language-server: $schema=https://aka.ms/winget-manifest.singleton.1.6.0.schema.json PackageIdentifier: HaraldPansi.Sanctum -PackageVersion: 0.3.1 +PackageVersion: 0.4.0 PackageName: Sanctum Publisher: Harald Pansi PublisherUrl: https://gitea.pansi.eu/harald @@ -18,7 +18,7 @@ Tags: - webdav - container - plausible-deniability -ReleaseNotesUrl: https://gitea.pansi.eu/harald/sanctum/releases/tag/v0.3.1 +ReleaseNotesUrl: https://gitea.pansi.eu/harald/sanctum/releases/tag/v0.4.0 Installers: - Architecture: x64 InstallerType: zip @@ -26,7 +26,7 @@ Installers: NestedInstallerFiles: - RelativeFilePath: sanctum.exe PortableCommandAlias: sanctum - InstallerUrl: https://gitea.pansi.eu/harald/sanctum/releases/download/v0.3.1/sanctum-v0.3.1-windows-x86_64.zip - InstallerSha256: 669c388f95a2e13248a2fd2bd98c1dd9e976295a2377710a19d6afcb46c8fb9f + InstallerUrl: https://gitea.pansi.eu/harald/sanctum/releases/download/v0.4.0/sanctum-v0.4.0-windows-x86_64.zip + InstallerSha256: 0602173dceeb082fdbe7f64b73a37de1e3f7b021390386a9efba8f43aa65e76d ManifestType: singleton ManifestVersion: 1.6.0