# Changelog All notable changes to NXST follow [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). Version numbers are calendar-based (`MM.DD.YYYY`) until the protocol stabilises. --- ## [Unreleased] ### Changed - Full architectural refactor (8 phases): - Layered directory structure: `src/` + `include/nxst/` mirroring domain / infra / service / ui - CMake build system replacing Makefile - `nxst::TransferService` — all network state and threads moved out of UI layer - `nxst::Result` tagged-union type replacing `std::tuple` - RAII handles: `FsFileSystemHandle`, `FileHandle` - Logger rewritten with `nxst::log` namespace and compile-time format checking - snake_case filenames and identifiers throughout ### Fixed - `mkdir(path, 777)` was decimal (octal `01411`) — corrected to `0777` - Logger format args were silently dropped (double-substitution bug) - `new u8[]` / `malloc` in IO paths replaced with `std::vector` --- ## [04.26.2026] ### Added - Initial public release: save transfer between two Nintendo Switch consoles over local Wi-Fi - Multicast discovery (UDP `239.0.0.1:8081`) + TCP file transfer (`:8080`) - Send and Receive modes with progress overlay and cancel support - Automatic save backup before transfer - Restore replaces live save data and commits to the save device