Skip to content

Releases: Olib-AI/PoolChat

v1.1.0

19 Mar 15:41
b70488d

Choose a tag to compare

Concurrency Fixes

  • PoolChatConfiguration — Mutable statics (logger, rejectUnencryptedMessages, enableHistorySync) are now protected by NSLock (were unguarded data races)
  • VoiceRecordingService — Removed unnecessary Task { @MainActor in } wrappers from timer closures (already on main thread; was creating 10 Task allocations/sec)
  • PoolChatViewModel — Setup Tasks are now tracked in an array, cancelled on re-entry and terminate() to prevent racing duplicate tasks on reconnect; added Task.isCancelled checks for cooperative cancellation

v1.0.0

18 Mar 17:12
55592f2

Choose a tag to compare

PoolChat v1.0.0

Initial public release — end-to-end encrypted mesh chat for iOS and macOS.

Features

  • Curve25519 ECDH + HKDF-SHA256 + AES-256-GCM end-to-end encryption
  • Trust-On-First-Use (TOFU) key verification model
  • Key fingerprint verification for MITM detection
  • Group and private chat modes
  • Rich message types (text, images, voice notes, emoji, polls, reactions)
  • EXIF/GPS metadata stripped from images before sending
  • Encrypted chat history persistence via SecureStorageProvider protocol
  • Configurable history sync for new members
  • Voice recording with AVFoundation
  • Relay-aware key exchange for mesh network peers
  • Unencrypted message rejection (default: on)
  • Local notifications for background messages
  • Built-in SwiftUI views
  • Cross-platform (iOS + macOS)
  • Configurable logging and storage via protocol injection

Security

  • 3 laps of security audits completed
  • All CRITICAL, HIGH, and MEDIUM findings resolved
  • Ready for public audit

Requirements