0.10.0

signald 0.10.0

see all code changes here

this release creates backwards-incompatible changes to the client protocol!

most clients that I'm aware of have updated to support the new protocol, if your client didn't please ask the client's author to update. In the future, I'm hoping to reduce or eliminate hard breaks like this.

thanks to the people who helped with MRs:

  • @ekpneo submitted !12 which fixes some of the worst parts of the JSON read loop
  • @mooomooo submitted !15 which reduces the size of the docker image with multi-stage builds

and thanks to the people who helped test and reported back what was broken for them:

The main feature of this release is the updated version of libsignal. Most of the new Signal features like stickers and reactions should be mostly supported, as are behind the scenes things like UUIDs, which brings us to the main protocol change:

Almost all fields that previously accepted a phone number now accept a JsonAddress instead. A JsonAddress can have a phone number, a UUID or both. If signald receives a JsonAddress from the client with only one of the identifiers, it will attempt to provide the other by checking a list of known addresses.

Finally, if you get any stack traces in the logs, please report them. Most known exceptions should now be suppressed to not print a stack trace to the log (although the client will still receive the exception normally)