- Security: Updated Pillow to 10.0.1.
- Added support for double puppeting with arbitrary
as_token
s. See docs for more info. - Updated attachment upload API as the old one was slow.
- Changed error for expired media to look more like what Instagram shows and less like the bridge is broken.
- Improved handling of some message types.
- Added automatic retrying for sending videos to give Instagram servers more time to transcode the video.
- Added support for @-mentioning users from Matrix.
- Added support for bridging incoming avatar stickers.
- Added automatic fetching of shared reel videos to bridge full video instead of only the thumbnail image.
- Added real-time bridging of group avatar changes from Instagram.
- Added option to disable sending typing notifications to Instagram.
- Added notice message when receiving video calls.
- 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.
- Redid backfill system to support MSC2716.
- Note that using Synapse's MSC2716 implementation is not recommended, and the bridge can still backfill messages without MSC2716.
- Implemented appservice pinging using MSC2659.
- Possibly improved MQTT connection handling.
- Added support for "mentioned in comment" messages.
- Added support for re-requesting 2FA SMS when logging in.
- Updated Docker image to Alpine 3.17.
- Fixed error in image bridging.
- Fixed logging in with phone/email in provisioning API.
- Added option to send captions in the same message using MSC2530.
- Updated app version identifiers to bridge some new message types.
- Fixed race condition when backfilling chat with incoming message.
- Fixed login breaking due to an Instagram API change.
- Added support for SQLite as the bridge database.
- Added option to use MSC2409 and MSC3202 for end-to-bridge encryption. However, this may not work with the Synapse implementation as it hasn't been tested yet.
- 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
.
- Added handling for rate limit errors when connecting to Instagram.
- Added option to not bridge
m.notice
messages (thanks to @bramenn in #55). - Fixed bridging voice messages to Instagram (broke due to server-side changes).
- Made Instagram message processing synchronous so messages are bridged in order.
- Updated Docker image to Alpine 3.16.
- 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
- 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
- Added support for Matrix->Instagram replies.
- Added support for sending clickable links with previews to Instagram.
- Added support for creating DMs from Matrix (by starting a chat with a ghost).
- Added option to use MSC2246 async media uploads.
- Added support for logging in with a Facebook token in the provisioning API.
- Added support for sending giphy gifs (requires client support).
- Changed some fields to stop the user from showing up as online on Instagram all the time.
- Fixed messages on Instagram not being marked as read if last event on Matrix is not a normal message.
- Fixed incoming messages not being deduplicated properly in some cases.
- Removed legacy
community_id
config option. - Stopped running as root in Docker image (default user is now
1337
). - Disabled file logging in Docker image by default.
- If you want to enable it, set the
filename
in the file log handler to a path that is writable, then add"file"
back tologging.root.handlers
.
- If you want to enable it, set the
- Dropped Python 3.7 support.
- Added relay mode (see docs for more info).
- Added notices for unsupported incoming message types.
- Added support for more message types:
- "Tagged in post" messages
- Reel clip shares
- Profile shares
- Updated Docker image to Alpine 3.15.
- Formatted all code using black and isort.
N.B. Docker images have moved from dock.mau.dev/tulir/mautrix-instagram
to dock.mau.dev/mautrix/instagram
. New versions are only available at the new
path.
- Added retrying failed syncs when refreshing Instagram connection.
- Updated displayname handling to fall back to username if user has no displayname set.
- Updated Docker image to Alpine 3.14.
- Fixed handling some Instagram message types.
Initial tagged release.