Skip to content

Releases: magic-wormhole/magic-wormhole.rs

Version 0.8.1

07 May 00:27
0.8.1

Choose a tag to compare

Security

Changed

  • dev: Replace the macro_rules_attribute test helper to remove the unmaintained paste dependency

Version 0.8.0

06 May 20:15
0.8.0

Choose a tag to compare

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

Version 0.7.7

10 Mar 00:08
0.7.7

Choose a tag to compare

Fixed

  • Fixes compilation error with cargo doc

Version 0.7.6

05 Apr 12:28
0.7.6

Choose a tag to compare

Version 0.7.5

12 Jan 12:16
0.7.5

Choose a tag to compare

Fixed

  • cli: Command line arguments completion would generate completions for magic-wormhole-cli, not wormhole-rs

Version 0.7.4

30 Nov 18:57
0.7.4

Choose a tag to compare

Fixed

  • cli: autocomplete would use the wrong wordlist exactly 100% of the time 🙈
  • cli: Remove unmaintained instant dependency

Version 0.7.3

25 Oct 00:37
0.7.3
390cd42

Choose a tag to compare

Added

  • cli: Add clipboard auto completion support

Version 0.7.2

11 Oct 16:22
0.7.2
1195b8a

Choose a tag to compare

Changed

  • [all][\breaking] Code words with a secret password section shorter than 4 bytes are no longer accepted. This only breaks completely invalid uses of the code.
  • [all] Code words with a weak password section or a non-integer nameplate will throw an error in the long. This error can be upgraded to a hard error by enabling the "entropy" feature. This feature will become the default in the next major release.
  • [lib] Implemented FromStr for Code and Nameplate
  • [lib] Added new checked type for the Password section of a wormhole code
  • [lib] Added new entropy feature. When enabled, the entropy of the passed password will be checked on creation. This will change the signature of MailboxConnection::create_with_password to require the password to be passed via the new Password wrapper type.
  • [lib][deprecated] Deprecated the Code and Nameplate From<impl Into<String>> implementations and new() methods. They are unchecked and will print a warning for now. These will be removed in the next breaking release.

Version 0.7.1

25 Jul 21:18
0.7.1

Choose a tag to compare

Version 0.7.0

17 Jul 19:47
0.7.0

Choose a tag to compare

  • [all][breaking] By default websocket TLS support is now disabled in the library crate. TLS is required for secure websocket connections to the mailbox server (wss://). As the handshake protocol itself is encrypted, this extra layer of encryption is superfluous. Most WASM targets however refuse to connect to non-TLS websockets. For maximum compatibility with all mailbox servers, or for web browser support, select a TLS implementation by specifying the feature flag tls for a statically linked implementation via the ring crate, or native-tls for dynamically linking with the system-native TLS implementation.
  • [all] For experimental (unstable) transfer-v2 protocol support, enable feature flag experimental-transfer-v2. The protocol is not yet finalized.
  • [all] Added compilation support for WASM targets.
  • [lib][breaking] replaced transit::TransitInfo with a struct containing the address and a conn_type field which contains the old enum as transit::ConnectionType
  • [lib][breaking] changed the signature of the transit_handler function to take just the newly combined transit::TransitInfo
  • [lib][breaking] changed the signature of the file_name argument to transfer::send_* to take Into<String> instead of Into<PathBuf>
  • [lib][breaking] replaced transfer::AppVersion with a struct with private fields that implements std::default::Default
  • [lib][deprecated] split Wormhole in MailboxConnection and Wormhole
  • [lib][deprecated] Wormhole::connect_with(out)_code, WormholeWelcome, use MailboxConnection::create() and then Wormhole::connect() instead
  • [lib][deprecated] Wormhole public struct fields. Use the provided accessor methods instead.
  • [lib][deprecated] ReceiveRequest.filename is deprecated and replaced by ReceiveRequest.file_name(..)
  • [lib][deprecated] ReceiveRequest.filesize is deprecated and replaced by ReceiveRequest.file_size(..)
  • [lib][deprecated] GenericKey, implement KeyPurpose on a custom struct instead
  • [lib][deprecated] rendezvous::RendezvousServer will be removed in the future with no planned public replacement.
  • [lib][deprecated] transfer::PeerMessage will be removed in the future with no planned public replacement.
  • [lib][deprecated] transit::TransitConnector will be removed in the future with no planned public replacement.
  • [lib][deprecated] transit::log_transit_connection and implemented Display on TransitInfo instead.
  • [lib][deprecated] transit::init() will be removed in the future with no planned public replacement.