What's Changed
Bug Fixes
- Fixed duplicate system registrations caused by unstable MAC fingerprinting.
bashhub updatecould cause the client to lose track of an already-registered system if the MAC address changed between runs (e.g. due to VPN, Docker, or multiple network interfaces). The client now persists the agreed-on MAC in~/.bashhub/configand self-heals via a system name fallback, preventing "ghost" duplicate systems and the forced rename experience that came with them. - Fixed missing client-side check that could allow unintended behavior in certain edge cases during setup.
- Improved API error messages for registration and login failures — errors from the server are now surfaced as readable messages instead of raw response text.
Improvements
- Client-side input validation added to the registration flow for email, username, and password fields, with clear re-prompt messages on invalid input.
- Type hints added across the codebase;
mypyandruffintegrated into CI for ongoing type safety and linting. - Code quality — replaced defensive
assertstatements with explicitNoneguards in the setup flow.
Full Changelog: 3.0.2...3.0.3