# v1.17.4 ## Bugfix - general: Lowercase account names. Fixes #1108 (#1110) - msteams: Remove panics and retry polling on failure (msteams). Fixes #1104 (#1105 - whatsapp: Update Rhymen/go-whatsapp. Fixes #1107 (#1109) (make whatsapp working again) - discord: Add an ID cache (discord). Fixes #1106 (#1111) (fix delete/edits with webhooks) # v1.17.3 ## Enhancements - xmpp: Implement User Avatar spoofing of XMPP users #1090 - rocketchat: Relay Joins/Topic changes in RocketChat bridge (#1085) - irc: Add JoinDelay option (irc). Fixes #1084 (#1098) - slack: Clip too long messages on 3000 length (slack). Fixes #1081 (#1102) ## Bugfix - general: Fix the behavior of ShowTopicChange and SyncTopic (#1086) - slack: Prevent image/message looping (slack). Fixes #1088 (#1096) - whatsapp: Ignore non-critical errors (whatsapp). Fixes #1094 (#1100) - irc: Add extra space before colon in attachments (irc). Fixes #1089 (#1101) This release couldn't exist without the following contributors: @42wim, @ldruschk, @qaisjp, @Polynomdivision # v1.17.2 ## Enhancements - slack: Update vendor slack-go/slack (#1068) - general: Update vendor d5/tengo (#1066) - general: Clarify terminology used in mapping group chat IDs to channels in config (#1079) ## Bugfix - whatsapp: Update Rhymen/go-whatsapp vendor and whatsapp version (#1078). Fixes Media upload #1074 - whatsapp: Reset start timestamp on reconnect (whatsapp). Fixes #1059 (#1064) This release couldn't exist without the following contributors: @42wim, @jheiselman # v1.17.1 ## Enhancements - docker: Remove build dependencies from final image (multistage build) #1057 ## Bugfix - general: Don't transmit typing events from ourselves #1056 - general: Add support for build tags #1054 - discord: Strip extra info from emotes (discord) #1052 - msteams: fix macos build: Update vendor yaegashi/msgraph.go to v0.1.2 #1036 - whatsapp: Update client version whatsapp. Fixes #1061 #1062 This release couldn't exist without the following contributors: @awigen, @qaisjp, @42wim # v1.17.0 ## New features - msteams: new protocol added. Add initial Microsoft Teams support #967 See https://github.com/42wim/matterbridge/wiki/MS-Teams-setup for a complete walkthrough - discord: Add ability to procure avatars from the destination bridge #1000 - matrix: Add support for avatars from matrix. #1007 - general: support JSON and YAML config formats #1045 ## Enhancements - discord: Check only bridged channels for PermManageWebhooks #1001 - irc: Be less lossy when throttling IRC messages #1004 - keybase: updated library #1002, #1019 - matrix: Rebase gomatrix vendor with upstream #1006 - slack: Use upstream slack-go/slack again #1018 - slack: Ignore ConnectingEvent #1041 - slack: use blocks not attachments #1048 - sshchat: Update vendor shazow/ssh-chat #1029 - telegram: added markdownv2 mode for telegram #1037 - whatsapp: Implement basic reconnect (whatsapp). Fixes #987 #1003 ## Bugfix - discord: Fix webhook permission checks sometimes failing #1043 - discord: Fix #1027: warning when handling inbound webhooks #1044 - discord: Fix duplicate separator on empty description/url (discord) #1035 - matrix: Fix issue with underscores in links #999 - slack: Fix #1039: messages sent to Slack being synced back #1046 - telegram: Make avatars download work with mediaserverdownload (telegram). Fixes #920 This release couldn't exist without the following contributors: @qaisjp, @jakubgs, @burner1024, @notpushkin, @MartijnBraam, @42wim # v1.16.5 - Fix version bump # v1.16.4 ## New features - whatsapp: Add support for WhatsApp media (jpeg/png/gif) bridging (#974) - telegram: Add QuoteLengthLimit option (telegram) fixes #963 (#985) - telegram: Add DisableWebPagePreview option (telegram). Closes #980 (#994) ## Enhancements - general: update dependencies - tengo: update to tengo v2 - general: Add Docker Compose configuration (#990) ## Bugfix - general: Fail with message instead of panic. #988 (#991) - telegram: Add extra mimetypes to docker image. Fixes #969 - discord: Fix channel ID problem with multiple gateways (discord). Fixes #953 (#977) - discord: Show file comment in webhook if normal message is empty (discord). Fixes #962 (#995) - matrix: Fix parsing issues - Disable smartypants in markdown parser. Fixes #989, #983 (#993) - sshchat: Fix duplicated messages (sshchat). Fixes #950 (#996) This release couldn't exist without the following contributors: @jwflory, @42wim, @pbek, @Humorhenker, @c0ncord2, @glazzara # v1.16.3 ## Bugfix - slack: Fix issues with ratelimiting #959 - mattermost: Fix bug when using webhookURL and login/token together #960 # v1.16.2 ## New features - keybase: Add support for receiving attachments (keybase) (#923) ## Enhancements - general: Switch to new emoji library kyokomi/emoji (#948) - general: Update markdown parsing library to github.com/gomarkdown/markdown (#944) - ssh-chat: Update shazow/ssh-chat dependency (#947) ## Bugfix - slack: Fix issues with the slack block kit API #937 (#943). This release couldn't exist without the following contributors: @42wim, @bmpickford, @goncalor # v1.16.1 ## New features * rocketchat: add token support #892 * matrix: Add support for uploading application/x and audio/x (matrix). #929 ## Enhancements * general: Do configuration validation on start-up. Fixes #888 * general: updated vendored libraries (discord/whatsapp) #932 * discord: user typing messages #914 * slack: Convert slack bold/strike to correct markdown (slack). Fixes #918 ## Bugfix * discord: fix Failed to fetch information for members message. #894 * discord: remove obsolete file upload links (discord). #931 * slack: suppress unhandled HelloEvent message #913 * mattermost: Fix panic on WebhookURL only setting (mattermost). #917 * matrix: fix corrupted links between slack and matrix #924 This release couldn't exist without the following contributors: @qaisjp, @hramrach, @42wim # v1.16.0 ## New features * keybase: new protocol added. Add initial Keybase Chat support #877 Thanks to @hyperobject * discord: Support webhook files in discord #872 ## Enhancements * general: update dependencies ## Bugfix * discord: Underscores from Discord don't arrive correctly #864 * xmpp: Fix possible panic at startup of the XMPP bridge #869 * mattermost: Make getChannelIdTeam behave like GetChannelId for groups (mattermost) #873 This release couldn't exist without the following contributors: @hyperobject, @42wim, @bucko909, @MOZGIII # v1.15.1 ## New features * discord: Support webhook message deletions (discord) (#853) ## Enhancements * discord: Support bulk deletions #851 * discord: Support channels in categories #863 (use category/channel. See matterbridge.toml.sample for more info) * mattermost: Add an option to skip the Mattermost server version check #849 ## Bugfix * xmpp: fix segfault when disconnected/reconnected #856 * telegram: fix panic in handleEntities #858 This release couldn't exist without the following contributors: @42wim, @qaisjp, @joohoi # v1.15.0 ## New features * Add scripting (tengo) support for every outgoing message (#806) See https://github.com/42wim/matterbridge/wiki/Settings#tengo and https://github.com/42wim/matterbridge/wiki/Settings#outmessage for more information * Add tengo support to RemoteNickFormat (#793) See https://github.com/42wim/matterbridge/wiki/Settings#remotenickformat-2 * Deprecated `Message` under `[tengo]` to `InMessage` ## Enhancements * general: Forward only user-typing messages if supported by protocol (#832) * general: updated wiki with all possible settings: https://github.com/42wim/matterbridge/wiki/Settings * tengo: Add msg event to tengo * xmpp: Verify TLS against JID domain, not the host. (xmpp) (#834) * xmpp: Allow messages with timestamp (xmpp). Fixes #835 (#847) * irc: Add verbose IRC joins/parts (ident@host) (#805) See https://github.com/42wim/matterbridge/wiki/Settings#verbosejoinpart * rocketchat: Add useraction support (rocketchat). Closes #772 (#794) ## Bugfix * slack: Fix regression in autojoining with legacy tokens (slack). Fixes #651 (#848) * xmpp: Revert xmpp to orig behaviour. Closes #844 * whatsapp: Update github.com/Rhymen/go-whatsapp vendor. Fixes #843 * mattermost: Update channels of all teams (mattermost) This release couldn't exist without the following contributors: @42wim, @Helcaraxan, @chotaire, @qaisjp, @dajohi, @kousu # v1.14.4 ## Bugfix * mattermost: Add Id to EditMessage (mattermost). Fixes #802 * mattermost: Fix panic on nil message.Post (mattermost). Fixes #804 * mattermost: Handle unthreaded messages (mattermost). Fixes #803 * mattermost: Use paging in initUser and UpdateUsers (mattermost) * slack: Add lacking clean-up in Slack synchronisation (#811) * slack: Disable user lookups on delete messages (slack) (#812) # v1.14.3 ## Bugfix * irc: Fix deadlock on reconnect (irc). Closes #757 # v1.14.2 ## Bugfix * general: Update tengo vendor and load the stdlib. Fixes #789 (#792) * rocketchat: Look up #channel too (rocketchat). Fix #773 (#775) * slack: Ignore messagereplied and hidden messages (slack). Fixes #709 (#779) * telegram: Handle nil message (telegram). Fixes #777 * irc: Use default nick if none specified (irc). Fixes #785 * irc: Return when not connected and drop a message (irc). Fixes #786 * irc: Revert fix for #722 (Support quits from irc correctly). Closes #781 ## Contributors This release couldn't exist without the following contributors: @42wim, @Helcaraxan, @dajohi # v1.14.1 ## Bugfix * slack: Fix crash double unlock (slack) (#771) # v1.14.0 ## Breaking * zulip: Need to specify /topic:mytopic for channel configuration (zulip). (#751) ## New features * whatsapp: new protocol added. Add initial WhatsApp support (#711) Thanks to @KrzysztofMadejski * facebook messenger: new protocol via matterbridge api. See https://github.com/VictorNine/fbridge/ for more information. * general: Add scripting (tengo) support for every incoming message (#731). See `TengoModifyMessage` * general: Allow regexs in ignoreNicks. Closes #690 (#720) * general: Support rewriting messages from relaybots using ExtractNicks. Fixes #466 (#730). See `ExtractNicks` in matterbridge.toml.sample * general: refactor Make all loggers derive from non-default instance (#728). Thanks to @Helcaraxan * rocketchat: add support for the rocketchat API. Sending to rocketchat now supports uploading of files, editing and deleting of messages. * discord: Support join/leaves from discord. Closes #654 (#721) * discord: Allow sending discriminator with Discord username (#726). See `UseDiscriminator` in matterbridge.toml.sample * slack: Add extra debug option (slack). See `Debug` in the slack section in matterbridge.toml.sample * telegram: Add support for URL in messageEntities (telegram). Fixes #735 (#736) * telegram: Add MediaConvertWebPToPNG option (telegram). (#741). See `MediaConvertWebPToPNG` in matterbridge.toml.sample ## Enhancements * general: Fail gracefully on incorrect human input. Fixes #739 (#740) * matrix: Detect html nicks in RemoteNickFormat (matrix). Fixes #696 (#719) * matrix: Send notices on join/parts (matrix). Fixes #712 (#716) ## Bugfix * general: Handle file upload/download only once for each message (#742) * zulip: Fix error handling on bad event queue id (zulip). Closes #694 * zulip: Keep reconnecting until succeed (zulip) (#737) * irc: add support for (older) unrealircd versions. #708 * irc: Support quits from irc correctly. Fixes #722 (#724) * matrix: Send username when uploading video/images (matrix). Fixes #715 (#717) * matrix: Trim
and
tags (matrix). Closes #686 (#753) * slack: Hint at thread replies when messages are unthreaded (slack) (#684) * slack: Fix race-condition in populateUser() (#767) * xmpp: Do not send topic changes on connect (xmpp). Fixes #732 (#733) * telegram: Fix regression in HTML handling (telegram). Closes #734 * discord: Do not relay any bot messages (discord) (#743) * rocketchat: Do not send duplicate messages (rocketchat). Fixes #745 (#752) ## Contributors This release couldn't exist without the following contributors: @Helcaraxan, @KrzysztofMadejski, @AJolly, @DeclanHoare # v1.13.1 This release fixes go modules issues because of https://github.com/labstack/echo/issues/1272 ## Bugfix * general: fixes Unable to build 1.13.0 #698 * api: move to labstack/echo/v4 fixes #698 # v1.13.0 ## New features * general: refactors of telegram, irc, mattermost, matrix, discord, sshchat bridges and the gateway. * irc: Add option to send RAW commands after connection (irc) #490. See `RunCommands` in matterbridge.toml.sample * mattermost: 3.x support dropped * mattermost: Add support for mattermost threading (#627) * slack: Sync channel topics between Slack bridges #585. See `SyncTopic` in matterbridge.toml.sample * matrix: Add support for markdown to HTML conversion (matrix). Closes #663 (#670) * discord: Improve error reporting on failure to join Discord. Fixes #672 (#680) * discord: Use only one webhook if possible (discord) (#681) * discord: Allow to bridge non-bot Discord users (discord) (#689) If you prefix a token with `User ` it'll treat is as a user token. ## Bugfix * slack: Try downloading files again if slack is too slow (slack). Closes #655 (#656) * slack: Ignore LatencyReport event (slack) * slack: Fix #668 strip lang in code fences sent to Slack (#673) * sshchat: Fix sshchat connection logic (#661) * sshchat: set quiet mode to filter joins/quits * sshchat: Trim newlines in the end of relayed messages * sshchat: fix media links * sshchat: do not relay "Rate limiting is in effect" message * mattermost: Fail if channel starts with hashtag (mattermost). Closes #625 * discord: Add file comment to webhook messages (discord). Fixes #358 * matrix: Fix displaying usernames for plain text clients. (matrix) (#685) * irc: Fix possible data race (irc). Closes #693 * irc: Handle servers without MOTD (irc). Closes #692 # v1.12.3 ## Bugfix * slack: Fix bot (legacy token) messages not being send. Closes #571 * slack: Populate user on channel join (slack) (#644) * slack: Add wait option for populateUsers/Channels (slack) Fixes #579 (#653) # v1.12.2 ## Bugfix * irc: Fix multiple channel join regression. Closes #639 * slack: Make slack-legacy change less restrictive (#626) # v1.12.1 ## Bugfix * discord: fix regression on server ID connection #619 #617 * discord: Limit discord username via webhook to 32 chars * slack: Make sure threaded files stay in thread (slack). Fixes #590 * slack: Do not post empty messages (slack). Fixes #574 * slack: Handle deleted/edited thread starting messages (slack). Fixes #600 (#605) * irc: Rework connection logic (irc) * irc: Fix Nickserv logic (irc) #602 # v1.12.0 ## Breaking changes The slack bridge has been split in a `slack-legacy` and `slack` bridge. If you're still using `legacy tokens` and want to keep using them you'll have to rename `slack` to `slack-legacy` in your configuration. See [wiki](https://github.com/42wim/matterbridge/wiki/Section-Slack-(basic)#legacy-configuration) for more information. To migrate to the new bot-token based setup you can follow the instructions [here](https://github.com/42wim/matterbridge/wiki/Slack-bot-setup). Slack legacy tokens may be deprecated by Slack at short notice, so it is STRONGLY recommended to use a proper bot-token instead. ## New features * general: New {GATEWAY} variable for `RemoteNickFormat` #501. See `RemoteNickFormat` in matterbridge.toml.sample. * general: New {CHANNEL} variable for `RemoteNickFormat` #515. See `RemoteNickFormat` in matterbridge.toml.sample. * general: Remove hyphens when auto-loading envvars from viper config #545 * discord: You can mention discord-users from other bridges. * slack: Preserve threading between Slack instances #529. See `PreserveThreading` in matterbridge.toml.sample. * slack: Add ability to show when user is typing across Slack bridges #559 * slack: Add rate-limiting * mattermost: Add support for mattermost [matterbridge plugin](https://github.com/matterbridge/mattermost-plugin) * api: Respond with message on connect. #550 * api: Add a health endpoint to API #554 ## Bugfix * slack: Refactoring and making it better. * slack: Restore file comments coming from Slack. #583 * irc: Fix IRC line splitting. #587 * mattermost: Fix cookie and personal token behaviour. #530 * mattermost: Check for expiring sessions and reconnect. ## Contributors This release couldn't exist without the following contributors: @jheiselman, @NikkyAI, @dajohi, @NetwideRogue, @patcon and @Helcaraxan Special thanks to @Helcaraxan and @patcon for their work on improving/refactoring slack. # v1.11.3 ## Bugfix * mattermost: fix panic when using webhooks #491 * slack: fix issues regarding API changes and lots of channels #489 * irc: fix rejoin on kick problem #488 # v1.11.2 ## Bugfix * slack: fix slack API changes regarding to files/images # v1.11.1 ## New features * slack: Add support for slack channels by ID. Closes #436 * discord: Clip too long messages sent to discord (discord). Closes #440 ## Bugfix * general: fix possible panic on downloads that are too big #448 * general: Fix avatar uploads to work with MediaDownloadPath. Closes #454 * discord: allow receiving of topic changes/channel leave/joins from other bridges through the webhook * discord: Add a space before url in file uploads (discord). Closes #461 * discord: Skip empty messages being sent with the webhook (discord). #469 * mattermost: Use nickname instead of username if defined (mattermost). Closes #452 * irc: Stop numbers being stripped after non-color control codes (irc) (#465) * slack: Use UserID to look for avatar instead of username (slack). Closes #472 # v1.11.0 ## New features * general: Add config option MediaDownloadPath (#443). See `MediaDownloadPath` in matterbridge.toml.sample * general: Add MediaDownloadBlacklist option. Closes #442. See `MediaDownloadBlacklist` in matterbridge.toml.sample * xmpp: Add channel password support for XMPP (#451) * xmpp: Add message correction support for XMPP (#437) * telegram: Add support for MessageFormat=htmlnick (telegram). #444 * mattermost: Add support for mattermost 5.x ## Enhancements * slack: Add Title from attachment slack message (#446) * irc: Prevent white or black color codes (irc) (#434) ## Bugfix * slack: Fix regexp in replaceMention (slack). (#435) * irc: Reconnect on quit. (irc) See #431 (#445) * sshchat: Ignore messages from ourself. (sshchat) Closes #439 # v1.10.1 ## New features * irc: Colorize username sent to IRC using its crc32 IEEE checksum (#423). See `ColorNicks` in matterbridge.toml.sample * irc: Add support for CJK to/from utf-8 (irc). #400 * telegram: Add QuoteFormat option (telegram). Closes #413. See `QuoteFormat` in matterbridge.toml.sample * xmpp: Send attached files to XMPP in different message with OOB data and without body (#421) ## Bugfix * general: updated irc/xmpp/telegram libraries * mattermost/slack/rocketchat: Fix iconurl regression. Closes #430 * mattermost/slack: Use uuid instead of userid. Fixes #429 * slack: Avatar spoofing from Slack to Discord with uppercase in nick doesn't work (#433) * irc: Fix format string bug (irc) (#428) # v1.10.0 ## New features * general: Add support for reloading all settings automatically after changing config except connection and gateway configuration. Closes #373 * zulip: New protocol support added (https://zulipchat.com) ## Enhancements * general: Handle file comment better * steam: Handle file uploads to mediaserver (steam) * slack: Properly set Slack user who initiated slash command (#394) ## Bugfix * general: Use only alphanumeric for file uploads to mediaserver. Closes #416 * general: Fix crash on invalid filenames * general: Fix regression in ReplaceMessages and ReplaceNicks. Closes #407 * telegram: Fix possible nil when using channels (telegram). #410 * telegram: Fix panic (telegram). Closes #410 * telegram: Handle channel posts correctly * mattermost: Update GetFileLinks to API_V4 # v1.9.1 ## New features * telegram: Add QuoteDisable option (telegram). Closes #399. See QuoteDisable in matterbridge.toml.sample ## Enhancements * discord: Send mediaserver link to Discord in Webhook mode (discord) (#405) * mattermost: Print list of valid team names when team not found (#390) * slack: Strip markdown URLs with blank text (slack) (#392) ## Bugfix * slack/mattermost: Make our callbackid more unique. Fixes issue with running multiple matterbridge on the same channel (slack,mattermost) * telegram: fix newlines in multiline messages #399 * telegram: Revert #378 # v1.9.0 (the refactor release) ## New features * general: better debug messages * general: better support for environment variables override * general: Ability to disable sending join/leave messages to other gateways. #382 * slack: Allow Slack @usergroups to be parsed as human-friendly names #379 * slack: Provide better context for shared posts from Slack<=>Slack enhancement #369 * telegram: Convert nicks automatically into HTML when MessageFormat is set to HTML #378 * irc: Add DebugLevel option ## Bugfix * slack: Ignore restricted_action on channel join (slack). Closes #387 * slack: Add slack attachment support to matterhook * slack: Update userlist on join (slack). Closes #372 # v1.8.0 ## New features * general: Send chat notification if media is too big to be re-uploaded to MediaServer. See #359 * general: Download (and upload) avatar images from mattermost and telegram when mediaserver is configured. Closes #362 * general: Add label support in RemoteNickFormat * general: Prettier info/debug log output * mattermost: Download files and reupload to supported bridges (mattermost). Closes #357 * slack: Add ShowTopicChange option. Allow/disable topic change messages (currently only from slack). Closes #353 * slack: Add support for file comments (slack). Closes #346 * telegram: Add comment to file upload from telegram. Show comments on all bridges. Closes #358 * telegram: Add markdown support (telegram). #355 * api: Give api access to whole config.Message (and events). Closes #374 ## Bugfix * discord: Check for a valid WebhookURL (discord). Closes #367 * discord: Fix role mention replace issues * irc: Truncate messages sent to IRC based on byte count (#368) * mattermost: Add file download urls also to mattermost webhooks #356 * telegram: Fix panic on nil messages (telegram). Closes #366 * telegram: Fix the UseInsecureURL text (telegram). Closes #184 # v1.7.1 ## Bugfix * telegram: Enable Long Polling for Telegram. Reduces bandwidth consumption. (#350) # v1.7.0 ## New features * matrix: Add support for deleting messages from/to matrix (matrix). Closes #320 * xmpp: Ignore