• v0.2.0 8c51c10eb0

    sarah released this 2019-08-16 14:35:23 +00:00 | 334 commits to master since this release

    Major Changes

    Tapir

    Tapir is our new pre-release library that defines a lightweight communication layer that can be used by Cwtch and other metadata resistant applications. Cwtch has been, and will continue to be, inspired by Ricochet, and previous versions have been build on libricochet-go. As Cwtch has developed we have increasingly made modifications to the ricochet protocol to improve security and performance. While planning our roadmap for the next year it became obvious that to achieve many of our goals, we would be better served by redefining this layer entirely, moving away from ricochet's channel architecture, and instead focusing on defining a mechanism for applications to securely build upon anonymous communication networks. We will dive further into Tapir in the upcoming weeks.

    Android with QAndroidService

    For the entire 0.1 release cycle we've been working hard to get Cwtch onto Android. We have been releasing builds, which alone is a big first step, but they've been unusably unstable. A large part of the work has been in a large redesign and refactor of the Cwtch library which was not built with mobile in mind. For mobile you need to have persistent logic (networking for example) in a stand along service that can keep running, and your UI in a sleepable or killable and restartable app. Our initial prototype Cwtch library was not built with this architecture in mind, so the last several 0.1.x releases have included refactors to move towards a more stable Android experience. One of the last steps has been moving the new refactored service code into an Android/QT QAndroidService. The overall Android experience isn't quite where we want it yet and will continue to be a big focus of the 0.2 release cycle.

    Additional Changes

    • Contact Retry: A new Cwtch app plugin system and a new contact retry system (a system that occasionally tries to reconnect to people who were initially offline)
    • Blocking: We have surfaced blocking and unblocking particular peers in the Cwtch UI
    • Delete: The storage engine now supports removal of deleted contacts
    • Fixed crash on launch in Windows: We identified and fixed a bug which caused windows to be unable to find the tor binary resulting in a crash for some Windows users. It currently still does leave open a command console window which is the Tor process running. We are working to get that hidden for future releases.
    • Windows log files: The Windows build of Cwtch now logs to a file ('cwtch_log.txt') by default when run instead of the console, which is a much more user friendly way for Windows users to get access to the logs. It also now comes bundled with a 'debug.bat' which launches the app in debug mode, writing extra (potentially sensitive, but useful) information to the logfile.
    • Infinite queue: We found a problem in our eventbus where some components of Cwtch could flood it causing some messages to other components to be lost. This was observed by some users noticing new messages when restarting the app for the second or third time from groups. This is now fixed.
    • Tor / libricochet-go bottleneck: We fixed a bottleneck in Tor outbound connection code which previously significantly delayed peer connection establishment.

    THIS IS AN ALPHA RELEASE - EXPECT BUGS.

    We are providing these binaries in order to show off what Cwtch is capable of so far, but please expect bugs and note that we HAVE NOT subjected this code to a security audit or usability testing yet.

    It is also not remotely feature complete. Some features are supported by the underlying Cwtch library (check out https://git.openprivacy.ca/cwtch.im/cwtch) but not yet by the UI, and some are still having their research/design finalized by the Open Privacy team before being implemented. We have lots of cool features in the works and we hope you'll check back later to try them out!

    ANDROID: We are not putting Cwtch up on the Play Store yet. If your phone has developer mode enabled, you can sideload the APK below. If you don't already know how to do this, please wait until we put it on the Store at a future date.

    Please note that the Cwtch server feature can be very bandwidth-intensive right now, so please DO NOT CONNECT TO CWTCH SERVERS OVER CELLULAR DATA PLANS or an internet plan with a low data cap. The direct messaging feature, however, uses negligible bandwidth (unless you decide to send gigabytes of text with it). It also has difficulty maintaining its Tor onion service right now, so you may need to kill and restart the app if you find it unable to receive new incoming connections (outgoing connections should work fine).

    Credits: Profile and Server Icons in this alpha were designed by freepik from Flaticon

    Downloads