Skip to content

Release 0.2.0 - #17

Merged
TroyHernandez merged 3 commits into
mainfrom
release-0.2.0
Aug 4, 2026
Merged

TroyHernandez merged 3 commits into
mainfrom
release-0.2.0

Conversation

@TroyHernandez

Copy link
Copy Markdown
Contributor

Minor, not patch: mx_crypto_room_key_payload() gained four required arguments, so five-argument calls now error.

Collapses 0.1.1.1-0.1.1.5. Headline is the E2EE security work: homeserver-supplied keys are verified before use, Olm payloads carry the spec-required sender/recipient/recipient_keys/keys block, inbound payloads are checked against this device's identity, and sender_verified is only TRUE when the claimed identity binds to a verified device.

Verified live, not just by loopback

Against the Conduit homeserver with mx.client 0.2.0:

  • /keys/query: 7 of 7 devices verified, zero warnings — cornelius plus six real client devices. The risk was a verifier too strict for legitimate devices; it isn't.
  • /keys/claim: a real client-signed one-time key accepted.
  • Encrypted send: landed as m.room.encrypted, Megolm, ciphertext present, no cleartext body.
  • Full server round-trip: exported the session key, encrypted, sent, fetched back, decrypted intact.
  • FluffyChat on Linux and iOS both rendered it — an independent implementation accepting our Olm payload, which is the part loopback tests cannot prove.
  • Store migration: an existing live store loaded with its Olm sessions and Megolm outbound intact.

Verification

  • R CMD check --as-cran: 0 errors, 0 warnings, 0 notes
  • win-builder R-devel: Status OK
  • Windows 10 R 4.6.0 and R-devel (r90286): Status OK
  • Tarball: 10 top-level entries, validator clean

Minor, not patch: mx_crypto_room_key_payload() takes four further
required arguments, so five-argument calls now error. NEWS collapsed
from 0.1.1.1-0.1.1.5 into one section grouped security / breaking /
new / other. cran-comments rewritten from the first-submission text.
Those runs were never made. Listing only what was actually run: Ubuntu
24.04 R 4.5.3, Windows 10 R 4.6.0, and Windows R-devel.
R CMD build packages the working directory, not the git tree, and skips
only a fixed set of dot-entries. Anything untracked in the package root
ships. CI checks out a clean tree and can never see it, so this has to
run locally before submission.

Ported from whisper with an allowlist matching what this package ships.
Excluded from the tarball via .Rbuildignore.
@TroyHernandez
TroyHernandez merged commit dbe6959 into main Aug 4, 2026
2 checks passed
@TroyHernandez
TroyHernandez deleted the release-0.2.0 branch August 4, 2026 20:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant