v0.3.1 Beta
Summary
First Beta release with all CTest suites passing. Core module file operations (list, upload, download, delete, mkdir/rmdir) and custom protocol argument parsing are stable for controlled deployments.
This is not production-ready and is not a drop-in replacement for native rsyncd. See PRODUCTION_GATE.md for the full release criteria matrix.
What's fixed
- Module FS: Path validation allows create/upload without pre-existing targets; directory listing works on module roots
- Protocol:
key=valuearguments (e.g.recursive=true) parse on direct command lines - Upload path:
transferFileno longer blocked by existence-only path checks - Tests: 5/5 CTest suites green (Config, Module, Protocol, Auth, Integration)
Documentation
- README updated with honest Implemented vs Planned feature lists
- Client usage clarifies custom protocol (not guaranteed native
rsync(1)compatibility)
Install / build
git checkout v0.3.1
cmake -B build -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTS=ON
cmake --build build -j
cd build && ctest --output-on-failure
make static-package # from repo root, for platform installersKnown limitations (unchanged from v0.3.0)
- TLS handshake not fully implemented
- OAuth2, Prometheus, rate-limit enforcement — config stubs only
- Native rsync client compatibility not verified
Test plan
-
ctest5/5 on macOS -
cteston Linux CI - Package smoke test after
make static-package