There is now a macOS GUI installer app (for macOS 14+)
- Download
TimeCapsuleSMB.app.zipbelow - Can use your old AFP backups, now fully supports native Apple metadata on HFS filesystem
- v3.0.0-1 update fixes bug causing Airport Utility to disconnect and reconnect
What's Changed
- Now using native Apple metadata on HFS, instead of the xattr TDB emulation layer! Existing installs auto-migrate on deploy/
Update: legacyxattr.tdb+._AppleDouble sidecars are copied to native HFS storage, verified, then retired. Fresh installs skip the scan. No manual step needed.- Native HFS Mac metadata shared with AFP: FinderInfo, tags/xattrs, and resource forks now live in native HFS objects (
com.apple.FinderInfo, canonical HFS xattrs,..namedfork/rsrc) instead of protocol-specific copies, so AFP and SMB see the same metadata. This means if you edit a file in AFP, you can get the exact same metadata in SMB right after, and vice versa. - Two-phase deploy/boot migrator (
xattr-hfs-migrate): copy+verify before payload swap, reverify+flush and per-file TDB retirement after; unmatched records retained for disconnected disks, empty TDB deleted, pending volumes migrated before publishing
- Native HFS Mac metadata shared with AFP: FinderInfo, tags/xattrs, and resource forks now live in native HFS objects (
- Upgrade to Samba 4.25.0rc2
- Adds the NetBSD stream-deletion fix: deleting files/dirs with metadata no longer fails after removing only the primary stream; lookup/I/O failures preserved instead of false success
- Add Samba regression validation (
tests/samba/): AIO worker cleanup, durable reconnect/lock release, AIO fork isolation/error propagation, streams/xattr coverage; fixed Linux link deps - Tune Samba for low Time Capsule RAM: bounded
vfs_aio_fork(aio_fork:max_children = 8, fsync-only, disabled by default with config option), smaller/mnt/Locks(4 MiB), reduced lock RAM,deadtime = 720(12h), SMB3 directory leases disabled - Refactor native advertisers into four static helpers:
mdns-advertiser,nbns-advertiser,service(NT hash + network probes),telemetry(heartbeat + signed debug execution); smaller binaries, WAN/LAN split (SMB/AFP/ADISK/device-info/printer LAN-only, AirPort-Utility only on WAN) - Fix ACP collection: bounded timeouts, robust child cleanup, and Darwin process-group race fix (child-only
setpgid, 10k-iteration stress reproducer) - Improve
doctorand discovery: IPv6 scope selection + Bonjour address validation, require IPv6 when routable, NBNS answers NBSTAT/wildcard with subnet-aware IPv4 and 30s topology refresh - Deploy/runtime: rsync daemon support (
--enable-rsync,RSYNC_ENABLED,sharerootmodule on port 873), propagate host bootstrap preference to device config, remove RAM PID state files from migration, unified configure auth errors, Python 3.9 fix,TC_SMB_BIND_LAN_ONLY/ browse / signing options, optional SMB signing+encryption disable, clarified Install/Update/Reinstall wording in GUI - Add fixes for SSH edge cases: use local keys/agent, honor
TC_SSH_OPTSIdentity options, derive auth from intent, skip retries for passwordless, clearercatfallback errors - Docs: reusing existing Time Machine backups (#214), full-disk
.interrupted/.inprogresscleanup, user-folder → ShareRoot migration, reboot recovery, updated DETAIL/README/RELEASE for 4.25 + native metadata + rsync + service/telemetry - Build: fetch GNU deps via
ftpmirror.gnu.org(#291), configurable SDK parallelism (#293), updated build env example - Bump dependencies by @dependabot:
codeql-action4 → 4.37.9,setup-python6 → 7
Full Changelog: v2.2.9...v3.0.0