Releases: magic-wormhole/magic-wormhole.rs
Releases · magic-wormhole/magic-wormhole.rs
Version 0.7.5
Fixed
- cli: Command line arguments completion would generate completions for magic-wormhole-cli, not wormhole-rs
Version 0.7.4
Fixed
- cli: autocomplete would use the wrong wordlist exactly 100% of the time 🙈
- cli: Remove unmaintained instant dependency
Version 0.7.3
Added
- cli: Add clipboard auto completion support
Version 0.7.2
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
andNameplate
- [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 ofMailboxConnection::create_with_password
to require the password to be passed via the newPassword
wrapper type. - [lib][deprecated] Deprecated the
Code
andNameplate
From<impl Into<String>>
implementations andnew()
methods. They are unchecked and will print a warning for now. These will be removed in the next breaking release.
Version 0.7.1
Version 0.7.0
- [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 flagtls
for a statically linked implementation via thering
crate, ornative-tls
for dynamically linking with the system-native TLS implementation. - [all] For experimental (unstable)
transfer-v2
protocol support, enable feature flagexperimental-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 aconn_type
field which contains the old enum astransit::ConnectionType
- [lib][breaking] changed the signature of the
transit_handler
function to take just the newly combinedtransit::TransitInfo
- [lib][breaking] changed the signature of the
file_name
argument totransfer::send_*
to takeInto<String>
instead ofInto<PathBuf>
- [lib][breaking] replaced
transfer::AppVersion
with a struct with private fields that implementsstd::default::Default
- [lib][deprecated] split
Wormhole
inMailboxConnection
andWormhole
- [lib][deprecated]
Wormhole::connect_with(out)_code
,WormholeWelcome
, useMailboxConnection::create()
and thenWormhole::connect()
instead - [lib][deprecated]
Wormhole
public struct fields. Use the provided accessor methods instead. - [lib][deprecated]
ReceiveRequest.filename
is deprecated and replaced byReceiveRequest.file_name(..)
- [lib][deprecated]
ReceiveRequest.filesize
is deprecated and replaced byReceiveRequest.file_size(..)
- [lib][deprecated]
GenericKey
, implementKeyPurpose
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 implementedDisplay
onTransitInfo
instead. - [lib][deprecated]
transit::init()
will be removed in the future with no planned public replacement.
Version 0.6.1
Security
This release handles the following security vulnerabilities:
- RUSTSEC-2023-0065: Update tungstenite
- RUSTSEC-2023-0037: Replace xsalsa20poly1305 with crypto_secretbox
- RUSTSEC-2023-0052: Update webpki
Changes
- Update crate dependencies
Version 0.6.0
Changes
- Add shell completion support for the CLI
- Add support for wormhole URIs
- [cli] The CLI will show a QR code (even if no app can probably read it currently) and a link
- [lib] See
magic_wormhole::uri::WormholeTransferUri
- [lib][breaking] File transfer functions do not take a
url::Url
for the relay server anymore, but aVec<magic_wormhole::transit::RelayHint>
- For migration, look at
magic_wormhole::transit::RelayHint::from_urls
- For migration, look at
- Fix broken port forwarding
- Fix directory transfer
- Smaller bugfixes
Version 0.5.0
Changes
- [lib][breaking] Removed
relay-v2
ability again.- This fixed some relay signalling issues, where no connection could be made with
--force-relay
under some circumstances.
- This fixed some relay signalling issues, where no connection could be made with
- [lib][breaking] Exposed the state of the established transit connection
- The
transit
module now returns whether the established connection is direct or not and the peer/relay's IP address - The
transfer
andforwarding
modules now take atransit_handler
argument. Use&transit::log_transit_connection
as default value
- The
- Various bugfixes
Version 0.4.0
Changes
- When sending, the code will now aumatically be copied into clipboard. So you don't have to select it in the terminal anymore before pasting!
- Added
--force-relay
and--force-direct
CLI flags that control the transit connection- The feature is also exposed in the API
- Updated a lot of dependencies
- Split the project into a workspace and feature gated some higher level protocols. This should now work way better on crates.io (and generally for library usage)