Releases: jamesyc/TimeCapsuleSMB
v2.1.0
What's Added
- Added Samba 4.24.1 build lanes and binary, replacing the previous Samba 4.8.12 binary.
- Added
tcapsule pathsandtcapsule validate-install - Added multi-disk (and Airport Extreme) support using Apple
MaStmetadata - Added
tcapsule flashfor NetBSD 4 firmware analysis, backup, boot-hook patching, Apple stock restore, Apple firmware checks, and download-only validation
Changed
- Runtime now derives Bonjour names, Samba server string, NetBIOS name, share names, and ADISK data from the device instead of fixed
.envfields.- Removed user-configured
TC_SHARE_NAME,TC_NETBIOS_NAME,TC_MDNS_INSTANCE_NAME, andTC_MDNS_HOST_LABEL. - Finder URLs are now based on discovered device/share names, not fixed
smb://timecapsulesamba4.local/Data. - Deploy now selects a writable persistent payload volume from
MaSt, preferring internal HFS volumes and falling back to external HFS volumes.
- Removed user-configured
- Runtime config now lives in
/mnt/Flash/tcapsulesmb.conf.- Samba config is generated on-device from runtime state instead of uploading
smb.conf.template.
- Samba config is generated on-device from runtime state instead of uploading
- NBNS is now enabled by default;
deploy --install-nbnswas replaced bydeploy --no-nbns. - Boot/runtime logic was heavily reworked around
diskd.useVolume,MaSt, payload state files, generated share/adisk TSVs, and safer RAM staging.- Watchdog is now disk/topology-aware and can reload disk runtime state instead of blindly restarting services.
- mDNS startup now captures Apple identity records asynchronously and falls back to generated AirPort identity records when capture fails.
- Deploy uploads to flash atomically, flushes and reverifies payloads more carefully, and has better handling for old devices without
scp. - Doctor diagnostics now check runtime naming, Bonjour target consistency, stale link-local advertisements, SMB/NBNS reachability, raw
MaStoutput, and runtime log tails. - Link-local
169.254.x.xaddresses are rejected for normal runtime configuration. - Runtime logs moved toward payload-backed logs under
<payload>/logs/, with bounded logs unless debug logging is enabled. - CI now includes Python 3.9 and 3.14.
Fixed
- Fixed Time Machine/Samba interoperability issues around empty xattrs, HFS allocation block drift during durable reconnects,
AFP_AfpInfostat crashes, and NetBSD VFS fallback assertions. - Fixed false-negative and low-context doctor failures for Bonjour, SMB, NBNS, and runtime startup.
- Fixed SSH/X11 warning handling and improved transport exception boundaries.
- Lots of other fixes
Full Changelog: v2.0.7...v2.1.0
v2.1.0 Release Candidate 4
v2.1.0-rc4 is considered stable enough for release soon. Most bugs and issues have been patched.
This update changes the name of the device (we now use Apple's naming "James's Airport Time Capsule" instead of the name used in previous versions "Time Capsule Samba 123"); so if you are updating from an older version, you will need to remove the drive from Time Machine and reboot your Mac, and re-add the drive with the new name
What's Changed
- Updated Samba from Samba 4.8.12 (from 2019) to latest Samba! (Currently Samba 4.24.1 from 2026).
- Remove network interface configuration from
configure - Update mDNS IP handling
Full Changelog: v2.1.0-rc3...v2.1.0-rc4
v2.1.0 Release Candidate 3
v2.1.0-rc3 is considered stable enough for release soon. Most bugs and issues have been patched.
This update changes the name of the device (we now use Apple's naming "James's Airport Time Capsule" instead of the name used in previous versions "Time Capsule Samba 123"); so if you are updating from an older version, you will need to remove the drive from Time Machine and reboot your Mac, and re-add the drive with the new name
What's Changed
- Updated Samba from Samba 4.8.12 (from 2019) to latest Samba! (Currently Samba 4.24.1 from 2026).
- Fixes "disk not going to sleep" issue: make watchdog passive, use diskd-only mounting, and add internal ATA idle
- Increase deploy filesystem flush timeout for slow Time Capsule disks
- Exclude link-local interfaces from configure
- Add experimental
flashfunction for NetBSD 4 devices
Known bug
- Time Machine backups occasionally fail due to mdns disappearing, #105
Full Changelog: v2.1.0-rc2...v2.1.0-rc3
v2.1.0-rc2
v2.1.0-rc2 is considered stable enough for release soon. Most bugs and issues have been patched.
This update changes the name of the device (we now use Apple's naming "James's Airport Time Capsule" instead of the name used in previous versions "Time Capsule Samba 123"); so if you are updating from an older version, you will need to remove the drive from Time Machine and reboot your Mac, and re-add the drive with the new name
What's Changed
- Updated Samba from Samba 4.8.12 (from 2019) to latest Samba! (Currently Samba 4.24.1 from 2026).
- Add checks to
deployto fail if the checksum does not match - Fix issues with macOS not detecting the disk in Time Machine settings
- Fix Samba VFS at-path fallback and fdopendir lifetime
- Add checks to
Known bug
- Time Machine backups occasionally fail due to mdns disappearing, #105
Full Changelog: v2.1.0-rc1...v2.1.0-rc2
v2.1.0 Release Candidate 1
v2.1.0-rc1 is considered stable enough for release soon. Most bugs and issues have been patched.
This update changes the name of the device (we now use Apple's naming "James's Airport Time Capsule" instead of the name used in previous versions "Time Capsule Samba 123"), so you will need to remove the drive from Time Machine and reboot your Mac, and re-add the drive with the new name
What's Changed
- Updated Samba from Samba 4.8.12 (from 2019) to latest Samba! (Currently Samba 4.24.1 from 2026).
- Set capture mDNS as primary source for records, generate mDNS as fallback
- Remove local Bonjour/NetBIOS naming. This fixes "FAIL SMB directory create timed out"
doctorfailures - Add MaSt check retry to
deploy. This prevents "no writable persistent volume found"deployerrors
Known bug
- Time Machine backups occasionally fail due to mdns disappearing, #105
Full Changelog: v2.1.0-beta7...v2.1.0-rc1
v2.1.0-beta7
What's Changed
Big bugfix release! The v2.1.0 code is feature complete as of beta7, so we just have a few rounds of bug patches before the final v2.1.0 release.
- Updated Samba from Samba 4.8.12 (from 2019) to latest Samba! (Currently Samba 4.24.1 from 2026). This is a big change, so expect bugs.
- Removed the smbXsrv_client/session to fix Samba watched DB handling
- Fix dangling frames in smb2_process
- Make embedded srvsvc initialization idempotent
- Fix NetBSD4 Samba directory fd leak
- Add error message for activate in non interactive env
- Fix MaSt boot process failure
- Add fast mdns-advertiser snapshot generation
Full Changelog: v2.1.0-beta7...v2.1.0-beta7
v2.1.0-beta6
What's Changed
Warning, many reports of Samba not starting properly because it tried to run before hard disk was loaded for this build
- Updated Samba from Samba 4.8.12 (from 2019) to latest Samba! (Currently Samba 4.24.1 from 2026). This is a big change, so expect bugs.
- Replaced the disk detection code. External disks and multiple disks (one internal, one external) are now supported! This effectively adds Airport Extreme support. This means some old bugs related to disk loading are now gone, but new ones might have been introduced.
Full Changelog: v2.1.0-beta5...v2.1.0-beta6
v2.1.0-beta5
What's Changed
- Updated Samba from Samba 4.8.12 (from 2019) to latest Samba! (Currently Samba 4.24.1 from 2026). This is a big change, so expect bugs.
- Fix "Error code -36" issue
- Fix "error code 100093" issue
- Fix "NT_STATUS_LOGON_FAILURE" issue
Full Changelog: v2.1.0-beta4...v2.1.0-beta5
v2.1.0-beta4
What's Changed
- Updated Samba from Samba 4.8.12 (from 2019) to latest Samba! (Currently Samba 4.24.1 from 2026). This is a big change, so expect bugs.
- Refactor a lot of error handling code
- Clean up flows in
deploy,doctor,configure,fsck, and other commands - Update env handling for repo-only install
Full Changelog: v2.1.0-beta3...v2.1.0-beta4
v2.1.0-beta3
What's Changed
- Implemented tune_kernel_memory() to set vm.bufcache=5
- Add empty xattr handling, st_ex_blocks mismatch handling, getifaddrs() fallback patches
Full Changelog: v2.1.0-beta2...v2.1.0-beta3