Skip to content

Release v0.2.3

Choose a tag to compare

@blocksorg blocksorg released this 04 Nov 05:25
· 10 commits to main since this release

MigChat CLI v0.2.3

Major Encryption Fixes

πŸ”’ Fixed Receiver-Side Session Establishment

  • Implemented proper X3DH protocol for receivers to establish sessions from incoming messages
  • Receivers now automatically derive matching session keys from sender's ephemeral key
  • This fixes the "MAC verification failed" error when receiving encrypted messages

πŸ“¨ Fixed Sent Message Display

  • Sent messages are now displayed as [Your encrypted message] instead of attempting decryption
  • This is correct E2E encryption behavior - you cannot decrypt your own sent messages after the ratchet advances
  • Received messages from others decrypt properly using the receiver-side session

πŸͺŸ Fixed Windows PowerShell Installer (from v0.2.2)

  • Simplified color output for better compatibility
  • Better error reporting

How It Works Now

  1. Sending a message:

    • You establish a session with recipient's key bundle
    • Message is encrypted and ratchet advances
    • Encrypted message is sent to server
  2. Receiving a message:

    • If no session exists, receiver automatically establishes one from the encrypted message
    • Both parties now have matching session keys
    • Message decrypts successfully
  3. Viewing conversations:

    • Your sent messages show as [Your encrypted message]
    • Received messages decrypt and show plaintext

Installation

Quick Install (Linux/macOS):
```bash
curl -fsSL https://raw.githubusercontent.com/migchat/cli/main/install.sh | bash
```

Quick Install (Windows):
```powershell
irm https://raw.githubusercontent.com/migchat/cli/main/install.ps1 | iex
```

Supported Platforms

  • Linux x86_64, aarch64/ARM64
  • macOS x86_64 (Intel), aarch64 (Apple Silicon)
  • Windows x86_64, aarch64/ARM64

Testing

To test encryption between two accounts:

  1. Create two accounts
  2. Send a message from Account A to Account B
  3. View the conversation on Account B - message should decrypt
  4. View the conversation on Account A - sent message shows as [Your encrypted message]