Skip to content

Sunset v0.6.0

Latest

Choose a tag to compare

@mkj mkj released this 02 Aug 15:49

Sunset 0.6.0 - 2026-08-02

Changed

  • Updated all crypto crate dependencies. Most are new major versions,
    RSA is a release candidate. RSA now has a 8192 bit limit.

  • Update to getrandom 0.4. This has a new API for custom backends,
    see getrandom docs or picow demo. No changes needed for std.

  • Fingerprint no longer has a hash argument, it's always SHA-256.

  • Error::bug() now returns a Result rather than sunset::Error.

  • sshwire::UnknownVariant now is used to indicate decoding
    an unknown variant. sshwire::EncodeUnknown is the old meaning.
    packets::Unknown type is now moved to sshwire::Unknown.

Fixed

  • ssh-key feature is properly optional, previously it would always
    be enabled by various other features.

Added

  • Re-export API crates such as public key types, embedded_io_async,
    sunset, sunset_async.

  • SSHEncode/SSHDecode are implemented for std::String.

  • Document ServEvent username fields, and guarantee it
    will be unchanging.

  • Allow ECDSA-256 for SignKey::generate.

  • SSHEncode/SSHDecode implemented for SignKey.

Removed

  • &[u8] no longer implements SSHEncode/SSHDecode.
    Use BinString instead which is more explicit.

sunset-sftp 0.2.0 - 2026-08-02

Changed

  • SftpHandler now takes REQ_BUF and RESP_BUF size parameters
    and allocates the buffer internally. Constructors are const to allow
    static allocations.

  • SftpHandler::process_loop has been renamed to SftpHandler::run.
    That now takes a SftpServer argument.

  • Changed SftpServer trait, replaced OpaqueFileHandle parameter.
    Now FileHandle or DirHandle types are used as handles by
    the application, wrapping a u32.

  • Generic parameters on SftpServer trait methods have changed.

  • SftpError variants have changed.

Fixed

  • Packet decoding is better at handling unknown packet types. Previously
    the stream could get into an unrecoverable state if unknown packets
    were received across buffer boundaries.

sunset-async 0.6.0 - 2026-08-02

Added

  • run_tokio() and run_futures_io() methods on SSHServer
    and SSHClient take AsyncRead and AsyncWrite.
    These require tokio or futures-io features.

  • From<ChanInOut> conversion for ChanIn and ChanOut.

  • Re-export sunset and embedded_io_async.

sunset-stdasync 0.6.0 - 2026-08-02

Changed

  • Update for new sunset release

Added

  • Re-export sunset and sunset_async

sunset-sshwire-derive 0.3.0 - 2026-08-02

Added

  • Allow enum struct and tuple variants.

  • Allow #[sshwire(unknown)] on unit variants, discarding the name.

  • Add #[sshwire(decode_unknown_fail)] to return an error instead
    of storing unknown variants.

Changed

  • Encoding an enum returns WireError::EncodeUnknown

Fixed

  • Don't warn about .finish() when derive fails.