Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package magic-wormhole.rs for
openSUSE:Factory checked in at 2024-07-28 17:19:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/magic-wormhole.rs (Old)
and /work/SRC/openSUSE:Factory/.magic-wormhole.rs.new.1882 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "magic-wormhole.rs"
Sun Jul 28 17:19:27 2024 rev:3 rq:1189848 version:0.7.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/magic-wormhole.rs/magic-wormhole.rs.changes
2024-07-19 15:27:02.122466641 +0200
+++
/work/SRC/openSUSE:Factory/.magic-wormhole.rs.new.1882/magic-wormhole.rs.changes
2024-07-28 17:20:02.257217902 +0200
@@ -1,0 +2,7 @@
+Fri Jul 26 18:53:50 UTC 2024 - Joshua Smith <[email protected]>
+
+- Update to 0.7.1
+ * Fixes openssl's MemBio::get_buf has undefined behavior with
+ empty buffers
+
+-------------------------------------------------------------------
Old:
----
magic-wormhole.rs-0.7.0.tar.gz
New:
----
magic-wormhole.rs-0.7.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ magic-wormhole.rs.spec ++++++
--- /var/tmp/diff_new_pack.uEJg3T/_old 2024-07-28 17:20:03.585270986 +0200
+++ /var/tmp/diff_new_pack.uEJg3T/_new 2024-07-28 17:20:03.589271146 +0200
@@ -19,7 +19,7 @@
%define bin wormhole-rs
Name: magic-wormhole.rs
-Version: 0.7.0
+Version: 0.7.1
Release: 0
Summary: Rust implementation of Magic Wormhole
License: EUPL-1.2
++++++ magic-wormhole.rs-0.7.0.tar.gz -> magic-wormhole.rs-0.7.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/magic-wormhole.rs-0.7.0/.github/workflows/audit.yml
new/magic-wormhole.rs-0.7.1/.github/workflows/audit.yml
--- old/magic-wormhole.rs-0.7.0/.github/workflows/audit.yml 2024-07-17
21:44:16.000000000 +0200
+++ new/magic-wormhole.rs-0.7.1/.github/workflows/audit.yml 2024-07-25
23:06:53.000000000 +0200
@@ -2,33 +2,32 @@
on:
push:
- branches: [ master ]
+ branches: [main]
paths:
- - '**/Cargo.toml'
- - '**/Cargo.lock'
+ - "**/Cargo.toml"
+ - "**/Cargo.lock"
pull_request:
- branches: [ master ]
+ branches: [main]
paths:
- - '**/Cargo.toml'
- - '**/Cargo.lock'
+ - "**/Cargo.toml"
+ - "**/Cargo.lock"
schedule:
- - cron: '32 10 * * *'
+ - cron: "32 10 * * *"
jobs:
audit:
+ name: Audit Rust Dependencies
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
- - name: Cache ~/.cargo
- uses: actions/cache@v1
- with:
- # we specifically want ~/.cargo/bin/cargo-audit
- # and ~/.cargo/.crates.toml and .crates2.json
- # which cargo-install uses to remember that it's
- # already installed
- path: ~/.cargo
- key: ${{ runner.os }}-audit-dotcargo
- - uses: actions-rs/audit-check@v1
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
-
+ - uses: actions/checkout@v4
+ - name: Cache ~/.cargo
+ uses: actions/cache@v4
+ with:
+ # we specifically want ~/.cargo/bin/cargo-audit
+ # and ~/.cargo/.crates.toml and .crates2.json
+ # which cargo-install uses to remember that it's
+ # already installed
+ path: ~/.cargo
+ key: ${{ runner.os }}-audit-dotcargo
+ - uses: actions-rust-lang/audit@v1
+ name: Audit Rust Dependencies
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/magic-wormhole.rs-0.7.0/.github/workflows/push.yml
new/magic-wormhole.rs-0.7.1/.github/workflows/push.yml
--- old/magic-wormhole.rs-0.7.0/.github/workflows/push.yml 2024-07-17
21:44:16.000000000 +0200
+++ new/magic-wormhole.rs-0.7.1/.github/workflows/push.yml 2024-07-25
23:06:53.000000000 +0200
@@ -2,187 +2,213 @@
on:
push:
- branches: [master, dev]
+ branches: [main, dev]
+ tags: ["[0-9]+.[0-9]+.[0-9]+"]
pull_request:
- branches: [master, dev]
+ branches: [main, dev]
jobs:
- format:
- name: cargo fmt (nightly)
+ read_msrv:
+ name: Read MSRV
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
- - uses: actions-rs/toolchain@v1
+ - uses: actions/checkout@v4
+ - name: Install Rust (stable)
+ uses: actions-rust-lang/setup-rust-toolchain@v1
+ - name: Read MSRV from workspace manifest
+ id: read_msrv
+ run: |
+ cargo metadata --no-deps --format-version=1 \
+ | jq -r 'first(.packages[]).rust_version' \
+ | sed -E 's/^1\.([0-9]{2})$/1\.\1\.0/' \
+ | xargs -0 printf "msrv=%s" \
+ | tee /dev/stderr \
+ >> "$GITHUB_OUTPUT"
+ outputs:
+ msrv: ${{ steps.read_msrv.outputs.msrv }}
+
+ formatting:
+ name: Cargo Format
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ # Ensure rustfmt is installed and setup problem matcher
+ - uses: actions-rust-lang/setup-rust-toolchain@v1
with:
- toolchain: nightly
- override: true
components: rustfmt
- profile: minimal
- - name: Format
- run: cargo fmt -- --check
+ toolchain: nightly
+ - name: Rustfmt Check
+ uses: actions-rust-lang/rustfmt@v1
clippy:
- name: clippy (stable)
+ name: Clippy
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v4
- name: Cache ~/.cargo
- uses: actions/cache@v1
+ uses: actions/cache@v4
with:
path: ~/.cargo
key: ${{ runner.os }}-clippy-dotcargo
- name: Cache cargo build
- uses: actions/cache@v1
+ uses: actions/cache@v4
with:
path: target
key: ${{ runner.os }}-clippy-cargo-build-target
- - uses: actions-rs/toolchain@v1
+ - uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: clippy
- override: true
- - uses: actions-rs/clippy-check@v1
- with:
- token: ${{ secrets.GITHUB_TOKEN }}
- args: --all-features
- name: clippy results
+ - name: cargo clippy
+ run: cargo clippy --all-features
test:
- runs-on: ${{ matrix.os }}
+ name: "Test (${{ matrix.os }} ${{ matrix.channel }})"
+ needs:
+ - read_msrv
+ runs-on: ${{ matrix.image }}
strategy:
fail-fast: false
matrix:
- os:
- - ubuntu-latest
- - windows-latest
- - macos-latest
- rust:
- - 1.75 # MSRV (also change in Cargo.toml)
+ channel:
+ - MSRV
- stable
- nightly
+ os:
+ - Linux
+ - Windows
+ - macOS
+ include:
+ - os: Linux
+ image: ubuntu-latest
+ target: x86_64-unknown-linux-gnu
+ - os: Windows
+ image: windows-latest
+ target: x86_64-pc-windows-msvc
+ - os: macOS
+ image: macos-latest
+ target: aarch64-apple-darwin
+ - channel: msrv
+ rust: ${{ needs.read_msrv.outputs.msrv }}
+ - channel: stable
+ rust: stable
+ - channel: nightly
+ rust: nightly
steps:
- - uses: actions/checkout@v1
- - uses: actions-rs/toolchain@v1
+ - uses: actions/checkout@v4
+ - uses: dtolnay/rust-toolchain@stable
with:
- profile: minimal
toolchain: ${{ matrix.rust }}
- override: true
target: wasm32-unknown-unknown
- name: Cache ~/.cargo
- uses: actions/cache@v1
+ uses: actions/cache@v4
with:
path: ~/.cargo
key: ${{ runner.os }}-test-dotcargo-${{ matrix.rust }}
- name: Cache cargo build
- uses: actions/cache@v1
+ uses: actions/cache@v4
with:
path: target
key: ${{ runner.os }}-test-build-target-${{ matrix.rust }}
- name: build library (no default features)
- uses: actions-rs/cargo@v1
- with:
- command: build
- args: -p magic-wormhole --no-default-features
+ run: cargo build -p magic-wormhole --target ${{ matrix.target }}
--no-default-features
- name: build library (features=transit)
- uses: actions-rs/cargo@v1
- with:
- command: build
- args: -p magic-wormhole --no-default-features --features=transit
+ run: cargo build -p magic-wormhole --target ${{ matrix.target }}
--no-default-features --features=transit
- name: build library (features=transfer)
- uses: actions-rs/cargo@v1
- with:
- command: build
- args: -p magic-wormhole --no-default-features --features=transfer
+ run: cargo build -p magic-wormhole --target ${{ matrix.target }}
--no-default-features --features=transfer
- name: build library (features=forwarding)
- uses: actions-rs/cargo@v1
- with:
- command: build
- args: -p magic-wormhole --no-default-features --features=forwarding
+ run: cargo build -p magic-wormhole --target ${{ matrix.target }}
--no-default-features --features=forwarding
- name: build CLI
- uses: actions-rs/cargo@v1
- with:
- command: build
- args: --all-targets
+ run: cargo build -p magic-wormhole-cli --target ${{ matrix.target }}
--features=all
- name: build WASM
- uses: actions-rs/cargo@v1
- with:
- command: build
- args: --target wasm32-unknown-unknown --no-default-features
--package magic-wormhole --features transit --features transfer
+ run: cargo build -p magic-wormhole --target wasm32-unknown-unknown
--no-default-features --features transit --features transfer
- name: test
- uses: actions-rs/cargo@v1
+ uses: nick-fields/retry@v3
with:
- command: test
- args: --verbose --workspace --features=all,native-tls,experimental
+ max_attempts: 3
+ polling_interval_seconds: 30
+ timeout_minutes: 30
+ retry_on_exit_code: 101
+ command: cargo test --verbose --workspace
--features=all,native-tls,experimental
dist:
- runs-on: ${{ matrix.os }}
+ name: "Dist (${{ matrix.os }})"
+ runs-on: ${{ matrix.image }}
strategy:
fail-fast: false
matrix:
os:
- - ubuntu-latest
- - windows-latest
- - macos-latest
+ - Linux
+ - Windows
+ - macOS
+ include:
+ - os: Linux
+ image: ubuntu-latest
+ target: x86_64-unknown-linux-gnu
+ ext: ""
+ - os: Windows
+ image: windows-latest
+ target: x86_64-pc-windows-gnu
+ ext: ".exe"
+ - os: macOS
+ image: macos-latest
+ target: aarch64-apple-darwin
+ ext: ""
steps:
- - uses: actions/checkout@v1
- - uses: actions-rs/toolchain@v1
+ - uses: actions/checkout@v4
+ - uses: dtolnay/rust-toolchain@stable
with:
- profile: minimal
toolchain: stable
- override: true
+ target: ${{ matrix.target }}
- name: Cache ~/.cargo
- uses: actions/cache@v1
+ uses: actions/cache@v4
with:
path: ~/.cargo
key: ${{ runner.os }}-test-dotcargo-stable
- name: Cache cargo build
- uses: actions/cache@v1
+ uses: actions/cache@v4
with:
path: target
key: ${{ runner.os }}-test-build-target-stable
- name: Build
- uses: actions-rs/cargo@v1
- with:
- command: build
- args: --bins --locked --release
+ run: cargo build -p magic-wormhole-cli --target ${{ matrix.target }}
--bins --locked --release
+ - name: Tar binaries
+ run: |
+ pushd "target/${{ matrix.target }}/release/"
+ tar -cvzf "magic-wormhole-cli-${{ matrix.target }}.tgz"
"wormhole-rs${{ matrix.ext }}"
+ popd
- name: Upload artifacts
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
- name: wormhole-${{ matrix.os }}-${{ github.sha }}
- path: |
- ./target/release/wormhole-rs
- ./target/release/wormhole-rs.exe
+ name: magic-wormhole-cli-${{ matrix.target }}
+ path: target/${{ matrix.target }}/release/magic-wormhole-cli-${{
matrix.target }}.tgz
if-no-files-found: error
coverage:
+ name: Coverage
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
- - uses: actions-rs/toolchain@v1
+ - uses: actions/checkout@v4
+ - uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly
- override: true
- - uses: actions-rs/[email protected]
+ - uses: taiki-e/cache-cargo-install-action@v2
with:
- crate: cargo-tarpaulin
- version: latest
+ tool: cargo-tarpaulin
- name: Cache ~/.cargo
- uses: actions/cache@v1
+ uses: actions/cache@v4
with:
path: ~/.cargo
key: ${{ runner.os }}-coverage-dotcargo
- name: Cache cargo build
- uses: actions/cache@v1
+ uses: actions/cache@v4
with:
path: target
key: ${{ runner.os }}-coverage-cargo-build-target
- name: Run tarpaulin
- uses: actions-rs/cargo@v1
- with:
- command: tarpaulin
- args: --workspace --out Xml
+ run: cargo tarpaulin --workspace --out Xml
- name: upload coverage
- uses: codecov/codecov-action@v1
+ uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
@@ -190,26 +216,70 @@
name: Cargo deny
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
- - uses: actions-rs/toolchain@v1
+ - uses: actions/checkout@v4
+ - uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly
- override: true
- name: Checkout Rust toolcnain
- uses: actions/checkout@v2
- with:
- toolchain: stable
- override: true
+ uses: actions/checkout@v4
- uses: EmbarkStudios/cargo-deny-action@v1
semver:
- name: semver
+ name: SemVer
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
- - uses: actions-rs/toolchain@v1
+ - uses: actions/checkout@v4
+ - uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly
- override: true
- name: Check semver
uses: obi1kenobi/cargo-semver-checks-action@v2
+ - name: Extract Changelog
+ uses: release-flow/keep-a-changelog-action@v3
+ with:
+ command: query
+ version: unreleased
+
+ release:
+ name: Release
+ runs-on: ubuntu-latest
+ needs:
+ - dist
+ steps:
+ - uses: actions/checkout@v4
+ - name: Get Cargo Version
+ id: query-version
+ run: |
+ cargo metadata --no-deps --format-version=1 \
+ | jq -r 'first(.packages[]).version' \
+ | xargs -0 printf "version=%s" \
+ >> "$GITHUB_OUTPUT"
+ - name: Check Tag
+ id: check-tag
+ run: |
+ if git show-ref --tags --verify --quiet "refs/tags/${{
steps.query-version.outputs.version }}"; then
+ echo "tag=1" >> "$GITHUB_OUTPUT"
+ else
+ echo "tag=0" >> "$GITHUB_OUTPUT"
+ fi
+ - name: Extract Changelog for ${{ steps.query-version.outputs.version }}
+ id: query-changelog
+ uses: release-flow/keep-a-changelog-action@v3
+ with:
+ command: query
+ version: ${{ steps.query-version.outputs.version }}
+ - uses: actions/download-artifact@v4
+ with:
+ path: "./dist"
+ pattern: "magic-wormhole-cli-*"
+ - name: Update Release
+ uses: softprops/action-gh-release@v2
+ if: ${{ startsWith(github.ref, 'refs/tags/') || startsWith(github.ref,
'refs/heads/main') }}
+ with:
+ name: "Version ${{ steps.query-version.outputs.version }}"
+ body: ${{ steps.query-changelog.outputs.release-notes }}
+ files: "./dist/**/magic-wormhole-cli-*"
+ fail_on_unmatched_files: true
+ prerelease: ${{ contains(steps.query-version.outputs.version, '-') }}
+ draft: ${{ steps.check-tag.outputs.tag == 0 &&
!startsWith(github.ref, 'refs/tags/') }}
+ make_latest: ${{ !contains(steps.query-version.outputs.version, '-')
&& startsWith(github.ref, 'refs/tags/') }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/magic-wormhole.rs-0.7.0/CHANGELOG.md
new/magic-wormhole.rs-0.7.1/CHANGELOG.md
--- old/magic-wormhole.rs-0.7.0/CHANGELOG.md 1970-01-01 01:00:00.000000000
+0100
+++ new/magic-wormhole.rs-0.7.1/CHANGELOG.md 2024-07-25 23:06:53.000000000
+0200
@@ -0,0 +1,176 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a
Changelog](https://keepachangelog.com/en/1.1.0/),
+and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [Unreleased]
+
+### Changed
+
+- \[lib\]\[deprecated\] `magic_wormhole::transfer::send_*` and `request_file`
methods to take an `OfferSend` and `OfferReceive` instead of using separate
methods for files and folders. Use `transfer::send()` and `transfer::receive()`
for the new methods.
+- \[lib\]\[breaking\] struct `transfer::ReceiveRequest` became an enum to
prepare for transfer v2
+
+## [0.7.1] - 2024-07-25
+
+### Changed
+
+- Bump dependencies
+
+### Fixed
+
+- [openssl's `MemBio::get_buf` has undefined behavior with empty
buffers](https://github.com/advisories/GHSA-q445-7m23-qrmw)
+
+## [0.7.0] - 2024-07-17
+
+### Changed
+
+- \[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.
+
+## [0.6.1] - 2023-12-03
+
+### Fixed
+
+- RUSTSEC-2023-0065: Update tungstenite
+- RUSTSEC-2023-0037: Replace xsalsa20poly1305 with crypto_secretbox
+- RUSTSEC-2023-0052: Update webpki
+
+### Changed
+
+- Update crate dependencies
+
+## [0.6.0] - 2022-12-21
+
+### Added
+
+- Add shell completion support for the CLI
+- Add support for [wormhole
URIs](https://github.com/magic-wormhole/magic-wormhole-protocols/pull/21)
+ - \[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`
+
+### Fixed
+
+- Fix broken port forwarding
+- Fix directory transfer
+- Smaller bugfixes
+
+### Changed
+
+- \[lib\]\[breaking\] File transfer functions do not take a `url::Url` for the
relay server anymore, but a `Vec<magic_wormhole::transit::RelayHint>`
+ - For migration, look at `magic_wormhole::transit::RelayHint::from_urls`
+
+## [0.5.0] - 2022-05-24
+
+### Changed
+
+- \[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.
+- \[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` and `forwarding` modules now take a `transit_handler`
argument. Use `&transit::log_transit_connection` as default value
+
+### Fixed
+
+- Various bugfixes
+
+## [0.4.0] - 2022-03-23
+
+### Added
+
+- Added `--force-relay` and `--force-direct` CLI flags that control the
transit connection
+ - The feature is also exposed in the API
+
+### Changed
+
+- 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!
+- 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)
+
+## [0.3.1] - 2022-03-22
+
+### Changed
+
+- yanked, changes moved to 0.4.0
+
+## [0.3.0] - 2022-03-06
+
+### Added
+
+- Added experimental port forwarding feature
+
+### Fixed
+
+- Fixed `send-many` subcommand
+
+### Changed
+
+- Improved user experience with better logging and messages
+- Improved error and cancellation handling
+- Cleaned up CLI args and implemented previous placeholders
+- Many internal refactorings to accomodate the changes. The public API did not
change that much though.
+
+## [0.2.0] - 2021-04-12
+
+### Added
+
+- Implemented version and verifier in the API
+- Added API documentation \o/ (still a long way to go though)
+- New features for file transfer
+ - File acks are not sent automatically anymore, the receiver has to
accept an offer now.
+ - Existing files are not overwritten without permission
+
+### Changed
+
+- Reworked Key API. It now uses type-level programming to distinguish key
purposes, in the hope you'll never ever confuse them.
+- Internal improvements in Transit implementation. Little API changed except
for the Keys.
+- Internal rewrite of the `core`. This resulted in no public API changes
except that the receiver is now `TryStream` instead of `Stream` (error
handling, yay).
+- Progress reporting support during transfers
+- `send-many` got improved
+
+## [0.1.0] - 2020-11-03
+
+### Added
+
+- Merged Transit/Transfer implementation from @vu3rdd and made it work.
+
+### Changed
+
+- Rewrote Wormhole API (and parts of Transit/Transfer as well)
+ - Everything is async now (using `async_std`), there are no other (i.e.
blocking) implementations.
+ - The API exposed from `core` got flipped on its head too in the
process.
+- Moved IO layer into core; ported it from `ws` to `async-tungstenite`.
Removed all `tokio` dependencies.
+- Many other refactorings, thrown stuff around, in the hope of improving
things.
+ - Together with the changes noted above, the `io::*` modules got
removed, as well as their Cargo feature flags (and dependencies).
+ - There is only one feature flag left, it's for the binary.
+- A bit of progress on the CLI side
+ - Added an experimental `send-many` command. It will create a code and
then simply send the file over and over again in a loop. Might be useful.
+
+## [0.0.2] - 2019-09-01
+
+### Changed
+
+- No change log provided
+
+## [0.0.1] - 2018-12-21
+
+### Changed
+
+- Initial release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/magic-wormhole.rs-0.7.0/Cargo.lock
new/magic-wormhole.rs-0.7.1/Cargo.lock
--- old/magic-wormhole.rs-0.7.0/Cargo.lock 2024-07-17 21:44:16.000000000
+0200
+++ new/magic-wormhole.rs-0.7.1/Cargo.lock 2024-07-25 23:06:53.000000000
+0200
@@ -63,9 +63,9 @@
[[package]]
name = "anstream"
-version = "0.6.14"
+version = "0.6.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b"
+checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526"
dependencies = [
"anstyle",
"anstyle-parse",
@@ -78,33 +78,33 @@
[[package]]
name = "anstyle"
-version = "1.0.7"
+version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b"
+checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
[[package]]
name = "anstyle-parse"
-version = "0.2.4"
+version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4"
+checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb"
dependencies = [
"utf8parse",
]
[[package]]
name = "anstyle-query"
-version = "1.1.0"
+version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391"
+checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a"
dependencies = [
"windows-sys 0.52.0",
]
[[package]]
name = "anstyle-wincon"
-version = "3.0.3"
+version = "3.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19"
+checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8"
dependencies = [
"anstyle",
"windows-sys 0.52.0",
@@ -357,7 +357,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.71",
+ "syn 2.0.72",
]
[[package]]
@@ -407,7 +407,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.71",
+ "syn 2.0.72",
]
[[package]]
@@ -518,6 +518,12 @@
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
+name = "byteorder-lite"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495"
+
+[[package]]
name = "bytes"
version = "1.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -525,9 +531,9 @@
[[package]]
name = "cc"
-version = "1.1.5"
+version = "1.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "324c74f2155653c90b04f25b2a47a8a631360cb908f92a772695f430c7e31052"
+checksum = "2aba8f4e9906c7ce3c73463f62a7f0c65183ada1a2d47e397cc8810827f9694f"
[[package]]
name = "cfg-if"
@@ -584,9 +590,9 @@
[[package]]
name = "clap"
-version = "4.5.9"
+version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462"
+checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3"
dependencies = [
"clap_builder",
"clap_derive",
@@ -594,9 +600,9 @@
[[package]]
name = "clap_builder"
-version = "4.5.9"
+version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942"
+checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa"
dependencies = [
"anstream",
"anstyle",
@@ -606,30 +612,30 @@
[[package]]
name = "clap_complete"
-version = "4.5.8"
+version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b4be9c4c4b1f30b78d8a750e0822b6a6102d97e62061c583a6c1dea2dfb33ae"
+checksum = "c6ae69fbb0833c6fcd5a8d4b8609f108c7ad95fc11e248d853ff2c42a90df26a"
dependencies = [
"clap",
]
[[package]]
name = "clap_derive"
-version = "4.5.8"
+version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085"
+checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e"
dependencies = [
"heck",
"proc-macro2",
"quote",
- "syn 2.0.71",
+ "syn 2.0.72",
]
[[package]]
name = "clap_lex"
-version = "0.7.1"
+version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70"
+checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
[[package]]
name = "clipboard-win"
@@ -669,9 +675,9 @@
[[package]]
name = "colorchoice"
-version = "1.0.1"
+version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422"
+checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0"
[[package]]
name = "concurrent-queue"
@@ -896,7 +902,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.71",
+ "syn 2.0.72",
]
[[package]]
@@ -922,7 +928,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.71",
+ "syn 2.0.72",
]
[[package]]
@@ -933,7 +939,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.71",
+ "syn 2.0.72",
]
[[package]]
@@ -995,9 +1001,9 @@
[[package]]
name = "env_filter"
-version = "0.1.0"
+version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea"
+checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab"
dependencies = [
"log",
"regex",
@@ -1005,9 +1011,9 @@
[[package]]
name = "env_logger"
-version = "0.11.3"
+version = "0.11.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9"
+checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d"
dependencies = [
"anstream",
"anstyle",
@@ -1177,7 +1183,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.71",
+ "syn 2.0.72",
]
[[package]]
@@ -1285,7 +1291,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.71",
+ "syn 2.0.72",
]
[[package]]
@@ -1491,9 +1497,9 @@
[[package]]
name = "if-addrs"
-version = "0.13.0"
+version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc8e9b9a293a79d8206f1aad35c6bb9adadf19c916f4f3545ba77406fd4cab52"
+checksum = "6a2b3d54f41dab497e273737c41c6c2468c6d0b001b8cc0871d57334e78c4691"
dependencies = [
"libc",
"windows-sys 0.52.0",
@@ -1501,12 +1507,12 @@
[[package]]
name = "image"
-version = "0.25.1"
+version = "0.25.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd54d660e773627692c524beaad361aca785a4f9f5730ce91f42aabe5bce3d11"
+checksum = "99314c8a2152b8ddb211f924cdae532d8c5e4c8bb54728e12fff1b0cd5963a10"
dependencies = [
"bytemuck",
- "byteorder",
+ "byteorder-lite",
"num-traits",
"png",
"tiff",
@@ -1575,9 +1581,9 @@
[[package]]
name = "is_terminal_polyfill"
-version = "1.70.0"
+version = "1.70.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"
+checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
[[package]]
name = "itoa"
@@ -1623,9 +1629,9 @@
[[package]]
name = "libloading"
-version = "0.8.4"
+version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e310b3a6b5907f99202fcdb4960ff45b93735d7c7d96b760fcff8db2dc0e103d"
+checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4"
dependencies = [
"cfg-if",
"windows-targets 0.52.6",
@@ -1664,7 +1670,7 @@
[[package]]
name = "magic-wormhole"
-version = "0.7.0"
+version = "0.7.1"
dependencies = [
"async-io 2.3.3",
"async-std",
@@ -1707,7 +1713,7 @@
[[package]]
name = "magic-wormhole-cli"
-version = "0.7.0"
+version = "0.7.1"
dependencies = [
"arboard",
"async-std",
@@ -1984,9 +1990,9 @@
[[package]]
name = "openssl"
-version = "0.10.64"
+version = "0.10.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f"
+checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1"
dependencies = [
"bitflags 2.6.0",
"cfg-if",
@@ -2005,7 +2011,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.71",
+ "syn 2.0.72",
]
[[package]]
@@ -2016,9 +2022,9 @@
[[package]]
name = "openssl-sys"
-version = "0.9.102"
+version = "0.9.103"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2"
+checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6"
dependencies = [
"cc",
"libc",
@@ -2226,9 +2232,9 @@
[[package]]
name = "portable-atomic"
-version = "1.6.0"
+version = "1.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
+checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265"
[[package]]
name = "powerfmt"
@@ -2611,7 +2617,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.71",
+ "syn 2.0.72",
]
[[package]]
@@ -2627,9 +2633,9 @@
[[package]]
name = "serde_spanned"
-version = "0.6.6"
+version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0"
+checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d"
dependencies = [
"serde",
]
@@ -2726,9 +2732,9 @@
[[package]]
name = "similar"
-version = "2.5.0"
+version = "2.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640"
+checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e"
[[package]]
name = "slab"
@@ -2747,9 +2753,9 @@
[[package]]
name = "snapbox"
-version = "0.6.13"
+version = "0.6.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d656960fa127e80ade23c321d8c573bb9ba462c3a69e62ede635fc180ffc6cc"
+checksum = "027c936207f85d10d015e21faf5c676c7e08c453ed371adf55c0874c443ca77a"
dependencies = [
"anstream",
"anstyle",
@@ -2769,9 +2775,9 @@
[[package]]
name = "snapbox-macros"
-version = "0.3.9"
+version = "0.3.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1f4c14672714436c09254801c934b203196a51182a5107fb76591c7cc56424d"
+checksum = "16569f53ca23a41bb6f62e0a5084aa1661f4814a67fa33696a79073e03a664af"
dependencies = [
"anstream",
]
@@ -2854,9 +2860,9 @@
[[package]]
name = "syn"
-version = "2.0.71"
+version = "2.0.72"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462"
+checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af"
dependencies = [
"proc-macro2",
"quote",
@@ -2903,7 +2909,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.71",
+ "syn 2.0.72",
]
[[package]]
@@ -2975,18 +2981,18 @@
[[package]]
name = "toml_datetime"
-version = "0.6.6"
+version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf"
+checksum = "f8fb9f64314842840f1d940ac544da178732128f1c78c21772e876579e0da1db"
dependencies = [
"serde",
]
[[package]]
name = "toml_edit"
-version = "0.22.16"
+version = "0.22.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788"
+checksum = "8d9f8729f5aea9562aac1cc0441f5d6de3cff1ee0c5d67293eeca5eb36ee7c16"
dependencies = [
"indexmap",
"serde",
@@ -3081,9 +3087,9 @@
[[package]]
name = "trycmd"
-version = "0.15.4"
+version = "0.15.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59709bd8eccada6a3fded26d22a7f2dcee406c18d3bd7ad2605ca3eeb8f6f6ec"
+checksum = "3e8673f1dc45acdff8e25a06cc62f8e529563e8acd84237ce83d5a28e2befa12"
dependencies = [
"automod",
"glob",
@@ -3264,7 +3270,7 @@
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.71",
+ "syn 2.0.72",
"wasm-bindgen-shared",
]
@@ -3298,7 +3304,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.71",
+ "syn 2.0.72",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -3604,9 +3610,9 @@
[[package]]
name = "winnow"
-version = "0.6.13"
+version = "0.6.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1"
+checksum = "b480ae9340fc261e6be3e95a1ba86d54ae3f9171132a73ce8d4bbaf68339507c"
dependencies = [
"memchr",
]
@@ -3706,5 +3712,5 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.71",
+ "syn 2.0.72",
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/magic-wormhole.rs-0.7.0/Cargo.toml
new/magic-wormhole.rs-0.7.1/Cargo.toml
--- old/magic-wormhole.rs-0.7.0/Cargo.toml 2024-07-17 21:44:16.000000000
+0200
+++ new/magic-wormhole.rs-0.7.1/Cargo.toml 2024-07-25 23:06:53.000000000
+0200
@@ -3,7 +3,7 @@
default-members = ["cli"]
[workspace.package]
-version = "0.7.0"
+version = "0.7.1"
authors = [
"Fina Wilke <[email protected]>",
"piegames <[email protected]>",
@@ -12,10 +12,9 @@
description = "Get things from one computer to another, safely"
keywords = ["magic-wormhole", "wormhole", "file-transfer", "transfer"]
homepage = "http://magic-wormhole.io/"
-repository = "https://github.com/magic-wormhole/magic-wormhole.rs"
+repository =
"https://github.com/magic-wormhole/magic-wormhole.rs/tree/main/cli"
license = "EUPL-1.2"
-# MSRV (also change in CI)
rust-version = "1.75"
edition = "2021"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/magic-wormhole.rs-0.7.0/MAINTENANCE.md
new/magic-wormhole.rs-0.7.1/MAINTENANCE.md
--- old/magic-wormhole.rs-0.7.0/MAINTENANCE.md 2024-07-17 21:44:16.000000000
+0200
+++ new/magic-wormhole.rs-0.7.1/MAINTENANCE.md 2024-07-25 23:06:53.000000000
+0200
@@ -5,9 +5,10 @@
To create a new release, follow these steps:
- Update version number in Cargo.toml for library and CLI
+- Update CHANGELOG.md with release date
- Update Cargo.lock
-- Commit the changes
+- Commit & push the changes
- Tag the commit: `git tag -as a.b.c`
- Push the tag: `git push origin a.b.c`
-- Create a github release for the tag and upload the built binaries from the
github actions workflow
+- Verify GitHub release was created by CI
- Push a new crate version to crates.io with `cargo publish -p magic-wormhole`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/magic-wormhole.rs-0.7.0/README.md
new/magic-wormhole.rs-0.7.1/README.md
--- old/magic-wormhole.rs-0.7.0/README.md 2024-07-17 21:44:16.000000000
+0200
+++ new/magic-wormhole.rs-0.7.1/README.md 2024-07-25 23:06:53.000000000
+0200
@@ -24,7 +24,7 @@
## Getting started
-If you want to toy with the CLI, `cargo run -- --help` will get you started.
The code sits in `./cli/src/bin`.
+If you want to toy with the CLI, `cargo run -- --help` will get you started.
The code sits in `./cli/src`. For more instructions see
[cli/README.md](cli/README.md).
If you'd like to use Wormhole in your application, `cargo doc --open` will
tell you how to use it. There aren't any hosted docs at the moment.
@@ -59,7 +59,7 @@
[build-status-image]:
https://github.com/magic-wormhole/magic-wormhole.rs/workflows/Rust/badge.svg
[deps-status-image]:
https://deps.rs/repo/github/magic-wormhole/magic-wormhole.rs/status.svg
[deps-status-url]: https://deps.rs/repo/github/magic-wormhole/magic-wormhole.rs
-[codecov-image]:
https://codecov.io/gh/magic-wormhole/magic-wormhole.rs/branch/master/graph/badge.svg
+[codecov-image]:
https://codecov.io/gh/magic-wormhole/magic-wormhole.rs/branch/main/graph/badge.svg
[codecov-url]: https://codecov.io/gh/magic-wormhole/magic-wormhole.rs
[crates-io-image]: https://img.shields.io/crates/v/magic-wormhole.svg
[crates-io-url]: https://crates.io/crates/magic-wormhole
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/magic-wormhole.rs-0.7.0/changelog.md
new/magic-wormhole.rs-0.7.1/changelog.md
--- old/magic-wormhole.rs-0.7.0/changelog.md 2024-07-17 21:44:16.000000000
+0200
+++ new/magic-wormhole.rs-0.7.1/changelog.md 1970-01-01 01:00:00.000000000
+0100
@@ -1,108 +0,0 @@
-# Changelog
-
-## Unreleased
-
-- \[lib\]\[deprecated\] `magic_wormhole::transfer::send_*` and `request_file`
methods to take an `OfferSend` and `OfferReceive` instead of using separate
methods for files and folders. Use `transfer::send()` and `transfer::receive()`
for the new methods.
-- \[lib\]\[breaking\] struct `transfer::ReceiveRequest` became an enum to
prepare for transfer v2
-
-## 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
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.
-
-## Version 0.6.1
-
-- RUSTSEC-2023-0065: Update tungstenite
-- RUSTSEC-2023-0037: Replace xsalsa20poly1305 with crypto_secretbox
-- RUSTSEC-2023-0052: Update webpki
-- Update crate dependencies
-
-## Version 0.6.0
-
-- Add shell completion support for the CLI
-- Add support for [wormhole
URIs](https://github.com/magic-wormhole/magic-wormhole-protocols/pull/21)
- - \[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 a `Vec<magic_wormhole::transit::RelayHint>`
- - For migration, look at `magic_wormhole::transit::RelayHint::from_urls`
-- Fix broken port forwarding
-- Fix directory transfer
-- Smaller bugfixes
-
-## Version 0.5.0
-
-- \[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.
-- \[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` and `forwarding` modules now take a `transit_handler`
argument. Use `&transit::log_transit_connection` as default value
-- Various bugfixes
-
-## Version 0.4.0
-
-- 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)
-
-## Version 0.3.1
-
-*yanked, changes moved to 0.4.0*
-
-## Version 0.3.0
-
-- Added experimental port forwarding feature
-- Improved user experience with better logging and messages
-- Improved error and cancellation handling
-- Cleaned up CLI args and implemented previous placeholders
-- Fixed `send-many` subcommand
-- Many internal refactorings to accomodate the changes. The public API did not
change that much though.
-
-## Version 0.2.0
-
-- Implemented version and verifier in the API
-- Added API documentation \o/ (still a long way to go though)
-- Reworked Key API. It now uses type-level programming to distinguish key
purposes, in the hope you'll never ever confuse them.
-- New features for file transfer
- - File acks are not sent automatically anymore, the receiver has to
accept an offer now.
- - Existing files are not overwritten without permission
-- Internal improvements in Transit implementation. Little API changed except
for the Keys.
-- Internal rewrite of the `core`. This resulted in no public API changes
except that the receiver is now `TryStream` instead of `Stream` (error
handling, yay).
-- Progress reporting support during transfers
-- `send-many` got improved
-
-## Version 0.1.0
-
-- Merged Transit/Transfer implementation from @vu3rdd and made it work.
-- Rewrote Wormhole API (and parts of Transit/Transfer as well)
- - Everything is async now (using `async_std`), there are no other (i.e.
blocking) implementations.
- - The API exposed from `core` got flipped on its head too in the
process.
-- Moved IO layer into core; ported it from `ws` to `async-tungstenite`.
Removed all `tokio` dependencies.
-- Many other refactorings, thrown stuff around, in the hope of improving
things.
- - Together with the changes noted above, the `io::*` modules got
removed, as well as their Cargo feature flags (and dependencies).
- - There is only one feature flag left, it's for the binary.
-- A bit of progress on the CLI side
- - Added an experimental `send-many` command. It will create a code and
then simply send the file over and over again in a loop. Might be useful.
-
-## Older versions
-
-- 0.0.3 (never released): No change log provided
-- 0.0.2: No change log provided
-- 0.0.1: Initial release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/magic-wormhole.rs-0.7.0/cli/README.md
new/magic-wormhole.rs-0.7.1/cli/README.md
--- old/magic-wormhole.rs-0.7.0/cli/README.md 1970-01-01 01:00:00.000000000
+0100
+++ new/magic-wormhole.rs-0.7.1/cli/README.md 2024-07-25 23:06:53.000000000
+0200
@@ -0,0 +1,46 @@
+# Magic Wormhole CLI
+
+A rust implementation of the classic `magic-wormhole` command line client.
+
+## Installation
+
+### GitHub Releases
+
+We publish source code and binaries to GitHub releases. Visit the [releases
page](https://github.com/magic-wormhole/magic-wormhole.rs/releases) for the
latest release.
+
+Or use [cargo binstall](https://github.com/cargo-bins/cargo-binstall):
+
+```bash
+cargo binstall magic-wormhole-cli
+```
+
+### crates.io
+
+You can use cargo to install the CLI from crates.io:
+
+```bash
+cargo install --locked magic-wormhole-cli
+```
+
+## Usage
+
+```text
+Get things from one computer to another, safely
+
+Usage: wormhole-rs [OPTIONS] <COMMAND>
+
+Commands:
+ send Send a file or a folder [aliases: tx]
+ receive Receive a file or a folder [aliases: rx]
+ send-many Send a file to many recipients
+ forward Forward ports from one machine to another
+
+Options:
+ -v, --verbose Enable logging to stdout, for debugging purposes
+ -h, --help Print help
+ -V, --version Print version
+
+Run a subcommand with `--help` to know how it's used.
+To send files, use `wormhole send <PATH>`.
+To receive files, use `wormhole receive <CODE>`.
+```
++++++ vendor.tar.zst ++++++
/work/SRC/openSUSE:Factory/magic-wormhole.rs/vendor.tar.zst
/work/SRC/openSUSE:Factory/.magic-wormhole.rs.new.1882/vendor.tar.zst differ:
char 413990, line 1793