Releases: mautrix/telegram
Releases · mautrix/telegram
v0.15.2
v0.15.1
- Updated Telegram API to layer 169.
- Updated Docker image to Alpine 3.19.
- Fixed some potential cases where a portal room would be created for the relaybot even if
ignore_unbridged_group_chat
was enabled. - Fixed member sync in groups with hidden members causing puppeted Matrix users to be kicked even if they're still in the group.
v0.15.0
- Removed support for MSC2716 backfilling.
- Added
add-contact
anddelete-contact
commands. - Updated Telegram API layer to 166.
- Includes receiving view-once media, blockquotes, quote replies and other such things
- Fixed AuthKeyNotFound errors not being handled and causing users to get stuck in a non-logged-in state.
v0.14.2
- Security: Updated Pillow to 10.0.1.
- Added support for double puppeting with arbitrary
as_token
s. See docs for more info. - Added support for sending webm and tgs files as stickers.
- Updated to Telegram API layer 161.
- Fixed cached usernames for Telegram users being cleared incorrectly, leading to mentions not being bridged as usernames.
- Fixed reaction bridging failing if the server running the bridge was rebooted less than 12 hours ago.
v0.14.1
Added
- Added option to delete megolm sessions that were received before the automatic ratcheting options were introduced.
- Added config option to use IPv6 for Telegram connection (thanks to @exciler in #920).
Improved
- Dropped support for Python 3.8.
- Updated Docker image to Alpine 3.18.
- Added timeout for forward backfills to prevent it from getting stuck permanently.
Fixed
- Fixed
bridge.filter.users
config option not being read correctly. - Fixed proxy support to use python-socks instead of pysocks.
v0.14.0
Added
- Added fallback messages for calls and premium gifts.
- Added options to automatically ratchet/delete megolm sessions to minimize access to old messages.
- Added option to not set room name/avatar even in encrypted rooms.
- Implemented appservice pinging using MSC2659.
- Added option to disable or filter bridging direct chats (thanks to @Steffo99 in #892).
- Added options to specify different limits for forward and catchup backfilling depending on chat type.
Improved
- Improved handling logouts and certain connection errors.
- Changed reaction bridging to preserve timestamps.
- Disabled creating portals for DMs that don't have any messages when
sync_direct_chats
is enabled.
Fixed
- Fixed syncing mute status when portal is created through incoming message rather than in startup sync.
- Fixed bridge incorrectly trusting member list and kicking users when supergroup has member list hidden.
- Fixed sending messages after creating groups from Matrix using relaybot instead of puppet (thanks to @maltee1 in #902).
v0.13.0
Added
- Added
allow_contact_info
config option to specify whether personal names and avatars for other users should be bridged.- The option is only safe to enable on single-user instances, using it anywhere else will cause ghost user profiles to flip back and forth between personal and default ones.
- Added config option to notify Matrix room if bridging an incoming message fails.
Improved
- Updated Docker image to Alpine 3.17.
- Updated to Telegram API layer 152.
- Improved handling users getting logged out.
- Removed support for creating accounts, as Telegram only allows requesting SMS login codes on the official mobile clients now.
- Replaced moviepy with calling ffmpeg directly for generating video thumbnails.
Fixed
- Fixed handling Telegram chat upgrades when backfilling is enabled.
- Fixed file transfers failing if transfering the thumbnail fails.
- Fixed bridging unnamed files with unrecognized mime types.
- Fixed enqueueing more backfill.
- Fixed timestamps not being saved in
telegram_file
table. - Fixed issues with old events being replayed if the bridge was shut down uncleanly.
v0.12.2
Added
- Added built-in custom emoji packs to allow reacting with any standard unicode emoji from Matrix (note that only premium users can use custom emojis).
- Added infinite backfill using MSC2716.
- The new system includes a backwards compatibility mechanism which uses the old method of just sending events to the room. By default, MSC2716 is not enabled and the legacy method will be used.
Improved
- Redacting reactions on Matrix no longer removes the user's other reactions to the same message (premium users can have up to 3 reactions per message).
- Changes to default user permissions on Telegram are now bridged.
- Added database index to make reaction polling more efficient (thanks to @AndrewFerr in #862).
Fixed
- Fixed provisioning API not working with URL-encoded parameters.
v0.12.1
Added
- Support for custom emojis in reactions.
- Like other bridges with custom emoji reactions, they're bridged as
mxc://
URIs, so client support is required to render them properly.
- Like other bridges with custom emoji reactions, they're bridged as
Improved
- The bridge will now poll for reactions to 20 most recent messages when receiving a read receipt. This works around Telegram's bad protocol that doesn't notify clients on reactions to other users' messages.
- The docker image now has an option to bypass the startup script by setting the
MAUTRIX_DIRECT_STARTUP
environment variable. Additionally, it will refuse to run as a non-root user if that variable is not set (and print an error message suggesting to either set the variable or use a custom command). - Moved environment variable overrides for config fields to mautrix-python. The new system also allows loading JSON values to enable overriding maps like
login_shared_secret_map
.
Fixed
ChatParticipantsForbidden
is handled properly when syncing non-supergroup info.- Fixed some bugs with file transfers when using SQLite.
- Fixed error when attempting to log in again after logging out.
- Fixed QR login not working.
- Fixed error syncing chats if bridging a message had previously been interrupted.
v0.12.0
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.