Mattermost Self-Hosted Changelog

Mattermost is an open source platform for secure collaboration across the entire software development lifecycle. This changelog summarizes updates for the latest self-hosted versions of Mattermost.

See the changelog in progress for the upcoming release. See the Legacy Self-Hosted Mattermost Changelog for details on all Mattermost self-hosted releases prior to v5.37.

Latest Mattermost Releases:

Release v6.3 - Extended Support Release

  • v6.3.1, released 2022-01-21

    • Mattermost v6.3.1 contains a medium level security fix. Upgrading to this release is recommended. Details will be posted on our security updates page 30 days after release as per the Mattermost Responsible Disclosure Policy.

    • Updated Mattermost Boards to v0.12.1 with various bug fixes.

    • Added the ability to normalize DN strings if they were returned with a different attribute letter casing for LDAP users versus LDAP group members MM-40753.

    • Removed file attachment options in channels when file attachments are disabled on the server MM-38054.

    • Fixed a bug causing the team sidebar to display for servers running in a subpath.

  • v6.3.0, released 2022-01-16

    • Original 6.3.0 release

Highlights

Playbook Updates

  • (Enterprise Edition) Granular permission schemes enable more access control of playbooks.

  • Playbooks is now completely translatable with over a dozen languages in-progress.

  • All in-channel notifications are removed, with high-value notifications being delivered via direct message from the Playbooks Bot to reduce channel noise.

Boards Updates

  • Boards is now officially in General Availability (GA).

  • Ability to follow cards and get a message notification with details of all the changes made on the card.

  • Ability to quickly identify users and assign them tasks with avatars now supported in the person properties.

  • Newest comments are now sorted at the top to easily find the most recent comment.

Improvements

User Interface (UI)

  • Webapp plugins can now register components in the App Bar on the right-hand side of the screen. This feature is hidden behind a feature flag and disabled by default.

  • Updated “Terms of Service” terminology to “Terms of Use” product-wide.

  • Added threaded replies to search results when Collapsed Reply Threads is enabled.

  • Updated the “One-click reactions on messages” user setting to “Quick reactions on messages”.

  • Added tab focus support to the global header and user avatars.

  • Added a new Replies banner to the right-hand side Thread viewer.

  • Updated the About Mattermost Team Edition modal to change the community link from mattermost.org to mattermost.com/community/.

  • Invite to team modal now auto-focuses its email search input.

Enterprise Edition

  • Added a new dialog for Remove License confirmation.

  • The Renew Now button is no longer shown if the license ID does not exist in the portal. Instead, Contact Sales is shown.

  • System Admins are now able to upgrade the server to the Enterprise edition and request the trial license with a single click for a simplified user experience.

Administration

  • The config setting ServiceSettings.EnableReliableWebSockets promoted to general availability. For compatibility with older clients, the server will always return true for the /v4/config/client endpoint.

  • Added server support for receiving binary (messagepack encoded) WebSocket messages.

  • Added new flag showTeamSidebar in registerProducts, which, when set to true, displays the team sidebar in the product.

  • Memberlist logs and buckets are now parsed by DEBUG, INFO, WARN, or ERROR appropriately.

  • Increased key length in plugin KV store to 150.

Bug Fixes

  • Fixed an issue where when selecting the Upgrade to Enterprise Edition option. The upgrade progress bar and the Restart button were no longer shown once the progress reached 100%.

  • Fixed an issue where the user avatar wasn’t removed from the participants list after the user’s only post in a thread was deleted.

  • Fixed an issue with the exit animation on the invitation modal.

  • Fixed an issue where the status menu unexpectedly closed when selecting the “Disable Notifications Until” header.

  • Fixed an issue where using CMD/CTRL + SHIFT + F in global threads did not add a search term automatically.

  • Fixed the alignment of the “X” button in the “message deleted” system message.

  • Fixed an issue where the long post “Show More/Less” background was broken in the Thread viewer.

  • Changed Client4 to properly set Content-Type as application/json on API calls.

  • Fixed an issue with post hover menu overlap.

config.json

Changes to Team Edition and Enterprise Edition:

  • The config setting ServiceSettings.EnableReliableWebSockets was removed, and the ability to buffer messages during a connection loss has been promoted to general availability. This setting is enabled for older clients to maintain backwards compatibility.

Go Version

  • v6.3 is built with Go v1.16.7.

Known Issues

  • Announcement banner can cause the top team to be partially obstructed MM-40887.

  • “New Replies” banner may display on the right-hand side for a thread that’s entirely visible MM-40317.

  • File upload might fail for SVG files MM-38982.

  • CTRL/CMD + SHIFT + A shortcut does not open Account Settings MM-38236.

  • Known issues related to the Collapsed Reply Threads (Beta) are listed here.

  • Adding an at-mention at the start of a post draft and pressing the leftwards or rightwards arrow can clear the post draft and the undo history MM-33823.

  • Google login fails on the Classic mobile apps.

  • Status may sometimes get stuck as Away or Offline in High Availability mode with IP Hash turned off.

  • Searching stop words in quotation marks with Elasticsearch enabled returns more than just the searched terms.

  • The team sidebar on the desktop app does not update when channels have been read on mobile.

  • Slack import through the CLI fails if email notifications are enabled.

  • Push notifications don’t always clear on iOS when running Mattermost in High Availability mode.

Release v6.2 - Feature Release

  • v6.2.2, released 2022-01-21

    • Mattermost v6.2.2 contains a medium level security fix. Upgrading to this release is recommended. Details will be posted on our security updates page 30 days after release as per the Mattermost Responsible Disclosure Policy.

    • Fixed an issue with the v6 migration where the Users.Timezone column had a default. This affected servers that had Mattermost v4.9 or earlier installed before upgrading to v6.0 or later MM-39297.

    • Fixed an issue where attempting to parse an empty flag resulted in a spurious log line which clogged up the console.

  • v6.2.1, released 2021-12-17

  • v6.2.0, released 2021-12-16

Important Upgrade Notes

  • Channel results in the channel autocomplete will include private channels. Customers using Bleve or Elasticsearch for autocomplete will have to reindex their data to get the new results. Since this can take a long time, we suggest disabling autocomplete and running indexing in the background. When this is complete, re-enable autocomplete. Note that only channel members will see private channel names in autocomplete results.

IMPORTANT: If you upgrade from a release earlier than v6.1, please read the other Important Upgrade Notes.

Highlights

Playbook Updates

  • Added the ability to follow playbook runs to stay informed about the procedures you care about.

  • Added other improvements including the ability to search playbooks, share URLs of individual runs and playbooks, and filter runs by playbook.

Boards Updates

  • Added a calendar view to stay on track with deadlines.

  • Added the ability to @mention someone on a card with ease.

Improvements

User Interface (UI)

  • Clarified Latex Rendering config setting descriptions and fixed a broken product documentation link.

  • Updated the “One-click reactions on messages” user setting to “Quick reactions on messages”.

  • Updated Account Settings terminology to Profile.

  • Updated instances of switch to navigate.

  • Updated in-product text terminology to shift from comments to conversations and replies.

  • Added a Click to open thread setting for all users, to allow users to click anywhere on a message to open the reply thread.

  • Do Not Disturb option for Tomorrow now displays the expiry time.

  • Recent emojis now get updated based on the default selected skin tone.

  • Updated SingleImageView to hide the image name for attached images until the image is collapsed.

  • Moved the expand arrow to the left of an image name.

  • The image expansion icon now appears on image hover.

  • Added online status to profile images on user autocomplete.

  • App Commands now have an option to be opened as modals.

  • Added support for navigating through Collapsed Reply Threads via arrow keys.

  • Added support for focusing the input box in Collapsed Reply Threads while typing.

  • Added support for blurring the input box in Collapsed Reply Threads by pressing ESCAPE.

  • Adjusted the channel override desktop notification preference for Threads.

  • User interface is now improved when no text is set for a custom status.

Performance

  • Added a general performance fix for loading the web application and typing.

  • Improved performance while typing by moving some autocomplete layout calculations.

  • Improved performance by reducing DOM usage during render.

Enterprise Edition

  • Implemented a new design for the current Edition and License System Console page in Self-Hosted installs.

Bug Fixes

  • Fixed an issue where OpenID redirects didn’t work when hosting Mattermost on a subdirectory.

  • Fixed an issue where the webapp crashed sometimes when clicking on an image file from “Recent files”.

  • Fixed an issue where the default log rotation file size was mistakenly set to 10GB, and is now reverted back to 100MB.

  • Fixed an issue where emoji reaction buttons on posts did not respect user permissions.

  • Fixed an issue where unchecking the automatic timezone changed the timezone in the selector.

  • Fixed an issue where emoji names were being truncated too soon in the emoji picker.

  • Fixed an issue where the thread footer did not allow the user to follow a Thread.

  • Fixed an issue where the app crashed when switching to Threads view after leaving a channel.

  • Fixed an issue where Mattermost crashed when deleting a root post from Global Threads.

  • Fixed an issue where push notifications did not clear from the lock screen or the notification center with Collapsed Reply Threads enabled.

  • Fixed an issue where Direct Message notifications were missing the sender name with Collapsed Reply Threads enabled.

  • Fixed an issue where keyboard shortcuts were not working with Global Threads.

  • Fixed an issue where API allowed changing the name of the Town Square channel.

  • Fixed an issue where errors were logged if a user disabled notifications.

  • Fixed an issue where a channel was not immediately removed from the sidebar when the current user was removed from it.

  • Fixed a potential server crash when creating or updating posts with permalink previews.

  • Fixed an issue where permalinks created from saved posts did not correctly redirect to the correct team.

  • Fixed an issue where long file extension names pushed out of the bounds of the module.

  • Fixed slow channel loading for instances with website link previews enabled.

  • Removed real-time updates of a couple of features to prevent overloading servers on user updates. The “This channel has guests” indicator and the number of timezones displayed when notifying members of a group will only be updated on channel change now.

config.json

Multiple setting options were added to config.json. Below is a list of the additions and their default values on install. The settings can be modified in config.json, or the System Console when available.

Changes to Team Edition and Enterprise Edition:

  • Under ServiceSettings in config.json:

    • Added a new config setting DeveloperFlags.

  • Removed DesktopLatestVersion and DesktopMinVersion config settings.

API Changes

  • Added a new IsEnterpriseReady() plugin API.

  • Added a new GET /api/v4/roles API endpoint.

  • Added new UpdateCustomStatus and RemoveUserCustomStatus plugin APIs for user custom status.

  • Added CRUD methods for user sessions to the plugin API.

Go Version

  • v6.2 is built with Go v1.16.7.

Known Issues

  • Collapsed Reply Threads is currently in beta. Before enabling the feature, please ensure you are well versed in the known issues, particularly relating to database resource requirements and server performance implications. If you cannot easily scale up your database size, or are running the Mattermost application server and database server on the same machine, we recommended waiting to enable Collapsed Reply Threads until it’s promoted to general availability in Q1 2022. Learn more about these performance considerations here.

  • Member type is missing from autocomplete MM-38989.

  • File upload might fail for SVG files MM-38982.

  • CTRL/CMD + SHIFT + A shortcut does not open Settings MM-38236.

  • Known issues related to the Collapsed Reply Threads (Beta) are listed here.

  • Adding an at-mention at the start of a post draft and pressing the leftwards or rightwards arrow can clear the post draft and the undo history MM-33823.

  • Google login fails on the Classic mobile apps.

  • Status may sometimes get stuck as Away or Offline in High Availability mode with IP Hash turned off.

  • Searching stop words in quotation marks with Elasticsearch enabled returns more than just the searched terms.

  • The team sidebar on the desktop app does not update when channels have been read on mobile.

  • Slack import through the CLI fails if email notifications are enabled.

  • Push notifications don’t always clear on iOS when running Mattermost in High Availability mode.

  • Boards are not refreshing on creation. See the GitHub discussion for more information.

  • When selecting the Upgrade to Enterprise Edition button, the upgrade progress bar and the restart button are no longer shown once progress reaches 100%. Users can’t restart the server directly from the Mattermost user interface, and must restart the server manually.

Contributors

Release v6.1 - Feature Release

  • v6.1.2, released 2022-01-21

    • Mattermost v6.1.2 contains a medium level security fix. Upgrading to this release is recommended. Details will be posted on our security updates page 30 days after release as per the Mattermost Responsible Disclosure Policy.

    • Fixed an issue with the v6 migration where the Users.Timezone column had a default. This affected servers that had Mattermost v4.9 or earlier installed before upgrading to v6.0 or later MM-39297.

  • v6.1.1, released 2021-12-17

    • Mattermost v6.1.1 contains medium level security fixes. Upgrading to this release is recommended. Details will be posted on our security updates page 30 days after release as per the Mattermost Responsible Disclosure Policy.

    • Added a general performance fix for loading the web application and typing.

    • Improved performance while typing by moving some autocomplete layout calculations.

    • Improved performance by reducing DOM usage during render.

    • Removed real-time updates of a couple of features to prevent overloading servers on user updates. The “This channel contains guests” indicator and the number of timezones displayed when notifying members of a group will only be updated on channel change now.

    • Fixed slow channel loading for instances with website link previews enabled.

    • Fixed an issue with Focalboard where an empty white screen appeared in Mattermost desktop app on reload.

    • Fixed an issue where v6.1 reported an incorrect mmctl version.

  • v6.1, released 2021-11-16

Important Upgrade Notes

  • Please refer to the schema migration analysis when upgrading to v6.1.

  • The Bleve index has been updated to use the scorch index type. This new default index type features some efficiency improvements which means that the indexes use significantly less disk space. To use this new type of index, after upgrading the server version, run a purge operation and then a reindex from the Bleve section of the System Console. Bleve is still compatible with the old indexes, so the currently indexed data will work fine if the purge and reindex is not run.

  • A composite index has been added to the jobs table for better query performance. For some customers with a large jobs table, this can take a long time, so we recommend adding the index during off-hours, and then running the migration. A table with more than 1 million rows can be considered as large enough to be updated prior to the upgrade.

    • For PostgreSQL: create index concurrently idx_jobs_status_type on jobs (status,type);

    • For MySQL: create index idx_jobs_status_type on Jobs (Status,Type);

IMPORTANT: If you upgrade from a release earlier than v6.0, please read the other Important Upgrade Notes.

Highlights

Timed Do Not Disturb

  • Added the ability to disable all notifications for a specified period of time to avoid distractions, without losing important messages when you’re back.

Cross-team Recent Mentions

  • Recent mentions and saved posts now show across all teams.

Playbooks Updates

  • Added a wiki-style page with a playbook preview as well as new playbook notifications.

Boards Updates

  • Added a new create board user interface, Board calculations to quickly get basic metrics on projects, at-mention notifications, as well as card previews.

Improvements

User Interface (UI)

  • Polish is promoted to an officially supported language.

  • Added one-click reactions for posts. A user’s three most recently used emojis display when the user hovers over a message.

  • Added support for selecting names and aliases in the emoji picker.

  • Changed the user interface of the edit-indicator of posts and moved it inline.

  • Added a query param to translate in-product help pages when opened from the Desktop App.

  • Updated in-product text for the invitation modal for clarity.

  • Updated the file attachment limits and sizes within in-product help documentation.

  • Added rendering for posts containing markdown in email notifications.

  • Added support for inline Latex rendering.

  • Added the Move to… option menu item to the channel header dropdown.

  • Added keyboard shortcuts to tooltips. The shortcut key component is now used for displaying keys.

  • Added support for Global threads infinite scroll.

  • Added @here mention to the EnableConfirmNotificationsToChannel config setting to show a warning modal when over 5 members might be alerted with @here.

Integrations

  • Added support for multi-select on Apps slash commands.

  • App commands now make a distinction between the central channel and the right-hand side channel.

  • App bindings now recognize the post menu options for each channel they live in.

  • Added new registerMessageWillBeUpdatedHook(newPost, oldPost) client-side plugin hook to intercept edited messages.

Performance

  • Improved performance around rendering of system messages.

  • Reduced storage-related slow-downs on page load.

Administration

  • Bulk imports with attached files now log and continue when a file fails to upload instead of halting.

  • get flagged posts endpoint will now return only flagged posts for channels the user is a member of.

  • Updated Bleve to v2 to use the scorch index type.

  • Minimum supported browser versions changes:

    • Chrome updated from 61+ to 89+.

    • Firefox updated from 60+ to 78+.

    • MacOS updated from 10.9+ to 10.14+.

Enterprise Edition

  • Once the user has selected Start Trial, they will see a modal that lists all of the features now available to them through the Enterprise plan.

  • Once a non-licensed server has reached 10 users, a one-time modal is displayed to System Admins encouraging them to start a 30-day trial.

  • Prometheus metrics are now enabled when running a standalone jobserver.

Bug Fixes

  • Fixed a broken link to the Custom Emoji page on servers with a subpath configured.

  • Fixed an issue where a “No results found” error string was displayed in the Direct Messages modal.

  • Fixed an issue where the caret was placed in the middle of the emojis when picking two emojis from the emoji picker.

  • Fixed an issue where System Console > Channels > Channel Management displayed an option to toggle group management in Team Edition, Starter, and Professional.

  • Fixed an issue where the channel switcher was missing the “(You)” indicator on the user’s own Direct Message channel.

  • Fixed an issue where the clock format set by the user was not respected on the edit indicator popover.

  • Replaced Metropolis font files with a new set to correct a kerning issue.

  • Fixed an issue where deep links opened on mobile displayed an incorrect message directing users to open the Desktop app.

  • Addressed various user interface style bugs from v6.0 release.

  • Fixed emails templates for clients that do not support the style tag.

  • Fixed an issue where the scrollbar was hardly visible with Denim & Sapphire themes.

  • Fixed an issue where creating a bot with an invalid username returned an “invalid email” error.

  • Fixed an issue where using /code did not render initial whitespace characters.

  • Fixed an issue where Try Enterprise for Free option was missing spacing in mobile webview.

  • Fixed an issue where the SQLStore cache was relied on when populating the WebConn channel memberships.

  • Fixed an issue where logging was not re-configured when the server config was changed via the System Console.

  • Fixed a display issue with the Indigo theme when returning from Playbooks to Channels.

  • Fixed an issue where the offline indicator color did not use the correct theme color.

  • Fixed various bugs for the Collapsed Reply Threads (Beta) feature, including:

    • Fixed an issue where the recent sidebar sorting option didn’t only consider parent posts.

    • Fixed an issue where a badge was displayed on a thread list when the thread was started by another user in a Direct Message.

    • Fixed an issue where the user avatar was displayed in the participants list after their post was deleted when the user had no other posts in the thread.

    • Fixed an issue where the ephemeral message was not displyaed as the centre post.

    • Fixed an issue with dragging and dropping files on a thread while on the Threads panel.

    • Fixed an issue where permalinks were not highlighting a post on a thread that was already open on the right-hand side.

    • Fixed an issue with missing threads in the Threads list.

config.json

Multiple setting options were added to config.json. Below is a list of the additions and their default values on install. The settings can be modified in config.json, or the System Console when available.

Changes to Team Edition and Enterprise Edition:

  • Under ServiceSettings in config.json:

    • Added EnableInlineLatex to add support for inline Latex rendering.

  • Under JobSettings in config.json

    • Added CleanupJobsThresholdDays. This defines the time gap in days beyond which older jobs will be removed. Default is -1 which means the feature is disabled. Setting to 0 will clean all completed jobs.

Database Changes

  • Extended the maximum size to 256 characters for the following database columns:

    • Sessions.Roles

    • ChannelMembers.Roles

    • TeamMembers.Roles

API Changes

  • Added a new API endpoint POST /api/v4/posts/search to perform searches across all channels.

Go Version

  • v6.1 is built with Go v1.16.7.

Open Source Components

  • Added fast-deep-equal, luxon, and react-window-infinite-loader to https://github.com/mattermost/mattermost-webapp.

  • Added @mattermost/react-native-paste-input to https://github.com/mattermost/mattermost-mobile.

Known Issues

  • Collapsed Reply Threads is currently in beta. Before enabling the feature, please ensure you are well versed in the known issues, particularly relating to database resource requirements and server performance implications. If you cannot easily scale up your database size, or are running the Mattermost application server and database server on the same machine, we recommended waiting to enable Collapsed Reply Threads until it’s promoted to general availability in Q1 2022. Learn more about these performance considerations here.

  • Created permalinks from saved posts do not correctly redirect to the correct team MM-39816.

  • Recent Mentions search sometimes includes incorrect results MM-39867.

  • Experimental timezones and custom statuses can cause an increase in CPU usage and database connections for servers with an E20 license. A current workaround is to disable custom statuses or to disable experimental timezones.

  • Webapp sometimes crashes when clicking an image from “Recent files” MM-38239.

  • Member type is missing from autocomplete MM-38989.

  • File upload might fail for SVG files MM-38982.

  • Ctrl/Cmd+Shift+A shortcut does not open Account Settings MM-38236.

  • Adding an at-mention at the start of a post draft and pressing the leftwards or rightwards arrow can clear the post draft and the undo history MM-33823.

  • Google login fails on the Classic mobile apps.

  • Status may sometimes get stuck as Away or Offline in High Availability mode with IP Hash turned off.

  • Searching stop words in quotation marks with Elasticsearch enabled returns more than just the searched terms.

  • The team sidebar on the desktop app does not update when channels have been read on mobile.

  • Slack import through the CLI fails if email notifications are enabled.

  • Push notifications don’t always clear on iOS when running Mattermost in High Availability mode.

Contributors

Release v6.0 - Feature Release

  • v6.0.4, released 2021-12-17

    • Mattermost v6.0.4 contains medium level security fixes. Upgrading to this release is recommended. Details will be posted on our security updates page 30 days after release as per the Mattermost Responsible Disclosure Policy.

    • Added a general performance fix for loading the web application and typing.

    • Improved performance while typing by moving some autocomplete layout calculations.

    • Improved performance by reducing DOM usage during render.

    • Removed real-time updates of a couple of features to prevent overloading servers on user updates. The “This channel contains guests” indicator and the number of timezones displayed when notifying members of a group will only be updated on channel change now.

    • Fixed slow channel loading for instances with website link previews enabled.

    • Fixed an issue where v6.0 reported an incorrect mmctl version.

  • v6.0.3, released 2021-11-15

  • v6.0.2, released 2021-10-27

  • v6.0.1, released 2021-10-18

    • Mattermost v6.0.1 contains a medium level security fix. Upgrading to this release is recommended. Details will be posted on our security updates page 30 days after release as per the Mattermost Responsible Disclosure Policy.

    • Fixed a panic in translations that caused the server to not run properly. The panic caused the server to be terminated MM-39299.

    • Fixed an issue with the v6.0 migration where the Users.Timezone column had a default. This affected servers that had Mattermost v4.9 or earlier installed before upgrading MM-39297.

    • Fixed an issue where a migration check failed for MariaDB databases. The data type JSON was aliased to LONGTEXT and the check was failing and causing the database migrations to run every restart.

    • Added a fix to display tableName and columnName for JSONB schema failures. When there was a schema upgrade failure related to jsonb columns, the log line didn’t mention which table/column was affected.

    • Fixed an issue where selecting the “…” post menu on a System message crashed the webapp MM-39116.

  • v6.0.0, released 2021-10-13

    • Original 6.0.0 release

Deprecations

  1. Legacy Command Line Tools. Most commands have been replaced by mmctl and new commands have been added over the last few months, making this tool a robust replacement.

  2. Slack Import via the web app. The Slack import tool accessible via the Team Setting menu has been replaced by the mmetl tool that is much more comprehensive for the types of data it can assist in uploading.

  3. MySQL versions below 5.7.12. Minimum support is now for 5.7.12+. This version introduced a native JSON data type that lets us improve performance and scalability of several database fields (most notably Users and Posts props). Additionally, version 5.6 (our current minimum version) reached EOL in February 2021.

  4. Elasticsearch 5 and 6 - versions 5.x reached EOL in March of 2019, and versions 6.x reached EOL in November 2020. Our minimal supported version with Mattermost v6.0 is Elasticsearch version 7.0.

  5. Windows 7 reached EOL in January 2020. We no longer provide support for Mattermost Desktop App issues on Windows 7.

  6. DisableLegacyMFAEndpoint configuration setting.

  7. ExperimentalTimezone configuration setting. The config setting is removed and the feature is promoted to general availability.

  8. All legacy channel sidebar experimental configuration settings. We encourage customers using these settings to upgrade to v5.32 or later to access custom, collapsible channel categories among many other channel organization features. The deprecated settings include:

  9. All configuration settings previously marked as “Deprecated”.

  10. Changes to mattermost-server/model for naming consistency.

Important Upgrade Notes

  • Longer migration times can be expected. See this document for the estimated upgrade times with datasets of 10+ million posts. See this document for the estimated upgrade times with datasets of 70+ million posts. The field type of Data in model.ClusterMessage was changed to []byte from string. Therefore, a major thing to note is that a v6 server is incompatible to run along with a v5 server in a cluster. Customers upgrading from 5.x to 6.x cannot do a High Availability upgrade. While upgrading, it is required that no other v5 server runs when a v6 server is brought up. A v6 server will run significant database schema changes that can cause a large startup time depending on the dataset size. Zero downtime will not be possible, but depending on the efforts made during the migration process, it can be minimized to a large extent. It is recommended to start Mattermost directly and not through systemctl to avoid the server process getting killed during the migration. This can happen since the value of TimeoutStartSec in the provided systemctl service file is set to 1 hour. Customers using the Mattermost Kubernetes operator should be aware of the above migration information and choose the path that is most appropriate for them. If (1) is acceptable, then the normal upgrade process using the operator will suffice. For minimum downtime, follow (2) before using the operator to update Mattermost following the normal upgrade process.

    1. Low effort, long downtime - This is the usual process of starting a v6 server normally. This has 2 implications: during the migration process, various tables will be locked which will render those tables read-only during that period. Secondly, once the server finishes migration and starts the application, no other v5 server can run in the cluster.

    2. Medium effort, medium downtime - This process will require SQL queries to be executed manually on the server. To avoid causing a table lock, a customer can choose to use the pt-online-schema-change tool for MySQL. For Postgres, the table locking is very minimal. The advantage is that since there are a lot of queries, the customer can take their own time to run individual queries during off-hours. All queries except #11 are safe to be executed this way. Then the usual method of (1) can be followed.

    3. High effort, low downtime - This process requires everything of (2), plus it tries to minimize the impact of query #11. We can do this by following step 2, and then starting v6 along with a running v5 server, and then monitor the application logs. As soon as the v6 application starts up, we need to bring down a v5 node. This minimizes the downtime to only a few seconds.

  • While trying to upgrade to a Mattermost version >= 6.0.x, you might encounter the following error: Failed to alter column type. It is likely you have invalid JSON values in the column. Please fix the values manually and run the migration again. This means that the particular column has some invalid JSON values which need to be fixed manually. A common fix that is known to work is to wipe out all \u0000 characters. Please follow these steps:

    1. Check the affected values by: SELECT COUNT(*) FROM <table> WHERE <column> LIKE '%\u0000%';

    2. If you get a count more than 0, check those values manually, and confirm they are okay to be removed.

    3. Remove them by UPDATE <table> SET <column> = regexp_replace(<column>, '\\u0000', '', 'g') where <column> like '%\u0000%';

    4. Then try to start Mattermost again.

  • Focalboard plugin has been renamed to Mattermost Boards, and v0.9.1 (released with Mattermost v6.0) is now enabled by default.

  • The advanced logging configuration schema changed. This is a breaking change relative to 5.x. See updated documentation.

  • Some breaking changes to plugins are included:

    • Support for left-hand side-specific bot icons was dropped.

    • Removed a deprecated “Backend” field from the plugin manifest.

    • Converted the “Executables” field in the plugin manifest to a map.

IMPORTANT: If you upgrade from a release earlier than v5.39, please read the other Important Upgrade Notes.

Highlights

Multi-Product Platform

  • Mattermost now ships as one platform with three products - Channels, Playbooks, and Boards.

  • Playbooks and Boards are visible when plugins are enabled system-wide.

Global Product Launcher

  • Added a global header for product navigation for Channels, Playbooks, and Boards. This is disabled on the mobile web view and mobile apps.

Branding Changes

  • Added a new default brand theme named “Denim”.

  • The existing theme names and colors, including “Mattermost”, “Organization”, “Mattermost Dark”, and “Windows Dark” have been updated to the new “Denim”, “Sapphire”, “Quartz”, “Indigo”, and “Onyx” theme names and colors, respectively. Anyone using the existing themes will see slightly modified theme colors after their server or workspace is upgraded. The theme variables for the existing “Mattermost”, “Organization”, “Mattermost Dark”, and “Windows Dark” themes will still be accessible in our documentation, so a custom theme can be created with these theme variables if desired. Custom themes are unaffected by this change.

  • Added a new light theme named “Quartz” to the default available list of themes.

  • Updated email templates to the new branding.

Packaging Changes

  • Updated in-product strings referencing E10 & E20 to new packaging.

  • Features moved from legacy E10 to all plans, including Team Edition:

    • System default permissions, e.g. permission to create and archive channels system-wide.

      • Specifically, “System Scheme” only in System Console > User Management > Permissions.

      • Existing permissions/policies in TE/E0 for “Enable Team Creation” and “Allow Team Administrators to edit others’ posts” are properly handled.

    • Team and Channel management pages (but without channel moderation, e.g. read-only channels).

  • Features moved from legacy E20 to Professional plan:

    • SSO with OpenID Connect, SAML, Google and O365

    • O365 integrations including MS Teams Calling and MS Calendar

    • Jira multi-server support

    • Advanced team permissions

    • Channel moderation

  • E20, Professional, and Enterprise license SKUs are now supported for installing Enterprise plugins.

Beta features Promoted to General Availability

  • Archived channels

  • Compliance exports

  • Custom terms of service

  • Guest accounts

  • System roles

  • Plugins

Tutorial Updates

  • Added a tip to the Getting Started page for downloading Desktop Apps.

  • Updated tutorial icons and changed text content in tutorial tips.

  • Updated the default treatment for the Add channel button to the current color and by team name.

  • Added a tutorial tip for new settings and status buttons.

  • Added a tip for the product switcher. This tip is skipped if not applicable.

Improvements

User Interface (UI)

  • Added “Invite People” to the main “+” button below the hamburger menu.

  • The whole category bounds are now highlighted while holding a channel above a category name on the left-hand side.

  • Updated Account Settings > Display > Timezone to be more user friendly.

  • New theme agnostic file preview modal takes up the full screen. The file preview now has information about the user, channel, and the file, and moves away from text-based buttons to icon-based buttons.

  • Increased the limit of uploaded file attachments per post from 5 to 10.

  • Added desktop notifications for followed Threads.

  • Hungarian and English-Australian are now official languages.

  • Added a Start Trial call-to action to the Main Menu.

  • Changed H1-H3 heading font from Open Sans to Metropolis.

Performance

  • Improved typing performance when the emoji autocomplete is open.

  • Added performance improvements for draft storage with multiple tabs open.

  • Improved performance of draft loading.

Integrations

  • Pre-packaged Channel Export plugin v1.0.0.

  • Added a “rest field” to the App command parser.

  • Added support for React components in channel header tooltips registered by plugins.

  • Exported ChannelInviteModal and ChannelMembersModal components for plugins.

Administration

  • Added playbooks and boards to restricted team URLs list. Conflict exists if users hit the URL to the team directly without the trailing channel, permalink or threads information (ie server/team) and they have a team name “playbooks” or “boards”. User would expect to be taken to their messaging team.

  • Added the ability for Team Edition to edit role permissions.

  • Removed a hard-coded override of TeamSettings.MaxNotificationsPerChannel on unlicensed servers (e.g. Team Edition).

  • Migrated the extraction command to mmctl.

  • Removed the convert channel endpoint to use /channels/{channel_id}/privacy instead.

  • Removed deprecated Posts.ParentId in favor of the semantically equivalent Posts.RootId. Also removed CommandWebhook.ParentId and CompliancePost.ParentId for the same reason.

  • Removed the following deprecated CLI commands in favor of mmctl:

    • channel

    • command

    • config

    • extract

    • group

    • integrity

    • ldap

    • license

    • logs

    • permissions

    • plugin

    • reset

    • roles

    • sampledata

    • team

    • user

    • webhook

Bug Fixes

  • Fixed an issue where GitLab ButtonText and ButtonColor settings were not reflected on the login screen.

  • Fixed an issue with Collapsed Reply Threads (Beta) where replying to a Thread caused users to re-follow the previously unfollowed Thread.

  • Fixed an issue where floating timestamps appeared incorrectly on the right-hand side with Collapsed Reply Threads (Beta) enabled.

  • Fixed an issue where pinned and saved posts were no longer highlighted.

  • Disabled admin support email status check job on server startup.

  • Fixed an issue on joining a missing channel as a System Admin.

  • Fixed import process for imports with attachments.

  • Fixed an error with app locations and binding filtering.

config.json

Multiple setting options were added to config.json. Below is a list of the additions and their default values on install. The settings can be modified in config.json, or the System Console when available.

Changes to Team Edition and Enterprise Edition:

  • Under ServiceSettings in config.json:

    • Added EnableOnboardingFlow, for enhanced user onboarding experience feature.

    • Added EnablePermalinkPreviews to enable permalink previews.

  • Under FileSettings in config.json:

    • Added MaxImageResolution config setting to control the maximum dimension (in pixels) of image uploads.

  • Removed all of the following configs:

    • EnableOnlyAdminIntegrations

    • RestrictCustomEmojiCreation

    • RestrictPostDelete

    • AllowEditPost

    • ImageProxyType

    • ImageProxyURL

    • ImageProxyOptions

    • UseExperimentalGossip

    • EnableTeamCreation

    • RestrictTeamInvite

    • RestrictPublicChannelManagement

    • RestrictPrivateChannelManagement

    • RestrictPublicChannelCreation

    • RestrictPrivateChannelCreation

    • RestrictPublicChannelDeletion

    • RestrictPrivateChannelDeletion

    • RestrictPrivateChannelManageMembers

    • DisableLegacyMFAEndpoint

    • ExperimentalTownSquareIsReadOnly

    • ExperimentalHideTownSquareinLHS

    • EnableXToLeaveChannelsFromLHS

    • CloseUnusedDirectMessages

    • ExperimentalChannelOrganization

    • ExperimentalChannelSidebarOrganization

    • EnableLegacySidebar

    • The legacy MFA endpoint

    • utils/authorization.go and moved any permissions to the MakeDefaultRoles() function.

Database Changes

  • Added the following database indexes:

    • idx_posts_root_id_delete_at_create_at

    • idx_channels_team_id_display_name

    • idx_channels_team_id_type

    • idx_threads_channel_id_last_reply_at

    • idx_channelmembers_user_id_channel_id_last_viewed_at

    • idx_channelmembers_channel_id_scheme_guest_user_id

  • Removed the following redundant database indexes:

    • idx_posts_root_id

    • idx_channels_team_id

    • idx_threads_channel_id

    • idx_channelmembers_user_id

  • Updated all references of ToJson/FromJson methods to be in the form ToJSON/FromJSON.

  • Increased Post.Props size limit to 800,000 characters.

API Changes

  • Updated API to use per_page query parameter instead of pageSize. This makes the threads API consistent with other endpoints, and automatically limits the number of requested threads with our param handling code. The pageSize query parameter will still be supported until version 6.0 of the server becomes the minimum version required by the mobile client.

Websocket Event Changes

  • Added Websocket client to products.

  • Added plugin Websocket hooks: OnWebSocketConnect, OnWebSocketDisconnect and WebSocketMessageHasBeenPosted.

Library Changes

  • Removed deprecated model.ComparePassword method.

  • Removed deprecated Context.SourcePluginId field.

  • Removed (*model.Client4).CheckUserMfa.

  • Removed (*model.Client4).GetServerBusyExpires.

  • Removed MB constant from model package.

  • Removed use of pointers to the following types:

    • model.ChannelList

    • model.ChannelListWithTeamData

    • model.ChannelMembers

    • model.Preferences

    • model.ProductNotices

  • Renamed plugin.Context.IpAddress to plugin.Context.IPAddress.

  • Renamed fields in the model package to have more idiomatic names.

Go Version

  • v6.0 is built with Go v1.16.7.

Open Source Components

  • Added @mattermost/compass-components, @mattermost/compass-icons, styled-components and timezones.json, and removed react-inlinesvg from https://github.com/mattermost/mattermost-webapp.

  • Added @types/redux-mock-store to https://github.com/mattermost/mattermost-mobile.

Known Issues

  • Collapsed Reply Threads is currently in beta. Before enabling the feature, please ensure you are well versed in the known issues, particularly relating to database resource requirements and server performance implications. If you cannot easily scale up your database size, or are running the Mattermost application server and database server on the same machine, we recommended waiting to enable Collapsed Reply Threads until it is promoted to general availability in Q1 2022. Learn more about these performance considerations here.

  • Webapp sometimes crashes when clicking an image from “Recent files” MM-38239.

  • Member type is missing from autocomplete MM-38989.

  • File upload might fail for SVG files MM-38982.

  • Deep link opened on mobile shows incorrect text directing the opening to the Desktop app MM-38913.

  • Channel switcher is missing “(You)” indicator on your own Direct Message channel MM-38798.

  • Ctrl/Cmd+Shift+A shortcut does not open Account Settings MM-38236.

  • Indigo theme glitch may occur when returning from Playbooks MM-38910.

  • System Console > Channels > Channel Management has an option to toggle group management in Team Edition, Starter, and Professional MM-39216.

  • Experimental timezones and custom statuses can cause an increase in CPU usage and database connections for servers with an E20 license. A current workaround is to disable custom statuses or to disable experimental timezones.

  • Adding an at-mention at the start of a post draft and pressing the leftwards or rightwards arrow can clear the post draft and the undo history MM-33823.

  • Google login fails on the Classic mobile apps.

  • Status may sometimes get stuck as Away or Offline in High Availability mode with IP Hash turned off.

  • Searching stop words in quotation marks with Elasticsearch enabled returns more than just the searched terms.

  • The team sidebar on the desktop app does not update when channels have been read on mobile.

  • Slack import through the CLI fails if email notifications are enabled.

  • Push notifications don’t always clear on iOS when running Mattermost in High Availability mode.

Contributors

Release v5.39 - Quality Release

  • v5.39.3, released 2021-12-17

    • Mattermost v5.39.3 contains medium level security fixes. Upgrading to this release is recommended. Details will be posted on our security updates page 30 days after release as per the Mattermost Responsible Disclosure Policy.

    • Added a general performance fix for loading the web application and typing.

    • Improved performance while typing by moving some autocomplete layout calculations.

    • Improved performance by reducing DOM usage during render.

    • Removed real-time updates of a couple of features to prevent overloading servers on user updates. The “This channel contains guests” indicator and the number of timezones displayed when notifying members of a group will only be updated on channel change now.

    • Fixed an issue where v5.39 reported an incorrect mmctl version.

  • v5.39.2, released 2021-11-15

  • v5.39.1, released 2021-10-27

  • 5.39.0, released 2021-09-16

    • Original 5.39 release

Mattermost v5.39.0 contains a low level security fix. Upgrading to this release is recommended. Details will be posted on our security updates page 30 days after release as per the Mattermost Responsible Disclosure Policy.

Improvements

User Interface (UI)

  • Updated in-product help documentation to fix broken links and to correct outdated information.

  • Italian, Polish, Korean, and Ukrainian languages have been downgraded to alpha. Korean and Ukrainian are no longer actively maintained.

Bug Fixes

  • Fixed a possible panic during license validation.

  • Fixed an issue with loading of emojis in message attachment titles.

  • Fixed an issue where the timestamp in deleted messages was not correctly positioned.

  • Changed the whitespace in the refresh bar so that it always displays to the user.

  • Fixed an issue where email invites were not sent when clicking the Next button during onboarding.

  • Fixed an issue where clicking “View Message” in an email did not navigate to the post or remember the user’s preference to “View in App”.

  • Fixed an issue with the detection of certain collapsible images.

  • Prevented users from having the unreads filter enabled when the button to toggle it was not shown.

  • Fixed an issue where Mattermost’s shortcut key CTRL+SHIFT+A to open the Account Settings clashed with Chrome’s CTRL+SHIFT+A that opens a “Search Tabs” pop-up.

  • Fixed a crash when markdown images were present on the message attachments and embedded bindings.

  • Fixed an issue that kept message attachment fields unaligned.

  • Fixed an issue with right-hand side SuggestionList positioning.

  • Fixed an issue where Mattermost panicked on docx files uploaded with .doc extension.

  • Fixed a bug with the auto-responder where it would incorrectly calculate the time interval and never send the message.

  • Fixed a decoding problem for OpenID integration. The requests are now decoded against RawURLEncoding.

  • Fixed various bugs for the Collapsed Reply Threads (Beta) feature, including:

    • Fixed an issue where a gap appeared between the first and second consecutive message from the same user.

    • Fixed an issue where the thread unread state would not update on websocket reconnect.

    • Fixed an issue where the main channel view root post timestamp added a horizontal scrollbar on hover.

    • The ThreadAutoFollow setting must now be enabled in order to enable CollapsedThreads.

    • Fixed issue with users re-following a previously unfollowed thread when other users replied to the thread.

    • Clicking code blocks and in-line code no longer open the associated thread.

    • Fixed an issue where two scrollbars appeared in the Threads view on high resolution monitors using zoom.

    • Fixed an issue where the quick channel switcher mention counts did not follow collapsed threads logic.

    • Fixed an issue where threads started by webhooks/integrations were being auto-followed by the webhook/integration creator when collapsed threads was enabled.

    • Fixed an issue where re-connecting to the websocket caused thread mentions to be cleared in the user interface with collapsed reply threads enabled.

    • Fixed an issue where the New messages line and date separators overlapped text in a thread.

Go Version

  • v5.39 is built with Go 1.16.7.

Upcoming Deprecations in Mattermost v6.0

The following deprecations are planned for the Mattermost v6.0 release, which is scheduled for 2021/10/13. This list is subject to change prior to the release.

  1. Legacy Command Line Tools. All commands have been fully replaced by mmctl and new commands have been added over the last few months, making this tool a full and robust replacement.

  2. Slack Import via the web app. The Slack import tool accessible via the Team Setting menu is being replaced by the mmetl tool that is much more comprehensive for the types of data it can assist in uploading.

  3. MySQL versions below 5.7.7. Minimum support will now be for 5.7.12. This version introduced a native JSON data type that lets us improve performance and scalability of several database fields (most notably Users and Posts props). Additionally, version 5.6 (our current minimum version) reached EOL in February 2021.

  4. Elasticsearch 5 and 6 - versions 5.x reached EOL in March of 2019, and versions 6.x reached EOL in November 2020. Our minimal supported version with Mattermost v6.0 will be Elasticsearch version 7.0.

  5. Windows 7 reached EOL in January 2020. We will no longer provide support for Mattermost Desktop App issues on Windows 7.

  6. DisableLegacyMFAEndpoint configuration setting.

  7. ExperimentalTimezone configuration setting. The config setting will be removed and the feature will be promoted to general availability.

  8. All legacy channel sidebar experimental configuration settings. We encourage customers using these settings to upgrade to v5.32 or later to access custom, collapsible channel categories among many other channel organization features. The settings being deprecated include:

  9. All configuration settings previously marked as “Deprecated”.

  10. Changes to mattermost-server/model for naming consistency.

Known Issues

  • Collapsed Reply Threads is currently in beta. Before enabling the feature, please ensure you are well versed in the known issues, particularly relating to database resource requirements and server performance implications. If you cannot easily scale up your database size, or are running the Mattermost application server and database server on the same machine, we recommended waiting to enable Collapsed Reply Threads until it is promoted to general availability in Q1 2022. Learn more about these performance considerations here.

  • Experimental timezones and custom statuses can cause an increase in CPU usage and database connections for servers with an E20 license. A current workaround is to disable custom statuses or to disable experimental timezones.

  • Adding an at-mention at the start of a post draft and pressing the leftwards or rightwards arrow can clear the post draft and the undo history MM-33823.

  • Pinned posts are no longer highlighted MM-34870.

  • Google login fails on the Classic mobile apps.

  • Status may sometimes get stuck as Away or Offline in High Availability mode with IP Hash turned off.

  • Searching stop words in quotation marks with Elasticsearch enabled returns more than just the searched terms.

  • The team sidebar on the desktop app does not update when channels have been read on mobile.

  • Slack import through the CLI fails if email notifications are enabled.

  • Push notifications don’t always clear on iOS when running Mattermost in High Availability mode.

Contributors

Release v5.38 - Feature Release

  • v5.38.4, released 2021-11-15

  • v5.38.3, released 2021-10-27

  • v5.38.2, released 2021-08-26

    • Upgraded Go version to 1.16.7 to fix an application crash issue.

    • Fixed an issue where mmctl config reload command was missing local-mode server-side implementation. MM-38082

  • v5.38.1, released 2021-08-18

    • Fixed an issue where Playbooks v1.16.0 could not be installed as a pre-packaged plugin MM-37928.

  • v5.38.0, released 2021-08-16

    • Original 5.38.0 release

Mattermost v5.38.0 contains low to medium level security fixes. Upgrading to this release is recommended. Details will be posted on our security updates page 30 days after release as per the Mattermost Responsible Disclosure Policy.

Deprecations

  • The “config watcher” (the mechanism that automatically reloads the config.json file) has been removed in favor of the mmctl config reload command, which must be run to apply configuration changes after they are made on disk. This change improves configuration performance and robustness.

Important Upgrade Notes

  • v5.38 adds fixes for some of the incorrect mention counts and unreads around threads and channels since the introduction of Collapsed Reply Threads (Beta). This fix is done through a SQL migration, and it may take several minutes to complete for large databases. The fixCRTChannelMembershipCounts fix takes 1 minute and 20 seconds for a database containing approximately 4 million channel memberships and about 130,000 channels. The fixCRTThreadCountsAndUnreads fix takes about 3 minutes and 30 seconds for a database containing 56367 threads, 124587 thread memberships, and 220801 channel memberships. These are on MySQL v5.6.51.

  • Focalboard v0.8.2 (released with Mattermost v5.38.0) requires Mattermost v5.37+ due to the new database connection system.

IMPORTANT: If you upgrade from a release earlier than v5.37, please read the other Important Upgrade Notes.

Highlights

Granular Data Retention Policies (Enterprise E20)

  • A data_retention type job can now be run even if the global policy is disabled. The granular (i.e. team and channel-specific) policies will be executed when the data retention job is run. Please note there is a known issue where deleted posts get displayed in channels without new activity after the retention job is run. This issue is tracked with this ticket.

Enhanced User Onboarding Experience

  • To help new users get started with Mattermost, new Getting Started steps have been added to the onboarding experience. These steps help users to complete their profile, name their teams, configure desktop notifications, and invite others to join their team. Additionally, once the onboarding is complete, users are provided with helpful tips to get started with channels, plugins, and more.

Playbooks Updates

  • Incident Collaboration was rebranded to Playbooks. Also the channel right-hand sidebar is redesigned, our own playbooks are shared as templates, and more triggers and actions were added.

Focalboard Updates

  • Added created-by property and improved performance with shared database connections. Focalboard 0.8.2 requires Mattermost v5.37+ due to a new database connection system.

Improvements

User Interface (UI)

  • Upgraded German language back to an official language.

  • Markdown formatting is now stripped from push notifications.

  • Enabled the Set Status button if the custom status hasn’t changed from currently set status.

  • Improved default rendering of images inserted via the GIF picker.

  • Small text changes were added to Direct and Group Message menus: Mute channel and Edit Channel Header now reads as Mute Conversation and Edit Conversation Header.

Performance

  • Improved performance of components that show reactions on posts.

  • Improved performance of certain components when viewing non-Direct Message channels.

  • Added minor improvements to performance of messages posted in the right-hand side.

  • Improved typing performance in affected environments by reducing the frequency in which drafts are saved.

Integrations

  • Added icons to apps in the Marketplace.

  • Apps can now add arbitrary markdown in between fields on forms.

  • Added support for markdown in apps forms, interactive dialogs field descriptions, errors, and slash commands.

  • Improved user and channel selector for app commands.

  • Added support for react-intl and <Timestamp/> usage in plugins.

  • Added plugin API methods for user access tokens and OAuth apps.

Administration

  • Added a new feature to archive and unarchive teams through System Console > Teams.

Bug Fixes

  • Fixed an issue where the “Find channel” channel switcher text overflowed beyond the button for some languages.

  • Fixed an issue where inter-plugin requests without a body didn’t work.

  • Fixed an issue with opening a dialog from an interactive message when returning an empty response.

  • Fixed an issue where the Add Members modal was incorrectly themed on the Mattermost Dark Theme.

  • Fixed a panic in the getPrevTrialLicense API request when loading the System Console on Team Edition.

  • Fixed an issue where admin advisor notifications were accidentally re-enabled in a previous release.

  • Fixed various bugs for the Collapsed Reply Threads (Beta) feature, including:

    • Fixed an issue where an error occurred while following a thread with no replies.

    • Fixed an issue where reply_count of 0 was always returned for GET single Post on /posts/<postid> API.

    • Fixed an issue where following a single message returned a status 500.

    • Fixed an issue where when replying in a thread after unfollowing it, the thread was not auto-followed again.

    • Fixed an issue where when enabling Collapsed Reply Threads, channels that had no new activity were showing as unread.

    • Fixed an issue with thread unreads when the feature was enabled by a user.

    • Fixed an issue where self replies were marking threads as unread.

    • Unread threads are now correctly displayed on app load for teams in the sidebar when Collapsed Reply Threads feature is enabled.

    • Fixed an issue where “Thread” in the thread viewer was displayed vertically in some languages.

    • Fixed an issue where opening global threads containing a root post markdown image crashed the app.

    • Fixed an issue where the app crashed when switching to the Threads view after leaving a channel.

    • Fixed an issue where replying to a thread from the global threads screen marked the channel as read.

    • The Mark all as unread button is now no longer disabled for Collapsed Reply Threads.

    • Fixed root posts not being shown as followed for the post creator after receiving the first reply that affected servers with Collapsed Reply Threads enabled and database read replicas configured.

config.json

Multiple setting options were added to config.json. Below is a list of the additions and their default values on install. The settings can be modified in config.json, or the System Console when available.

Changes to Team Edition and Enterprise Edition:

  • Under PluginSettings in config.json:

    • Added ChimeraOAuthProxyURL to allow specifying Chimera URL that can be used by plugins to connect with pre-created OAuth applications.

  • The config setting EnableReliableWebSockets now defaults to true.

API Changes

  • Added CreateChannelSidebarCategory, GetChannelSidebarCategories and UpdateChannelSidebarCategories to the Plugin API.

  • Add a new Plugin API method that allows files to register dropdown menu actions.

Go Version

  • v5.38 is built with Go 1.16.0.

Open Source Components

  • Added classnames and react-window to https://github.com/mattermost/mattermost-webapp/.

  • Added @react-native-community/datetimepicker, array.prototype.flat, and base-64 to https://github.com/mattermost/mattermost-mobile/.

Upcoming Deprecations in Mattermost v6.0

The following deprecations are planned for the Mattermost v6.0 release, which is scheduled for 2021/10/15. This list is subject to change prior to the release.

  1. Legacy Command Line Tools. All commands have been fully replaced by mmctl and new commands have been added over the last few months, making this tool a full and robust replacement.

  2. Slack Import via the web app. The Slack import tool accessible via the Team Setting menu is being replaced by the mmetl tool that is much more comprehensive for the types of data it can assist in uploading.

  3. MySQL versions below 5.7.7. Minimum support will now be for 5.7.12. This version introduced a native JSON data type that lets us improve performance and scalability of several database fields (most notably Users and Posts props). Additionally, version 5.6 (our current minimum version) reached EOL in February 2021.

  4. Elasticsearch 5 and 6 - versions 5.x reached EOL in March of 2019, and versions 6.x reached EOL in November 2020. Our minimal supported version with Mattermost v6.0 will be Elasticsearch version 7.0.

  5. Windows 7 reached EOL in January 2020. We will no longer provide support for Mattermost Desktop App issues on Windows 7.

  6. DisableLegacyMFA configuration setting.

  7. ExperimentalTimezone configuration setting.

  8. All legacy channel sidebar experimental configuration settings. We encourage customers using these settings to upgrade to v5.32 or later to access custom, collapsible channel categories among many other channel organization features. The settings being deprecated include:

  9. All configuration settings previously marked as “Deprecated”.

  10. Changes to mattermost-server/model for naming consistency.

Known Issues

  • Collapsed Reply Threads is currently in beta. Before enabling the feature, please ensure you are well versed in the known issues, particularly relating to database resource requirements and server performance implications. If you cannot easily scale up your database size, or are running the Mattermost application server and database server on the same machine, we recommended waiting to enable Collapsed Reply Threads until it is promoted to general availability in Q1 2022. Learn more about these performance considerations here.

  • The server version for v5.38.2 for Team Edition is reported as 5.39.2.

  • Deleted posts get displayed in channels without new activity after the data retention job is run MM-36574.

  • Adding an at-mention at the start of a post draft and pressing the leftwards or rightwards arrow can clear the post draft and the undo history MM-33823.

  • Emoji counter in the center channel doesn’t always update immediately when a reaction is added in the right-hand side MM-31994.

  • Fields on the right column in a message attachment render unevenly MM-36943.

  • Pinned posts are no longer highlighted.

  • Google login fails on the Classic mobile apps.

  • Status may sometimes get stuck as Away or Offline in High Availability mode with IP Hash turned off.

  • Searching stop words in quotation marks with Elasticsearch enabled returns more than just the searched terms.

  • The team sidebar on the desktop app does not update when channels have been read on mobile.

  • Slack import through the CLI fails if email notifications are enabled.

  • Push notifications don’t always clear on iOS when running Mattermost in High Availability mode.

Contributors

Release v5.37 - Extended Support Release

  • v5.37.7, released 2022-01-21

  • v5.37.6, released 2021-12-17

    • Mattermost v5.37.6 contains medium level security fixes. Upgrading to this release is recommended. Details will be posted on our security updates page 30 days after release as per the Mattermost Responsible Disclosure Policy.

    • Added a general performance fix for loading the web application and typing.

    • Improved performance while typing by moving some autocomplete layout calculations.

    • Improved performance by reducing DOM usage during render.

    • Removed real-time updates of a couple of features to prevent overloading servers on user updates. The “This channel contains guests” indicator and the number of timezones displayed when notifying members of a group will only be updated on channel change now.

  • v5.37.5, released 2021-11-30

    • Fixed an issue where OpenID redirect did not work when hosting Mattermost on a subdirectory MM-40151.

    • Fixed an issue where v5.37 reported an incorrect mmctl version.

  • v5.37.4, released 2021-11-15

  • v5.37.3, released 2021-10-27

  • v5.37.2, released 2021-08-26

    • Upgraded Go version to 1.16.7 to fix an application crash issue.

    • Fixed a server panic issue. MM-37574

    • Fixed an issue where saving or updating user statuses caused the logs to be filled with multiple key insertion errors. MM-37202.

    • Fixed a panic in the getPrevTrialLicense API request when loading the System Console on Team Edition. MM-37108

    • Fixed an issue where screen readers read “user object” instead of reading the username or channel in the Switch Channels modal.

  • v5.37.1, released 2021-08-04

    • Mattermost v5.37.1 contains a medium level security fix. Upgrading to this release is recommended. Details will be posted on our security updates page 30 days after release as per the Mattermost Responsible Disclosure Policy.

    • Improved typing performance in affected environments by reducing the frequency at which drafts are saved.

    • Fixed an issue in clustering where a mutex would fail to be unlocked when a timeout happened. MM-37246

  • v5.37.0, released 2021-07-16

    • Original 5.37.0 release

Deprecations

  • The platform binary and “–platform” flag have been removed. If you are using the “–platform” flag or are using the platform binary directly to run the Mattermost server application via a systemd file or custom script, you will be required to use only the mattermost binary.

Important Upgrade Notes

  • Collapsed Reply Threads are available as beta in Mattermost Server v5.37 and later. It’s expected that you may experience bugs as we stabilize the feature. In particular, please be aware of the known issues documented here.

  • v5.37 adds support for emoji standard v13.0. If you have added a custom emoji in the past that uses one of the new system names, then that custom emoji is going to get overwritten by the system emoji. The workaround is to change the custom emoji name.

  • Parts of Incident Collaboration are now available to all Mattermost editions. As part of this update, Incident Collaboration will require a minimum server version of v5.37. To learn more about what is available in each edition, visit our pricing page.

  • Support for Mattermost Server v5.31 Extended Support Release will come to the end of its life cycle on October 15, 2021. Upgrading to Mattermost Server v5.37 or later is required.

IMPORTANT: If you upgrade from a release earlier than v5.36, please read the other Important Upgrade Notes.

Highlights

Collapsed Reply Threads (Beta)

  • We’re excited to give you early access to Collapsed Reply Threads (Beta). It can be enabled in the System Console > Experimental > Collapsed Reply Threads (Beta). Learn more about the features and known issues in our documentation.

Emoji Enhancements with Skin Tone Selection

  • Added support for emoji standard v13.0. Users now have the ability to choose various skin tones using the Mattermost emoji picker. Mobile support is included in v1.45 Mobile App release (July 16th).

Improved Enterprise Trial Experience (Enterprise Editions E0, E10, E20)

  • After a Self-Managed trial ends, admins can optionally contact sales or make a purchase in a single click.

Focalboard: Grouped Table view, New properties, and More (Beta)

  • Focalboard tables can now be grouped by a property, for example allowing you to quickly see tasks per epic or owner.

Incident Collaboration Updates

  • The update includes availability on all editions, playbook keyword monitoring, retrospective report, and playbook dashboard.

English-Australian Language Support

  • Mattermost is now available in English-Australian.

Improvements

User Interface (UI)

  • In the at-mention autocomplete, the user’s nickname is no longer shown when (you) is present.

  • Updated the help text on the Add Users channel modal.

  • Added the ability to upload .jpeg files on Linux. Uploading .jpg files was already supported.

  • The Channel Switcher now displays recently viewed channels when launched.

  • Polish, German, and Italian languages were downgraded to beta as they are no longer actively maintained.

  • Custom statuses can now be set to expire after common time intervals or custom selected dates and times. Mobile App support will be added in a future release.

Performance

  • Added some improvements to typing performance.

Administration

  • Improved memory performance for large image uploads, particularly PNGs with transparency.

  • Optimized the bulk import process by no longer requiring the server to write the incoming archive to the filesystem when unzipping it.

  • Added channel restore and channel privacy change endpoints to the local mode using the System bot.

Bug Fixes

  • Fixed an issue where users were unable to set a custom status emoji via slash command. Added the logic for detecting unicode emoji and setting it as a custom status emoji via slash commands.

  • Fixed an issue where messages with fallback text were repeated.

  • Fixed an issue where a persistent unread badge showed on the Main Menu when Enable Marketplace or Enable Plugins was disabled.

  • Fixed an issue where sidebar icons were not aligned with the navigator area icons.

  • Fixed an issue where using CTRL+F in a Direct Message channel added the user ID rather than the user’s name into the search field.

  • Fixed an issue where user icons were displayed at full opacity in muted channels.

  • Fixed an issue where a redundant user_update websocket event was generated for bot users.

  • Fixed an issue where a Self-Managed Enterprise Edition E20 trial could be activated more than once without contacting the Mattermost support team.

config.json

Multiple setting options were added to config.json. Below is a list of the additions and their default values on install. The settings can be modified in config.json, or the System Console when available.

Changes to Team Edition and Enterprise Edition:

  • Under ServiceSettings in config.json:

    • Added CollapsedThreads to add support for Collapsed Reply Threads (Beta).

Database Changes

  • Removed several redundant Database indexes.

API Changes

  • Added a new field, team_id, to the response of POST api/v4/groups/{group_id}/channels/{channel_id}/link to add a team ID to the response when linking a channel to a group.

  • Added an optional collapsed_threads_supported parameter to /channels/members/{userId}/view to indicate that the client supports collapsed threads.

  • Added an optional collapsed_threads_supported parameter to /users/{userId}/posts/{postId}/set_unread to indicate that the client supports collapsed threads.

  • Updated the webapp to pass collapsed_threads_supported parameters to the server to indicate that the webapp supports collapsed reply threads.

  • Updated the webapp to correctly mark channels and threads as unread/read when marking root and reply posts as unread/read.

  • Added a new endpoint GET /trial-license/prev for fetching last used trial license.

  • Added two new fields in CustomStatus struct and modified the APIs to validate and handle them.

Go Version

  • v5.37 is built with Go 1.15.5.

Open Source Components

  • Removed reselect from https://github.com/mattermost/mattermost-webapp/.

Upcoming Deprecations in Mattermost v6.0

The following deprecations are planned for the Mattermost v6.0 release, which is scheduled for 2021/10/15. This list is subject to change prior to the release.

  1. Legacy Command Line Tools. All commands have been fully replaced by mmctl and new commands have been added over the last few months, making this tool a full and robust replacement.

  2. Slack Import via the web app. The Slack import tool accessible via the Team Setting menu is being replaced by the mmetl tool that is much more comprehensive for the types of data it can assist in uploading.

  3. MySQL versions below 5.7.7. Minimum support will now be for 5.7.12. This version introduced a native JSON data type that lets us improve performance and scalability of several database fields (most notably Users and Posts props). Additionally, version 5.6 (our current minimum version) reached EOL in February 2021.

  4. Elasticsearch 5 and 6 - versions 5.x reached EOL in March of 2019, and versions 6.x reached EOL in November 2020. Our minimal supported version with Mattermost v6.0 will be Elasticsearch version 7.0.

  5. Windows 7 reached EOL in January 2020. We will no longer provide support for the Desktop App issues on Windows 7.

  6. DisableLegacyMFA configuration setting.

  7. ExperimentalTimezone configuration setting.

  8. All legacy channel sidebar experimental configuration settings. We encourage customers using these settings to upgrade to v5.32 or later to access custom, collapsible channel categories among many other channel organization features. The settings being deprecated include:

  9. All configuration settings previously marked as “Deprecated”.

  10. Changes to mattermost-server/model for naming consistency.

Known Issues

  • Collapsed Reply Threads is currently in beta. Before enabling the feature, please ensure you are well versed in the known issues, particularly relating to database resource requirements and server performance implications. If you cannot easily scale up your database size, or are running the Mattermost application server and database server on the same machine, we recommended waiting to enable Collapsed Reply Threads until it is promoted to general availability in Q1 2022. Learn more about these performance considerations here.

  • When upgrading to 5.37.0, the Incident Collaboration plugin may not be automatically installed in some cases.

  • Add Members modal is incorrectly themed on the Mattermost Dark theme MM-37220.

  • config.json can reset when running the command systemctl restart mattermost, and when running any commands that write to the config (e.g. config or plugin) MM-33752, MM-32390.

  • Adding an at-mention at the start of a post draft and pressing the leftwards or rightwards arrow can clear the post draft and the undo history MM-33823.

  • Emoji counter in the center channel doesn’t always update immediately when a reaction is added in the right-hand side MM-31994.

  • Fields on the right column in a message attachment render unevenly MM-36943.

  • Pinned posts are no longer highlighted.

  • Google login fails on the Classic mobile apps.

  • Status may sometimes get stuck as Away or Offline in High Availability mode with IP Hash turned off.

  • Searching stop words in quotation marks with Elasticsearch enabled returns more than just the searched terms.

  • The team sidebar on the desktop app does not update when channels have been read on mobile.

  • Slack import through the CLI fails if email notifications are enabled.

  • Push notifications don’t always clear on iOS when running Mattermost in High Availability mode.

Contributors