1.0
Release notes for the Traversio 1.0 release line.
Current Patch
Use the newest 1.0.x patch unless your application has a reason to stay pinned to an older patch:
.package(
url: "https://github.com/GitSwiftHQ/Traversio.git",
from: "1.0.3"
)Patch releases in this line are source-compatible unless a note below says otherwise.
1.0.3
Released: 2026-05-29
Traversio 1.0.3 is a source-compatible cancellation diagnostics fix.
Behavior fixes:
- Swift task cancellation now passes through connection setup and operation failure mapping without being logged as an unwrapped SSH connection or operation failure.
- Caller-owned session shutdown, including terminal view close, keeps
CancellationErroras the thrown result without producing error-level Traversio log events.
Validation:
Tools/check-release-metadata.sh 1.0.3Tools/check-public-api.sh checkswift test --filter sshClientSessionEventSequenceCancellationBestEffortClosesExecChannelswift test --filter sshClientConnectionSetupCancellationDoesNotLogUnwrappedConnectionFailureswift test
1.0.2
Released: 2026-05-28
Traversio 1.0.2 is a source-compatible update for connection lifecycle and timeout behavior. It tightens teardown after background transport failure and gives host-key trust confirmation its own timeout budget.
API changes:
- Added
SSHTimeoutPolicy.hostKeyTrustTimeInterval. - The default timeout profile now uses a 30-second connection setup timeout, a 120-second host-key trust timeout, and unbounded reply waits unless configured.
- Host-key trust confirmation no longer consumes the connection setup timeout.
Lifecycle fixes:
- Background transport-failure teardown now clears lifecycle handlers and cancels keepalive/rekey scheduling even when Traversio skips the normal SSH disconnect packet.
- This prevents old connection coordinators and transport clients from being retained after network loss.
Documentation:
- The README and public docs now describe the current release scope directly, including unsupported capabilities and application-owned responsibilities.
Validation:
Tools/check-release-metadata.sh 1.0.2Tools/check-public-api.sh checkswift test --filter sshClientHostKeyTrustWaitDoesNotConsumeConnectionSetupTimeoutswift test
1.0.1
Released: 2026-05-27
Traversio 1.0.1 is a source-compatible update for applications that need to accept migrated or user-imported private keys. It keeps the strict OpenSSH-specific helpers and adds a broader privateKeyPEM(...) import path.
API changes:
- Added
SSHAuthenticationMethod.privateKeyPEM(_:passphrase:). - Added
SSHAuthenticationMethod.privateKeyPEM(contentsOfFile:passphrase:). - Added readable localized descriptions for
SSHAuthenticationMethodError.
The PEM helpers accept:
- OpenSSH
openssh-key-v1private keys. - Unencrypted PKCS#8
PRIVATE KEYPEM containers for Ed25519, RSA, and ECDSA. - Unencrypted traditional
EC PRIVATE KEYPEM containers. - Traditional
RSA PRIVATE KEYPEM containers. - Passphrase-encrypted traditional RSA PEM when it uses supported OpenSSL legacy AES-CBC or DES-EDE3-CBC headers.
Validation:
- The OpenSSH matrix includes real login targets for OpenSSL Ed25519, RSA, and ECDSA PKCS#8 keys.
- The same matrix covers traditional RSA and EC PEM keys, encrypted traditional RSA PEM, and traditional RSA PEM with explicit legacy
ssh-rsauserauth.
Not included:
- Encrypted PKCS#8
ENCRYPTED PRIVATE KEYloading. - Encrypted traditional EC PEM loading.
1.0.0
Released: 2026-05-25
Traversio 1.0.0 establishes the first public Swift package API for Apple apps that need native Swift SSH, SFTP, SCP, forwarding, proxy routing, host-key trust, and diagnostics.
Initial public API surface:
- Encrypted SSH transport with the documented algorithm profile.
- Explicit host-key trust.
- Password, keyboard-interactive, public-key, callback-backed, and SSH-agent authentication.
- OpenSSH private-key loading and OpenSSH-compatible key generation.
- Command execution, streamed exec, named subsystem startup, and PTY shells.
- SFTP metadata, file handles, reads, writes, mutations, recursive helpers, resumable helpers, and selected OpenSSH extensions.
- Single-file SCP receive/send helpers.
- Raw direct TCP/IP and streamlocal channels.
- Local forwarding, dynamic SOCKS forwarding, remote TCP forwarding, and remote streamlocal forwarding.
- SOCKS5 and HTTP CONNECT connection proxies.
- ProxyJump.
- Structured errors, log handlers, OSLog helpers, support reports, and route-aware SSH port latency diagnostics.
Release hardening:
- Public OpenSSH private-key metadata inspection with
SSHOpenSSHPrivateKeyInfo. - A public API baseline check through
Tools/check-public-api.sh. - Release metadata checks for
TraversioRelease.version, source package tags, and SSH client identification. - Public documentation for connection lifecycle, cancellation behavior, forwarding shutdown, and support diagnostics.
Not included:
- Library-owned automatic reconnect.
- Local
ssh_configparsing. - Mandatory built-in trust-store persistence.
- Mandatory Keychain-backed credential or trust storage.
- Hostbased authentication.
- Security-key authentication.
- X11 forwarding.
- Auth-agent forwarding.
- Recursive SCP.
- Broad legacy algorithm compatibility beyond explicit
ssh-rsa. - Release-quality benchmark comparisons.