Releases: mautrix/telegram
Releases · mautrix/telegram
v0.5.0-rc2
v0.5.0-rc1
Added
- More config options
- More commands
username
for setting Telegram username (#249).sync-state
for updating Matrix room state cache.matrix-ping
for checking Matrix login status (#270, thanks to @krombel).clear-db-cache
for clearing internal database caches.reload-user
for reloading and reconnecting a Telegram user.session
for listing and terminating other Telegram sessions.- Added argument to
login
to allow admins to log in for other users (#251).
- Added warning when logging in that it grants the bridge full access to the telegram account (#248).
- Telegram->Matrix bridging
- Added client ID in logs when making requests to telegram (#265)
- Added handling for Matrix room upgrades (#277)
Improved
- Removed lxml dependency from the new HTML parser and removed the old parser completely.
- Switched mautrix-appservice-python state store and most mautrix-telegram tables to SQLAlchemy core. This should speed things up and reduce problems with the ORM getting stuck (#263)
ensure_started
is now only called for logged in users, which should improve performance for large instances (#247).- Displayname template extras (e.g. the
(Telegram)
suffix) are now stripped when mentioning Telegram users with no username (#138). - Updated Telethon.
- Switched Dockerfile to use setup.py for dependencies to avoid dependency updates breaking stuff.
- Stopped using SQLAlchemy ORM. This should reduce problems with the ORM becoming stuck after an invalid transaction (#263), which will remove fake stack traces and make it easier to find where the actual invalid transaction happened.
- The telematrix import script will now warn about and skip over duplicate portals. (#243)
- Relaybot will now be used for users who have logged in, but are not in the chat (#205)
Fixed
v0.4.0
No changes since v0.4.0-rc2. Most of changelog in v0.4.0-rc1
v0.4.0-rc2
Fixed
- Kicking Telegram puppets from Matrix (#191)
v0.4.0-rc1
Added
- Flag to indicate if user can unbridge portal in provisioning API (#225, thanks to @turt2live).
- Option to send captions as second message (replaces option to send caption in
body
, #233) - Room-specific settings (#167).
Improved
- [Internal] Added type hints everywhere (mostly thanks to @V02460 in #206).
- Telegram->Matrix formatter now uses
<pre>
tags for multiline code even if said code was in the telegram equivalent of inline code tags. - Better bullets and linebreak handling in Matrix->Telegram formatter.
- Logging in will now show your phone number instead of
@None
if you don't have a username (#213). - Significantly improved performance on high-load instances (t2bot.io) by moving most used database tables to SQLAlchemy Core.
Fixed
- Bugs that caused database migrations to fail in some cases.
- Editing the config (e.g. whitelisting chats) corrupting the config (#216).
- Negative numbers (chat IDs) in
/connect
of the provisioning API (#223, thanks to @turt2live). - Relaybot creating portals automatically when receiving message (#219).
- Not being able to use a bridge bot localpart that would also match the puppet localpart format (#234).
- Matrix login sync failing completely if the homeserver stopped during a sync response (#210).
- Errors when cleaning rooms (#217).
- Bridging code blocks without a language (#240)
- Error and lost messages when trying to bridge PM from new users in some cases (#229)
- Logging in with an account that someone has already logged in failing silently and then breaking the bridge (#198)
- Relaybot message when adding/removing Matrix displaynames (#228)
v0.3.0
Changes since v0.3.0-rc3
- Added database URI format examples
- Bumped maximum Telethon version to 1.2, possibly fixing the catch_up option.
Changes since v0.2.0
Added
- Logging in with a bot (see wiki for usage).
- You can log in with a personal Telegram bot to appear almost like a real user without logging in with a real Telegram account.
- Replacing your Telegram account's Matrix puppet with your Matrix account (see wiki for usage).
- Formatting options for relaybot messages.
- Real displaynames are now supported and enabled by default.
- State events (join/leave/name change) can be independently disabled by setting the format to a blank string.
- New config sections
- Proper log config, including logging to file (by default)
- Proxy support (requires installing PySocks)
- Separate field for appservice address for homeserver (useful if using a reverse proxy).
- Option to change max body size for AS API
- New permission levels to allow initiating bridges without allowing puppeting and to allow Telegram puppeting without allowing Matrix puppeting.
- Telematrix import script (see wiki for usage).
- Provisioning API (see wiki for more info).
- DBMS migration script (see wiki for usage).
Improved
- Tabs are now replaced with 4 spaces so that Telegram servers wouldn't change the message.
- Help page now detects your permissions and only shows commands you can use.
- Moved Matrix state cache to the main database. This means that the
mx-state.json
file is no longer needed and all non-config data is stored in the main database. - Better lxml-based HTML parser for Matrix->Telegram formatting bridging. lxml is still optional, so the old parser is used as fallback if lxml is not installed.
- Disabled Telegram->Matrix bridging of messages sent by the relaybot. Can be re-enabled in config if necessary.
- Telegram message deduplication options
- Added pre-send message database check for deduplication
- Made dedup cache queue length configurable
- Bumped minimum mautrix-appservice version to include some recent bugfixes
- Bumped maximum Telethon version to 1.2, possibly fixing the catch_up option.
Fixed
- A
ValueError
in some cases when syncing power levels. - A minor error regarding power level changes (thanks @turt2live)
- Telegram connections being created for unauthenticated users possibly triggering spam protection connection delays in the Telegram servers.
- Logging out if a portal had been deleted/unbridged.
v0.3.0-rc3
- Improved Telegram message deduplication options
- Added pre-send message database check for deduplication
- Made dedup cache queue length configurable
v0.3.0-rc2
- Added option to change max body size for AS API
- Fixed a minor error regarding power level changes (thanks @turt2live)
- Updated minimum mautrix-appservice version to include some recent bugfixes
v0.3.0-rc1
Added
- Logging in with a bot (see wiki for usage).
- You can log in with a personal Telegram bot to appear almost like a real user without logging in with a real Telegram account.
- Replacing your Telegram account's Matrix puppet with your Matrix account (see wiki for usage).
- Formatting options for relaybot messages.
- Real displaynames are now supported and enabled by default.
- State events (join/leave/name change) can be independently disabled by setting the format to a blank string.
- New config sections
- Proper log config, including logging to file (by default)
- Proxy support (requires installing PySocks)
- Separate field for appservice address for homeserver (useful if using a reverse proxy).
- New permission levels to allow initiating bridges without allowing puppeting and to allow Telegram puppeting without allowing Matrix puppeting.
- Telematrix import script (see wiki for usage).
- Provisioning API (see wiki for more info).
- DBMS migration script (see wiki for usage).
Improved
- Tabs are now replaced with 4 spaces so that Telegram servers wouldn't change the message.
- Help page now detects your permissions and only shows commands you can use.
- Moved Matrix state cache to the main database. This means that the
mx-state.json
file is no longer needed and all non-config data is stored in the main database. - Better lxml-based HTML parser for Matrix->Telegram formatting bridging. lxml is still optional, so the old parser is used as fallback if lxml is not installed.
- Disabled Telegram->Matrix bridging of messages sent by the relaybot. Can be re-enabled in config if necessary.
Fixed
- A
ValueError
in some cases when syncing power levels. - Telegram connections being created for unauthenticated users possibly triggering spam protection connection delays in the Telegram servers.
- Logging out if a portal had been deleted/unbridged.
v0.2.0
- No changes since v0.2.0-rc6
Changes since v0.1.1
- Switched to AGPLv3
Added
- Support for using a relay bot to relay messages for unauthenticated users.
- Option to exclude telegram chats from being bridged.
- Bridging for message pinning and room mentions/pills.
- Matrix->Telegram sticker bridging.
!command
to/command
conversion at the start of Matrix message text.- Conversion of t.me message links to matrix.to message links
- Timestamp massaging (bridge Telegram timestamps to Matrix)
- Support for out-of-Matrix login (useful if you don't want your 2FA password to be stored in the homeserver)
- Optional HQ gif/video thumbnails using moviepy.
- Option to send bot messages as
m.notice
- Postgres compatibility
- Dockerfile
Improved
- Improved deduplication
- Matrix file uploads are now reused if the same Telegram file (e.g. a sticker) is sent multiple times
- Room metadata changes and other non-message actions are now deduplicated
- Improved formatting bridging
- Improved Telegram user display name handling in cases where one or more users have set custom display names for other users.
- Switched to telethon-session-sqlalchemy to have the session databases in the main database.
Fixed
- Fixed Alembic setup and removed automatic database generation.
- Fixed outgoing message deduplication in cases where message is sent to other clients before responding to the sender.
- Moved mautrix-appservice-python to a separate repository.