github magic-wormhole/magic-wormhole.rs 0.8.0
Version 0.8.0

5 hours ago

Added

  • cli: Add colors support
  • lib: transit::TransitRole enum with Follower and Leader variants for use with TransitConnector::connect

Changed

  • lib: Switched from async-std to smol/async-io
  • lib: Remove explicit entropy feature and make it the default
  • lib: Undeprecate direct access to Transit connections and unify the connection functions. TransitConnector::connect is now the only way to set up the connection, and accepts a TransitRole enum rather than an is_leader boolean. leader_connect and follower_connect are removed from the API.
  • lib: transit::init() is now undeprecated.
  • lib: Renamed transit::Abilities::ALL_ABILITIES to magic_wormhole::transit::Abilities::ALL
  • lib: Key now has an as_ref implementation for the inner crypto_secretbox::Key instead of a public field
  • lib: rendezvous::RendezvousError::IO now contains a boxed tungstenite error to reduce error enum sizes

Removed

  • lib: Wormhole::connect_with(out)_code, WormholeWelcome, use MailboxConnection::create() and then Wormhole::connect() instead
  • lib: Wormhole public struct fields. Use the provided accessor methods instead.
  • lib: GenericKey, implement KeyPurpose on a custom struct instead
  • lib: transit: TransitKey, TransitRxKey and TransitTxKey
  • lib: rendezvous::RendezvousServer with no replacement
  • lib: transit::log_transit_connection, use the Display implementation of TransitInfo instead
  • lib: AppID public field access: Use AppID::new() and AsRef<str>::as_ref() instead
  • lib: MailboxConnection::mailbox(), the Mailbox type was always private and therefore not useful
  • lib: transit::RelayHint: can_merge, merge, merge_mut, merge_into with no replacement
  • lib: transit::TransitConnector::can_noise_crypto with no replacement (noise cryptography is not a stable protocol)
  • lib: transfer::PeerMessage, this enum type had lots of fields with private types and was therefore not very useful
  • lib: transfer::v1::ReceiveRequest: filename and filesize fields: Use the public getter methods
  • lib: From<Nameplate> for String and AsRef<str> for Nameplate: Use the std::fmt::Display implementation
  • lib: From<Code> for String and AsRef<str> for Code: Use the std::fmt::Display implementation
  • lib: Code::split: Use Code::nameplate and Code::password

Don't miss a new magic-wormhole.rs release

NewReleases is sending notifications on new releases.