# Twoman 1.0.3

Twoman 1.0.3 is the multi-exit and headless-client release on top of the Go
dataplane shipped in 1.0.2.

## Changes

- Added pinned multi-exit routing. Multiple hidden servers can now point at the
  same public host broker, and a client profile can set `targetAgentPeerLabel`
  to force one specific exit.
- Added the headless Linux client CLI bundle. The normal flow is now `twoman
  import`, `twoman connect`, `twoman status`, and `twoman disconnect`; users no
  longer need to pass helper binary paths for regular use.
- Polished the server command UX. `twoman` now prints a fast non-interactive
  overview, while `twoman tui` opens the management UI.
- Hardened hidden-server deploys that use custom SSH ports or rebuilt hosts by
  supporting isolated SSH known-hosts files and controlled host-key updates.
- Documented the shared-host, multiple-hidden-agent topology in the main README.

## Release Assets

This release includes:

- `app-arm64-release.apk`
- `app-arm64-release.aab`
- `Twoman_1.0.3_amd64.AppImage`
- `Twoman_1.0.3_amd64.deb`
- `Twoman-1.0.3-1.x86_64.rpm`
- `Twoman_1.0.3_x64-portable.zip`
- `Twoman_1.0.3_x64-setup.exe`
- `Twoman_1.0.3_x64_en-US.msi`
- `twoman-cli-linux-amd64-v1.0.3.tar.gz`
- `SHA256SUMS`

No debug APK is included.

## Validation

Validated before release:

- Go helper-agent tests
- Go client CLI tests
- Go Node backend end-to-end test
- Headless Linux client CLI end-to-end test
- Desktop client end-to-end test
- Android release APK/AAB build
- Linux Tauri AppImage, deb, and rpm build
- Windows MSI, NSIS setup, and portable ZIP packaging
- Tracked-source secret scan
- Release-asset secret scan

## Acknowledgements

Thanks again to [@motixo](https://github.com/motixo) for the Go dataplane and
cipher migration pull requests that established the 1.0 release direction. This
release keeps that work as the production path and adds the multi-exit and CLI
UX needed to operate multiple exits cleanly from one public host.
