- The version number was changed to 0.2.0, purely because rpm doesn't
like '0.2.0-pre' and I got tired of switching it around.
- We now use the Unidecode library to produce ASCII representations of
non-ASCII names, making life easier for people with umlauts and such
in their contact names.
- We now use the fancy new improved WhatsApp connection logic
in ww-rs-eta 0.5.0-pre1, which is nice.
- As a result, the handling of failed and superseded connections
should be vastly improved; no more random QR code requests from
- In addition, the user now gets notified whenever they *remove*
the connection from their mobile app (although it could also
conceivably remove the state from the DB as well)
- History fetching was removed, as it never worked.
- The `ignore_other_libraries` config key now doesn't ignore
whatsappweb_eta, because it's useful to have that in there
for debugging as well.
- Some `dyn`s were dotted about the place to satisfy Rust 2018 lints.
- Messages now have timestamps stored in the database, so messages
sent while the admin was away should be sent with timestamps now.
- There's an undocumented history fetch feature which doesn't quite
- We now store each WhatsApp message ID we've received in the database,
so we can determine whether an incoming message has already been
delivered or not.
- 'Old' messages (those without the 'new' flag) are now delivered,
instead of merely being thrown away, with a timestamp prepended to
indicate that they're part of the backlog.
- A new config option `backlog_start` under the [whatsapp] section
enables users to hide backlog messages before a given timestamp, specified
in ISO 8601 format. This is useful if you're migrating to this version
and don't want a million copies of all your messages to be sent.
- The `ignore_other_libraries` config flag was fixed to actually work.
- Instead of using heavyweight log4rs, which didn't really get us
much, we now just implement a logger with the log crate directly.
- Logging is configurable via three parameters:
* stdout log level
* IRC channel log level
* whether to log messages from other libraries, or not
- Logging configuration now has its own section in the config.
- We now actually handle group metadata changes well.
- Plus, we bridge admin status (via +o) in s2s mode.
- We don't mark our own messages as read any more (;_;), and we
don't spam the admin with self-messages either.