Skip to content

v2.1.0

Choose a tag to compare

@jamesyc jamesyc released this 18 May 11:27
· 716 commits to main since this release
e5a1387

What's Added

  • Added Samba 4.24.1 build lanes and binary, replacing the previous Samba 4.8.12 binary.
  • Added tcapsule paths and tcapsule validate-install
  • Added multi-disk (and Airport Extreme) support using Apple MaSt metadata
  • Added tcapsule flash for 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 .env fields.
    • Removed user-configured TC_SHARE_NAME, TC_NETBIOS_NAME, TC_MDNS_INSTANCE_NAME, and TC_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.
  • Runtime config now lives in /mnt/Flash/tcapsulesmb.conf.
    • Samba config is generated on-device from runtime state instead of uploading smb.conf.template.
  • NBNS is now enabled by default; deploy --install-nbns was replaced by deploy --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 MaSt output, and runtime log tails.
  • Link-local 169.254.x.x addresses 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_AfpInfo stat 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