New features
- irc: Add option for lazy-join as well as configurable replay history strategy; Better handle DMs missed (#745, #755)
- irc: Add modern IRC color codes for syntax highlighting (#783)
- irc: Add support for custom emoji aliases / emojis (#793)
- irc: Add support for EmojiMart / Emojione (JoyPixels) naming conventions (#829)
- irc: Add CTCP PING, TIME, USERINFO, and VERSION support (#836)
- mattermost: Add User-Agent to Mattermost HTTP API calls (#779)
- mattermost: Add EXPERIMENTAL support for IRCv3 +typing message tags (#764, #768, #845)
- mattermost: Add EXPERIMENTAL support for using AI assistance (currently Gemini AI) to summarize posts/threads (#802, #803)
- Speed up summarising and reduce MM API calls by skipping GetFileInfo for posts (#822)
Enhancement
- general: Updated Go dependencies (#756, #757, #760)
- general: Reduce noisy logging downgrading some DEBUG to TRACE level (#791, #792, #817)
- general: Update DM channel name handling so it's via the bridge to make it cleaner to support other protocols (#813)
- general: Move Mattermost server version check to bridge making mm-go-irckit protocol-agnostic (#814)
- general: Include the JOIN list the IRC client sends on initial connect to whitelist & bypass LazyJoin (#824)
- irc: Unify replay, scrollback, search, and detail adding support for various parsing such as message attachments, Markdown, emoji, etc. (#744)
- Fix scrollback post ordering (#749)
- irc: Improve on reconnect and replaying of history (for DMs as well) (#753, #755, #766, #771)
- Fix replay for DMs - mismatch in saved vs. retrieval (#812)
- irc: Add support for Markdown strikethrough formatting (#763)
- irc: Refactor message text formatting & syntax highlighting (#765)
- irc: Refactor maybeShorten further simplifying text formatting (#769)
- irc: Add support for Markdown links / hyperlinks (#787)
- irc: Split out emoji related from utils/formatters; Refactor emoji handling (#795)
- irc: Improve emoji & skin tone generation (#797, #798, #799, #800)
- Add support for emoji and Markdown in topics to match behaviour in MM web UI / app (#801)
- irc: Allow JoinInclude to override LazyJoin; Enforce MaxReplayDuration for all replay strategies (#818)
- irc: Send 301 RPL_AWAY for DMs when user is marked away / offline / DND (#830)
- Fix showing user away for when replying within threads (#831)
- mattermost: Add context support making it more resilient to network hangs and ghost connections (#743)
- mattermost: Add option to update channel header/topic (with search-and-replace) (#761)
- mattermost: Add support for creating new channels (#762)
- mattermost: Add support for System-wide Notifications / announcement banners (#770)
- mattermost: Add support for channel renames & updates (#772)
- mattermost: Update to use post calls with retry/rate limit handling (#773)
- mattermost: Reduce direct Mattermost Client calls and use matterclient with retry & rate limit handling (#774)
- mattermost: Handle deduplication of message, attachment text, and attachment fallback (#777, #788)
- mattermost: Add support for showing file name and size for attachments (#784)
- mattermost: Include reply count and last replied/updated at for post embeds / preview (#786)
- mattermost: Improve formatting and appearance of Message Attachments short fields (#794)
- mattermost: Reduce MM API calls for DMs by using caches (#804)
- mattermost: Reduce MM API calls by caching posts seen via the WebSocket (#805, #806, #807)
- mattermost: Improve logging with channel and user names, not just IDs (#826)
- mattermost: Use the user and channel cache for logging user and channel names (#827)
- mattermost: Add option to omit Message Attachment field titles to allow more condensed message(s) (#832)
- mattermost: Update to support handling of post preview / embeds for message attachments (#833, #834)
Bugfix
- general: Fix reconnect failures, ignore logout failures when trying to reconnect (#746)
- general: Redact sensitive connect PASS & bridge login credentials from logs (#785)
- general: Fix crash with trying u.Srv.Channel() before channel is registered in memory (#823)
- irc: Switch from ANSI/terminal colors to IRC for better compatibility - not everyone uses a terminal IRC client (#747)
- irc: Fix mayJoin fallthrough bugs (#776)
- irc: Fix MOTD and LUSERS (#809)
- irc: Strip trailing spaces from lines sent to IRC client (#815)
- irc: Strip trailing new lines sent to IRC client (#816)
- irc: Include our list of channels to check if a user is in when doing a WHOIS (#835)
- irc: Use GetChannelsForTeamForUser to retrieve set of channels WHOIS user is in (#840)
- mattermost: Fix messages from system user to not have thread context (#767)
- mattermost: Fix to prevent duplicate LOGIN for mattermost (#810)
- mattermost: Fix double JSON unmarshaling; Replace json.NewDecoder(strings.NewReader() with json.Unmarshal() (#811)
- mattermost: Fix to use ExpiresAt to clear custom user statuses (#821)
- mattermost: Fix race where modifying/deleting wrong last sent message (#828)
- mattermost: Fix to better handle group DMs and avoid the getChannelIDTeam failures (#843)
- mattermost: Fix handling of channel renames (#844)
Full Changelog: v0.31.0...v0.32.0