N.B. This release requires a homeserver with Matrix v1.1 support, which bumps up the minimum homeserver versions to Synapse 1.54 and Dendrite 0.8.7. Minimum Conduit version remains at 0.4.0.
Added
- Added provisioning API for resolving Telegram identifiers (like usernames).
- Added support for bridging Telegram custom emojis to Matrix.
- Added option to not bridge chats with lots of members.
- Added option to include captions in the same message as the media to implement MSC2530. Sending captions the same way is also supported and enabled by default.
- Added commands to kick or ban relaybot users from Telegram.
- Added support for Telegram's disappearing messages.
- Added support for bridging forwarded messages as forwards on Telegram.
- Forwarding is not allowed in relay mode as the bot wouldn't be able to specify who sent the message.
- Matrix doesn't have real forwarding (there's no forwarding metadata), so only messages bridged from Telegram can be forwarded.
- Double puppeted messages from Telegram currently can't be forwarded without removing the
fi.mau.double_puppet_source
key from the content. - If forwarding fails (e.g. due to it being blocked in the source chat), the bridge will automatically fall back to sending it as a normal new message.
- Added options to make encryption more secure.
- The
encryption
->verification_levels
config options can be used to make the bridge require encrypted messages to come from cross-signed devices, with trust-on-first-use validation of the cross-signing master key. - The
encryption
->require
option can be used to make the bridge ignore any unencrypted messages. - Key rotation settings can be configured with the
encryption
->rotation
config.
- The
Improved
- Improved handling the bridge user leaving chats on Telegram, and new users being added on Telegram.
- Improved animated sticker conversion options: added support for animated webp and added option to convert video stickers (webm) to the specified image format.
- Audio and video metadata is now bridged properly to Telegram.
- Added database index on Telegram usernames (used when bridging username @-mentions in messages).
- Changed
/login/send_code
provisioning API to return a proper error when the phone number is not registered on Telegram.- The same login code can be used for registering an account, but registering is not currently supported in the provisioning API.
- Removed
plaintext_highlights
config option (the code using it was already removed in v0.11.0). - Enabled appservice ephemeral events by default for new installations.
- Existing bridges can turn it on by enabling
ephemeral_events
and disablingsync_with_custom_puppets
in the config, then regenerating the registration file.
- Existing bridges can turn it on by enabling
- Updated to API layer 144 so that Telegram would send new message types like premium stickers to the bridge.
- Updated Docker image to Alpine 3.16 and made it smaller.