Mattermost legacy self-hosted changelog

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

Latest Mattermost releases

See changelog in progress for the upcoming release, and see the Mattermost Self-Hosted Changelog for details on the latest self-hosted versions of Mattermost including the most recent Extended Support Release (ESR).

Release v7.0 - Major Release

  • v7.0.2, released 2022-08-23

  • v7.0.1, released 2022-06-24

    • Fixed an issue where mmctl checked the server version incorrectly MM-45161.

    • Fixed an issue where the file icon was sometimes unresponsive MM-45097.

    • Fixed an issue with Compliance Exports where the zip file creation failed when adding attachments to a post MM-40179.

    • Fixed the notification title for id_loaded push notifications MM-43655.

    • Pre-packaged Playbooks v1.28.2.

  • v7.0.0, released 2022-06-15

    • Original 7.0.0 release

Mattermost v7.0.0 contains medium severity 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.

Important Upgrade Notes

  • IMPORTANT: Session length configuration settings have changed from using a unit of days to hours. Instances using a config.json file or a database configuration for the following values should be automatically migrated to the new units, but instances using environment variables must make the following changes:

  1. replace MM_SERVICESETTINGS_SESSIONLENGTHWEBINDAYS with MM_SERVICESETTINGS_SESSIONLENGTHWEBINHOURS (x24 the value).

  2. replace MM_SERVICESETTINGS_SESSIONLENGTHMOBILEINDAYS with MM_SERVICESETTINGS_SESSIONLENGTHMOBILEINHOURS (x24 the value).

  3. replace MM_SERVICESETTINGS_SESSIONLENGTHSSOINDAYS with MM_SERVICESETTINGS_SESSIONLENGTHSSOINHOURS (x24 the value).

  • MySQL self-hosted customers may notice the migration taking longer than usual when having a large number of rows in the FileInfo table. For MySQL, it takes around 19 seconds for a table of size 700,000 rows. The time required for PostgreSQL is negligible. The testing was performed on a machine with specifications of CPU - Intel i7 6-cores @ 2.6 GHz and Memory - 16 GB.

  • When a new configuration setting via System Console > Experimental > Features > Enable App Bar is enabled, all channel header icons registered by plugins will be moved to the new Apps Bar, even if they do not explicitly use the new registry function to render a component there. The setting for Apps Bar defaults to false for self-hosted deployments.

  • The value of ServiceSettings.TrustedProxyIPHeader defaults to empty from now on. A previous bug prevented this from happening in certain conditions. Customers are requested to check for these values in their config and set them to nil if necessary. See more details here.

  • Upgrading the Microsoft Teams Calling plugin to v2.0.0 requires users to reconnect their accounts.

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

Highlights

Collapsed Reply Threads (General Availability)

  • Collapsed Reply Threads is now generally available. Please reference this article for more information and guidance for enabling the feature.

Calls (Beta)

  • Native voice calling and screen sharing is now available. This is a Channels-specific integration.

Apps Bar (Beta)

  • Channel header is now decluttered when a new configuration setting via System Console > Experimental > Features > Enable App Bar is enabled, to make it more obvious how to access Calls, Playbooks, and Boards when viewing a channel. All channel header icons registered by plugins will be moved to the new Apps Bar when the configuration setting is enabled, while Calls remains in the channel header. We recommend enabling the Apps Bar for servers with Calls enabled since the Apps Bar helps make space for the dedicated Start Call button in the channel header.

Playbooks Updates

  • Users can now easily keep processes up-to-date with the inline playbook editor.

  • A new statistics dashboard was added that displays the number of playbooks and run instances within the server alongside other system statistics in the System Console.

  • Run triggers and actions now provide more control over where status updates are posted throughout a run.

Message Formatting Toolbar

  • The new formatting toolbar makes Markdown accessible to everyone with easy to use controls for commonly used message formatting, such as bold, headings, links, and more.

Improvements

User Interface (UI)

  • For toggling the channel information in the right-hand pane, a shortcut CTRL/CMD+ALT+I was added.

  • Added an “Unread Channels” section to the channel switcher and included threads in the results.

  • Users are no longer hidden from search results in the “Add members” modal, even if they are already members of the channel.

  • Applied new designs for the Login screen.

  • Enabled the new onboarding task list for end users.

  • The legacy Settings > Advanced Settings > Enable Post Formatting and Settings > Advanced Settings > Preview Pre-release Features settings are now deprecated in favor of the the new formatting toolbar.

  • Romanian language support was downgraded to Beta.

Performance

  • Improved the performance of aggregate queries related to Collapsed Reply Threads. Learn more about these server performance optimizations in this article.

Integrations

  • To keep users in Mattermost when opening documentation links from the System Console > Plugin settings page, all the links now open in another tab.

  • Changed Actions post menu hover text to Message Actions.

  • Updated Apps Framework to version 1.1.0 to add improved logging.

Administration

  • Timestamps are now enabled in the default audit configuration.

  • The Collapsed Reply Threads configuration option was moved in the System Console from Experimental to Site Configuration > Posts.

Enterprise Subscription

  • Upgraded the minor version of the ElasticSearch development Docker image.

  • The Support Packet now contains two additional fields in the support_packet.yaml file: Active users and License-supported users.

Bug Fixes

  • Fixed an issue with ADA Accessibility where screen readers did not TAB to or read “This channel has guests” in the channel header bar.

  • Fixed an issue where the @mention autosuggest of users was no longer grouped by channel membership status.

  • Fixed an issue where the New Messages toast was not fully tappable in narrow view.

  • Fixed an issue where the shortcut modal for channel info showed ALT instead of SHIFT for Mac.

  • Fixed an issue where the Help > Report a Problem link was not hidden when a URL was not set for System Console > Customization > Report a Problem.

  • Fixed an issue with the timing of selector performance metrics.

  • Fixed an issue where the S3 Test Connection button deceptively failed unless the user pressed Save first.

  • Fixed an issue where Workspace Optimization did not load in the System Console on subpath servers.

  • Fixed an issue where an error was logged when SendEmailNotifications was not set to true.

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:

    • Changed SessionLengthWebInDays to SessionLengthWebInHours.

    • Changed SessionLengthMobileInDays to SessionLengthMobileInHours.

    • Changed SessionLengthSSOInDays to SessionLengthSSOInHours.

    • The value of TrustedProxyIPHeader defaults to empty from now on. A previous bug prevented this from happening in certain conditions. Customers are requested to check for these values in their config and set them to nil if necessary.

    • Added always-on and default-on settings to System Console > Posts for Collapsed Reply Threads. When enabled (default-on), users see Collapsed Reply Threads by default and have the option to disable it in Settings. When always on, users are required to use Collapsed Reply Threads and can’t disable it.

    • The default for CollapsedThreads has been changed to always_on. This change impacts new Mattermost deployments, and doesn’t affect existing configurations where this value is already set to some other value.

  • Under ExperimentalSettings in config.json:

    • Added a new config setting EnableAppBar to enable and disable the new Apps Bar. This setting is disabled by default, but we recommend enabling the Apps Bar for servers with Calls enabled since the Apps Bar helps make space for the dedicated Start Call button in the channel header.

API Changes

  • Added new API endpoints GET /api/v4/teams/:team_id/top/channels and GET /api/v4/users/me/top/channels to get top channels for a team and user.

Websocket Event Changes

  • Added a new ConnectionId field to model.WebsocketBroadcast that allows broadcasting a message only to a specific connection.

Go Version

  • v7.0 is built with Go v1.18.1.

Known Issues

  • Post list doesn’t always scroll down to show new messages MM-44131.

  • Mentions incorrectly shows users as not in a channel MM-44157.

  • 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.

  • 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.

  • Boards export and reimport duplicate boards because all IDs are replaced by new ones on the server. See the GitHub issue for more information.

Release v6.7 - Feature Release

  • v6.7.2, released 2022-06-15

    • Fixed an issue with Compliance Exports where the zip file creation failed when adding attachments to a post MM-40179.

  • v6.7.1, released 2022-06-13

    • Mattermost v6.7.1 contains medium severity 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.

    • The value of ServiceSettings.TrustedProxyIPHeader defaults to empty from now on. A previous bug prevented this from happening in certain conditions. Customers are requested to check for these values in their config and set them to nil if necessary. See more details here.

  • v6.7.0, released 2022-05-16

    • Original 6.7.0 release

Mattermost v6.7.0 contains low severity 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.

Compatibility

  • Updated Chrome recommended minimum version to v100+.

Important Upgrade Notes

  • New schema changes were introduced in the form of a new index. The following summarizes the test results measuring how long it took for the database queries to run with these schema changes:

    • MySQL 7M Posts - ~17s (Instance: db.r5.xlarge)

    • MySQL 9M Posts - 2min 12s (Instance: db.r5.large)

    • Postgres 7M Posts - ~9s (Instance: db.r5.xlarge)

  • For customers wanting a zero downtime upgrade, they are encouraged to apply this index prior to doing the upgrade. This is fully backwards compatible and will not acquire any table lock or affect any existing operations on the table when run manually. Else, the queries will run during the upgrade process and will lock the table in non-MySQL environments. Run the following to apply this index:

    • For MySQL: CREATE INDEX idx_posts_create_at_id on Posts(CreateAt, Id) LOCK=NONE;

    • For Postgres: CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_posts_create_at_id on posts(createat, id);

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

Highlights

Playbooks Updates

  • To keep procedures on track while reducing noise, task due dates can now be added to playbook runs (Professional and Enterprise subscriptions).

Improvements

User Interface (UI)

  • Added Files and Pinned Messages to the right-hand side Channel Info.

  • Improved the New Channel modal user interface.

  • Added the channel members list to the right-hand side Channel Info modal.

  • Added the ability to invite new users to a team from the Add to channel modal.

  • To be able to download images and copy public links for images more quickly, a copy URL and download buttons were added to image thumbnails.

  • Added the ability to have one character long channel names.

  • Pre-packaged Calls v0.4.9 with Mattermost server v6.7 (closed Beta). To participate in Beta testing, please contact Mattermost.

  • Updated the NPS plugin to version 1.2.0 to add a new Give Feedback menu item to the Help menu to send feedback at anytime.

Performance

  • Improved the performance of GetTeamsUnreadForUser when Collapsed Reply Threads is enabled.

  • Added an index to the UserGroups DisplayName for improved autosuggest query performance.

  • Improved the performance of permission selectors.

  • Improved the performance of configuration read/writes if the configuration is stored on a database.

Administration

  • To add the ability to toggle sending inactivity email notification to Admins, a configuration setting EmailSettings.EnableInactivityEmail was added.

  • To filter out inactive users in the System Console, an Active filter was added for users and Admins in System Console > User Management > Users.

  • Added a threadsOnly query parameter for getting user threads.

  • To allow Admins to add a new license without having to first remove the old one, a new “License” button was added to System Console > Edition and License.

Enterprise Subscription

  • The Elasticsearch indexing job is resumable now. Stopping a server while the job is running will put the job in pending status and will resume the job when the server starts. The job can still be explicitly canceled via the System Console.

Bug Fixes

  • Fixed an issue where permalinks to direct and group message posts did not show a preview.

  • Fixed an issue when Collapsed Reply Threads are enabled where marking a root post with a mention as unread displayed both a mention badge and the thread item being bolded.

  • Fixed an issue where the public link to generate the API was getting called even if public links were disabled.

  • Fixed an issue with onboarding page view events.

  • Fixed an issue where the custom emoji Next button was out of view when a banner was present.

  • Fixed an issue where it would appear that a user had a negative number of unread threads.

  • Fixed an issue where marking the last post in a thread as unread didn’t mark the thread as unread.

  • Restored the rendering of main menu items from plugins in non-mobile view.

  • Fixed the overflow of text in Manage Channel Members modal title.

  • Fixed an issue where pagination was broken in System Console > Groups.

  • Fixed an issue where thread updates did not show correctly after the computer woke up.

  • Fixed an issue where a negative unread count sometimes appeared with Collapsed Reply Threads enabled.

  • Fixed an issue where the modal to create a Custom Group got closed when pressing ENTER.

  • Fixed an issue where group mention did not get highlighted in Professional subscription.

  • Fixed an issue where users were unable to edit posts with markdown code blocks.

  • Fixed an issue where sending test (empty) notifications was allowed even when the SendPushNotifications config setting was set to false.

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 EmailSettings in config.json:

    • Added EnableInactivityEmail setting to be able to disable inactive server email notifications.

  • Under JobSettings in config.json:

    • Added a new cleanup job to regularly remove outdated config entries from the database. The threshold for this setting can be adjusted with CleanupConfigThresholdDays.

  • Under ElasticsearchSettings in config.json:

    • Elasticsearch (Enterprise subscription) and Bleve indexing have been revamped to be much more efficient and faster. The config parameter BulkIndexingTimeWindowSeconds for both Elasticsearch and Bleve is now deprecated and no longer used. A new config parameter called BatchSize has been introduced instead. This parameter controls the number of objects that can be indexed in a single batch. This makes things more efficient and maintains a constant workload.

API Changes

  • Added a new API endpoint POST /api/v4/users/{user_id}/teams/{team_id}/threads/{thread_id}/set_unread/{post_id} to set a thread as unread by post id.

  • Added new API endpoints GET /api/v4/teams/:team_id/top/reactions and GET /api/v4/users/me/top/reactions to get top reactions for a team and user.

  • Fixed an issue where the UpdateUser API endpoint required a create_at field.

  • api/v4/file/s3_test now requires FileSettings to be all set to run.

  • api/v4/email/test now requires EmailSettings to be all set to run.

  • Added fromWebhook property to the webapp plugin API.

Go Version

  • v6.7 is built with Go v1.18.1.

Open Source Components

  • Added react-native-math-view to https://github.com/mattermost/mattermost-mobile.

  • Removed flux and react-slidedown from https://github.com/mattermost/mattermost-webapp.

  • Added @mattermost/compass-icons, bootstrap-dark, fs-extra, and pretty-bytes to https://github.com/mattermost/desktop.

Known Issues

  • Channels with more than 100 members only show 100 members in the right-hand side MM-44159.

  • Shortcut modal for channel info shows Alt instead of Shift for Mac MM-44172.

  • A blank screen is seen when returning from the System Console while the Channel Info is open on the right-hand side MM-44435.

  • 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 Q2 2022. Learn more about these performance considerations here.

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

  • Adding an @mention at the start of a post draft and pressing the left or right arrow key 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.

  • Boards export and reimport duplicates boards because all IDs are replaced by new ones on the server. See the GitHub issue for more information.

Contributors

Release v6.6 - Feature Release

  • v6.6.2, released 2022-06-13

    • Mattermost v6.6.2 contains medium severity 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.

    • The value of ServiceSettings.TrustedProxyIPHeader defaults to empty from now on. A previous bug prevented this from happening in certain conditions. Customers are requested to check for these values in their config and set them to nil if necessary. See more details here.

    • Fixed a bug that allowed to send test (empty) notifications even if the SendPushNotifications config was set to false.

  • v6.6.1, released 2022-04-28

    • Mattermost v6.6.1 contains a medium severity 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.

    • Replaced an expired GPG key which is used to verify the enterprise binary.

    • Fixed an issue with null values in the OAuthApps table’s MattermostAppID column, which was introduced in v6.6.0 MM-43500.

    • Fixed an issue where the Workspace Optimization dashboard mentioned that the workspace had reached over 100 users, when fewer than 100 users were registered MM-43215.

  • v6.6.0, released 2022-04-16

    • Original 6.6.0 release

Mattermost v6.6.0 contains a low severity 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.

Compatibility

  • Updated Safari recommended minimum version to v14.1+.

Important Upgrade Notes

  • The Apps Framework protocol for binding/form submissions has changed, by separating the single call into separate submit, form, refresh and lookup calls. If any users have created their own Apps, they have to be updated to the new system.

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

Highlights

Apps Framework 1.0: General Availability

  • The Apps Framework allows developers to build integrations with Mattermost that seamlessly work across Mattermost’s desktop and mobile clients. Apps can be developed using any programming language, as opposed to plugins which must be developed in Go.

Triggers and Actions

  • Channel admins can now configure certain actions to be executed automatically based on trigger conditions without writing any code. Users running an older Playbooks release need to upgrade their Playbooks instance to at least v1.26 to take advantage of the channel actions functionality.

Actions Restructure

  • The Actions menu was restructured to reduce the clutter from Plugins and Apps.

Playbook Updates

  • Added retrospective metrics (Enterprise edition) to track up to four key metrics that indicate performance of every run.

Improvements

User Interface (UI)

  • Pre-packaged Calls v0.4.8 with Mattermost server v6.6 (closed Beta). To participate in Beta testing, please contact Mattermost.

  • Added nested previews for permalinks.

  • Added a right-hand side Channel Info panel to see and interact with channel information.

  • Added support for inline editing of posts.

  • Changed the Mattermost indigo theme to match the dark theme in code blocks.

  • Updated in-product links from legacy domain about.mattermost.com to mattermost.com.

  • Made it easier to copy code blocks by adding a copy button on hover.

  • Made it easier to copy a message via a new Copy Text post menu item.

  • Added a loading indicator to the Threads global list each time more posts are fetched on infinite scroll.

  • Added search guidance to the Threads global list when no more posts can be loaded. This is only shown if you’ve scrolled to load older posts and reach the end of the list.

  • Added accessibility support for custom statuses.

  • Tooltip is now only displayed when text is too long in the announcement banner.

  • When restricting direct messages to users on the same team, bots are now excluded from that restriction.

  • Brazilian Portuguese language support was downgraded to Beta.

Performance

  • Improved performance when clearing notifications with Collapsed Reply Threads enabled.

  • Improved performance of Collapsed Reply Threads when ThreadAutoFollow is enabled but CollapsedThreads is disabled.

  • Fixed a potential memory leak in the sidebar when using accessibility hotkeys.

  • Virtualized the emoji picker and added other performance improvements to the emoji picker.

  • Improved the performance of storing users in webapp.

  • Fixed a small memory leak in the System Console.

Plugins

  • Updated the plugin registry’s registerCallButtonAction method to allow for displaying custom calls buttons in the channel header.

  • Added a debugging setting to turn off client-side plugins for the current user.

  • Added performance metrics related to plugin loading on page load.

Administration

  • The default for ThreadAutoFollow has been changed to true. This does not affect existing configurations where this value is already set to false; however, we recommend enabling ThreadAutoFollow if you plan to enable Collapsed Reply Threads in the future.

  • Improved the license upload flow.

  • The Start Trial CTA presents a modal exposing the benefits the client gets by starting the trial, encouraging Admins to request a trial license and engage them with the product.

  • A new field was added to the client configuration to let clients know the database schema version of the server. The applied database migrations have also been added to the System Console.

  • Added a Automatically Follow Threads configuration setting to the System Console to expose the threadAutoFollow config setting to the User Interface.

  • An error is now shown on the email invitation modal if SMTP is not configured but email invitations are true.

  • Logs from third-party libraries are now included in the default logging configuration.

  • Added additional performance debugging settings.

  • The support email field has moved from Customization to Notifications in the System Console. Also, a support email is now required when configuring email notifications.

  • The ping endpoint can now receive a device ID, which will report whether the device is able to receive push notifications.

  • Feature flags are now automatically refreshed when the server undergoes a restart.

  • Added a sort order to the category API, and included category data in the websocket category update event.

  • Permissions for private playbooks are now hidden unless running an Enterprise license.

Bug Fixes

  • Fixed an error that occured when a non-logged-in user attempted to view a page that required being logged in while MFA was required on the server.

  • Fixed an issue where the channel switcher displayed channels from teams the Admin was no longer part of.

  • Fixed an issue where ThreadStore.GetThreadsForUser did not count correctly when no team ID was specified.

  • Fixed an issue where zip file creation failed when adding attachments.

  • Fixed an issue where emoji short codes written in Markdown were not added to recently used emojis.

  • Fixed the positioning of SVGs in admin onboarding when the screen doesn’t have a previous button.

  • Fixed an issue with the displayed channel name in the channel tutorial tip.

  • Fixed an issue with the clickable area for emojis in the emoji picker to match the interface.

  • Fixed an issue where usernames with periods in the channel switcher input showed Group Messages over matching Direct Messages.

  • Fixed an issue on Collapsed Reply Threads compact message view where clicking on the thread footer avatar did not open the profile modal.

  • Fixed a scan error on column name “LastRootPostAt”: converting NULL to int64.

  • Fixed an issue where selecting a custom status from Recent statuses used the original expiration time.

  • Fixed an issue that caused a gap to appear on the left-hand side in products using the team sidebar.

  • Fixed an issue where moving up or down in the channel switcher didn’t work as expected when Global Threads was in the background.

  • Fixed an issue where pressing ENTER opened the onboarding tutorial tip.

  • Fixed an issue where some permission checkboxes had been moved to different categories in the System Console.

  • Fixed an issue where a blank screen occurred upon leaving a currently open unread channel with the channel unread grouping enabled.

  • Fixed an issue related to disabling and re-enabling Custom Terms of Service.

  • Fixed an issue where channel links on hover overlapped the channels menus.

  • Fixed the positioning of the post menu in mobile web view.

  • Fixed an issue where closing the keyboard shortcut modal by “CTRL/CMD + /” didn’t work.

  • Fixed an issue where the channel keyboard navigation was broken in the Threads view.

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:

    • The default for ThreadAutoFollow has been changed to true. This does not affect existing configurations where this value is already set to false.

Go Version

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

Open Source Components

  • Added @tippyjs/react, react-popper, react-slidedown and smooth-scroll-into-view-if-needed , and removed prettier and xregexp from https://github.com/mattermost/mattermost-webapp.

Known Issues

  • On subpath, 404 can be seen on OpenID or SAML redirect after changing login method. The login change is successful, and manually adding the subpath name into the URL opens the expected page MM-43114.

  • 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 Q2 2022. Learn more about these performance considerations here.

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

  • Adding an @mention at the start of a post draft and pressing the left or right arrow key 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.

  • Boards export and reimport duplicates boards because all IDs are replaced by new ones on the server. See the GitHub issue for more information.

Contributors

Release v6.5 - Feature Release

  • v6.5.2, released 2022-06-13

    • Mattermost v6.5.2 contains medium severity 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.

    • The value of ServiceSettings.TrustedProxyIPHeader defaults to empty from now on. A previous bug prevented this from happening in certain conditions. Customers are requested to check for these values in their config and set them to nil if necessary. See more details here.

    • Fixed a bug that allowed to send test (empty) notifications even if the SendPushNotifications config was set to false.

    • The ping endpoint now can receive a device ID, which will report whether the device is able to receive push notifications.

  • v6.5.1, released 2022-04-28

    • Mattermost v6.5.1 contains a medium severity 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 on schema migrations where the Mattermost server failed to restart after having an error in the migration process.

    • Fixed an issue where the Get trial endpoint did not seem to complete.

  • v6.5.0, released 2022-03-16

    • Original 6.5.0 release

Mattermost v6.5.0 contains low to medium severity 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.

Compatibility

  • Updated the recommended minimum supported Firefox version to v91+.

Important Upgrade Notes

  • The mattermost version CLI command does not interact with the database anymore. Therefore the database version is not going to be printed. Also, the database migrations are not going to be applied with the version sub command. A new db migrate sub command is added to enable administrators to trigger migrations.

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

Highlights

Custom User Groups (Beta; Professional and Enterprise Plans)

  • Added the ability to mention a group of members at a time in a workspace. Users can create groups, edit group details, join groups, archive groups, and add group members.

Cross-team Channel Navigation

  • You can now find and jump to channels across all your teams by typing any channel name in the Find Channels modal.

Workspace Optimizations

  • System Admins can now review their overall health and growth scores and take recommended actions for ensuring their workspace is running smoothly, so users can get the most out of Mattermost.

Playbook Updates

  • Added a new onboarding tour for Playbooks.

  • Existing playbooks can now be duplicated by copying and modifying your colleague’s processes. Playbooks can also be exported.

Boards Updates

  • Added a new onboarding tour for Boards.

  • Improved the share boards user interface.

  • A link to Boards is now included in the channel intro whenever a new channel or direct message is started.

  • Added in-app links to import Help Docs.

Improvements

User Interface (UI)

  • Added Persian as an official supported language (Beta).

  • Added a new onboarding experience for first System Admin user.

  • Added new tutorial tours for Channels, Boards, and Playbooks to help orient first time users.

  • Removed extra telemetry events that were tracked during page loads.

  • Added a feature card slide for Playbooks.

  • Removed admin-advisor bot’s ability to notify admins about missing support email.

  • Clarified in-product error string “Oops!” as “Unable to continue” for both translators and target audiences in cases where a user doesn’t have sufficient permissions to add users or guests.

  • Removed incorrect in-product string text from the Send full message contents email notification option description displayed via System Console > Site Configuration > Notifications.

  • Added the ability to send an unsanitized user to the source user on user_updated event.

  • In the compact view, the sender’s username is now always shown on posts.

  • The post menu is now only rendered on the root post on hover over.

  • Updated a library used for storing drafts and other data in browser storage.

  • Enabled performance telemetry tracking for production deployments not running in developer mode. This telemetry tracking is disabled when telemetry is toggled off.

  • Inactive server email notifications will now be sent to System Admins occasionally if there have been no telemetry events on their server for 100 hours or more. Inactivity is determined by reviewing all activity on the server. This feature can also be disabled using the MM_FeatureFlag_EnableInactivityCheckJob feature flag.

Performance

  • Improved database performance when ThreadAutoFollow is enabled but CollapsedThreads is disabled. Learn more about ThreadAutoFollow and Collapsed Reply Threads here.

  • Improved perceived typing performance by moving heavy code around and effective memoization related to the textbox component.

  • Fixed a memory leak caused by the post textbox.

  • Reduced the number of menu components listening for keyboard and mouse events.

  • Re-rendering of CustomStatusEmoji component is now avoided on post hovering.

  • Removed the collapsed sidebar menu from the DOM on sidebar collapse and expand.

  • Re-rendering of TextBox links component below the post box while typing is now avoided.

Plugins

  • Added an OnInstall() plugin hook.

  • Added an OnSendDailyTelemetry() plugin hook.

  • Added a new plugin registry entry to append menu items to the user guide dropdown.

Bug Fixes

  • Fixed an issue with clicking images in the message attachment.

  • Fixed an issue that caused Rudder to create their cookies on the top-level domain when Mattermost was installed on a subdomain.

  • Fixed an issue where Total Posts and Active Users With Posts graphs did not render in System Console > Team Statistics.

  • Fixed an issue where telemetry events attempted to get sent even when blocked by an ad blocker.

  • Fixed an issue where the channel switcher stopped showing search results when the first few characters were removed.

  • Fixed an issue where notification sounds didn’t trigger on the Desktop App for new accounts.

  • Fixed an issue where users got multiple sounds for a single notification on the Linux Desktop App.

  • Fixed an issue where posting frequent messages to followed threads caused jittery typing.

  • Fixed an issue where the Add to channel permission was available in private channels for non-admin users.

  • Fixed an issue where the reply notification setting was still in effect even when Collapsed Reply Threads was enabled.

  • Fixed an issue where running mmctl config migrate reset the configuration settings to defaults if the settings were already in the database.

  • Fixed an issue where the custom status menu option was missing the “x” to clear status.

  • Fixed an issue where the password reset link was valid for 1 hour instead of 24 hours.

  • Fixed an issue where the Mattermost import failed if an export contained a soft-deleted team.

  • Fixed an issue where search results in the right-hand side did not clear when changing screens from file results to any other.

  • Fixed an issue where an emoji import failed when the emoji name conflicted with a system emoji.

  • Fixed an issue where the Edition and License page displayed a prompt to upgrade to Enterprise for servers that already had an E20 license.

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 EnableClientPerformanceDebugging setting to enable some options for users on the web app to enable and disable different parts of the web app to help us isolate performance issues while debugging.

    • Added a new EnableCustomGroups setting to create and delete custom groups and to add and remove custom group members.

API Changes

  • Added new endpoint GET /api/v4/users/invalid_emails. This endpoint will return a list of non-guest users who are not in your whitelisted domains on a server where EnableOpenServer is false.

  • Added new API endpoint POST /system/onboarding/complete to complete onboarding.

  • Added a new API endpoint GET api/v4/latest_version to fetch the latest Mattermost version.

  • Modified an existing API endpoint ${baseUrl}/api/v4/channels/search?system_console=false and added additional parameters ${baseUrl}/api/v4/users/me/channels to fetch all the channel across teams and ${baseUrl}/api/v4/users/${userId/channel_members to fetch all the channel_members across teams).

Websocket Changes

  • Refactored user-update websocket event handler to prevent extra get request to server for unsanitized user.

  • Added a new ReliableClusterSend field to model.WebsocketBroadcast to allow sending events through the cluster using the reliable channel.

Go Version

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

Known Issues

  • The mmctl command built into version v6.5.0 appears to be from v6.4.1 MM-42588.

  • The new onboarding menu icon obscures System Console menu items MM-42353.

  • For Custom Groups, the user activity doesn’t sync in two sessions MM-42242.

  • For Custom Groups, the last action popup menu is cut off MM-42189.

  • 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 Q2 2022. Learn more about these performance considerations here.

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

  • Adding an @mention at the start of a post draft and pressing the left or right arrow key 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.

  • Boards export and reimport duplicates boards because all IDs are replaced by new ones on the server. See the GitHub issue for more information.

Contributors

Release v6.4 - Feature Release

  • v6.4.3, released 2022-04-28

    • Mattermost v6.4.3 contains a medium severity 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 on schema migrations where the Mattermost server failed to restart after having an error in the migration process.

  • v6.4.2, released 2022-03-10

    • Mattermost v6.4.2 contains medium severity 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.

    • Fixed an issue where the webapp did not route notifications correctly when the computer was locked.

  • v6.4.1, released 2022-02-25

    • Fixed a major web and desktop app performance issue for users with a large accumulated number of Direct Messages and Group Messages.

  • v6.4.0, released 2022-02-16

    • Original 6.4.0 release

Mattermost v6.4.0 contains low severity 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.

Important Upgrade Notes

  • A new schema migration system has been introduced, so we strongly recommend backing up the database before updating the server to this version. The new migration system will run through all existing migrations to record them to a new table. This will only happen for the first run in order to migrate the application to the new system. The table where migration information is stored is called db_migrations. Additionally, a db_lock table is used to prevent multiple installations from running migrations in parallel. Any downtime depends on how many records the database has and whether there are missing migrations in the schema. In case of an error while applying the migrations, please check this table first. If you encounter an issue please file an Issue by including the failing migration name, database driver/version, and the server logs.

  • On MySQL, if you encounter an error “Failed to apply database migrations” when upgrading to v6.4.0, it means that there is a mismatch between the table collation and the default database collation. You can manually fix this by changing the database collation with ALTER DATABASE <YOUR_DB_NAME> COLLATE = 'utf8mb4_general_ci',. Then do the server upgrade again and the migration will be successful.

  • It has been commonly observed on MySQL 8+ systems to have an error Error 1267: Illegal mix of collations when upgrading due to changing the default collation. This is caused by the database and the tables having different collations. If you get this error, please change the collations to have the same value with, for example, ALTER DATABASE <db_name> COLLATE = '<collation>'.

  • The new migration system requires the MySQL database user to have additional EXECUTE, CREATE ROUTINE, ALTER ROUTINE and REFERENCES privileges to run schema migrations.

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

Highlights

Playbook Updates

  • The Team and Starter plans no longer have a limit to the number of playbooks that can be created.

Boards Updates

  • Redesigned the Boards template selector to help users find the best template for projects.

  • Board archives now support images. All image attachments on cards will be included the next time a board archive is exported and imported. The archive format is changing with a new .boardarchive extension and all new exports will only be in this format.

  • Added card badges to indicate the type of content in a card, such as the description, comments, and checklists, without needing to open the card.

  • The entire text on URL properties is now clickable, so users can easily open links from a card without needing to click on a small link icon.

  • GIF file types are now supported as image attachments in card descriptions.

Improvements

User Interface (UI)

  • Updated Account Settings terminology to Settings.

  • Added Accept-Language header to generate link previews in the default Server language.

  • The Invite Members button is now hidden when the Direct Message category is collapsed.

  • Added Collapsed Reply Threads (Beta) tour functionality.

  • Added a keyboard shortcut to open and expand the right-hand pane.

  • UX improvements to the System Console > Licensing page: added a new modal for the upload license workflow.

Administration

  • Improved plugins performance by re-initializing only after plugin configuration changes.

  • Removed dead struct ManifestExecutables.

  • Added support for exporting and importing the post type and edit_at post details.

  • Added support for postgresql schema designator.

Bug Fixes

  • Fixed an issue where the “Make channel admin” option did not display without a license.

  • Fixed an issue where the user menu header was visible when custom statuses were disabled.

  • Fixed an issue where the “New Replies” banner on the right-hand side was displayed for a thread that was entirely visible.

  • Fixed an issue where the markdown Preview link was not hidden in read-only channels.

  • Fixed an issue that caused a gap to appear on the left-hand side in products using the team sidebar.

  • Fixed an issue with Collapsed Reply Threads (Beta) where clearing a deleted root post left the right-hand side blank.

  • Fixed an issue where the Add channel member button text was cut off in Safari.

  • Fixed an issue where the file preview modal info bar showed the channel id instead of the channel name for Direct Messages.

  • Fixed an issue to add a loader when fetching data from the backend in the channel switcher if there are no results matching local data.

  • Fixed an issue where the Get a Public Link button in the file preview modal was hidden if the image was an external link.

  • Fixed an issue where the click effect on Copy invite link button was incorrect.

  • Reinstalling a previously-enabled plugin now correctly reports enabled status as false.

  • Fixed an issue where the Ctrl/Cmd+Shift+A hotkey to open Settings didn’t work in desktop view.

  • Fixed an issue where the “Leave Channel” button didn’t work from the channel sidebar 3-dot menu when clicking on it a second time.

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 DataRetentionSettings in config.json:

    • Added EnableBoardsDeletion and BoardsRetentionDays to add support for Global Retention Policy for Boards.

API Changes

  • The api/v4/config/migrate API endpoint has been removed in favor of the mmctl --local endpoint. API clients won’t be able to access this endpoint without having physical access to the server.

Go Version

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

Open Source Components

  • Removed @formatjs/intl-pluralrules and @formatjs/intl-relativetimeformat from https://github.com/mattermost/mattermost-webapp.

  • Added msgpack/msgpack and pako 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 Q2 2022. Learn more about these performance considerations here.

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

  • Adding an @mention at the start of a post draft and pressing the left or right arrow key 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.

  • Boards export and reimport duplicates boards because all IDs are replaced by new ones on the server. See the GitHub issue for more information.

Contributors

Release v6.3 - Extended Support Release

  • v6.3.10, released 2022-08-23

  • v6.3.9, released 2022-06-13

    • Mattermost v6.3.9 contains medium severity 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.

    • The value of ServiceSettings.TrustedProxyIPHeader defaults to empty from now on. A previous bug prevented this from happening in certain conditions. Customers are requested to check for these values in their config and set them to nil if necessary. See more details here.

    • Fixed a bug that allowed to send test (empty) notifications even if the SendPushNotifications config was set to false.

    • Pre-packaged Playbooks v1.23.2.

  • v6.3.8, released 2022-04-28

    • Mattermost v6.3.8 contains a medium severity 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.

    • Ping endpoint now can receive a device ID, which will report whether the device is able to receive push notifications.

  • v6.3.7, released 2022-04-13

    • Fixed an issue where users were able to attempt to create private playbooks with the Professional license.

  • v6.3.6, released 2022-03-24

    • Fixed an issue with a slow delete of posts and context deadline exceeded errors after upgrading to v6.3.

    • Fixed an issue where the announcement banner caused the top team to be partially obstructed MM-40887.

  • v6.3.5, released 2022-03-10

    • Mattermost v6.3.5 contains medium severity 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.

    • Improved the performance of code for storing users in the webapp.

    • Fixed a memory leak caused by the post textbox.

    • Removed the collapsed sidebar menu from the DOM on sidebar collapse and expand.

    • Fixed an issue with disabling and re-enabling Custom Terms of Service.

  • v6.3.4, released 2022-02-21

    • Fixed a major web and desktop app performance issue for users with a large accumulated number of Direct Messages and Group Messages.

    • The right-hand side dot menu of root posts are now rendered to DOM only when hovered upon.

    • The re-rendering of the CustomStatusEmoji component is now avoided on post hover.

    • The re-rendering of the TextBox links component below post box is now avoided while typing.

    • Reduced the number of post components listening for keyboard and mouse events.

  • v6.3.3, released 2022-02-03

    • Mattermost v6.3.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.

    • The default for ThreadAutoFollow has been changed to false. This does not affect existing configurations where this value is already set to true MM-41351.

    • Prevented some instances where operations relating to Collapsed Reply Threads added load to the database server even when the ThreadAutoFollow and CollapsedThreads config settings were disabled MM-41350.

    • .pages content search is no longer available due to technical difficulties.

    • Fixed an issue where the “New Replies” banner displayed in the right-hand side for threads that were entirely visible MM-40317.

  • v6.3.2, released 2022-01-28

    • Fixed an issue where MySQL installations re-triggered the v6.0 migration on server restart MM-41330.

    • Fixed an issue where Actiance compliance jobs caused the Mattermost server process to crash with a panic MM-41245.

  • 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

Important Upgrade Notes

  • Collapsed Reply Threads, available in beta, are known to have a negative impact on server performance. If you cannot easily scale up and tune your database, or if you are running the Mattermost application server and database server on the same machine, we recommended disabling ThreadAutoFollow and CollapsedThreads until Collapsed Reply Threads is promoted to general availability in Q2 2022. Learn more about these performance considerations here.

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

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.

  • 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.

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

  • Boards export and reimport duplicates boards because all IDs are replaced by new ones on the server. See the GitHub issue for more information.

Release v6.2 - Feature Release

  • v6.2.5, released 2022-03-10

  • v6.2.4, released 2022-02-21

    • Fixed a major web and desktop app performance issue for users with a large accumulated number of Direct Messages and Group Messages.

  • v6.2.3, released 2022-02-03

    • Mattermost v6.2.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.

    • The default for ThreadAutoFollow has been changed to false. This does not affect existing configurations where this value is already set to true MM-41351.

    • Prevented some instances where operations relating to Collapsed Reply Threads added load to the database server even when the ThreadAutoFollow and CollapsedThreads config settings were disabled MM-41350.

    • .pages content search is no longer available due to technical difficulties.

    • Fixed an issue where MySQL installations re-triggered the v6.0 migration on server restart MM-41330.

  • 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

    • Mattermost v6.2.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 an issue where a SIGSEGV error occurred after upgrading to v6.2.0 when plugins were disabled in configuration.

  • 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.

  • Collapsed Reply Threads, available in beta, are known to have a negative impact on server performance. If you cannot easily scale up and tune your database, or if you are running the Mattermost application server and database server on the same machine, we recommended disabling ThreadAutoFollow and CollapsedThreads until Collapsed Reply Threads is promoted to general availability in Q2 2022. Learn more about these performance considerations here.

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 Q2 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.

  • 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.3, released 2022-02-03

    • Mattermost v6.1.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.

    • The default for ThreadAutoFollow has been changed to false. This does not affect existing configurations where this value is already set to true MM-41351.

    • Prevented some instances where operations relating to Collapsed Reply Threads added load to the database server even when the ThreadAutoFollow and CollapsedThreads config settings were disabled MM-41350.

    • .pages content search is no longer available due to technical difficulties.

    • Fixed an issue where MySQL installations re-triggered the v6.0 migration on server restart MM-41330.

  • 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);

  • Collapsed Reply Threads, available in beta, are known to have a negative impact on server performance. If you cannot easily scale up and tune your database, or if you are running the Mattermost application server and database server on the same machine, we recommended disabling ThreadAutoFollow and CollapsedThreads until Collapsed Reply Threads is promoted to general availability in Q2 2022. Learn more about these performance considerations here.

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 Q2 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

    • Mattermost v6.0.2 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.

    • Fixed a race condition in telemetry IDs on High Availability servers MM-39343.

    • Update prepackaged Boards version to 0.9.4.

  • 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.

  • Collapsed Reply Threads, available in beta, are known to have a negative impact on server performance. If you cannot easily scale up and tune your database, or if you are running the Mattermost application server and database server on the same machine, we recommended disabling ThreadAutoFollow and CollapsedThreads until Collapsed Reply Threads is promoted to general availability in Q2 2022. Learn more about these performance considerations here.

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.

  • Added a field to each of the compliance export formats (CSV, Global Relay, and Actiance) to indicate that a post was viewable via the new permalink preview feature.

  • 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 Q2 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

    • Mattermost v5.39.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 an issue with fetching threads upon websocket reconnection.

    • Fixed a race condition in telemetry IDs on High Availability servers MM-39343.

  • 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 Q2 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 Q2 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

  • 5.37.10, released 2022-08-31

    • Improved groups query performance by not counting deleted members.

    • Prevented the request for counting channel members in a group when the feature is disabled to prevent performance problems at scale.

  • v5.37.9, released 2022-03-10

  • v5.37.8, released 2022-02-03

    • Mattermost v5.37.8 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.

    • The default for ThreadAutoFollow has been changed to false. This does not affect existing configurations where this value is already set to true MM-41351.

    • Prevented some instances where operations relating to Collapsed Reply Threads added load to the database server even when the ThreadAutoFollow and CollapsedThreads config settings were disabled MM-41350.

    • .pages content search is no longer available due to technical difficulties.

    • Fixed an issue where Actiance compliance jobs caused the Mattermost server process to crash with a panic MM-41245.

  • 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

    • Mattermost v5.37.4 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 potential panic during the message export job MM-39521.

    • Fixed some sentry crashes MM-38565, MM-39208.

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

  • v5.37.3, released 2021-10-27

    • Mattermost v5.37.3 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 race condition in telemetry IDs on High Availability servers MM-39343.

    • Fixed import process for imports with attachments MM-38375.

    • Fixed an issue that kept message attachment fields unaligned MM-36943.

  • 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.

  • Collapsed Reply Threads, available in beta, are known to have a negative impact on server performance. If you cannot easily scale up and tune your database, or if you are running the Mattermost application server and database server on the same machine, we recommended disabling ThreadAutoFollow and CollapsedThreads until Collapsed Reply Threads is promoted to general availability in Q2 2022. Learn more about these performance considerations here.

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 Q2 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

Release v5.36 - Feature Release

  • v5.36.2, released 2021-08-04

  • v5.36.1, released 2021-06-21

    • Mattermost v5.36.1 contains a high 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.

    • Added performance improvements by reducing the time taken to re-render when a post is received.

  • v5.36.0, released 2021-06-16

    • Original 5.36.0 release

Mattermost v5.36.0 contains a high 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.

Important Upgrade Notes

  • Gossip clustering mode is now in General Availability and is no longer available as an option. All cluster traffic will always use the gossip protocol. The config setting UseExperimentalGossip has no effect and has only been kept for compatibility purposes. The setting to use gossip has been removed from the System Console. Note: For High Availability upgrades, all nodes in the cluster must use a single protocol. If an existing system is not currently using gossip, one node in a cluster can’t be upgraded while other nodes in the cluster use an older version. Customers must either use gossip for their High Availability upgrade, or customers must shut down all nodes, perform the upgrade, and then bring all nodes back up.

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

Highlights

Focalboard (Beta)

  • Focalboard is now integrated with Mattermost as a beta feature in v5.36. To enable Focalboard, open the Marketplace from the sidebar menu, install the Focalboard plugin, then click on Configure, enable it, and save. Update your NGINX or Apache web proxy config following these steps.

Incident Collaboration (Enterprise Edition E20)

  • Includes automated welcome message, team-wide playbook access, and permission control for playbook creation.

Hungarian Language Support (Beta)

  • Mattermost is now available in Hungarian.

Improvements

User Interface (UI)

  • If message autoresponder is set, only one message is now sent to a given user irrespective of how many Direct Message messages the user receives.

  • Added status icons on Add members to channel and Add members to team lists.

  • Added a keyboard shortcut to focus on the Search bar and search in the current channel.

  • A search tip is now shown when scrolling back in a channel.

  • Improved the error text in the Edit Channel Header modal.

  • Added the ability to clear a custom status when only an emoji and no text is set.

  • Redesigned message notification emails.

  • When Show online availability on profile images is set to Off, the online status icon is hidden from the profile image in the center channel and the right-hand side view.

Performance

  • Added a performance improvement to the emoji picker overlay to improve typing performance.

  • Added performance improvements when receiving new posts.

Administration

  • TCP_NO_DELAY is disabled for Websocket connections to allow for higher throughput.

  • Compliance Monitoring CSV files are no longer limited to 30,000 rows.

  • The default value of the Support Email (previously _feedback@mattermost.com_) has been removed. Admin Advisor will now prompt System Admins about missing configuration for the Support Email. This value is required, and it ensures Mattermost account requests are sent to the correct team for resolution.

  • The Marketplace button in the Main Menu is now displayed if the user has the sysconsole_write_plugins permission.

  • Added new feature discoveries in the System Console, including Data Retention Policy and OpenID Connect.

  • Added basic intra-cluster communication support for plugins.

  • Improved error messages for /header and /purpose commands.

  • Team-restricted direct channel creation is now also applied to the backend. Previously, this was restricted to the frontend.

  • Refactored the config storing logic to improve its robustness and performance.

  • Added a visual grouping of related settings under AD/LDAP in the System Console.

Bug Fixes

  • Fixed an issue where bulk export generated invalid Direct Message channels between deactivated users.

  • Fixed an issue where the custom status cleared slash commands on mobile.

  • Fixed an issue with an incorrect error message when trying to change handle via API to another one that already existed.

  • Fixed an issue where LDAP Group Sync didn’t work when using SAML (ADFS) for authentication and AD/LDAP Group Sync unless EnableSyncWithLdapIncludeAuth was set to true, which caused the AuthData to be stored in AD/LDAP format.

  • Fixed an issue where a user with ‘No Access’ permission could still access Groups, Channels and Teams configuration pages through a URL.

  • Fixed an issue where Remove from channel and Remove Team Member menu items were visible in a group-synced channel or team.

  • Fixed various bugs related to hardcoded theme colours.

  • Fixed UI issues related to hardcoded variables and misalignment of the channel header with the Has guests text.

  • Fixed an issue with SAML Sign-on where System Admins were unable to modify Service Provider Login URL unless VerifySignature was enabled.

  • Fixed a race condition where enabling plugins would result in spurious errors in the logs.

  • Fixed a bug where team member permissions were not updated after associating a team with a permission scheme.

  • Fixed the responses of the role by ID and all roles of API endpoints when the role was associated to channel schemes.

  • Removed sticky sidebar headings in favor of fixing nesting errors.

  • Fixed an issue where the Close button in the Create New Category modal was only visible on mouse hover.

  • Fixed a bug where session expiration was extended with activity regardless of what the config setting ServiceSettings.ExtendSessionLengthWithActivity was set to.

  • Fixed an issue where the idmigrate command did not update values if they were not already present as LDAP attributes in the config.json.

  • Fixed an issue where the job scheduler server could miss a “changed leader” cluster event.

  • Fixed an issue where using Ctrl+Cmd+F on the MacOS Desktop App opened the search instead of full-screened the app.

  • Fixed an issue where the message input box was shadowed when uploading a file in the center channel.

  • Fixed an error caused by a post created with a non-string attachment field.

  • Fixed the opacity of the read state in the channel sidebar, as well as enhanced the opacity of the channel icon when the channel was unread.

  • Fixed an issue where users were unable to sign in with O365 authentication when the AuthData was formatted differently between Office365 OAuth and Office 365 OpenID.

  • Fixed an issue where custom emojis for custom statuses were not loaded on page refresh.

  • Fixed an issue where the “Set a status” placeholder in the profile popover was not correctly themed.

  • Fixed an issue where bots showed the integration owner’s custom status in the post header in the right-hand side.

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 ComplianceSettings in config.json:

    • Added a new config setting BatchSize. Compliance Monitoring CSV files are no longer limited to 30,000 rows.

  • Under SupportSettings in config.json:

    • SupportEmail default value is now empty instead of _feedback@mattermost.com_.

  • Under LogSettings in config.json:

    • A new setting EnableColor was added to LogSettings and NotificationLogSettings. Non-JSON console logs will now be colored if that field is set to true.

  • Under ServiceSettings in config.json:

    • Added EnableReliableWebSockets, to make WebSocket messages more reliable by bufferring messages during a connection loss and then re-transmitting all unsent messages when the connection is revived.

API Changes

  • Added support to include config diff in audit records for the related API calls (updateConfig and patchConfig).

  • Response field names changed for experimental API GetAllSharedChannels to match the field names for other channels APIs.

  • Added a new function to the plugin API, RequestTrialLicense.

  • The /ldap/sync endpoint now accepts a parameter include_removed_members which will force all LDAP group members back into the teams and channels synced to that group.

  • Added a new API endpoint to removeUserRecentCustomStatus POST /status/custom/recent/delete.

  • Added GetGroupMemberUsers and GetGroupsBySource to the plugin API to add plugin support for user groups.

  • Added a new API endpoint POST /api/v4/saml/reset_auth_data to reset SAML users’ AuthData field to their email.

  • Added new API endpoints:

    • GET    /data_retention/policies

    • GET    /data_retention/policies_count

    • POST   /data_retention/policies

    • GET    /data_retention/policies/{policy_id}

    • PATCH  /data_retention/policies/{policy_id}

    • DELETE /data_retention/policies/{policy_id}

    • GET    /data_retention/policies/{policy_id}/teams

    • POST   /data_retention/policies/{policy_id}/teams

    • DELETE /data_retention/policies/{policy_id}/teams

    • POST   /data_retention/policies/{policy_id}/teams/search

    • GET    /data_retention/policies/{policy_id}/channels

    • POST   /data_retention/policies/{policy_id}/channels

    • DELETE /data_retention/policies/{policy_id}/channels

    • POST   /data_retention/policies/{policy_id}/channels/search

    • GET    /users/{user_id}/data_retention/team_policies

    • GET    /users/{user_id}/data_retention/channel_policies

Go Version

  • v5.36 is built with Go 1.15.5.

Open Source Components

  • Added lodash, memoize-one, and sass to https://github.com/mattermost/mattermost-webapp.

  • Added react-native-startup-time and removed react-native-status-bar-size from 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 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

  • Batched email notifications from a single post have incorrect title text MM-36559.

  • 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.

  • 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.35 - Feature Release

  • v5.35.5, released 2021-08-04

  • v5.35.4, released 2021-06-21

  • v5.35.3, released 2021-06-11

    • Mattermost v5.35.3 contains a high level security fix. Upgrading 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 where missing query parameters in the datasource could cause MySQL servers to crash on startup. MM-36236

    • Added performance improvements to the emoji picker overlay to improve typing performance and reduced the time taken to re-render when a post is received.

  • v5.35.2, released 2021-06-03

    • Fixed an issue where subsequent migrations failed to run after running a dot release on new installations. MM-35931

    • Fixed an issue where the server would crash if content extractor dependencies for PDFs were not present. MM-35990

    • Fixed an issue where the setting to allow disabling link previews from certain domains was grayed out in the System Console. MM-35796

    • Fixed an issue where SMTP showed a permission error when upgrading from version < 5.35 to 5.35 or greater. MM-35861

    • Fixed an issue with extracting OpenDocument Text files as part of content extraction. MM-36103

  • v5.35.1, released 2021-05-18

    • Fixed an issue where 5.35.0 migration failed on MySQL installations with an “invalid connection” error due to an issue with the readTimeout parameter in SqlSettings.DataSource (default is 30 seconds). The readTimeout datasource query parameter is now being ignored and the application provided SqlSettings.QueryTimeout should be used instead. MM-35767

  • v5.35.0, released 2021-05-16

    • Original 5.35.0 release

Mattermost v5.35.0 contains low and 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.

Important Upgrade Notes

  • Due to the introduction of backend database architecture required for upcoming new features, including Shared Channels and Collapsed Reply Threads, the performance of the migration process for the v5.35 release (May 16, 2021) has been noticeably affected. Depending on the size, type, and version of the database, longer than usual upgrade times should be expected. This can vary from a couple of minutes (average case) to hours (worst case, MySQL 5.x only). A moderate to significant spike in database CPU usage should also be expected during this process. More details on the performance impact of the migration and possible mitigation strategies are provided here.

  • v5.35.0 introduces a new feature to search for files. Search results for files shared in the past may be incomplete until a content extraction command is executed to extract and index the content of files already in the database. Instances running Elasticsearch or Bleve search backends will also need to execute a Bulk Indexing after the content extraction is complete. Please see more details in this blog post.

  • The existing password generation logic used during the bulk user import process was comparatively weak. Hence it’s advised for admins to immediately reset the passwords for all the users who were generated during the bulk import process and whose password has not been changed even once.

  • In the v5.38 release (August 16, 2021), we will deprecate “config watcher” (the mechanism that automatically reloads the config.json file), in favor of an mmctl command that will need to be run to apply configuration changes after they are made. This change will improve configuration performance and robustness.

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

Highlights

Apps Framework (Developer Preview)

  • Apps Framework is a new way to integrate with external tools, and allows developers to create interactive apps in Mattermost, using any development language they’re comfortable with. The new apps work seamlessly across mobile and desktop clients. This is a developer preview and is not intended for production instances of Mattermost yet. This feature is available for self-managed customers with v5.35 when the Apps Framework Plugin is loaded on an instance. Learn more: https://developers.mattermost.com/integrate/apps/.

Search for files and document contents

  • Searching in Mattermost now finds both relevant messages and files in your team’s conversation history. Search will return results for attachments that match the file name or contain matching text content within supported document types. Learn more.

Granular Access to System Console Pages (Enterprise E20 Edition)

  • Migrated Experimental, About, Reporting, Environment, Site Configuration, Authentication, Integrations, and Compliance sections to their respective sub-section permissions.

Shared Channels (Experimental, Enterprise Edition E20)

  • Experimental support added for sharing channels between Mattermost clusters. Requires an Enterprise Edition E20 license. The Shared Channels feature is disabled by default.

Enterprise Trial Enhancements (Enterprise E20 Edition)

  • Added banners to alert System Admins when an Enterprise Edition E20 trial has started, when there are three days left of the trial, and when the trial is on the last day.

Incident Collaboration (Enterprise Edition E20)

  • Updated prepackaged Incident Collaboration plugin with to include ad hoc tasks, stakeholder overview, and more.

Improvements

User Interface (UI)

  • Added support to collapse in-line images over 100px in height.

  • Implemented maximum length validation on the status modal for custom statuses.

  • Synchronized collapsed channel sidebar categories on the server to keep category collapse states in-sync across devices.

  • Empty state is no longer off-centered in the Channel Switcher.

  • Ephemeral message created from call response markdown field is now posted by bot.

  • Added various enhancements to custom status to allow users to switch to recent statuses with less clicks.

  • Users can now see online status on user profile images in the channel switcher.

  • Added a string field to restricted domains configuration with the key RestrictLinkPreviews, and added a UI field for restricted domains under System Console > Site Configuration > Posts. Also expanded the logic that determines whether a post has a preview or not.

  • Added an unread badge to the Main Menu icon and the Plugin Marketplace menu that displays until a System Admin visits the Plugin Marketplace for the first time.

  • Profile images are now visible on Direct Messages in the channel sidebar.

  • Added channel icons for email notifications as part of email notification redesigns.

  • Direct Messages More… modal is now sorted by recent conversations when the modal is opened.

  • Removed legacy Open-Sans fonts and upgraded Open-Sans to v18.

Administration

  • Paused Admin Advisor notifications from triggering.

  • Added a command line document extraction command that allows indexing documents by content.

  • Removed the utility function model.GeneratePassword() for security reasons. An improved version is now being used internally to generate passwords for bulk-imported users.

  • Only the System Admin is allowed to have the ability to assign system roles.

  • Two new gauge metrics were added: mattermost_db_replica_lag_abs and mattermost_db_replica_lag_time, both containing a label of “node”, signifying which database host is the metric from.

    • These metrics signify the replica lag in absolute terms and in the time dimension capturing the whole picture of replica lag. To use these metrics, a separate config section ReplicaLagSettings was added under SqlSettings. This is an array of maps which contain three keys: DataSource, QueryAbsoluteLag, and QueryTimeLag. Each map entry is for a single replica instance. DataSource contains the database credentials to connect to the replica instance. QueryAbsoluteLag is a plain SQL query that must return a single row of which the first column must be the node value of the Prometheus metric, and the second column must be the value of the lag. QueryTimeLag is the same as above, but used to measure the time lag.

    • As an example, for AWS Aurora instances, the QueryAbsoluteLag can be: select server_id highest_lsn_rcvd-durable_lsn as bindiff from aurora_global_db_instance_status() where server_id=<> and QueryTimeLag can be: select server_id, visibility_lag_in_msec aurora_global_db_instance_status() where server_id=<>. For MySQL Group Replication, the absolute lag can be measured from the number of pending transactions in the applier queue: select member_id, count_transactions_remote_in_applier_queue FROM performance_schema.replication_group_member_stats where member_id=<>. Overall, what query to choose is left to the administrator, and depending on the database and need, an appropriate query can be chosen.

Bug Fixes

  • Fixed link previews on a number of websites, including Reddit.

  • Fixed an issue where SAML assigned Mattermost UserID as username if the value was invalid and did not log this.

  • Fixed an issue where hover effects for category sorting and Direct Messages category limit submenus were too dark on a dark theme.

  • Fixed an issue where users were unable to drag the vertical scroll bar on a PDF preview.

  • Fixed an issue with animations on long posts when highlighted as a permalink.

  • Fixed an issue where the user’s nickname was not shown on channel switch.

  • Fixed an issue where deactivated users were not marked as Deactivated in the channel switcher.

  • Fixed an issue where queries executed during the upgrade process would pre-emptively time out on the application side.

  • Fixed an issue where users were unable to deactivate MFA for their accounts even if MFA was disabled on the server.

  • Fixed an issue where user settings on API could be set if LDAP Sync was on. For LDAP and SAML users, the following fields cannot be changed via the API if the corresponding LDAP/SAML attributes have been set: first name, last name, position, nickname, email, profile picture. For OAuth users (i.e., GitLab, Google, Office365, and OpenID), the following fields cannot be changed via the API: first name, last name. All users who authenticate via a method other than email cannot change their username via the API.

  • Fixed a possible panic on post creation when the collapsed threads feature was enabled.

  • Fixed a database deadlock that could happen if a sidebar category was updated and deleted at the same time.

  • Fixed an issue where the sidebar Text Hover BG Theme color didn’t work on the left-hand side.

  • Fixed an issue where the Team Admin’s current role was presented inconsistently in the different areas of the System Console.

  • Fixed an issue where the Show more background color on long posts was broken for permalinks.

  • Fixed an issue where redirecting with JS failed when Content Security Policy was enabled and restricted with unsafe-inline.

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 EnableFileSearch for file search feature.

    • Added RestrictLinkPreviews setting to allow disabling link previews from certain domains.

  • Under FileSettings in config.json:

    • Added ExtractContent and ArchiveRecursion for file search feature.

  • Under ExperimentalSettings in config.json:

    • Added EnableRemoteClusterService for experimental Shared Channels feature.

  • Under SqlSettings in config.json:

    • Added ReplicaLagSettings. This is an array of maps which contain three keys: DataSource, QueryAbsoluteLag, and QueryTimeLag.

Database Changes

  • Added new column in ChannelMembers table called MentionCountRoot. Please note that the migration can take up to a few minutes on installations with large numbers of channels/users.

  • Added TotalMsgCountRoot to Channels table and MsgCountRoot column to ChannelMembers table. Please note that the migration can take several minutes to complete on large MySQL instances.

API Changes

  • Added /teams/{team_id}/files/search API endpoint for files search.

  • For LDAP and SAML users, the following fields cannot be changed via the API if the corresponding LDAP/SAML attributes have been set: first name, last name, position, nickname, email, profile picture. For OAuth users (i.e., GitLab, Google, Office365, and OpenID), the following fields cannot be changed via the API: first name, last name. All users who authenticate via a method other than email cannot change their username via the API.

Go Version

  • v5.35 is built with Go 1.15.5.

Open Source Components

  • Added country-list, form-data, gfycat-sdk, redux-thunk, rudder-sdk-js, serialize-error and shallow-equals, and removed mattermost-redux from https://github.com/mattermost/mattermost-webapp.

Known Issues

  • A persistent unread badge on sidebar hamburger menu may show if Enable Marketplace or Enable Plugins is disabled in the System Console MM-36160.

  • 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.

  • Posts created by bots containing attachments sometimes appear as repeated until the user refreshes the page MM-30980.

  • 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.34 - Feature Release

  • v5.34.5, released 2021-06-21

  • v5.34.4, released 2021-06-11

    • Mattermost v5.34.4 contains a high level security fix. Upgrading 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 where missing query parameters in the datasource could cause MySQL servers to crash on startup. MM-36236

    • Fixed an issue where plugin icons were displaying as a column instead of as a row on the left-hand side. MM-36199

  • v5.34.3, released 2021-06-03

    • Fixed an issue where subsequent migrations failed to run after running a dot release on new installations. MM-35931

  • v5.34.2, released 2021-04-17

    • Fixed an issue where installs with some special characters in the MySQL password would break and fail to start.

  • v5.34.1, released 2021-04-15

    • Fixed an issue where upgrading to v5.34.0 runs a migration that could cause timeouts on MySQL installations. Upgrading to v5.34.1 may also execute missing migrations that were scheduled for v5.32.0. These additions can be lengthy on very big MySQL (version 5.x) installations.

      • Altering of Posts.FileIds type (PostgreSQL only)

      • Added new column ThreadMemberships.UnreadMentions

      • Added new column Channels.Shared

      • Added new column Reactions.UpdateAt

      • Added new column Reactions.DeleteAt

  • v5.34.0, released 2021-04-15

    • Original 5.34.0 release

Highlights

Incident Collaboration: Automated actions on incident start (E20 Edition)

  • Users can now configure playbooks to automatically execute key actions when an incident is created to save time and reduce the chance of manual error.

Bulgarian and Swedish language support

  • Removed Beta tags from Swedish and Bulgarian languages. Mattermost is now available in 18 languages.

Improvements

User Interface (UI)

  • System Admins now see a prompt to join private channel when joining a private channel via a permalink.

  • Added support for adding in-product notices for external dependency deprecation details.

  • Improved the timezone selector component.

  • Introduced a new theme variable for the team sidebar.

  • Added support for automatic right-to-left (RTL) detection in browsers.

  • Updated the font size for the Add People channel modal.

  • Online status is now shown in the channel switcher.

  • Improved the design and layout of email notifications for password resets, member invites, member welcomes, and verifications.

Administration

  • Added mmctl commands to create, list, download, and delete export files.

  • Added schema migrations phase 0 (Teams, TeamMembers).

  • Removed references to SqlLite3 from the code.

  • Bleve updates are now logged in the config only when there is an actual change in the BleveSettings instead of on every config update.

  • Profiling the Mattermost server with pprof is now available for Team Edition.

  • Added attributes to split.io feature flags.

Bug Fixes

  • Fixed unsafe access of properties of the plugin environment during ServePluginPublicRequest.

  • Fixed an issue where the Admin Console > Server Logs did not focus to the sidebar filter upon reload.

  • Fixed an issue where the GIF picker appeared empty instead of showing a “No results” modal when no results were displayed.

  • Fixed an issue where the keyboard accessibility controller was not allowed to resume left-hand side scroll after drag and drop.

  • Fixed an issue where markdown links rendered incorrectly.

  • Fixed an issue where the Slack theme import failed due to changes in formatting of Slack export color schemes.

  • Fixed an issue where tooltips were missing for channels with a long name.

  • Fixed a race condition which would crash the app server due to improper handling of WebSocket closing.

  • Fixed an issue where the PDF zoom failed to respond to zoom in/out/reset actions until the user scrolled.

  • Fixed an issue where, in a reply thread with the right-hand side expanded, attachments in a post draft were hidden behind the center channel text box.

  • Fixed bugs related to replication lag for Enterprise Edition instances configured to use read replicas.

  • Fixed an issue where Compliance Report field headers were not correctly aligned.

  • Fixed an issue where the /join command was case-sensitive.

  • Fixed an issue where one-character sidebar category names were not displayed.

  • Fixed an issue with a theme discrepancy on Close buttons on some modals in the System Console (when using a custom team theme).

  • Fixed an issue where long text input in the right-hand pane was jumpy when selected.

  • Fixed an issue where the zoom level persisted across multi-attachment PDF previews.

  • Fixed an issue where long image names pushed the show/hide control off the right side of the window.

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:

  • Added ExportSettings to add support for compressed export files with attachments.

Go Version

  • v5.34 is built with Go 1.15.5.

Open Source Components

  • Removed core-js from https://github.com/mattermost/mattermost-mobile.

Known Issues

  • Text alignment in right-to-left support does not work correctly in v5.34. This issue is fixed in the latest version of the mattermost-rtl plugin.

  • Deactivated users are not marked as “Deactivated” in the channel switcher MM-33910.

  • User nickname is not shown on channel switch MM-33897.

  • 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.

  • The server tries to install E20-required plugins on non-E20 installations MM-32387.

  • 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.

  • Posts created by bots containing attachments sometimes appear as repeated until the user refreshes the page MM-30980.

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

  • Reddit link previews no longer work in Mattermost. This affects older versions too MM-31899.

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

  • 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

abdullahceylan, aconitumnapellus, Adovenmuehle, aeomin, agarciamontoro, aggmoulik, AGMETEOR, agnivade, amyblais, amynicol1985, angeloskyratzakos, anurag6713, appleboy, asaadmahmood, asimsedhain, bbodenmiller, BenCookie95, berkeka, BharatKalluri, calebroseland, catalintomai, chenilim, chetanyakan, chikei, christian-lim, coltoneshaw, cpanato, cpoile, Crimson-riot, crspeller, ctlaltdieliet, cwarnermm, CyrilLD, danielsischy, deanwhillier, devinbinnie, djanda97, ebati, enahum, enelson720, esethna, ethervoid, firasm, flexo3001, flynbit, furqanmlk, gabrieljackson, gigawhitlocks, gruceqq, haardikdharma10, hahmadia, hanzei, haonm, hastadhana, hectorskypl, hmhealey, ianatha, icelander, IndushaS, iomodo, isacikgoz, it33, jamiehurewitz, jasonblais, jaydeland, jbutler992, jbutlerdev, jespino, jfrerich, jials, johnsonbrothers, josephbaylon, jp0707, JtheBAB, justinegeffen, jwilander, kaakaa, kayazeren, khos2ow, larkox, lawrencejohnson, levb, lieut-data, lindalumitchell, lucievr, lutfuahmet, Maekes, mahmud2011, mantlecurve, matt-w99, matthewbirtch, maxerenberg, metanerd, mgdelacroix, michelengelen, mickmister, microolapshare, migbot, minecraftchest1, mistikel, mkdbns, mkraft, mlongo4290, mrtpcet, msal4, Mshahidtaj, natalie-hub, nathanaelhoun, nevyangelova, nronas, ogi-m, opr77, pablovelezvidal, pat-s, phntom, pidgelar, potatogim, prapti, Prescise, proffalken, r-52, rakhi2104, rbradleyhaas, reflog, renjithgr, rodcorsi, saf6260, sakaitsu, saturninoabril, sbishel, shazm, spirosoik, stafot, streamer45, stylianosrigas, svelle, Szymongib, thePanz, toto6038, tsabi, uhlhosting, wget, wiersgallak, wiggin77, Willyfrog, xlanor, YoheiZuho, youtsumi, zefhemel, Zukerherr

Release v5.33 - Feature Release

  • v5.33.5, released 2021-06-11

  • v5.33.4, released 2021-06-03

    • Fixed an issue where subsequent migrations failed to run after running a dot release on new installations. MM-35931

    • Added a performance improvement to the emoji picker overlay to improve typing performance.

  • v5.33.3, released 2021-03-31

    • Fixed an issue where, after migrating to OpenID, Office 365 returned different ID attributes based on user type, causing an error for users with expired sessions when they tried to sign in to Mattermost. MM-34356

  • v5.33.2, released 2021-03-25

    • Improved typing performance on busy servers with lots of active users and with the new sidebar enabled. MM-30407

    • Reverted the WebSocket improvement added in v5.33.0 where epoll was used to manually read from a WebSocket connection. It was reverted because unofficial Mattermost builds in several different platforms broke due to the WebSocket changes. MM-34158

  • v5.33.1, released 2021-03-22

    • Fixed an issue where WebSockets failed with TLS connections. MM-34000

    • Fixed a race condition which would crash the app server due to improper handling of WebSocket closing. MM-33233

    • Fixed an issue where the mmctl config command didn’t recognize newer settings (e.g. ClusterSettings.EnableGossipCompression) that were introduced in v5.33.0. MM-34046

  • v5.33.0, released 2021-03-17

    • Original 5.33.0 release

Mattermost v5.33.0 contains low-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.

Important Upgrade Notes

  • Deleting a reaction is now a soft delete in the Reactions table. A schema update is required and may take up to 15 seconds on first run with large data sets.

  • WebSocket handshakes done with an HTTP version lower than 1.1 will result in a warning, and the server will transparently upgrade the version to 1.1 to comply with the WebSocket RFC. This is done to work around incorrect Nginx (and other proxy) configs that do not set the proxy_http_version directive to 1.1. This facility will be removed in a future Mattermost version. It is strongly recommended to fix the proxy configuration to correctly use the WebSocket protocol.

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

Highlights

OpenID Connect for OAuth 2.0 Authentication (E20 Edition)

  • OpenID Connect enables authentication to Mattermost using any OAuth 2.0 provider that adheres to the OpenID Connect specification. This feature is available for Mobile Apps in the v1.40 release.

Support Packet Generation (E10 & E20 Editions)

  • Mattermost provides the ability to download configuration details, logs, and other deployment information when requesting commercial support for Mattermost self-managed E10 or E20 Enterprise editions, or Mattermost Cloud editions.

Updated Incident Collaboration Plugin to 1.4.0 (E20 Edition)

  • Added an Incident Timeline to support status updates and other key events shown chronologically in the right-hand sidebar. The timeline enables users to easily gather information for post-incident reports.

Custom Statuses

  • Users now gain the flexibility to express their current status in any way they prefer. Set a custom status to add a descriptive status message and emoji that’s visible to everyone throughout the app.

Improvements

User Interface (UI)

  • Improved the Add Members to channel modal.

  • Added Formatting shortcut keys to the Shortcut modal.

  • Added localization to the date picker used when searching for posts around a given date.

  • The autocomplete popover is now positioned relative to the @, ~, or / trigger in the post draft.

  • Removed the 5-page limit on previewing PDFs.

  • Added files as a reserved team name.

  • Searching for a channel by URL now returns the channel.

  • Users are now provided with feedback when creating a custom category name that exceeds the character limit.

Notifications

  • Posts from OAuth 2.0 bots no longer trigger mentions for the user.

Administration

  • Added an ImportDelete job to periodically delete unused import files after a configurable retention period has passed.

  • Introduced new mattermost_system_server_start_time and mattermost_jobs_active metrics for improved debugging with Grafana dashboards.

  • Deleting a reaction is now a soft delete in the Reactions table. A schema update is required and may take up to 15 seconds on first run with large data sets.

  • Changed default MaxFileSize from 50MB to 100MB.

  • Updated Go dependencies to their latest minor version.

  • Added support for compressed export files with attachments.

  • Server crashes due to runtime panics are now captured as a log line.

  • Optimized Direct Message creation by fetching all users involved in a single database call.

  • During the user import process, a change in a user’s NotifyProps will not send an email notification. This is done to make it consistent with other parts of the import process where a change in user’s attributes would also not send any notifications.

  • Implemented a job to delete unused export files.

Bug Fixes

  • Fixed an issue where the Database Schema upgrade step for v5.29.1 was not taken into account in releases v5.30 and later.

  • Fixed an issue where mmctl channel move did not allow moving private channels.

  • Fixed an issue where mmctl config set PluginSettings.EnableUploads to change a configuration value did not return an error.

  • Fixed an issue where the instructions to search for users in System Console > Reporting > Server Logs were not up-to-date.

  • Fixed an issue where no error message was displayed when adding an LDAP Group Synchronized Team in System Console > User Management > Users.

  • Fixed an issue where markdown tables did not wrap correctly.

  • Fixed an issue where the search bar styling on dark themes was incorrect on mobile web view.

  • Fixed an issue where the Main Menu on webapp appeared more left-aligned than previous releases.

  • Fixed an issue where sticky sidebar headings appeared under More Unreads.

  • Fixed an issue where the group channel icon was misaligned in the channel switcher.

  • Fixed an issue where line breaks were ignored when used with inline images.

  • Fixed an issue where the channel switcher did not focus on the first list result after a backspace.

  • Fixed an issue where demoting a user to a guest would not take effect in an environment with read replicas.

  • Fixed a bug with in-product notices where a date constraint might fail to match, which would lead to the notice not being fetched.

  • Fixed an issue where creation of a bot would fail due to replica lag.

  • The DownloadComplianceReport function in the Golang driver has been fixed to download a full report as a zip archive.

  • Fixed Cache-Control headers to instruct that responses may only be cached on browsers.

  • Fixed a panic when the OAuth discovery endpoint would not return a Cache-Control header.

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 ClusterSettings in config.json:

    • Added EnableGossipCompression, to disable compression in the Gossip protocol. By default the value of the setting is true. This is done to maintain compatibility with old servers in a cluster. Once all servers in a cluster are upgraded, it is recommended to disable this setting for better performance.

  • Under SqlSettings in config.json:

    • Added ConnMaxIdleTimeMilliseconds, to allow System Admins to control the maximum time a database connection can remain idle. The default value is set to 5 minutes.

  • Under TeamSettings in config.json:

    • Added EnableCustomUserStatuses, to allow users to set descriptive status messages and optional status emoji that are visible to all users.

Go Version

  • v5.33 is built with Go 1.15.5.

Open Source Components

  • Added types/react-overlays, crypto-browserify, process and stream-browserify, and removed node-semver from https://github.com/mattermost/mattermost-webapp.

  • Removed isomorphic-fetch from https://github.com/mattermost/mattermost-redux.

API Changes

  • Added a new GET /{team_id}/threads/{thread_id} API method for retrieving single threads.

  • Added a new /exports API endpoint to generate and manage export files.

  • Added a new /users/{user_id}/teams/{team_id}/threads/mention_counts API endpoint.

  • Added a new GET /api/v4/cloud/subscription/stats API endpoint.

  • Added a new GET /api/v4/cloud/subscription/limitreached/invite API endpoint.

  • Added new PUT /api/v4/users/<id>/status/custom, DELETE /api/v4/users/<id>/status/custom, and DELETE /api/v4/users/<id>/status/custom/recent API endpoints.

  • The /api/v4/users/me/auth API endpoint can no longer be used to change passwords. This was a hidden feature that was not documented, but was nevertheless possible. We have removed this hidden feature.

  • Updated /users/{user_id}/teams/{team_id}/threads API to support the unread=true query parameter.

  • The /api/v4/users/{user_id}/teams/{team_id}/threads API endpoint now accepts “before” and “after” parameters instead of a page index.

  • Removed the session required restriction from the GET api/v4/subscription/stats API endpoint.

Websocket Event Changes

  • Improved the WebSocket implementation by using epoll to manually read from a WebSocket connection. As a result, the number of goroutines is expected to go down by half. This implementation is only available on Linux and FreeBSD-based distributions.

  • The UserUpdate WebSocket Event is now broadcast by two more APIs, plugin.UpdateUser and ConvertBotToUser.

Known Issues

  • 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.

  • The server tries to install E20-required plugins on non-E20 installations MM-32387.

  • Adding an at-mention at the start of a post draft, then pressing the left or right arrow can clear the post draft and the undo history MM-33823.

  • In some cases, the New messages toast appears without replacing variables with text. MM-33829

  • Posts created by bots containing attachments sometimes appear as repeated until the user refreshes the page MM-30980.

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

  • Reddit link previews no longer work in Mattermost. This affects older versions too MM-31899.

  • Slack theme import fails due to changes in formatting of Slack export color schemes MM-30531.

  • 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 v5.32 - Feature Release

  • v5.32.1, released 2021-02-17

    • Fixed an issue where any search containing an underscore failed on PostgreSQL databases. This was fixed by reverting a v5.32.0 feature that added support for searching for terms on PostgreSQL that contain underscores.

  • v5.32.0, released 2021-02-16

    • Original 5.32.0 release

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

Compatibility

  • TLS versions 1.0 and 1.1 have been deprecated by browser vendors. Starting in Mattermost Server v5.32 (February 16), mmctl returns an error when connected to Mattermost servers deployed with these TLS versions and System Admins will need to explicitly add a flag in their commands to continue to use them. We recommend upgrading to TLS version 1.2 or higher.

  • PostgreSQL ended long-term support for version 9.4 in February 2020. From v5.26 Mattermost officially supports PostgreSQL version 10 as PostgreSQL 9.4 is no longer supported. New installs will require PostgreSQL 10+. Previous Mattermost versions will continue to be compatible with PostgreSQL 9.4. PostgreSQL 9.4 and all 9.x versions are now fully deprecated in our v5.30 release (December 16, 2020). Please follow the instructions under the Upgrading Section within the PostgreSQL documentation. Mattermost will now fail to start if the Postgres version is below that.

Breaking Changes

  • ExperimentalChannelOrganization, EnableXToLeaveChannelsFromLHS, CloseUnusedDirectMessages, and ExperimentalHideTownSquareinLHS settings are only functional if the Legacy Sidebar (EnableLegacySidebar) is enabled since they are not compatible with the new sidebar experience. ExperimentalChannelSidebarOrganization has been deprecated, since the new sidebar is now enabled for all users.

  • Breaking changes to the Golang client API were introduced: GetPostThread, GetPostsForChannel, GetPostsSince, GetPostsAfter, GetPostsBefore, and GetPostsAroundLastUnread now require an additional collapsedThreads parameter to be passed. Any client making use of these functions will need to update them when upgrading its dependencies.

  • A breaking change was introduced when upgrading the Go version to v1.15.5 where user logins fail with AD/LDAP Sync when the certificate of the LDAP Server has no Subject Alternative Name (SAN) in it. Creating a new certificate on the AD/LDAP Server with the SAN inside fixes this.

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

Highlights

General availability of custom, collapsible channel categories

  • Mattermost now gives users flexibility to organize channels and direct messages into custom, collapsible sidebar categories. Users gain full personalization of their sidebar to improve productivity, reduce clutter and focus on what matters. Learn more about the new channel sidebar enhancements.

Self-serve renewals (E10 & E20 Editions)

  • Mattermost is introducing the ability to renew your self-managed E10 or E20 license subscription online with a credit card. This feature creates a frictionless experience for System Administrators to renew their license without the need to contact sales. The renewal process takes place in the customer portal and only takes a few minutes to complete.

Incident Collaboration v1.3.2 (E20 Edition)

  • Pre-packaged Incident Collaboration v1.3.2 offers a more specific incident status and centralized task list.

Improvements

User Interface (UI)

  • Added new languages, Bulgarian and Swedish.

  • Added team sidebar user interface and animation enhancements.

  • Moved the header icons to the left of the header beside the channel description.

  • Added support to move multi-selected groups of channels to another category via the More options menu.

Plugins

  • Updated bundled plugin packages, including GitHub and Jenkins plugins.

  • Enabled experimental support for ARM64 plugins by allowing any matching GOOS-GOOARCH combination in the plugin manifest.

Administration

  • AnalyticsPostCount now avoids unnecessary table scans during various background jobs.

  • The Help text for the Rate Limiting setting was updated to explain the purpose of rate limiting.

  • Removed the word “experimental” from the Gossip setting in the System Console.

  • Updated the Go version to v1.15.5.

  • Added support for automatic installation and enablement of plugins using feature flags.

  • Added webhook create endpoints to local mode and the ability to create webhooks for other users.

  • Added a Mattermost CLI command to initialize the database.

  • Added support for processing import files through the API.

  • Added support for protocol-relative URLs while using the Image Proxy.

  • A Striped LRU cache is now used by default.

  • Added shared channels and remote_cluster_service under a license check.

Bug Fixes

  • Fixed an issue where the Admin Filter option was not disabled in the AD/LDAP page for Admin roles with a sysconsole_write_authentication permission.

  • Fixed an issue where channels would sometimes be removed from custom categories when a user left a team.

  • Fixed an issue where the error text was missing when the team name was left blank on the Team Create page.

  • Fixed an issue where the System Manager was able to download the Compliance Export files.

  • Fixed an issue where themed button colours in interactive message attachments in Mattermost’s default dark theme were mismatched.

  • Fixed an issue where bold and italics shortcuts triggered with CTRL+B on Mac.

  • Fixed an issue where a “Your license does not support cloud requests” log error appeared on self-hosted servers.

  • Fixed an issue where the permissions of a System Admin role got deleted when changing the access level to any permission.

  • Fixed an issue where editing a /me post behaved differently within the Mattermost Web App and the Mobile App.

  • Fixed an issue where the hover state on category headers did not span the whole width of the left-hand navigation.

  • Fixed an issue where plugins on the left-hand side of the System Console were sorted differently than the ones in the Plugin Management page.

  • Fixed an issue where 15-character team names were truncated when the experimental channel sidebar was enabled.

  • Fixed an issue where the sidebar menus weren’t styled correctly in mobile browser view.

  • Fixed an issue where jumping into an archive channel and clicking the link to jump to recent messages sent the user out of the archived channel.

  • Fixed an issue where the tooltip text for copying an incoming webhook URL was unclear.

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:

  • Deprecated the ExperimentalChannelSidebarOrganization setting and added a new EnableLegacySidebar setting. The new channel sidebar will be enabled system-wide by default.

  • The UseExperimentalGossip field under ClusterSettings is now true by default. This means that new installations will use the Gossip protocol for cluster communication. There will be no changes to existing installations. The Gossip protocol is now considered to be in General Availability and is the recommended clustering mode.

  • Enabled ExperimentalDataPrefetch for all servers and removed the corresponding setting.

  • Under NativeAppSettings in config.json:

    • Added a AppCustomURLSchemes setting to add the ability to redirect to the mobile app after OAuth & SAML auth completion.

Go Version

  • 5.32 is built with Go 1.15.5.

API Changes

  • Thread related API routes now include teamId path parameter.

  • Changed output of Get Threads API to include total_unread_threads instead of total_unread_replies.

  • Added collapsedThreads and collapsedThreadsExtended query parameters to:

    • api/v4/channels/{channel_id:[A-Za-z0-9]+}/posts

    • api/v4/users/{user_id:[A-Za-z0-9]+}/channels/{channel_id:[A-Za-z0-9]+}/posts/unread

    • api/v4/posts/{post_id:[A-Za-z0-9]+}/thread

Database Changes

  • Added a new Shared column to the Channels table.

Known Issues

  • 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.

  • The server tries to install E20 required plugins on non-E20 installations. MM-32387

  • Some known issues related to the new channel sidebar, such as that the team icon on-click animation is laggy. MM-32198

  • Adding an at-mention at the start of a post draft, then pressing the left or right arrow can clear the post draft and the undo history MM-33823.

  • Reddit link previews no longer work in Mattermost. MM-31899

  • Posts created by bots containing attachments sometimes appear as repeated until the user refreshes the page. MM-30980

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

  • Slow typing has been experienced when the channel sidebar has many channels. MM-30407

  • Slack theme import fails due to changes in formatting of Slack export color schemes. MM-30531

  • 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 v5.31 - ESR

  • v5.31.9, released 2021-08-04

    • Mattermost v5.31.9 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.

  • v5.31.8, released 2021-07-21

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

  • v5.31.7, released 2021-06-21

    • Fixed an issue with an infinite recursion during message export for Hitachi HCP file backends. MM-36440

  • v5.31.6, released 2021-06-11

    • Fixed an issue where subsequent migrations failed to run after running a dot release on new installations. MM-35931

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

  • v5.31.5, released 2021-05-12

    • Fixed an issue where mmctl channel move did not allow moving private channels. MM-32746

  • v5.31.4, released 2021-04-23

    • Fixed an issue with client-side slash commands being processed by multiple plugins. MM-35074

  • v5.31.3, released 2021-04-07

    • Fixed an issue where cluster handlers were not immediately registered after starting the server. This led to issues where jobs were not scheduled until a request hit the cluster. MM-34179

    • Fixed an issue where the server version was reported as v5.30.0.

  • v5.31.2, released 2021-03-29

    • Improved typing performance on busy servers with lots of active users and with the new sidebar enabled. MM-30407

    • Fixed bugs related to replication lag for Enterprise Edition instances configured to use read replicas. MM-31094

  • v5.31.1, released 2021-02-05

    • Fixed an issue where the config.json was sporadically getting reset upon CLI command execution. MM-32234

    • Fixed an issue where FeatureFlags section was getting erroneously written to config.json. MM-32389

    • Fixed an issue where channels were sometimes removed from custom categories when a user left a team. MM-30314

    • Fixed an issue where users were unable to mark Direct Messages in a thread as unread. MM-32253

    • Fixed an issue where PermanentDeleteChannel failed with “failed to get a thread” error. MM-31731

  • v5.31.0, released 2021-01-16

    • Original 5.31.0 release

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

Compatibility

  • Support for Mattermost Server v5.25 Extended Support Release is coming to the end of its life cycle on April 16, 2021. Upgrading to Mattermost Server v5.31 Extended Support Release or later is highly recommended.

Highlights

Improved status updates for Incident Management (E20 Edition)

  • Pre-packaged and pre-installed the Mattermost Incident Management v1.2.0, which enables incident responders to easily inform stakeholders of incident status updates.

Improvements

User Interface (UI)

  • Added the ability to mute categories with the experimental channel sidebar feature.

  • Added support for multi-selection of channels when dragging and dropping between channels in the experimental sidebar feature.

  • Group messages are now returned in the channel switcher when only first names are typed.

  • Issuing /dnd consecutively no longer unexpectedly toggles the user’s status between “Do Not Disturb” and “Online”, and will only set the user’s status to “Do Not Disturb”.

Administration

  • Added a new manage_remote_clusters permission.

Bug Fixes

  • Fixed an issue where the UnreadMentions column was missing in the ThreadMemberships table for servers upgrading from v5.29.0. Admins planning to enable Collapsed Reply Threads (available in beta in Q1 2021) are recommended to upgrade to v5.31.0 or later.

  • Cleaned up the config store on server initialization errors.

  • Fixed an issue where permissions did not grant read and/or write access to the Global Relay configuration settings.

  • Fixed an issue where the site configuration “Read only” permission did not make the “Notice” section read-only for the System Manager.

  • Fixed an issue where importing Client4 in a node server caused an exception due to rudder modules.

  • Fixed an issue where LDAP FirstLoginSync didn’t close the LDAP session.

  • Fixed an issue where line numbers did not line up with the text on code file previews.

  • Fixed an issue where the threshold from the bottom of the screen was sometimes not respected for received messages.

  • Fixed an issue where desktop notifications got sent for every message posted in a Direct Message channel.

Go Version

  • 5.31 is built with Go 1.14.6.

API Changes

  • Added a new POST /api/v4/cloud/webhook endpoint.

Websocket Event Changes

  • Added new websocket events thread_updated, thread_follow_changed, and thread_read_changed.

Known Issues

  • The Database Schema Version is displayed as 5.30.0 in the About Mattermost modal.

  • 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.

  • Reddit link previews no longer work in Mattermost. MM-31899

  • Discard Changes confirmation is not displayed when a System Admin adds people on the System Roles System Console page and clicks elsewhere before saving the changes. MM-29927

  • Error text is missing when the team name is left blank on the team creation page. MM-31361

  • Posts created by bots containing attachments sometimes appear as repeated until the user refreshes the page. MM-30980

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

  • Slow typing has been experienced when the channel sidebar has many channels. MM-30407

  • Slack theme import fails due to changes in formatting of Slack export color schemes. MM-30531

  • A JavaScript error may appear in some cases when dismissing the new messages toast while scrolled up in the right-hand side. MM-30446

  • The Admin Filter option is not disabled on the AD/LDAP page for Admin roles with the sysconsole_write_authentication permission. MM-29089

  • 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 v5.30 - Feature Release

  • v5.30.3, released 2021-02-02

    • Fixed an issue where the Edition diagnostics field was reporting as “null” for Team Edition servers on 5.30.

  • v5.30.2, released 2021-01-18

    • Fixed an issue where the UnreadMentions column was missing in the ThreadMemberships table for servers upgrading from v5.29.0. Admins planning to enable Collapsed Reply Threads (available in beta in Q1 2021) are recommended to upgrade to v5.30.2 or later.

  • v5.30.1, released 2020-12-18

    • Fixed the displayed modal Build Number version to standard semver.

  • v5.30.0, released 2020-12-16

    • Original 5.30.0 release

Compatibility

  • PostgreSQL ended long-term support for version 9.4 in February 2020. From v5.26 Mattermost officially supports PostgreSQL version 10 as PostgreSQL 9.4 is no longer supported. New installs will require PostgreSQL 10+. Previous Mattermost versions, including our current ESR, will continue to be compatible with PostgreSQL 9.4. PostgreSQL 9.4 and all 9.x versions are now fully deprecated in our v5.30 release (December 16, 2020). Please follow the instructions under the Upgrading Section within the PostgreSQL documentation.

Highlights

Incident Management provided out-of-the-box (E20)

  • Pre-packaged and pre-installed the Incident Management as well as Channel Export plugins for enterprise-ready builds.

Configure New Admin Roles Permissions in the System Console (E20, Beta)

  • Mattermost recently released three new pre-built granular administrator roles to enable you to selectively delegate administrative tasks to other members of your organization. The three new roles are System Manager, User Manager, and Read-only Admin. Now you can configure specific permissions for these roles directly from the System Console.

Improvements

User Interface

  • @-autocomplete results are now prioritized based on recency and thread activity.

  • File attachments below the size of 10 (KB, MB, GB, TB, etc.) now allow showing fractions.

  • The formatting of the channel header change message was improved.

  • Team invite workflow now shows BOT tags when the search returns bot users.

  • Added the ability to zoom in and out of PDF files.

  • Added support for 16x16 base64 encoded mini images to use with progressive rendering.

Notifications

  • Channel-wide mentions are now automatically disabled when a user mutes a channel.

Command Line Interface (CLI)

  • Added new local API endpoints for getting, updating, and deleting incoming and outgoing webhooks.

  • Added mmctl system version endpoint to print the remote server version.

  • Improved the mmctl system status command output to include all the reported values.

Integrations

  • Updated icon_emoji field in incoming webhooks to allow emojis to be specified with surrounding colons.

  • Dynamic auto-completion is now supported for built-in slash commands.

  • Added plugin hooks for ReactionHasBeenAdded and ReactionHasBeenRemoved.

Administration

  • Added the ability to load a set of custom configuration defaults from a MM_CUSTOM_DEFAULTS_PATH environment variable.

  • Added AWS metering service support.

Enterprise Edition (EE)

  • Added the ability to retrieve compliance files from the System Console.

Bug Fixes

  • Fixed a performance issue related to typing lag.

  • Fixed an issue where YouTube previews did not display sometimes.

  • Fixed an issue with broken link previews for Twitter links.

  • Fixed an issue where editing a post did not submit with CMD+ENTER.

  • Fixed an issue where users were able to create or edit slash commands to contain more than two slashes in the URL.

  • Fixed an issue where resized emojis were being overwritten with original data.

  • Fixed an issue where the sidebar category More menu was not shown when hovering over a long category name.

  • Fixed an issue where a received direct message notification did not show up on the sidebar if the Direct Message channel was newly created.

  • Fixed an issue where a search using from: failed to auto-load more results on the right-hand side when Elasticsearch was enabled.

  • Fixed an issue where an s3 file backend TestFileConnection failed due to permissions if S3PathPrefix was in use.

  • Fixed an issue where an ID was missing for a Tooltip in PostInfo.

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 ExperimentalSettings in config.json:

    • Added EnableSharedChannels, to support managing shared channels feature.

  • Under SamlSettings in config.json:

    • Added IgnoreGuestsLdapSync, to ignore guests when using SAML and synchronizing with LDAP.

Go Version

  • 5.30 is built with Go 1.14.6.

Open Source Components

  • Added @stripe/react-stripe-js, @stripe/stripe-js, and @types/country-list to https://github.com/mattermost/mattermost-webapp.

  • Removed react-native-image-gallery from https://github.com/mattermost/mattermost-mobile.

  • Added react-native-redash and react-native-share to https://github.com/mattermost/mattermost-mobile.

Database Changes

  • Added a new column minipreview to FileInfo table.

Websocket Event Changes

  • In post_deleted websocket event, System Admins are now notified when a user initiates a post deletion.

API Changes

  • Added new local API endpoints for getting, updating, and deleting incoming and outgoing webhooks.

  • Added new API endpoints to work with experimental collapsed threads.

Known Issues

  • The config.json may reset itself to default values if the binary is run with the root user.

  • Reddit link previews no longer work in Mattermost. This affects older versions too.

  • Discard Changes confirmation is not displayed when an admin adds people in the System Roles System Console page, then clicks elsewhere before saving the changes.

  • Slow typing has been experienced when the channel sidebar has many channels. This has been reported in older versions too.

  • Slack theme import fails due to changes in formatting of Slack export color schemes.

  • Error text is missing when the team name is left blank on the team creation page.

  • Line numbers do not line up with the text on code file previews.

  • In some cases reply posts cannot be marked as unread.

  • The threshold from the bottom of the screen is sometimes not respected for received messages.

  • Posts created by bots containing attachments sometimes appear as repeated until the user refreshes the page.

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

  • A JavaScript error may appear in some cases when dismissing the new messages toast while scrolled up in the right-hand side.

  • The Admin Filter option is not disabled in AD/LDAP page for admin roles with sysconsole_write_authentication permission.

  • On a server using a subpath, the URL opens a blank page if the System Admin changes the Site URL in the System Console. To fix this, the System Admin should restart the server.

  • Login does not work when Custom Terms of Service is enabled and MFA is enforced.

  • 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 quotes with Elasticsearch enabled returns more than just the searched terms.

  • Searching with Elasticsearch enabled may not always highlight 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.29 - Quality Release

  • v5.29.2, released 2021-01-18

    • Fixed an issue where the UnreadMentions column was missing in the ThreadMemberships table for servers upgrading from v5.29.0. Admins planning to enable Collapsed Reply Threads (available in beta in Q1 2021) are recommended to upgrade to v5.29.2 or later.

  • v5.29.1, released 2020-12-03

    • Disabled the xmlsec1-based SAML library in favor of the re-enabled and improved SAML library.

    • Added UnreadMentions column to ThreadMemberships table, and fixed server log warnings related to ThreadMemberships. Admins planning to enable Collapsed Reply Threads (available in beta in Q1 2021) are recommended to upgrade to v5.29.1 or later.

  • v5.29.0, released 2020-11-16

    • Original 5.29.0 release

Compatibility

  • A new configuration setting ThreadAutoFollow has been added to support Collapsed Reply Threads releasing in beta in Q1 2021. This setting is enabled by default and may affect server performance. It is recommended to review our documentation on hardware requirements to ensure your servers are appropriately scaled for the size of your user base.

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

Highlights

Channel Moderation Settings now generally available (E20)

Mattermost Omnibus now generally available

  • Mattermost Omnibus feature was moved out of beta to general availability.

Improvements

User Interface (UI)

  • Added a new browser favicon state for when there are new messages but no mentions.

  • Improved sort order of the channel switcher to prioritize recently viewed channels.

  • Improved filter control for the new channel sidebar to show unread channels without categories.

  • The ‘More unreads’ banner in the new channel sidebar was updated to match the new mobile app styling.

  • A threshold was added from the bottom of the screen for the new messages toast.

Bug Fixes

  • Fixed an issue where Enterprise CLI commands would not run.

  • Fixed an issue where the right-hand side comment box got pushed out of the view when a new message was posted in the message thread.

  • Fixed an issue where the color picker colors were missing from the Announcement Banner page in the System Console.

  • Fixed an issue where links in channels headers overlapped in some cases.

  • Fixed an issue where a plugin could create a blank ephymeral post, leading to a white screen.

  • Fixed an issue where the channel switcher dialog was not accessible with a screen reader.

  • Fixed an issue where email addresses were not auto-detected on invites.

  • Fixed an issue where duplicate sidebar categories could be created on first use of the new experimental sidebar.

  • Fixed an issue where installing plugins on a server using FileSettings.PathPrefix caused issues.

  • Fixed an issue where the error message was unclear when a plugin crashed during a slash command execution.

  • Fixed an issue where bot icon images had too much height.

  • Fixed an issue where tags where nested in Plugin Marketplace labels.

  • Fixed an issue with inconsistent behaviour in channel mentions in message attachments.

  • Fixed an issue where ephemeral posts posted by bot accounts showed a wrong username on the right-hand side.

  • Fixed an issue where the category headings in the experimental sidebar were not sticky and overlapped the More Unreads indicators.

  • Fixed an issue where Automatic Direct Message Replies were not shown on the right-hand side.

  • Fixed an issue where Automatic Direct Message Replies were still showing after the root post was deleted.

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 ThreadAutoFollow, to add support for collapsed reply threads.

    • Added ManagedResourcePaths, to add support for a setting to use with the Desktop Managed Resources feature.

Go Version

  • 5.29 is built with Go 1.14.6.

Open Source Components

  • Removed @types/react-custom-scrollbars from https://github.com/mattermost/mattermost-webapp.

Database Changes

  • Altered some types and defaults in SidebarCategories table.

  • Added a new column Threads.ChannelId.

  • Added UnreadMentions column to ThreadMembership table.

Known Issues

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

  • A JavaScript error may appear in some cases when dismissing the new messages toast while scrolled up in the right-hand side.

  • Slow typing has been experienced when the channel sidebar has many channels. This has been reported in older versions too.

  • Slack theme import fails due to changes in formatting of Slack export color schemes.

  • Pressing ENTER closes the Account Settings Edit modal when adjusting the settings for desktop notification sound.

  • Admin Filter option is not disabled in AD/LDAP page for admin roles with sysconsole_write_authentication permission.

  • Twitter link previews no longer work in Mattermost as Twitter has removed OpenGraph data from its pages.

  • On a server using a subpath, the URL opens a blank page if the System Admin changes the Site URL in the System Console. To fix this, the System Admin should restart the server.

  • Login does not work when Custom Terms of Service is enabled and MFA is enforced.

  • 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 quotes with Elasticsearch enabled returns more than just the searched terms.

  • Searching with Elasticsearch enabled may not always highlight the searched terms.

  • Team sidebar on 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.28 - Feature Release

  • v5.28.2, released 2020-12-03

    • Disabled the xmlsec1-based SAML library in favor of the re-enabled and improved SAML library.

  • v5.28.1, released 2020-10-19

    • Fixed an issue where mmctl Command Line Tool (Beta) was broken on Mattermost server v5.28.0. MM-29740

    • Fixed an issue where the Compliance Exports were taking too long on large deployments. This was fixed with a performance optimization of the message export query.

  • v5.28.0, released 2020-10-16

    • Original 5.28.0 release

Compatibility

  • PostgreSQL ended long-term support for version 9.4 in February 2020. Mattermost is officially supporting PostgreSQL version 10 with v5.26 release as PostgreSQL 9.4 is no longer supported. New installs will require PostgreSQL 10+. Previous Mattermost versions, including our current ESR, will continue to be compatible with PostgreSQL 9.4. We plan on fully deprecating PostgreSQL 9.4 and all 9.x versions in our v5.30 release (December 16, 2020). Please follow the instructions under the Upgrading Section within the PostgreSQL documentation.

  • Support for Mattermost Server Extended Support Release (ESR) 5.19 has come to the end of its lifecycle. Upgrading to Mattermost Server v5.25 or later is required.

  • TLS versions 1.0 and 1.1 have been deprecated by browser vendors. Starting in v5.31 (January 16, 2021) mmctl will return an error when connected to Mattermost servers deployed with these TLS versions and System Admins will need to explicitly add a flag in their commands to continue to use them. We recommend upgrading to TLS version 1.2 or higher.

Breaking Changes

  • Now when the service crashes, it will generate a coredump instead of just dumping the stack trace to the console. This allows us to preserve the full information of the crash to help with debugging it. For more information about coredumps, please see: https://man7.org/linux/man-pages/man5/core.5.html.

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

Highlights

New admin roles to delegate administration tasks to other types of administrators (E20)

  • New admin roles are additional system roles that have access to designated areas of the System Console. This enables you to delegate certain administrative tasks to other members of your organization.

Certificate-based authentication with AD/LDAP (E10)

  • You can now improve the security of your AD/LDAP authentication with certificate-based AD/LDAP authentication.

Stay current with in-product notices

  • With in-product notices, users and Admins will be made aware of the newest product enhancements from within Mattermost. Learn more about in-product notices here.

Improvements

User Interface (UI)

  • Improved the readability of the toast banner message timestamp, post timestamp, and date separators.

  • Added animation for emoji reactions on webapp.

  • Added the ability to use CTRL+B and CTRL+I to add bold and italics markdown formatting to selected text.

  • Clicking on original message creator’s username in discontinuing posts now opens the user’s profile popover.

  • Added support for PSD file preview.

  • When the Enable Latex Rendering option is set to true, the current code now doesn’t highlight.

  • Updated the UX of the More unreads indicator in the channel sidebar.

  • Select Team list container now scales in width based on browser window width.

  • Added support for signaling login to other tabs (Windows, macOS and Linux browsers).

Notifications

  • Added an option in the Account Settings to select different desktop notification sounds. This setting is available in supported browsers and in the Desktop app v4.6 and later.

Command Line Interface (CLI)

  • Added config migrate, config subpath, user delete, integrity, user migrate_auth, moveChannel, updateChannelPrivacy, restoreTeam, channel delete, and plugin marketplace commands to mmctl.

Plugins

  • Plugins now start concurrently on server startup.

  • Plugin tooltips are now only rendered when user hovers over a link.

  • Added a CreateCommand plugin API that creates a slash command that is not handled by the plugin itself.

Administration

  • Added the ability to upload and remove private and public certificates for LDAP authentication.

  • Added support for resumable file uploads.

  • Added the ability to convert a public channel to private and vice versa via Advanced Permissions.

  • Added filters to search teams in Teams page.

  • Improved logging related to sessions that are not found.

  • Created Grafana enterprise metrics for logging, such as for current queue level(s), rate of logging records emitted, and rate of logging errors.

  • Improved logging when GetUser fails during MFA Authentication.

  • Added support for sending telemetry via an environment variable set by packages to identify type of deployment (e.g. Docker, Mattermost Omnibus).

Bug Fixes

  • Fixed an issue where a large number of archived channels caused performance degradation.

  • Fixed an issue where group list-ldap mmctl command didn’t return any results.

  • Fixed an issue where user were allowed to update their profile picture on ADFS setup with SAML and LDAP configured and AD/LDAP Sync enabled.

  • Fixed an issue where patching the config with DataSourceReplicas caused a panic.

  • Fixed an issue where API invites by email were silently rate-limited.

  • Fixed an issue where deactivated users broke pagination in Manage Members modal.

  • Fixed an issue where an error occurred while inviting more than 20 users to a team via Invite People.

  • Fixed an issue where a PostUtils.formatText crashed when formatting text with unicode emoji.

  • Fixed an issue where a white screen occurred when editing a post and sending the post from a preview mode.

  • Fixed an issue on Microsoft Edge (non-Chromium) where logging out caused the user to get stuck at a loading screen.

  • Fixed an issue where a selected item in the Direct Messages More menu didn’t scroll into view when using keyboard navigation.

  • Fixed an issue where users received ghost notifications when the “First name trigger mention” setting was set but the “First Name” was not set.

  • Fixed an issue where post text was partially hidden by the post hover menu.

  • Fixed an issue where users were unable to type color hex value into custom theme color input box.

  • Fixed an issue where the badge with a mention count on the team sidebar did not increment when user was added to a channel.

  • Fixed an issue where Group Message results were prioritized over Direct Message results for Full Name in the user autocomplete.

  • Fixed an issue where the New Message indicator was broken when a webhook owned by the user posted to a channel.

  • Fixed an issue where the active search bar was not vertically aligned with left edge of the right-hand side in tablet view.

  • Fixed an issue where there were two scrollbars showing in the channel switcher.

  • Fixed an issue where the “Start trial” message was unreadable in the System Console on dark theme on first load.

  • Fixed an issue on Firefox where pasting an image also added the file as text.

  • Fixed an issue where Python syntax highlighting handled """ strangely.

  • Fixed an issue where formatting around inline codes was missing.

  • Fixed an issue where GetPluginStatus didn’t work in a non-cluster environment.

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 LdapSettings in config.json:

    • Added PublicCertificateFile, to be able to upload the public certificate to be used for encryption with SAML configuration.

    • Added PrivateKeyFile, to be able to upload the private key to be used for encryption with SAML configuration.

  • Under ServiceSettings in config.json:

    • Added EnableAPIChannelDeletion, to permanently delete channels for compliance reasons.

    • Added EnableAPIUserDeletion, to permanently delete users for compliance reasons.

  • Under NotificationLogSettings and ExperimentalAuditSettings in config.json:

    • Added AdvancedLoggingConfig, to enable configuration options for setting audit targets.

  • Under AnnouncementSettings in config.json:

    • Added AdminNoticesEnabled and UserNoticesEnabled, to enable in-product notices to make users and Admins aware of the newest product enhancements from within Mattermost.

  • EnableCustomEmoji, EnableGifPicker, ExperimentalViewArchivedChannels and ExperimentalTimezone are now enabled by default for new installs.

Open Source Components

  • Added react-is and tinycolor2 to https://github.com/mattermost/mattermost-webapp.

  • Removed @types/highlight.js, @typescript-eslint/parser, bootstrap-colorpicker, and intl from https://github.com/mattermost/mattermost-webapp.

  • Removed react-native-v8 from https://github.com/mattermost/mattermost-mobile.

Database Changes

  • Added a new column Commands.PluginId.

  • Changed to data type of Teams.Type to varchar(255).

  • Changed to data type of Teams.SchemeId to varchar(26).

  • Changed to data type of IncomingWebhooks.Username to varchar(255).

  • Changes to data type of IncomingWebhooks.IconURL to text",.

API Changes

  • Added POST /upgrade_to_enterprise API endpoint.

  • Added GET /upgrade_to_enterprise/status API endpoint.

  • Added POST /restart API endpoint.

  • Added GET /warn_metrics/status API endpoint.

  • Added POST /warn_metrics/ack/:warn_metric_id API endpoint.

Known Issues

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

  • Pressing ENTER closes the Account Settings Edit modal when adjusting the settings for desktop notification sound.

  • Admin Filter option is not disabled in AD/LDAP page for admin roles with sysconsole_write_authentication permission.

  • Twitter link previews no longer work in Mattermost as Twitter has removed OpenGraph data from its pages.

  • On a server using a subpath, the URL opens a blank page if the System Admin changes the Site URL in the System Console. To fix this, the System Admin should restart the server.

  • Login does not work when Custom Terms of Service is enabled and MFA is enforced.

  • 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 quotes with Elasticsearch enabled returns more than just the searched terms.

  • Searching with Elasticsearch enabled may not always highlight the searched terms.

  • Team sidebar on 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 v5.27 - Quality Release

  • v5.27.2, released 2020-12-03

    • Disabled the xmlsec1-based SAML library in favor of the re-enabled and improved SAML library.

  • v5.27.1, released 2020-10-19

    • Fixed an issue where the Compliance Exports were taking too long on large deployments. This was fixed with a performance optimization of the message export query.

  • v5.27.0, released 2020-09-16

    • Original 5.27.0 release

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

Improvements

  • Added the ability to upgrade Mattermost from Team Edition to Enterprise Edition directly from the System Console.

  • Added various improvements for Admin Advisor feature (Team Edition), including that the bot messages now appear only once for the 500-user advisory and the banner notification interval is reduced from daily to weekly.

  • Changed the Default Theme setting in the System Console to a drop-down field.

Bug Fixes

  • Fixed an issue where the server crashed when a Compliance Export job was run for Global Relay EML.

  • Fixed an issue where Compliance Jobs did not restart correctly after a Warning status.

  • Fixed an issue where users were not matching on mixed-case SAML assertions.

  • Fixed an issue where Channel Admin was not able to make the default role as Channel Admin for AD/LDAP Groups.

  • Fixed an issue where user role was not added correctly in the Members block in System Console > Teams.

  • Fixed an issue where a team stopped loading in the System Console Filter By-dropdown when a search was performed and then cleared.

  • Fixed an issue where the ability to demote Admins to members and to deactivate accounts from System Console > Users was not available.

  • Fixed an issue where a false message “Group Mentions is already taken” was shown when a System Admin tried to add a channel to an AD/LDAP Group.

  • Fixed an issue where a AD/LDAP group mention of an outsider group was highlighted in a Group Synced channel.

  • Fixed an issue where incoming webhooks owned by a bot did not consistently allow a username override.

  • Fixed an issue where the emoji picker in the Edit Post modal was misaligned.

  • Fixed an issue where pasted unicode emojis failed to appear once posted.

  • Fixed an issue where long text in message edit modal did not scroll with a scroll bar.

  • Fixed an issue with Accessibility where user’s name was not displayed in alt text on some images.

  • Fixed an issue where dates on System Console > Site Statistics - Dates were displayed out of order on days when there were no posts.

  • Fixed an issue where the Admin Advisor bot was unexpectedly displayed in the Integrations > Bot Accounts page.

  • Fixed an issue where a new badge in the channel sidebar category header reappeard after a channel was removed from the category.

  • Fixed an issue where the theme color for Sidebar Text Active Border was not currently being used in the active border in the sidebar.

  • Fixed an issue where users saw an incorrect mention count when added to a channel by another user.

  • Fixed an issue where channels created from another browser tab did not immediately appear in the channel sidebar.

  • Fixed an issue where a console error showed when creating a new custom category in the channel sidebar.

  • Fixed an issue where enabling the new channel sidebar created invalid channel links.

  • Fixed an issue where a channel state got broken after an “unallowed” deletion.

  • Fixed an issue where dynamic slash command autocomplete options did not update between requests.

  • Fixed an issue where an incorrect callback URL with OAuth 2.0 allowed users to click Back to Mattermost in the authentication window.

  • Fixed an issue where editing “Full Name” got overwritten by Single Sign-On settings.

  • Fixed an issue where “You do not have the appropriate permissions” error was shown for warn_metrics call for non-admin users.

  • Fixed an issue where the channel switcher sometimes showed a wrong empty state with network API.

  • Fixed an issue where the loader was not hidden when posts were not loading which affected the performance of some Linux distros.

  • Fixed an issue where PatchConfig caused a panic if SiteURL was not set.

  • Fixed an issue where a panic occurred when the server was getting a shutdown before InitPlugins() was able to complete.

  • Fixed an issue where a panic was caused when a user joined a team with default channels archived.

  • Fixed an issue where App.GetSidebarCategories() panicked on nil returned value.

  • Fixed an issue where the SendEmailNotifications setting blocked testing the SMTP connection.

Open Source Components

  • Removed @types/redux-mock-store and tinycolor2 from https://github.com/mattermost/mattermost-webapp.

  • Added bootstrap-colorpicker in https://github.com/mattermost/mattermost-webapp.

  • Added @react-native-community/clipboard in https://github.com/mattermost/mattermost-mobile.

API Changes

  • Added POST api/v4/upgrade_to_enterprise API endpoint to be able to execute an inplace upgrade from Team Edition to Enterprise Edition.

  • Added GET api/v4/upgrade_to_enterprise/status API endpoint to get the current status for the inplace upgrade from Team Edition to Enterprise Edition.

  • Added POST api/v4/restart API endpoint to restart the system after an upgrade from Team Edition to Enterprise Edition.

Known Issues

  • A blank screen occurs when user edits a post and submits or cancels the edits while on Preview mode.

  • Twitter link previews do not work in Mattermost.

  • On a server using a subpath, the URL opens a blank page if the System Admin changes the Site URL in the System Console. To fix this, the System Admin should restart the server.

  • Login does not work when Custom Terms of Service is enabled and MFA is enforced.

  • 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 quotes with Elasticsearch enabled returns more than just the searched terms.

  • Searching with Elasticsearch enabled may not always highlight the searched terms.

  • Team sidebar on 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.26 - Feature Release

  • v5.26.2, released 2020-09-03

    • Forcefully disabled the SAML Setting “Use Improved SAML Library (Beta)”, as we have identified some issues in this feature. Please follow instructions at https://docs.mattermost.com/deployment/sso-saml-before-you-begin.html for enabling SAML using the feature-equivalent xmlsec1 utility.

  • v5.26.1, released 2020-08-25

    • Fixed an issue where users were unable to use the PictureAttribute setting with SAML authentication. MM-27852

    • Fixed an issue where users got unexpectedly logged out from the mobile app when ExtendSessionLengthWithActivity was enabled as opening the mobile app called an API that overrode session extension triggers of typing, channel change, and posts. MM-27184

    • Fixed an issue where users experienced a kernel panic during LDAP sync when AuthData value was null. MM-27965

  • v5.26.0, released 2020-08-16

    • Original 5.26.0 release

Compatibility

  • PostgreSQL ended long-term support for version 9.4 in February 2020. Mattermost is officially supporting PostgreSQL version 10 with v5.26 release as PostgreSQL 9.4 is no longer supported. New installs will require PostgreSQL 10+. Previous Mattermost versions, including our current ESR, will continue to be compatible with PostgreSQL 9.4. In our 6.0 release (date to be announced), we plan on fully deprecating PostgreSQL 9.4. Please follow the instructions under the Upgrading Section within the PostgreSQL documentation.

Breaking Changes

  • In v5.26, Elasticsearch indexes needed to be recreated. Admins should re-index Elasticsearch using the Purge index and then Index now button so that all the changes will be included in the index. Systems may be left with a limited search during the indexing, so it should be done during a time when there is little to no activity because it may take several hours.

  • An EnableExperimentalGossipEncryption option was added under ClusterSettings. If this is set to true, and UseExperimentalGossip is also true, all communication through the cluster using the gossip protocol will be encrypted. The encryption uses AES-256 by default, and it is not kept configurable by design. However, if one wishes, they can set the value in Systems table manually for the ClusterEncryptionKey row. A key is a byte array converted to base64. It should be either 16, 24, or 32 bytes to select AES-128, AES-192, or AES-256. To update the key, one can execute UPDATE Systems SET Value='<value>' WHERE Name='ClusterEncryptionKey'; in MySQL and UPDATE systems SET value='<value>' WHERE name='ClusterEncryptionKey' for PostgreSQL. For any change in this config setting to take effect, the whole cluster must be shutdown first. Then the config change made, and then restarted. In a cluster, all servers either will completely use encryption or not. There cannot be any partial usage.

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

Highlights

Archive & unarchive channels from the System Console (E20 Edition)

  • Channels can now be archived and unarchived with ease from the System Console.

Manage members and channels in System Console using search filters (E20 Edition)

  • Managing members & channels is now lot easier with new search filters.

Customize log configuration and output targets (E20 Edition)

  • Customize log level records beyond the standard levels of trace, debug, info, and panic, as well as configure different destinations based on discrete log levels.

Categorize and reorder channels with channel sidebar enhancements (Experimental)

  • Users now have the ability to create custom categories in the sidebar to group channels together for easier navigation, drag channels between or within categories to prioritize conversations most important to you, and much more.

Improvements

User Interface (UI)

  • Improved the styling of a deactivated user’s Direct Message channel footer.

  • All emoji aliases are now shown on the emoji picker.

  • Added support for allowing copying and pasting of emoji shortcodes.

  • Added Online, Away, Do Not Disturb, and Offline icons to the status menu for quicker recognition.

  • Increased visibility of user and channel autocomplete suggestions when editing a long post.

  • Added a flag icon to the post hover menu and updated pinned and flagged post styling in the channel.

  • Added support for PostgreSQL & PL/pgSQL syntax highlighting.

  • Expanded the width of server logs page in System Console UI to full screen width.

Localization

  • Promoted Russian and Dutch languages to “official”.

Command Line Interface (CLI)

  • Added new mmctl CLI commands, such as ldap idmigrate, user convert, channel move, and user deleteall.

Search

  • Added ability for Elasticsearch to search terms inside links.

  • Searching for a user with a leading “@” in the search term with Elasticsearch now returns results for those users.

  • Added ability to include filtering search/autocompletion by roles.

  • Added ability to search/autocomplete inactive users from Elasticsearch.

  • Added missing methods such as PermanenteDeleteByUser and PermanenteDeleteByChannel that update and/or delete entities in the searchlayer.

  • Implemented prefix/suffix search on Teams and Channel pages in System Console.

Integrations

  • Added slash command autocomplete functionality to enable commands to be executed on selection (mouse click, tab or enter).

  • Added plugin API endpoint to run a slash command.

  • Implemented http.Hijacker for plugins’ ServeHTTP to make it possible to upgrade the ServeHTTP hook to expose a websocket connection.

Command Line Interface (CLI)

  • Added the ability to remove non-members of the target team if channel move fails.

Administration

  • Added support for a System Admin warning system that displays warnings in the announcement bar and sends Direct Messages to admins if one or more metric fulfills a certain condition.

  • System Console > Plugins section now lists all the installed plugins regardless of the number of configurable settings associated with each plugin.

  • Servers now send a push notification to mobile clients when a user’s session expires.

  • Clearing the Site URL in the System Console is no longer allowed.

  • Changed the patch post API endpoint authorization logic to allow the edit_others_posts permission to function independently from edit_own_posts.

  • Included a response code in the “Received HTTP Request” log line.

  • Added support for a new environment variable MM_LICENSE which can contain the contents of a license file. When set, this license takes priority over all other license sources.

  • Added support for encryption for gossip protocol.

  • Move gossip protocol to use only gossip.

Bug Fixes

  • Fixed an issue where an empty outgoing webhook response generated a spurious ERROR.

  • Fixed an issue where quick switch user search was always falling back to the database.

  • Fixed an issue where a user’s status was displayed as online while the database status was displayed as offline.

  • Fixed an issue where Elasticsearch indexing job did not index users and/or channels older than the first post.

  • Fixed an issue where Global Relay SMTP connection timeout was not independent of the regular SMTP email settings timeout.

  • Fixed an issue with a poor performance when opening More Direct Messages modal.

  • Fixed an issue where bot username validation message was unclear as it did not mention which value was invalid.

  • Fixed an issue where Command+K input field lost focus when the window lost focus, causing search results to disappear.

  • Fixed an issue where a highlight was missing when users at-mentioned themselves, followed by period, underscore, or hyphen.

  • Fixed an issue where a 500 error was returned by the /posts/unread endpoint caused by an integer overflow when limit_after was set to 0.

  • Fixed an issue where the footer text in invitation emails was not translated.

  • Fixed an issue where PermanentDeleteTeam did not return an error but did a soft deletion if EnableAPITeamDeletion was not set.

  • Fixed an issue on PostgreSQL where logging in using MFA did not respect the uppercase of the email address.

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 ExperimentalDataPrefetch, to enable messages in all unread channels to be pre-loaded from the server whenever the client reconnects to the network to eliminate loading time when users switch to unread channels.

  • Under ClusterSettings in config.json:

    • Added EnableExperimentalGossipEncryption, to enable all communication through the cluster using the gossip protocol to be encrypted.

  • Under LogSettings in config.json:

    • Added EnableSentry, to enable sentry reporting.

    • Added AdvancedLoggingConfig, to enable optional logging capability to allow sending log records to a number of destinations.

  • Under FileSettings in config.json:

    • Added AmazonS3PathPrefix, to allow using the same S3 bucket for multiple deployments.

  • Under EmailSettings in config.json:

    • Added PushNotificationBuffer, to remove hardcoded goroutine workers from push notifications to improve notifications arriving in order.

  • Under SupportSettings in config.json:

    • Added EnableAskCommunityLink, to enable showing a link in the Mattermost channel header under the Help menu. When clicked, users are redirected to https://mattermost.com/pl/default-ask-mattermost-community/, where they can join the Mattermost Community to ask questions and help others troubleshoot issues. This option is not available on the mobile apps.

  • Under GlobalRelayMessageExportSettings in config.json:

    • Added SMTPServerTimeout, to ensure Global Relay SMTP connection timeout is independent of regular email settings timeout.

Open Source Components

  • Added react-native-cookies and react-native-keyboard-aware-scroll-view, and removed @react-native-community/cookies in https://github.com/mattermost/mattermost-mobile.

  • Added dynamic-virtualized-list and prettier in https://github.com/mattermost/mattermost-webapp.

  • Added rudder-sdk-js in https://github.com/mattermost/mattermost-redux.

Database Changes

  • Added a new column Sessions.ExpiredNotify.

API Changes

  • Added POST api/v4/bots/:bot_id/convert_to_user API endpoint to add the ability to convert a bot into a user.

  • Added POST api/v4/users/:user_id/convert_to_bot API endpoint to add the ability to convert a user into a bot.

  • Added GET api/v4/users/:user_id/teams/:team_id/channels/categories API endpoint to get a list of sidebar categories that will appear in the user’s sidebar on the given team, including a list of channel IDs in each category.

  • Added POST api/v4/users/:user_id/teams/:team_id/channels/categories API endpoint to create a custom sidebar category for the user on the given team.

  • Added PUT api/v4/users/:user_id/teams/:team_id/channels/categories API endpoint to update any number of sidebar categories for the user on the given team.

  • Added GET api/v4/users/:user_id/teams/:team_id/channels/categories/order API endpoint to get the order of the sidebar categories for a user on the given team as an array of IDs.

  • Added PUT api/v4/users/:user_id/teams/:team_id/channels/categories/order API endpoint to update the order of the sidebar categories for a user on the given team.

  • Added GET api/v4/users/:user_id/teams/:team_id/channels/categories/:category_id API endpoint to get a single sidebar category for the user on the given team.

  • Added PUT api/v4/users/:user_id/teams/:team_id/channels/categories/:category_id API endpoint to update a single sidebar category for the user on the given team.

  • Added DELETE api/v4/users/:user_id/teams/:team_id/channels/categories/:category_id API endpoint to delete a single custom sidebar category for the user on the given team.

  • Added POST api/v4/ldap/migrateid API endpoint to migrate LDAP IdAttribute to a new value.

  • Added GET api/v4/warn_metrics/status API endpoint to get the status of a set of metrics (enabled or disabled) from the Systems table.

  • Added POST api/v4/warn_metrics/ack/:warn_metric_id API endpoint to acknowldge a warning for the warn_metric_id metric crossing a threshold (or some similar condition being fulfilled).

  • Added GET api/v4/groups/:group_id/stats API endpoint to retrieve the stats of a given group.

  • Added GET api/v4/teams/:team_id/channels/private API endpoint to get a list of private channels on a team based on query string parameters.

  • Added GET api/v4/users/stats/filtered API endpoint to get a count of users in the system matching the specified filters.

  • Added POST api/v4/users/:user_id/email/verify/member API endpoint to verify the email used by a user without a token.

  • Added POST api/v4/users/:user_id/typing API endpoint to notify users in the given channel via websocket that the given user is typing.

  • Added Get/Update/Delete user preferences to Plugin API.

  • Added channel ID check for Plugin API UploadFile to specify the ID of the channel a file will be uploaded to.

Websocket Event Changes

  • Added sidebar_category_created Websocket Event.

  • Added sidebar_category_updated Websocket Event.

  • Added sidebar_category_deleted Websocket Event.

  • Added sidebar_category_order_updated Websocket Event.

  • Added warn_metric_status_received Websocket Event.

  • Added warn_metric_status_removed Websocket Event.

Known Issues

  • Twitter link previews do not work in Mattermost.

  • Pasted unicode emojis fail to appear once posted.

  • CMD+SHIFT+V does not paste copied text on MacOS on Safari 12 (Catalina) and Firefox.

  • Enabling Bleve search engine makes the Command Line Interface (CLI) mutually exclusive with the running server. This issue does not apply when using mmctl Command Line Tool.

  • On a server using a subpath, the URL opens a blank page if the System Admin changes the Site URL in the System Console UI. To fix, the System Admin should restart the server.

  • Login does not work when Custom Terms of Service is enabled and MFA is enforced.

  • 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 quotes with Elasticsearch enabled returns more than just the searched terms.

  • Searching with Elasticsearch enabled may not always highlight the searched terms.

  • Team sidebar on 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.25 - ESR

  • v5.25.7, released 2020-12-03

    • Disabled the xmlsec1-based SAML library in favor of the re-enabled and improved SAML library.

  • v5.25.6, released 2020-11-10

    • Fixed an issue where the Compliance Exports were taking too long on large deployments. This was fixed with a performance optimization of the message export query.

    • Bumped up Go patch version to 1.14.6 to fix an issue where a potential livelock was detected in the app server under heavy load. MM-26584

  • v5.25.5, released 2020-09-03

    • Forcefully disabled the SAML Setting “Use Improved SAML Library (Beta)”, as we have identified some issues in this feature. Please follow instructions at https://docs.mattermost.com/deployment/sso-saml-before-you-begin.html for enabling SAML using the feature-equivalent xmlsec1 utility.

  • v5.25.4, released 2020-08-25

    • Fixed an issue where users were unable to use the PictureAttribute setting with SAML authentication. MM-27852

    • Fixed an issue where users got unexpectedly logged out from the mobile app when ExtendSessionLengthWithActivity was enabled as opening the mobile app called an API that overrode session extension triggers of typing, channel change, and posts. MM-27184

    • Fixed an issue where users experienced a kernel panic during LDAP sync when AuthData value was null. MM-27965

    • Fixed an issue where users experienced the Mattermost server crashing on (Status).ToClusterJson calls. MM-24544

  • v5.25.3, released 2020-08-12

    • Fixed an issue where the permission to create user access tokens on environments with OpenID Connect login providers such as GitLab was denied for System Admins. MM-27623

    • Fixed an issue where deactivated users were included in compliance exports. MM-27194

    • Fixed an issue where guest user invites did not work in a SAML environment. MM-27519

    • Fixed an issue where the bulk export didn’t finish if a custom data directory was set. MM-27550

    • Fixed an issue with a performance degradation after upgrading to 5.25.0. MM-27575

    • Fixed an issue where attempting to pin a post failed if a user did not have the channel_mention permission on a channel. MM-26346

  • v5.25.2, released 2020-07-31

    • Fixed an issue where pages in the System Console didn’t scroll up or down in some browser versions. MM-27168

  • v5.25.1, released 2020-07-23

    • Smoothed the database query load while syncing teams and channel roles by fetching data in batches. MM-27114

    • Fixed a bug in pagination which queried more data redundantly. MM-27187

    • Throttled network traffic by implementing bounded concurrency.

  • v5.25.0, released 2020-07-16

    • Original 5.25.0 release

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

Breaking Changes

  • Some incorrect instructions regarding SAML setup with Active Directory ADFS for setting the “Relying party trust identifier” were corrected. Although the settings will continue to work, it is encouraged to modify those settings.

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

Improvements

  • Added the ability for admins to request a 30-day E20 trial license directly in the System Console.

  • AD/LDAP Group Sync (E20) feature was moved out of Beta to General Availability.

Bug Fixes

  • Fixed an issue where the ability to run a command to export data was erroneously available in Team Edition.

  • Fixed an issue where a user lost access to the current channel and other channels in a team when Team Override Scheme was deleted.

  • Fixed an issue where ADFS for SAML and AD/LDAP using ObjectGUID did not sync correctly.

  • Fixed an issue where LDAP Sync job failed when one of the teams had email restrictions.

  • Fixed an issue where an incorrect session length for SSO login was initiated from the mobile app.

  • Fixed an issue on web mobile narrow view where clicking a hashtag in a channel header did not open the hashtag search.

  • Fixed an issue where license ID was not populated correctly in the license renewal banner.

  • Fixed an issue where an archived team could be fully accessed with the archived team’s URL.

  • Fixed an issue where leaving an archived channel did not return user to the last viewed channel.

  • Fixed an issue where bulk import rejected team names prefixed with reserved keywords, even with additional text appended.

  • Fixed an issue where System Admin could no longer manage custom emoji after running bin/mattermost permissions reset.

  • Fixed an issue where a user’s role in Team Members dialog did not update when a user was searching for the user.

  • Fixed an issue where Bleve was not correctly setting the query size, missing search results.

  • Fixed an issue where the timezone count was not displayed correctly when a user set a new timezone and then changed it to set automatically.

  • Fixed an issue where existing users were not shown in the Invite Members flow.

  • Fixed an issue where the System Console > User Management > Users page was too tall and the Revoke All Sessions button was cut off when a license banner was present.

  • Fixed an issue where the Email verified banner was red instead of green.

  • Fixed an issue where Copy Theme Colors button in Account Settings > Display > Theme was not themed correctly.

  • Fixed an issue where archived channel icons were too dark in the Channel Info modal with the Dark Theme.

  • Fixed an issue where the Save button was not visible in browser for Safari on iPad device.

  • Fixed an issue where the thumbnail of a user was not displayed correctly when searching for a Direct Message channel.

  • Fixed an issue where text flowed outside the “Invite Members” button in “Invite People” page for some languages.

  • Fixed an issue where the Next button in Main Menu > Manage Members was not visible to be able to see the last few members of the team.

  • Fixed an issue where a different behavior was seen when pasting a table into message compose and to message edit box.

  • Fixed an issue where one-byte unicode emoji did not support skin tones.

  • Fixed an issue where no error was reported in server logs if a plugin icon was invalid.

  • Fixed an issue where providing AutocompleteData did not log a proper error in the System Console.

  • Fixed an issue where signup password minimum length error messages were inconsistent.

  • Fixed an issue where the right-hand side overlapped the GitHub Plugin tooltip.

  • Fixed an issue where the plugin right-hand side did not show tooltips when a user hovered over the Close or Expand/Shrink icons.

  • Fixed an issue where query string parameters were omitted from interactive dialog request urls.

  • Fixed an issue where store.GetPostsSince() did not sanitise deleted posts.

  • Fixed an issue with a panic caused by nil pointer dereference in importTeam.

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 SamlSettings in config.json:

    • Added ServiceProviderIdentifier, as the unique identifier for the Service Provider, usually the same as Service Provider Login Url. In ADFS, this must match the Relying Party Identifier.

Known Issues

  • Twitter link previews do not work in Mattermost.

  • Highlight is missing when at-mentioning yourself, followed by period, underscore, or hyphen.

  • Ctrl+Enter doesn’t post an edited message with “Send messages on Ctrl+Enter” enabled for all messages.

  • Enabling Bleve search engine makes the Command Line Interface (CLI) mutually exclusive with the running server. This issue does not apply when using mmctl Command Line Tool.

  • On a server using a subpath, the URL opens a blank page if the System Admin changes the Site URL in the System Console UI. To fix, the System Admin should restart the server.

  • Login does not work when Custom Terms of Service is enabled and MFA is enforced.

  • 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 quotes with Elasticsearch enabled returns more than just the searched terms.

  • Searching with Elasticsearch enabled may not always highlight the searched terms.

  • Team sidebar on 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.24 - Feature Release

  • v5.24.3, released 2020-07-23

    • Smoothed the database query load while syncing teams and channel roles by fetching data in batches. MM-27114

    • Fixed a bug in pagination which queried more data redundantly. MM-27187

    • Throttled network traffic by implementing bounded concurrency.

  • v5.24.2, released 2020-06-26

    • Fixed an issue where changing primary keys during migration did not work with Postgres versions lower than 9.3. MM-26514

  • v5.24.1, released 2020-06-19

    • Fixed an issue with a semantic versioning violation of the plugin API that broke plugins using the GetGroupByName method. MM-26231

    • Fixed an issue with the Plugin Tooltip implementation that caused links to be truncated when rendered. This issue occured if you are using the recent GitHub plugin v1.0.0 release. All links were affected, regardless if they were related to GitHub. MM-25808

  • v5.24.0, released 2020-06-16

    • Original 5.24.0 release

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

Breaking Changes

  • A new configuration setting, ExtendSessionLengthWithActivity automatically extends sessions to keep users logged in if they are active in their Mattermost apps. It is recommended to enable this setting to improve user experience if compliant with your organizations policies. Learn more here.

  • The mattermost_http_request_duration_seconds histogram metric (in Enterprise Edition) has been removed. This information was already captured by mattermost_api_time, which also contains the api handler name, HTTP method, and the response code. As an example, if you are using rate(mattermost_http_request_duration_seconds_sum{server=~"$var"}[5m]) /   rate(mattermost_http_request_duration_seconds_count{server=~"$var"}[5m]) to measure average call duration, it needs to be replaced with sum(rate(mattermost_api_time_sum{server=~"$var"}[5m])) by (instance) /   sum(rate(mattermost_api_time_count{server=~"$var"}[5m])) by (instance).

  • Due to fixing performance issues related to emoji reactions, the performance of the upgrade has been affected in that the schema upgrade now takes more time in environments with lots of reactions in their database. These environments are recommended to perform the schema migration during low usage times and potentially in advance of the upgrade. Since this migration happens before the Mattermost Server is fully launched, non-High Availability installs will be unreachable during this time. Please see the Important Upgrade Notes for full details.

  • On mobile apps, users will not be able to see LDAP group mentions (E20 feature) in the autocomplete dropdown. Users will still receive notifications if they are part of an LDAP group. However, the group mention keyword will not be highlighted.

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

Highlights

Notify AD/LDAP Groups with a single @mention (Beta) (E20)

  • Ability to enable mentions for LDAP-synced groups so users can notify the entire group at the same time.

Manage users from the System Console (E20)

  • Ability to view and manage members via each team or channel configuration page.

Sync profile images from AD/LDAP (E10, E20)

  • Ability to ensure compliance with corporate policies by automatically syncing profile images from AD/LDAP.

Automatically extending user sessions

  • Ability to enable a feature that automatically extends session lengths when users are active on Mattermost apps.

Access CLI remotely

  • Ability to manage Mattermost without having direct access to the server with a new Local Mode for mmctl.

Improved search filters

  • Ability to use the mouse or keyboard to select search filters instead of typing them manually.

Slash command autocomplete framework (Beta)

  • Ability to make slash commands easier to use and increase discoverability with a new slash command autocomplete framework for plugins.

Full-text search and indexing (Experimental)

  • Ability to use Bleve to execute search functionality instead of the database.

Improvements

Enterprise Edition (EE)

  • Grace period after Enterprise Edition subscription expires was reduced from 15 days to 10 days. Moreover, Enterprise features are now disabled immediately after the grace period is over, instead of only after a server restart. Please see https://mattermost.com/pricing/#faq for more details.

User Interface (UI)

  • Added a count for pinned posts header icon.

  • Added the ability to view user profile pop-over when clicking the profile picture or username from the View Members and Manage Members modals.

  • Improved keyboard usability in the emoji picker search bar.

  • Improved profile popover for posts with overwritten username or icon.

  • Added support for code highlighting of TypeScript files.

Notifications

  • Mention notification settings for “Case sensitive first name” and “Non-case sensitive username” are now disabled by default.

Search

  • Added support for searching by position in user lists such as the Add Members menu.

Integrations

  • Added support for different interactive message button styles.

Administration

  • Added the ability to bulk create, update, and delete team members and channel members in the store, as well as bulk import users belonging to different teams and channels.

  • Added auditing support to all Comman Line Interface (CLI) API’s.

  • Replaced “Back to Mattermost” button with a helpful error message in the OAuth 2.0 authentication window when an incorrect Client ID is typed during authentication.

  • Centralized ID validation to a single function.

Bug Fixes

  • Fixed an issue where database read and search replicas were available in Team Edition, leading to unsupported server configuration.

  • Fixed an issue where Session Idle Timeout setting also unexpectedly affected the mobile app session expiry.

  • Fixed an issue where an unread channel disappeared from a list of unread channels immediately.

  • Fixed an issue where a user’s role was not reflected correctly in the Team Members modal when the user’s role was updated after the modal was opened.

  • Fixed an issue where the autocomplete list of channels remained populated after a user cleared the search on Add user to a channel modal.

  • Fixed an issue where Integrations menu was available for member and team admin roles only if with oAuth2 permission.

  • Fixed an issue where empty strings for auth_data created invalid users for LDAP sync during bulk import.

  • Fixed an issue where bulk import did not report errors when importing posts failed.

  • Fixed an issue where Compliance Export reported “success” when failing to export a missing file.

  • Fixed an issue where the user interface got stuck when leaving an archived channel.

  • Fixed an issue where Unicode characters appeared in users’ display names.

  • Fixed an issue where a failed plugin installation from the plugin marketplace retried automatically.

  • Fixed an issue where markdown images hosted by plugins did not appear if local image proxy was enabled.

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 ExtendSessionLengthWithActivity to enable sessions to be automatically extended when the user is active in their Mattermost client.

    • Added EnableLocalMode to enable local mode for mmctl.

    • Added LocalModeSocketLocation to set the path for the socket that the server will create for mmctl to connect and communicate through local mode.

    • Changed EnableLinkPreviews to default true for new installs.

    • Changed SessionLengthWebInDays to default to 30 days for new installs.

  • Under SqlSettings in config.json:

    • Added DisableDatabaseSearch to disable the use of the database to perform searches.

  • Under LdapSettings in config.json:

    • Added PictureAttribute to configure the attribute in the AD/LDAP server used to synchronize (and lock) the profile picture used in Mattermost.

  • Under BleveSettings in config.json:

    • Added IndexDir to set the directory path to use for storing bleve indexes.

    • Added EnableIndexing to enable the indexing of new posts to occur automatically.

    • Added EnableSearching to enable search queries to use bleve search.

    • Added EnableAutocomplete to enable autocomplete queries to use bleve search.

    • Added BulkIndexingTimeWindowSeconds to determine the maximum time window for a batch of posts being indexed by the Bulk Indexer.

  • Under EmailSettings in config.json:

    • Changed PushNotificationContents to default full for new installs.

Open Source Components

  • Added @types/react-custom-scrollbars in https://github.com/mattermost/mattermost-webapp

  • Added p-queue in https://github.com/mattermost/mattermost-webapp

  • Added @react-native-community/cookies in https://github.com/mattermost/mattermost-mobile

  • Added @react-native-community/masked-view in https://github.com/mattermost/mattermost-mobile

  • Added analytics-react-native in https://github.com/mattermost/mattermost-mobile

  • Added react-native-elements in https://github.com/mattermost/mattermost-mobile

  • Added react-native-file-viewer in https://github.com/mattermost/mattermost-mobile

  • Added react-native-localize in https://github.com/mattermost/mattermost-mobile

  • Added react-native-reanimated in https://github.com/mattermost/mattermost-mobile

  • Added react-native-safe-area-context in https://github.com/mattermost/mattermost-mobile

  • Added react-native-screens in https://github.com/mattermost/mattermost-mobile

Database Changes

  • Added a new column UserGroups.AllowReference.

  • Changed the primary key on the Reactions table.

API Changes

  • Added a new route POST /api/v4/group/bleve/purge_indexes to delete all Bleve indexes and their contents.

  • Added a new route GET /api/v4/channels/:channel_id/member_counts_by_group to get the channel members counts for each AD/LDAP group that has at least one member in the channel.

  • Added a new route GET /api/v4/teams/:team_id/commands/autocomplete_suggestions to get a list of autocomplete suggestions.

  • Added a new route GET api/v4/users/:user_id/groups to get all AD/LDAP groups for a user.

  • Added a new route GET api/v4/teams/:team_id/groups_by_channels to get a set of AD/LDAP groups associated with the channels in the given team grouped by channel.

  • Added several new APIs for use by mmctl local mode, such as the ability to modify and restore teams with mmctl.

Websocket Event Changes

  • Added a new received_group Websocket Event.

  • Added a new received_group_associated_to_team Websocket Event.

  • Added a new received_group_not_associated_to_team Websocket Event.

  • Added a new received_group_associated_to_channel Websocket Event.

  • Added a new received_group_not_associated_to_channel Websocket Event.

Known Issues

  • Profile image of a user is not displayed correctly when searching for Direct Message channels.

  • “Email verified” banner is red instead of green.

  • Command+K search results disappear when the input field loses focus when Mattermost window is made unfocused.

  • Enabling Bleve search engine makes the Command Line Interface (CLI) mutually exclusive with the running server. This issue does not apply when using mmctl Command Line Tool.

  • On a server using a subpath, the URL opens a blank page if the System Admin changes the Site URL in the System Console UI. To fix, the System Admin should restart the server.

  • Login does not work when Custom Terms of Service is enabled and MFA is enforced.

  • 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 quotes with Elasticsearch enabled returns more than just the searched terms.

  • Searching with Elasticsearch enabled may not always highlight the searched terms.

  • Team sidebar on 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.23 - Quality Release

  • v5.23.2, released 2020-07-23

    • Smoothed the database query load while syncing teams and channel roles by fetching data in batches. MM-27114

    • Fixed a bug in pagination which queried more data redundantly. MM-27187

    • Throttled network traffic by implementing bounded concurrency.

  • v5.23.1, released 2020-06-02

    • Fixed an issue where Content-Type was no longer optional in incoming webhook requests and led to errors. MM-25677

  • v5.23.0, released 2020-05-16

    • Original 5.23.0 release

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

Compatibility

PostgreSQL ended long-term support for version 9.4 in February 2020. Mattermost will officially be supporting PostgreSQL version 10 with the Mattermost v5.26 release as PostgreSQL 9.4 is no longer supported. New installs will require PostgreSQL version 10. Previous Mattermost versions, including our current ESR, will continue to be compatible with PostgreSQL version 9.4. In our 6.0 release (date to be announced), we plan on fully deprecating PostgreSQL 9.4.

We highly recommend upgrading to PostgreSQL version 10+. Please follow the instructions under the Upgrading Section within the PostgreSQL documentation.

Bug Fixes

  • Fixed an issue where using slash command /leave failed to leave the channel.

  • Fixed an issue where clicking on a channel link from a Direct Message channel that linked to a different team resulted in a “Page not Found” error.

  • Fixed an issue where reloading a channel caused the channel to be shown as read-only for a few seconds.

  • Fixed an issue where the Channel Export plugin bot channel did not appear on the left-hand side channel sidebar until the user switched to a different channel.

  • Fixed an issue where no channel suggestions were displayed for in: search modifier for Guest Accounts.

  • Fixed an issue where Guest tags were not shown in Group Message channel header.

  • Fixed an issue where guest permissions could not be set in Team Override Schemes.

  • Fixed an issue where a “this user didn’t get notified” system message was missing if an at-mention was followed by a period and the user was not in the channel.

  • Fixed an issue where batched emails were still sent even if there was activity from the user.

  • Fixed an issue where /me messages weren’t formatted in the right-hand side.

  • Fixed an issue where mentions in header-changed system messages weren’t highlighted.

  • Fixed an issue where a thread title was missing when initial message in a thread showed as “message deleted”.

  • Fixed an issue where there was no hover effect when mousing over options in Search.

  • Fixed an issue on Firefox where using Alt+arrow stopped working on read-only channels.

  • Fixed an issue where muted channels on another team appeared as unread in team sidebar and browser tab.

  • Fixed an issue where the URL field on Rename Channel modal allowed more than two underscores.

  • Fixed an issue where pasting text from a GitHub code block erased post textbox contents.

  • Fixed an issue where keyboard shortcuts to move between teams conflicted with a native Linux OS shortcut for switching virtual desktops.

  • Fixed an issue where incoming webhooks that contained certain sized attachments resulted in an infinite loop, causing a memory leak.

  • Fixed an issue with errors appearing in logs when sending a direct message to your own account.

  • Fixed an issue with a “Failed to get membership” log spam for bot posts.

Open Source Components

  • Added react-native-mmkv-storage in https://github.com/mattermost/mattermost-mobile.

  • Added redux-action-buffer in https://github.com/mattermost/mattermost-mobile.

  • Added redux-reset in https://github.com/mattermost/mattermost-mobile.

  • Added serialize-error in https://github.com/mattermost/mattermost-mobile.

API Changes

  • Added a new API endpoint GET /api/v4/users/known to get the list of user IDs of users with any direct relationship with a user. That means any user sharing any channel, including direct and group channels.

  • GET /api/v4/teams/:team_id/channels no longer requires the list_team_channels permission.

Websocket Event Changes

  • Added a new update_team_scheme Websocket Event.

Known Issues

  • Copy Theme Colors button on custom theme Display Settings modal is not themed correctly on Mattermost dark theme.

  • On a server using a subpath, the URL opens a blank page if the System Admin changes the Site URL in the System Console UI. To fix, the System Admin should restart the server.

  • Login does not work when Custom Terms of Service is enabled and MFA is enforced.

  • 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 quotes with Elasticsearch enabled returns more than just the searched terms.

  • Searching with Elasticsearch enabled may not always highlight the searched terms.

  • Team sidebar on 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.22 - Feature Release

  • v5.22.3, released 2020-05-11

  • v5.22.2, released 2020-05-05

    • Fixed an issue where message reply threads did not get correctly imported via bulk loading tool. MM-24707

  • v5.22.1, released 2020-04-23

    • Fixed an issue where Amazon S3 file storage with IAM credentials failed due to a bug in the minio-go library. MM-24388

  • v5.22.0, released 2020-04-16

    • Original 5.22.0 release

Release day: 2020-04-16

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

Compatibility

  • v5.9.0 as our Extended Support Release (ESR) is coming to the end of its lifecycle and upgrading to 5.19.0 ESR or a later version is highly recommended. v5.19.0 will continue to be our current ESR until October 15, 2020. Learn more in our forum post.

Breaking Changes

  • Due to fixing performance issues related to emoji reactions, the performance of the upgrade has been affected in that the schema upgrade now takes more time in environments with lots of reactions in their database. These environments are recommended to perform the schema migration during low usage times and potentially in advance of the upgrade. Since this migration happens before the Mattermost Server is fully launched, non-High Availability installs will be unreachable during this time.

  • The Channel Moderation Settings feature is supported on mobile app versions v1.30 and later. In earlier versions of the mobile app, users who attempt to post or react to posts without proper permissions will see an error.

  • Direct access to the Props field in the model.Post structure has been deprecated. The available GetProps() and SetProps() methods should now be used. Also, direct copy of the model.Post structure must be avoided in favor of the provided Clone() method.

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

Highlights

Read-only channels and channel moderation settings (E20) (Beta)

  • System admins can use new channel-specific permissions to create read-only channels, restrict who can post in certain channels, and more. This feature is in beta and ships with Enterprise Edition E20.

Team switch shortcuts

  • Added new keyboard shortcuts that allow users to switch to the next or previous team using Ctrl/⌘ + Alt + Up/Down and switch to a specific team using Ctrl/⌘ + Alt + #.

  • Also added the ability to reorder teams on the sidebar via drag-and-drop.

Unarchive Channel option in the archived channels menu

  • Added the ability for users to restore archived channels via the Mattermost interface.

Channel sidebar reorganization features (Experimental)

  • Added improvements to the channel sidebar, including the ability to collapse categories in the sidebar (e.g., favorites, public channels, private channels, and direct messages) to reduce unnecessary scrolling.

Improvements

User Interface (UI)

  • Added several UI improvements, such as added a “Close Group Message” option to Group Message menu.

  • Added a keyboard shortcut to open/close the right-hand sidebar.

  • Added a keyboard shortcut to add reactions to last message in a channel or a thread.

  • Added infinite scroll to Select Teams screen.

  • Updated the message permalink view.

Localization

  • Promoted Dutch and Russian languages to Beta.

Notifications

  • Added support for notification sounds in Firefox.

Plugins

  • Allow searching for files through the plugin API.

  • Allowed prepackaged and local plugins to set ReleaseNotesURL.

Integrations

  • In interactive dialogs, the autocomplete lists now render below the input field by default.

  • Extended the payload of slash commands to include a map of the users and channels mentioned in the message to their corresponding identifiers.

  • Added support for recognizing multi-line slash commands without requiring trailing space after the trigger word.

Bulk Import

  • Added support for exporting and importing the props of a post.

Bug Fixes

  • Fixed an issue where a user’s role was not reflected correctly in the Channel Members Modal when it was updated after the modal was opened.

  • Fixed an issue where verification emails were still sent on servers with SMTP configured whenEnable Email Notifications and Require Email Verification were disabled in the System Console.

  • Fixed an issue where a user account was still created when inviting a new user to a team with an email address that didn’t match the team’s allowed domain.

  • Fixed an issue where System Admins could not access the Teams menu of the System Console.

  • Fixed an issue where an incorrect time was displayed at midnight when 24-hour clock display was enabled.

  • Fixed an issue where a channel appeared twice on the channel sidebar if the channels were created with a certain arrangement of characters.

  • Fixed an issue where pasting a custom theme caused a white screen.

  • Fixed an issue where a modified Edit Post dialog silently closed on a mouse click outside it.

  • Fixed an issue where users were unable to drag and drop files on Edge.

  • Fixed an issue where the autoresponder responded to every bot post.

  • Fixed an issue where Mattermost was unable to start if a configured mail server was listening but not responding.

  • Fixed an issue where LDAP sync did not finish if read database replica was enabled.

  • Fixed a SIGSEGV crash issue when exporting to CSV.

  • Fixed an issue where Elasticsearch error was output when running unrelated commands.

  • Fixed an issue where importing from slack crashed due to invalid memory access or nil pointer dereference.

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 EnableOpenTracing, to enable a Jaeger client to be instantiated and used to trace each HTTP request as it goes through App and Store layers.

    • Added IdleTimeout, to set an explicit idle timeout in the HTTP server.

    • Added ExperimentalChannelSidebarOrganization, to enable accessing the experimental channel sidebar feature set.

  • Under NotificationLogSettings in config.json:

    • Added SMTPServerTimeout, to enable the maximum amount of time (in seconds) allowed for establishing a TCP connection between Mattermost and the SMTP server, to be idle before being terminated.

  • Added DirectoryId object, to enable the ID of the application’s AAD directory.

  • Added ExperimentalAuditSettings object, to enable the audit settings to output audit records to syslog (local or remote server via TLS) and/or to a local file.

Open Source Components

  • Added core-js in https://github.com/mattermost/mattermost-redux.

  • Added @types/redux-mock-store in https://github.com/mattermost/mattermost-webapp.

  • Added react-beautiful-dnd in https://github.com/mattermost/mattermost-webapp.

  • Added react-native-hw-keyboard-event in https://github.com/mattermost/mattermost-mobile.

  • Added react-native-v8 in https://github.com/mattermost/mattermost-mobile.

  • Removed jsc-android from https://github.com/mattermost/mattermost-mobile.

Database Changes

  • Various indexes were added.

API Changes

  • Added GET api/v4/channels/:channels/moderations and PUT api/v4/channels/:channels/moderations/patch to support channel moderation settings.

  • Added a PUT api/v4/commands/move endpoint to move a command to another team.

  • Added a GET api/v4/commands endpoint to retrieve a command by id.

Websocket Event Changes

  • Added channel_scheme_updated Websocket Event.

Known Issues

  • Batched emails are still sent even if any activity from the user is detected.

  • Keyboard shortcut to move between teams conflicts with Linux native OS shortcut.

  • Webapp crashes if the Direct Message modal is open when a guest is removed from a channel.

  • Slash command /leave fails to leave channel on webapp and crashes the Android app.

  • On a server using a subpath, the URL opens a blank page if the System Admin changes the Site URL in the System Console UI. To fix, the System Admin should restart the server.

  • Login does not work when Custom Terms of Service is enabled and MFA is enforced.

  • 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 quotes with Elasticsearch enabled returns more than just the searched terms.

  • Searching with Elasticsearch enabled may not always highlight the searched terms.

  • Team sidebar on 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.21 - Quality Release

Release day: 2020-03-16

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

Compatibility

  • Honour key value expiry in KVCompareAndSet, KVCompareAndDelete and KVList. We also improved handling of plugin key value race conditions and deleted keys in Postgres.

Bug Fixes

  • Fixed an issue where switching to an unread channel sometimes got stuck at “Loading…” on certain screen resolutions.

  • Fixed an issue where bots could not be added to group-synced channels or teams.

  • Fixed an issue where a user’s authentication method in the System Console was shown as email if it was actually LDAP.

  • Fixed an issue where lines in over 65536 characters caused bulk import to fail.

  • Fixed an issue where code block line numbers were copied when pasting into certain applications.

  • Fixed an issue where the right-hand side reply thread scrolled down after receiving a new message.

  • Fixed an issue where the post menu opened up in the right-hand side made the menu options float off page if the parent post was short with no replies.

  • Fixed an issue where enabling and disabling the demo plugin generated a “connection is shutdown” error.

  • Fixed an issue where deactivated users with whom a user had never interacted in a private message before appeared in the New Direct Message menu.

  • Fixed an issue where clicking on an image in external image preview opened the image within the desktop app.

  • Fixed an issue where users were unable to open email links using View in Browsers option in incognito mode.

  • Fixed an issue where Invite Guests > Emails containing upper case letters were rejected.

  • Fixed an issue where a new user got a “No more channels to join” message while scrolling through the channel list.

  • Fixed an issue where clicking on “Terms of Service” and “Privacy Policy” on account creation on the desktop app didn’t do anything.

  • Fixed an issue where gendered emojis were rendered with the wrong gender.

  • Fixed an issue where large video file uploads failed on the right-hand side without an appropriate error.

Known Issues

  • Verification emails are still sent on servers with SMTP configured whenEnable Email Notifications and Require Email Verification are disabled in the System Console.

  • On a server using a subpath, the URL opens a blank page if the System Admin changes the Site URL in the System Console UI. To fix, the System Admin should restart the server.

  • Login does not work when Custom Terms of Service is enabled and MFA is enforced.

  • 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 quotes with Elasticsearch enabled returns more than just the searched terms.

  • Searching with Elasticsearch enabled may not always highlight the searched terms.

  • Team sidebar on 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 v5.20 - Feature Release

  • v5.20.2, released 2020-03-12

    • Fixed an issue where Mattermost server crashed when running a compliance export. MM-23157

    • Fixed an issue where switching to an unread channel got stuck at “Loading…” in certain screen resolutions. MM-22698

  • v5.20.1, released 2020-02-16

    • Fixed an issue where upgrading to v5.20 failed on servers running with PluginSettings.Enable = false, and LogSettings.EnableDiagnostics = true.

  • v5.20.0, released 2020-02-16

    • Original 5.20.0 release

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

Compatibility

Breaking Changes

  • Any pre-packaged plugin that is not enabled in the config.json will no longer install automatically, but can continue to be installed via the plugin marketplace.

  • Boolean elements from interactive dialogs are no longer serialized as strings. While we try to avoid breaking changes, this change was necessary to allow both the web and mobile apps to work with the boolean elements introduced with v5.16.

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

Highlights

A Banner to Jump to the Most Recent Posts

  • Ability to jump to the most recent posts in a channel by clicking a banner that automatically appears in busy channels with unread messages.

Open Email Notifications in the Desktop or Mobile App

  • Ability to open messages from email notifications in the Mattermost desktop or mobile apps instead of being directed to open them in the browser.

Ship MMCTL with Mattermost

  • Manage servers remotely with mmctl, a CLI tool that mimics the Mattermost CLI tool and ships inside Mattermost.

Reworked pre-packaged plugins

  • Pre-packaged plugins are now “pre-downloaded” plugins that are available within the Plugin Marketplace, even if your server doesn’t have direct access to the internet.

Plugin Marketplace Labels

  • Plugins supported by Mattermost and community supported plugins will be visible, making it easier to select an appropriate plugin based on your organization’s security policies.

Role mapping from LDAP and SAML (E20)

  • Ability to assign and restrict users to roles within Mattermost from your single sign-on (SSO) system.

Faster SAML install and configuration (E20)

  • Ability to use SAML without installing a separate binary and pull configuration metadata directly from the Identity Provider using an account-specific URL.

Improvements

User Interface (UI)

  • Added support for mute option in Direct Message channel menus.

  • Added a red dot to browser favicon when there are unread mentions.

  • Added support for displaying a left-hand side bot icon in the webapp.

  • User’s own username with a suffix ‘you’ is now shown in the username autocomplete.

  • Allowed user autocomplete to match on terms with spaces.

  • Improved autocomplete highlighting when using mouse and keyboard together.

  • Added support for showing single image thumbnails in compact view.

  • Contents of View Members and Manage Members modals now refresh when a user’s role has changed.

  • Filtering search by channel now also shows the channel name and not only its ID.

  • Users now cannot type account input fields longer than the maximum length for first name, last name and email fields.

Plugins

  • Added a way to show that a plugin requires a certain Mattermost configuration setting.

  • Added support for plugins to add menu items to the Channel Menu.

Command Line Interface (CLI)

  • Added a CLI command webhook move for moving outgoing webhooks.

Bulk Import

  • When bulk import finds an already existing post, it now deletes existing files before importing new ones.

  • Bulk export now includes direct messages from a user to themselves.

Administration

  • Added support for Elasticsearch 7.

  • Added ability to inform System Admins when a user who managed bot accounts is deactivated, and enable them to take ownership of the bot.

  • Added LDAP/Elasticsearch/SQL Trace to server logs to make it easier for admins to diagnose problems.

  • Added plugins to the list of words that a team URL cannot start with.

  • Removed 26 character requirement from post action IDs.

Bug Fixes

  • Fixed an issue where guest account creation erroneously considered the global list of whitelisted domains.

  • Fixed an issue where inviting multiple users with valid and invalid emails caused the invites for the valid users not to be sent.

  • Fixed an issue where option to invite users by email was displayed even if email invitations were disabled.

  • Fixed an issue where the channel drop-down Leave Channel failed to leave the channel on a server with a subpath.

  • Fixed an issue where messages with 2-byte characters didn’t get posted.

  • Fixed an issue where links for recent mentions and flagged posts were doubled in smaller window widths.

  • Fixed an issue where opening the right-hand sidebar placed focus in the Search box instead of the Text box.

  • Fixed an issue where Customization > Site Name help text didn’t match text field behavior.

  • Fixed an issue where the option to mark posts as unread was unexpectedly available when viewing archived channels.

  • Fixed an issue where emoji reactions shifted down a few pixels after clicking.

  • Fixed an issue where pasting code from GitHub resulted in broken markup and loss of text.

  • Fixed an issue where importing theme colours from Slack gave an error.

  • Fixed an issue where navigating to a plugin configuration page in the System Console for a deleted plugin returned a Not Found error.

  • Fixed an issue where scroll bar was missing on the welcome tutorial screen in web mobile view.

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 SamlSettings in config.json:

    • Added IdpMetadataUrl, to add the URL where Mattermost sends a request to obtain setup metadata from the provider.

    • Added EnableAdminAttribute and AdminAttribute, to add the attribute in the SAML Assertion for designating System Admins.

  • Under LdapSettings in config.json:

    • Added EnableAdminFilter and AdminFilter, to enter a filter to use for designating the System Admin role to users.

  • Under PluginSettings in config.json:

    • Added EnableRemoteMarketplace, to have the server attempt to connect to the configured Plugin Marketplace to show the latest plugins.

    • Added AutomaticPrepackagedPlugins, so that any pre-packaged plugins enabled in the configuration will be installed or upgraded automatically.

Open Source Components

  • Added @formatjs/intl-pluralrules in https://github.com/mattermost/mattermost-webapp.

  • Added @formatjs/intl-relativetimeformat in https://github.com/mattermost/mattermost-webapp.

  • Added custom-protocol-detection in https://github.com/mattermost/mattermost-webapp.

  • Added react-inlinesvg in https://github.com/mattermost/mattermost-webapp.

Database Changes

  • Added Bots.LastIconUpdate column.

  • Added GroupTeams.SchemeAdmin column.

  • Added GroupChannels.SchemeAdmin column.

API Changes

  • Added PUT /config/patch REST API endpoint that uses patch semantics to only update the fields of the config that are provided, while leaving the other fields unchanged.

  • Added POST /server_busy, GET /server_busy and DELETE /server_busy REST API endpoints to add the ability to turn off non-critical services when under load.

Websocket Event Changes

  • Added channel_restored Websocket Event.

Known Issues

  • Code block line numbers are copied when pasting into certain applications.

  • Deactivated users with whom you never interacted in a private message before appear in New Direct Message menu.

  • Verification emails are still sent on servers with SMTP configured whenEnable Email Notifications and Require Email Verification are disabled in the System Console.

  • On a server using a subpath, the URL opens a blank page if the System Admin changes the Site URL in the System Console UI. To fix, the System Admin should restart the server.

  • Login does not work when Custom Terms of Service is enabled and MFA is enforced.

  • 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 quotes with Elasticsearch enabled returns more than just the searched terms.

  • Searching with Elasticsearch enabled may not always highlight the searched terms.

  • Team sidebar on 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

abdusabri, aeomin, agarciamontoro, AGMETEOR, agnivade, ali-farooq0, allenlai18, amyblais, andylibrian, anidok, AninditaBasu, anon6789, asaadmahmood, ashishbhate, atulya-pandey, avasconcelos114, bbodenmiller, bolariin, bpietraga, bradjcoughlin, c-yan, calebroseland, catalintomai, CEOehis, chikei, ChrisDobby, chuttam, cjohannsen81, comharris, cpanato, crspeller, ctmusicnz, davidjwilkins, DE-mbecker, deanwhillier, der-test, devinbinnie, dlclark, dra, DSchalla, emilioicai, enahum, enelson720, enolal826, esdrasbeleza, ethervoid, faase, flexo3001, fm2munsh, gabrieljackson, gigawhitlocks, gopheros, grubbins, gruceqq, gsagula, gupsho, hahmadia, hanzei, hector2, hectorskypl, hmhealey, hunterlester, ikeohachidi, imisshtml, iomodo, isacikgoz, itao, jasonblais, jasonlanderson, jaydeland, jespino, jfrerich, jomaxro, josephbaylon, JtheBAB, jupenur, justinegeffen, JustinReynolds-MM, jwilander, kaakaa, karlmarxlopez, Kaya_Zeren, khos2ow, kosgrz, larkox, lawikip, Lena, levb, lfbrock, lieut-data, lindalumitchell, lindy65, lukewest, lurcio, M-ZubairAhmed, marianunez, meilon, metanerd, mgdelacroix, michaelschiffmm, mickmister, migbot, mitchellroe, mjthomp95, mkraft, mlongo4290, nadalfederer, natalie-hub, niklabh, NiroshaV, nmlc, opllama2, phillipahereza, Pomyk, popstr, RajatVaryani, rajudev, rascasoft, rbradleyhaas, reflog, rodcorsi, rvillablanca, RyanCommits, saturninoabril, sbishel, scottjr632, sij507, somenet, sowmiyamuthuraman, streamer45, stylianosrigas, sudheerDev, svelle, tasdomas, thapakazi, thefactremains, themaverikk, thePanz, TQuock, uhlhosting, vesari, VishalSwarnkar, wget, wiersgallak, wiggin77, Willyfrog, xalkan

Release v5.19 - ESR

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

  • v5.19.3, released 2020-06-19

    • Fixed an issue with the Plugin Tooltip implementation that caused links to be truncated when rendered. This issue occured if you are using the recent GitHub plugin v1.0.0 release. All links were affected, regardless if they were related to GitHub. [MM-25808]

  • v5.19.2, released 2020-04-21

    • Fixed an issue with unexpected crashes related to any action taken to modify post properties such as push notifications. Note for developers: Direct access to the Props field in the model.Post structure has been deprecated. To avoid crash issues, the available GetProps() and SetProps() methods should now be used. Also, direct copy of the model.Post structure must be avoided in favor of the provided Clone() method. MM-21378

    • Fixed an issue where a public channel appears in the list of Direct Message channels in the channel sidebar if the channel name is 40 characters long. MM-23427

  • v5.19.1, released 2020-01-21

    • Fixed a regression affecting v5.18 and v5.19 where some users were experiencing client-side performance issues. This was mainly affecting users with more than 100 channels listed in the channel sidebar and with channels sorted alphabetically. MM-20349

  • v5.19.0, released 2020-01-16

    • Original 5.19.0 release

Compatibility

Breaking Changes

  • LockTeammateNameDisplay setting was moved to Enterprise Edition E20 as it was erroneously available in Team Edition and Enterprise Edition E10.

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

Bug Fixes

  • Fixed an issue where email notifications were still sent in some cases while disabled in the user interface.

  • Fixed an issue where System Console > Site Configuration > Users & Teams > Lock Teammate Name Display should only have been available on Enterprise Edition E20 but was erroneously available also on Team Edition and Enterprise Edition E10.

  • Fixed an issue where the System Console left-hand side scrollbar was too dark to see.

  • Fixed an issue where inline markdown image links did not open with preview modal.

  • Fixed an issue on Edge where the “+” buttons in channel list were black on Mattermost default theme.

  • Fixed an issue where users were unable to scroll through message textbox autocomplete results using arrow keys.

  • Fixed an issue where clicking a line separator in the Main Menu closed the menu.

  • Fixed an issue where date separator showed long-format timestamps.

  • Fixed an issue where the Menu help text was truncated in English for Do Not Disturb status.

  • Fixed an issue where the height and width parameters in inline images didn’t work.

  • Fixed an issue where the day picker in after/before search didn’t honor the user’s timezone override.

  • Fixed an issue where editing a post and hitting <enter> in code block saved the post automatically instead of adding a newline.

  • Fixed an issue where users were unable to close the Edit Channel Header modal when opened from the Intro Message.

  • Fixed an issue where opening the channel picker using CTRL+K and then focusing on the message box using CTRL+SHIFT+L did not close the channel picker.

  • Fixed an issue where the at-mention suggestions still highlighted the previous search but not the first suggestion in the list.

  • Fixed an issue where the at-mention autocomplete always opened up in the right-hand side reply thread, sometimes cutting off users in the list.

  • Fixed an issue with a notification badge count inconsistency when push notification setting was set to All Activity.

  • Fixed an issue where timestamps on 12-hour format had a leading zero.

  • Fixed an issue with an incorrect error message when attempting to add a bot to a channel if the bot was previously on the team.

  • Fixed an issue where the client license API generated a different ETag for every response.

API Changes

  • Etag header was added to the API endpoint to get the client license.

  • Oath IsTrusted configuration can only be changed if the user has the manage_system permission.

Known Issues

  • Client-side performance issues seen while typing.

  • On a server with a subpath, channel drop-down Leave Channel fails to leave the channel.

  • Importing theme colours from Slack gives an error.

  • Inviting multiple users with valid/allowed and invalid emails causes the invites for the valid users not to be sent.

  • Option to invite users by email is displayed even if email invitations are disabled.

  • Users may need to reinstall and delete cache on Classic apps if launching and logging into the app get stuck.

  • On a server using a subpath, the URL opens a blank page if the System Admin changes the Site URL in the System Console UI. To fix, the System Admin should restart the server.

  • Login does not work when Custom Terms of Service is enabled and MFA is enforced.

  • 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 quotes with Elasticsearch enabled returns more than just the searched terms.

  • Searching with Elasticsearch enabled may not always highlight the searched terms.

  • Team sidebar on 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 v5.18 - Feature Release

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

  • v5.18.2, released 2020-01-16

    • Fixed an issue where server crashed when a user updated their Account Settings in a high availability cluster environment, and the corresponding user_updated event did not reach a guest user. MM-21481

  • v5.18.1, released 2020-01-08

  • v5.18.0, released 2019-12-16

    • Original 5.18.0 release

Compatibility

Important Upgrade Notes

  • Marking a post unread from the mobile app requires v1.26 or later. If using v5.18, but mobile is on v1.25 or earlier, marking a post unread from webapp/desktop will only be reflected on mobile the next time the app launches or is brought to the foreground.

Breaking Changes

  • The Go module path of mattermost-server was changed to comply with the Go module version specification. Developers using Go modules with mattermost-server as a dependency must change the module and import paths to github.com/mattermost/mattermost-server/v5 when upgrade this dependency to v5.18. See https://blog.golang.org/v2-go-modules for further information.

  • Removed Team.InviteId from the related Websocket event and sanitized it on all team API endpoints for users without invite permissions.

  • Removed the ability to change the type of a channel using the PUT /channels/{channel_id} API endpoint. The new PUT /channels/{channel_id}/privacy endpoint should be used for that purpose.

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

Highlights

ID Loaded push notifications (E20)

  • Allows push notifications to be delivered showing the full message contents that are fetched from the server once the notification is delivered to the device. This means that Apple Push Notification Service (APNS) or Google Firebase Cloud Messaging (FCM) cannot read the message contents since only a unique message ID is sent in the notification payload.

Allow Plugin Upgrades

  • Added ability to upgrade plugins and prepackaged plugins via the marketplace.

Mark Posts as Unread

  • When marking a post as unread, the user will land on the unread post the next time they click on the relevant channel.

mmctl remote CLI tool

  • Allows a system admin to run commands when conventional access to the server via SSH isn’t possible.

View Archived Channels (Beta)

  • View, share and search for content of archived channels. See more details here.

Guest Account SAML & LDAP Support (EE)

  • Provision Guests directly from AD/LDAP or SAML upon login. Guests will have no access to any teams or channels until they are assigned.

Actiance Improvements (E20)

  • Added events (such as post/file deletion and edit events) to Actiance Export to improve tracking within the Vantage report interface.

LDAP Group Sync upgraded to Beta phase (E20)

  • Previously in “Experimental” phase, the linking of AD/LDAP groups to Mattermost groups is now officially in “Beta” phase.

Improvements

User Interface (UI)

  • Disabled email notifications in Do Not Disturb mode.

  • Added support for showing a tooltip on public and private channel names that get truncated.

  • Added support for allowing in-line markdown images to open a preview window.

  • Added line numbers to code blocks that have syntax highlighting.

  • Added support for trimming leading/trailing whitespace on a channel name when a channel is created.

Command Line Interface (CLI)

  • Updated CLI command “deleter user” to add ability to delete the given user’s group memberships.

  • Created CLI command “config reset” to allow resetting the value of a config setting to its default value.

Integrations

  • Added ability to disable attachment buttons and fields.

  • Added user_name, team_domain and channel_name metadata when clicking an interactive button.

  • Extended EnsureBot helper function to include bot images.

  • Added support for a generic error message in interactive dialog responses.

Plugins

  • Added support for interplugin communication.

  • Added support for server version and minimum server version checks in helper methods for plugins.

  • Added support for returning results for individual plugins in System Console > Search.

  • Added the ability to add submenus in post dropdowns for plugins.

Administration

  • Added support for System Administrators to control Teammate Name Display at the system level.

  • Added support for revoking Guest User Sessions when the Guest Accounts feature is disabled.

  • Added the ability to search in System Console > Channels and System Console > Teams.

  • Added the ability to add users as another user to the plugin API.

  • Restricted user access to /logs API endpoint.

  • Added “Remove team” and “Change role” options in Team Membership panel.

  • Added support for disabling channel settings for public and private toggle for default channels.

Enterprise Edition (EE)

  • Added SAML login events to the Audits Table.

  • Added support for configuration of SAML crypto hashing algorithms.

  • Added support for not allowing Guest invitations to teams that are managed by LDAP Group Sync.

  • Added support for custom post types to Compliance exports.

Bug Fixes

  • Fixed an issue where modifying config files caused compliance exports to run twice.

  • Fixed an issue where admins were not able to create LDAP user via /api/v4/users.

  • Fixed some bugs related to the keyboard accessibility feature.

  • Fixed issues with Guest Accounts feature, such as an issue where the option to make guest users as team admins was erroneously provided in Manage Teams dialog on System Console > Users.

  • Fixed an issue where an opened emoji picker floated while the user scrolled in the channel.

  • Fixed an issue where “Your message is too long” warning on the right-hand side reply thread overlapped the Preview button.

  • Fixed an issue where hitting escape to close autocomplete also closed channel header modal.

  • Fixed an issue where negative search filter hypens and occasional random terms were highlighted in search results.

  • Fixed an issue where deactivating a user increased Monthly Active Users and Daily Active Users count by 1 in System Console > Site Statistics.

  • Fixed an issue where Reporting > Statistics showed ‘Loading…’ when the value for any of the statistics was zero.

  • Fixed an issue where converting a user to a bot via the command line tool (CLI) did not create an access token and could not be deleted.

  • Fixed an issue where archived channels displayed in System Console -> Channels page.

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 TeamSettings:

    • Added LockTeammateNameDisplay to add support for System Administrators to control Teammate Name Display at the system level.

  • Under LdapSettings:

    • Added GuestFilter to be able to enter an AD/LDAP Filter to use when searching for external users who have Guest Access to Mattermost.

  • Under SamlSettings:

    • Added SignatureAlgorithm to be able to choose a signature algorithm used to sign the request.

    • Added CanonicalAlgorithm to be able to choose the canonicalization algorithm.

    • Added GuestAttribute to add support for entering the attribute in the SAML Assertion used to apply a guest role to users.

  • Under PluginSettings:

    • Added RequirePluginSignature to add support for requiring valid plugin signatures before starting managed or unmanaged plugins.

    • Added SignaturePublicKeyFiles to add support for specifying public keys to be trusted to validate plugin signatures in addition to the Mattermost plugin signing key built-into the server.

  • Under Push Notification Contents:

    • Added id_loaded to add an option for full message content being fetched from the server on receipt (Available in Enterprise Edition E20).

  • Under ServiceSettings:

    • Removed ExperimentalLdapGroupSync setting.

Open Source Components

  • Added @types/highlight in https://github.com/mattermost/mattermost-webapp.

  • Added @typescript-eslint/parser in https://github.com/mattermost/mattermost-webapp.

  • Added @react-native-community/cameraroll in https://github.com/mattermost/mattermost-mobile.

  • Added @sentry/react-native in https://github.com/mattermost/mattermost-mobile.

  • Added form-data in https://github.com/mattermost/mattermost-mobile.

  • Added react-native-fast-image in https://github.com/mattermost/mattermost-mobile.

  • Added react-navigation-stack in https://github.com/mattermost/mattermost-mobile.

  • Added redux-offline in https://github.com/mattermost/mattermost-mobile.

API Changes

  • Added POST handler for /plugins/marketplace to install marketplace plugins.

  • Added a search_archived API endpoint to be able to search archived channels.

  • Added a post_unread API endpoint to be able to set posts as unread.

Websocket Event Changes

  • Added marked post as unread Websocket Event.

  • Added guests deactivated Websocket Event.

Known Issues

  • Client-side performance issues seen while typing.

  • System Console left-hand side scrollbar may be too dark to see.

  • Menu help text for Do Not Disturb is truncated in English.

  • Inviting multiple users with valid/allowed and invalid emails causes the invites for the valid users not to be sent.

  • Option to invite users by email is displayed even if email invitations are disabled.

  • Option to mark posts as unread is unexpectedly available when viewing archived channels.

  • Users may need to reinstall and delete cache on Classic apps if launching and logging into the app get stuck.

  • On a server using a subpath, the URL opens a blank page if the System Admin changes the Site URL in the System Console UI. To fix, the System Admin should restart the server.

  • Login does not work when Custom Terms of Service is enabled and MFA is enforced.

  • 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 quotes with Elasticsearch enabled returns more than just the searched terms.

  • Searching with Elasticsearch enabled may not always highlight the searched terms.

  • Team sidebar on 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

3mard, a8uhnf, aaronrothschild, abdusabri, aeomin, AGMETEOR, agnivade, akshaychhajed, ali-farooq0, allenlai18, alxsah, amyblais, andresoro, anindha, AninditaBasu, arjitc, asaadmahmood, ashishbhate, avasconcelos114, bradjcoughlin, brewsterbhg, bvineyar, cardoso, catalintomai, chapa, chetanyakan, chikei, chuttam, cinlloc, cjohannsen81, cometkim, comharris, cpanato, cpoile, cpurta, crspeller, deanwhillier, der-test, devinbinnie, DHaussermann, drekar, DSchalla, enahum, enolal826, ethervoid, etoaster, FlaviaBastos, fm2munsh, focusonmx, g3rv4, gabrieljackson, gigawhitlocks, goku321, gruceqq, grundleborg, gupsho, hahmadia, hanzei, harshilsharma63, hectorskypl, HilalNazli, hmhealey, icelander, ilgooz, imisshtml, iomodo, ishanray, ivanvc, jabshire, jasonblais, jaydeland, jespino, jfrerich, jgbaylon, jimiolaniyan, johnthompson365, joshuabezaleel, jozuenoon, justinegeffen, jwilander, kaakaa, kanozec, karlmarxlopez, Kaya_Zeren, kdenz, kosgrz, KuSh, larkox, last-partizan, Lena, levb, lieut-data, lindalumitchell, M-ZubairAhmed, m4ver1k, malaDev, manland, marianunez, MathewtheCoder, meilon, mgdelacroix, michaelschiffmm, mickmister, migbot, mkraft, mlongo4290, natalie-hub, nathanmkaya, niklabh, nrekretep, Pomyk, pqzx, pradeepmurugesan, promulo, PunitGr, r4zorgeek, RajatVaryani, reflog, rfoyard, rodcorsi, rvillablanca, SamWolfs, saneletm, saturninoabril, sbishel, scottleedavis, Sheshagiri, sij507, sphr, srkgupta, sstaszkiewicz-copperleaf, steevsachs, streamer45, stylianosrigas, sudheerDev, sunsingerus, svelle, thePanz, TonPC64, TQuock, uhlhosting, unlikelygeek, valentijnnieman, ventz, vinicio, wget, wiersgallak, wiggin77, Willyfrog, wlsf82, YuikoTakada

Release v5.17 - Quality Release

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

  • v5.17.3, released 2020-01-08

  • v5.17.2, released 2019-12-18

  • v5.17.1, released 2019-11-25

    • Fixed an issue where leaving a channel does not work in some cases if the channel was open in another webapp or desktop client. MM-20206

  • v5.17.0, released 2019-11-16

    • Original 5.17.0 release

Bug Fixes

  • Fixed an issue where saving an empty string on Marketplace URL reset the URL instead of showing an error.

  • Fixed an issue where the default permission was such that all users were allowed to invite a guest instead of only System Admins.

  • Fixed an issue where Guest users were shown in the list when adding new members to a channel.

  • Fixed an issue where attempting to configure uninstalled plugins got stuck at “Loading…” without timeout.

  • Fixed an issue where clicking “Search” icon in narrow-width mode caused right-hand side to appear along with loading indicator “…”.

  • Fixed an issue where @all notification was still sent to all users when using TAB to press Cancel on the notification prompt.

  • Fixed an issue where system messages could trigger mentions for username collisions.

  • Fixed an issue where code syntax was not rendering or highlighting as expected in markdown.

  • Fixed an issue where users were not able to attach a file from iPad using Safari.

  • Fixed an issue where /code was rendering HTML incorrectly.

  • Fixed an issue where clicking “Pinned” icon removed text in the search box.

  • Fixed an issue where Main Menu > Integrations > OAuth 2.0 Applications page user interface broke when shrinking the window to a small size.

  • Fixed an issue where no feedback was given on mobile view when the maximum post length had been exceeded.

  • Fixed an issue where dragging or dropping a folder did not scroll the user to the right-hand side text box to make the error more visible.

  • Fixed an issue on mobile browser view where the post menu was split in 2 and users were not able to scroll up to see “Add Reaction” option.

  • Fixed an issue where pressing and holding on teams and channels in the left-hand side opened the context menu on the Desktop App.

  • Fixed an issue where the user popover bled off screen when browser or Desktop App was set to full-screen mode.

  • Fixed an issue where clicking locally installed plugins without a URL opened a new tab to the same page.

  • Fixed an issue where interactive message buttons and menus were not vertically the same size.

  • Fixed an issue where the first element was selected by default in radio elements in interactive buttons.

  • Fixed an issue where search with quotation marks was not returning expected results.

  • Fixed an issue where bulk importer generated invalid passwords for the user object with a missing password key.

  • Fixed an issue where post metadata was returned for deleted posts.

  • Fixed an issue where users were not able to use api/v4/websocket with a trailing slash.

  • Fixed an issue with subpaths where in-app System Console links were missing in the /subpath and resulted in a 404 error.

  • Fixed an issue where Terms of Service and Privacy Policy in Main Menu > About Mattermost did not permanently link to Mattermost’s policies.

config.json

A setting option was 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: