Mattermost self-hosted changelog

Mattermost is an open source platform for secure collaboration across the entire software development lifecycle. This changelog summarizes updates for the latest self-hosted versions of Mattermost to be deployed and upgraded on infrastructure you control.

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

Latest Mattermost Releases:

Release v7.8 - Extended Support Release

Release Day: February 16, 2023

Mattermost v7.8.0 contains low to high 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

  • Message Priority & Acknowledgement is now enabled by default for all instances. You may disable this feature in the System Console by going to Posts > Message Priority or via the config PostPriority setting.

  • Before upgrading, we recommend checking for duplicate data in the focalboard_category_boards table, and deleting all but one copy of duplicate data. This is to ensure that the new plugin version startup doesn’t lock the table, and prevent users from using Boards. We recommend de-duplicating the data at a time of low user activity.

SQL to check the presence of duplicate data:

SELECT user_id, board_id, count(*) AS count FROM focalboard_category_boards WHERE delete_at = 0 GROUP BY user_id, board_id HAVING count(*) > 1;

SQL to delete duplicate data:

PostgreSQL:

WITH duplicates AS (
  SELECT id, ROW_NUMBER() OVER(
    PARTITION BY user_id, board_id
  ) AS rownum
  FROM focalboard_category_boards
)
DELETE FROM focalboard_category_boards
USING duplicates
WHERE focalboard_category_boards.id = duplicates.id AND duplicates.rownum > 1;

MySQL:

WITH duplicates AS (
  SELECT id, ROW_NUMBER() OVER(
    PARTITION BY user_id, board_id
  ) AS rownum
  FROM focalboard_category_boards
)
DELETE focalboard_category_boards
FROM focalboard_category_boards
JOIN duplicates USING(id)
WHERE duplicates.rownum > 1;

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

Highlights

Boards

  • Added support for person, multi-person, and date property filters in Boards.

  • Added support for person property groups in Boards.

  • See the docs for more details.

Improvements

User Interface (UI)

  • Pre-packaged Calls v0.13.0.

  • Pre-packaged Playbooks v1.36.0.

  • Insights and drafts are now included when navigating through channels in the channel sidebar using ALT+UP/DOWN arrow keyboard keys.

  • Added an onboarding tour point for Global Drafts.

  • Updated prepackaged version of Apps plugin to 1.2.0.

  • Added group members count to the group autocomplete.

  • Selecting a group mention now displays group details and membership.

  • Improved the collapsed state of the message formatting toolbar.

  • App Framework channel and user fields now support multi-select properties to allow users to select multiple values in a form.

  • Increased the character count for desktop notifications on Windows to 120 from 50.

  • Prioritized members of recently viewed direct or group messages when adding users to a channel.

  • Added support for multiple users and channels to the /invite slash command.

Administration

  • Self-hosted admins can now purchase licenses in-app when service setting SelfHostedPurchase is true.

  • Endpoint to portal added to detect whether a license is suitable for self-expansion. Customers over their seat limit can expand their license seats.

  • Airgapped purchase experience is now shown only when appropriate and a simplified authentication flow is now used for the self-hosted purchase.

  • The export file now contains the server version and a creation timestamp.

  • Total Activated Users was changed back to Total Active Users on the System Console > Reporting > Site Statistics page.

  • Added restore_group permission to the mmctl and to the System Console > Permissions.

  • Improved bulk export logging.

  • Compliance export jobs can now cancel the SQL query execution during server shutdown which will allow the job to exit faster.

  • The message export compliance job can now survive server restarts. The job will pause and save state when the server is shutting down, and resume from the previously saved state when the server starts back up.

  • Only one instance of the job will be automatically scheduled to run as per the MessageExportSettings.DailyRunTime config value.

  • Mattermost will throw an error if it detects an Elasticsearch version greater than 7.

  • The maximum size of uploaded emojis is reduced to 512KB to reduce image download bandwidth.

  • Users can now monitor the progress of the bulk export job via its metadata field. It is available at mmctl export job show <jobID>.

  • Compliance exports no longer time out when uploading to S3.

  • Users can now supply a certificate authority (CA) file and client certificates for the Elasticsearch client.

  • Enabled EnableOAuthServiceProvider by default.

  • Grafana metrics are now available for database connection metrics. They are:

    • max_open_connections

    • open_connections

    • in_use_connections

    • idle_connections

    • wait_count_total

    • wait_duration_seconds_total

    • max_idle_closed_total

    • max_idle_time_closed_total

    • max_lifetime_closed_total

  • Made the registerChannelIntroButtonAction plugin API usable by plugins other than Boards.

  • The following new HTTP headers and values are now written on all responses. These default values should make sense in most installations and can be overridden by a reverse proxy or ingress configuration. Note that the empty Permissions-Policy header does not have any actual effect. Users are recommended to change it to a more restrictive value based on their use case. For more information, see the W3C Reference or this article.

    Permissions-Policy: 
    Referrer-Policy: no-referrer
    X-Content-Type-Options: nosniff
    

Bug Fixes

  • Fixed an issue where if a self-hosted purchase was not available, an air-gapped modal was shown instead of going to the CWS purchase portal experience directly.

  • Fixed small visual issues with self-hosted purchase modal. Adjusted wording for admins trying to purchase when a purchase is already in progress.

  • Fixed an issue where attempting to create a team with a duplicate URL displayed the wrong error.

  • Fixed an issue where the custom status modal did not close when navigating to the custom emoji page.

  • Fixed an issue where selections within a code block were not properly copied to clipboard.

  • Fixed an issue where threads with 0 replies would show in all threads.

  • Fixed an issue with the styling of date pickers.

  • Fixed an issue with fetching the latest user’s profile picture in Insights.

  • Fixed an issue where --center-channel-text CSS variable was used instead of --center-channel-color.

  • Fixed an issue where the screen reader timestamp announcement was too long.

  • Fixed an issue where profile pictures, usernames, and full names did not update instantly in Insights.

  • Fixed an issue where the metrics server restarted for every config change.

  • Fixed the slash command description help text.

  • Fixed an issue where selecting Contact Sales didn’t pre-fill the reason for contacting sales.

  • Fixed an issue where the screen readers did not announce the selected state of the sidebar submenu items.

  • Fixed an issue where the metrics server was not prevented from starting while running export commands.

  • Fixed an issue where long group mentions and user mentions didn’t wrap properly.

  • Fixed an issue with fetching first/last name for GitLab user using OpenID.

  • Fixed an issue with the plugin /public handling for subpaths.

  • Fixed an issue where selecting Pinned on a post in the Threads view would result in the right-hand side being stuck in a loading state.

  • Fixed an issue where the profile popover did not dismiss when opening a modal through a shortcut.

  • Fixed an issue where the Run Deletion Job Now button for Data Retention wasn’t disabled when all policies were set to keep forever.

  • Fixed an issue that prevented the creation of the initial admin user for new servers.

  • Fixed an issue where making a channel non-read-only required a refresh of the client to see the change.

  • Fixed an issue where Top Channels for Insights didn’t show results if the current user’s configured timezone wasn’t present in MySQL’s mysql.time_zone_name table.

  • Fixed an issue where a white screen appeared when a guest was removed from the last channel while on Threads.

  • Fixed an issue where a Direct Message thread did not get disabled when a user was deactivated.

  • Fixed an issue where email notifications for Direct Messages from Playbooks contained broken URLs.

  • Fixed an issue where bulk import crashed with invalid memory address or nil pointer dereference.

  • Fixed an issue with special characters in the System Console log filename causing logging configuration to break.

  • Fixed an issue where the PDF renderer was not rendering all the pages.

  • Fixed a 404 error from requests to /api/v4/system/notices/ on page load.

  • Fixed an issue where file uploading appeared “stuck” in processing state.

  • Fixed an issue where archived channels appeared as unread in the channel switcher.

API Changes

  • Added new API endpoint GET /api/v4/posts/:post_id/info to allow checking if the post that a permalink is pointing to is accessible by joining teams or channels.

  • Added validity checks for role related parameters in GET /users.

Go Version

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

Known Issues

  • The new Insights feature has some performance costs that we are working to optimize. This feature can be disabled by setting the MM_FEATUREFLAGS_INSIGHTSENABLED environment variable to false.

  • 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 export and reimport results in duplicates boards because all IDs are replaced by new ones on the server. See the GitHub issue for more information.

  • The Playbooks left-hand sidebar does not update when a user is added to a run or playbook without a refresh.

Contributors

Release v7.7 - Feature Release

  • v7.7.1, released 2023-01-20

    • Fixed an issue that prevented the creation of the initial admin user for new servers MM-49720.

    • Fixed an issue where the Top Channels for Insights didn’t show results if the current user’s configured timezone wasn’t present in MySQL’s mysql.time_zone_name table MM-49688.

  • v7.7.0, released 2023-01-16

    • Original 7.7.0 release

Mattermost v7.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.

Important Upgrade Notes

  • Plugins with a webapp component may need to be updated to work with Mattermost v7.7 release and the updated React v17 dependency.

    • This is to avoid plugins crashing with an error about findDOMNode being called on an unmounted component. While our starter template depended on an external version of React, it did not do the same for ReactDOM. Plugins need to update their webpack.config.js directives to externalize ReactDOM. For reference, see https://github.com/mattermost/mattermost-plugin-playbooks/pull/1489. Server-side only plugins are unaffected. This change can be done for existing plugins any time prior to upgrading to Mattermost v7.7 and is backwards compatible with older versions of Mattermost. If you run into issues, you can either enable ExperimentalSettings.PatchPluginsReactDOM or just disable the affected plugin while it’s updated.

  • Denormalized Threads table by adding the TeamId column. See details for schema changes in the Important Upgrade Notes.

  • Starting with the Calls version shipping with v7.7, there’s now a minimum version requirement when using the external RTCD service. This means that if Calls is configured to use the external service, customers need to upgrade RTCD first to at least version 0.8.0 or the plugin will fail to start.

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

Compatibility

  • Updated the minimum version of MacOS to 11+.

Highlights

Calls

Boards

Playbooks

  • Added an option to run playbooks without creating a new channel every time in order to reduce the unnecessary overhead.

  • In addition to the daily digest, users can now also view a task inbox from the global header bar while in Playbooks.

Message Priority and Acknowledgments

  • Added message priority labels to the Threads view.

  • Added support for users to request acknowledgements on posts and to acknowledge posts (Professional license).

Global Drafts

ServiceNow Integration

  • ServiceNow customers can now access and share their ServiceNow data from within Mattermost.

ServiceNow Virtual Agent Integration

GitLab Playbooks Integration

Improvements

User Interface (UI)

  • Implemented progressive image loading in the webapp.

  • When the “Custom Brand Text” is left blank with custom branding enabled, the default text is now hidden.

  • The Mark as Unread option was added to the More (…) menu for channels in the left-hand side sidebar. Pressing Alt while selecting a channel on the left-hand side now also marks the last post in the channel as unread.

  • Channel members are now able to remove themselves from a channel via the right-hand side channel members list.

  • Removed video check to allow the browser to decide what video types it can play.

  • Added a tooltip to the right-hand side files filter icon.

  • The number of users that can be added to a user group at once was increased to 256.

  • Keyboard and focus handling was improved in profile popovers and @mentions.

  • Updated prepackaged version of plugins affected by React 17 upgrade.

  • Updated the Remove license and download text in-product to clarify that server will be downgraded to Mattermost Free as a result.

  • Updated prepackaged NPS version to 1.3.1.

  • Updated in-product confirmation modal for @here mentions to clarify that people & timezone counts don’t include the current user.

  • Downgraded French language support to Beta.

Administration

  • If an Admin encounters an invitation error “SMTP is not configured in System Console”, a link to the SMTP configuration within the System Console is now included in the error message.

  • Crashing jobs now sets the job status to “failed”.

  • Optimized ThreadStore.MarkAllAsUnreadByTeam.

  • SQL migrations for PostgreSQL will now filter by the current schema name when checking for information from the information_schema.columns view. This does not affect anything because usually there’s only one installation in a given database, but this gives flexibility to users to store multiple Mattermost instances under a single database.

  • My Insights was added to the Free plan.

  • Team scheme APIs are now allowed to be administered with a Professional plan.

  • A global banner as well as a notice banner are displayed to admins on the Invite modal and on System Console > Site Statistics > Total Activated Users page when the workspace exceeds the maximum number of users allowed. If the number of actual users exceeds the number of paid users by less than 5%, the banner is dismissible. If the number of actual users exceeds the number of paid users by more than 10%, the banner is non-dismissible until the license seat count has been updated.

  • For admins to see if the amount of users exceeds the license seats, a warning is now shown in the System Console > Team Statistics page.

  • Added a new menu item on the System Console > Users page that re-adds users to all of their default teams and channels associated with the groups they’re a member of.

  • Added acknowledgements field to the post’s metadata.

  • Added support for product websocket messages on high availability instances.

  • The import job now logs the progress of the import.

  • Exports to S3 no longer time out.

  • Shared Channels (Experimental) was moved to Professional license.

Bug Fixes

  • Fixed an issue where custom group actions were appearing in the user interface even when the user didn’t have the permissions for them.

  • Fixed issues with branding in email notifications.

  • Fixed an issue where text could be dragged and dropped into input-fields.

  • Fixed an issue where the profile popover failed to dismiss when selecting one of the options from the popover.

  • Fixed an issue where imports containing the team name with the wrong capitalization crashed the import job.

  • Fixed an issue where getPostSince didn’t properly return deleted posts when Collapsed Reply Threads was enabled.

  • Fixed an issue where the screen reader did not announce emojis from the autocomplete list.

  • Fixed an issue where the scroll position in a channel was not maintained when opening reply message permalinks.

  • Fixed an issue where OwnerId was not set for bots created via EnsureBotUser.

  • Fixed an issue where exports did not contain favorited Direct Message channels.

  • Fixed an issue where screen readers did not announce search results on the Invite members to channel modal.

  • Fixed an issue where screen readers did not announce the status of the user when hovering over the user status icon.

  • Fixed an issue where users with narrow screens could not see the Profile Settings section within the Settings modal.

  • Fixed an issue where users were unable to access the Create an account option on narrow screens.

  • Fixed an issue where users on desktop were unable to grab the vertical scroll bar without accidently resizing the window.

  • Fixed an issue where special characters weren’t allowed in group mention names.

  • Fixed an issue where screen readers didn’t read the Switch Channels modal header.

  • Fixed an issue in OAuth services where malformed redirect URLs were generated if the registered callback URLs already had static query parameters.

  • Fixed an issue where suggestion dividers were displayed as undefined.

  • Fixed an issue where a blank message was displayed in threads if the leave/join messages were disabled.

  • Fixed an issue where threads would appear duplicated in the Threads view after leaving a channel.

  • Fixed an issue with email search when using a PostgreSQL database.

  • Fixed an issue where message drafts were not saved after pasting them into the post textbox.

  • Fixed an issue where the team name in the channel sidebar header was not accessible.

  • Fixed an issue where users were unable to open the user’s profile popover from the channel members list in the right panel.

  • Fixed an issue where the OAuth 2.0 deprecation notice was still displayed in the system console.

  • Fixed an issue where clicking on a reply post time stamp in the global threads inbox opened two right-hand side panels.

  • Fixed an issue where batch notifications failed while rendering.

  • Prevented browsers and CDNs from caching remote entrypoint files.

  • Fixed an issue where the unreads button in the channel sidebar was missing alternative text for screen readers.

  • Fixed a potential read-after-write issue when uploading data through the resumable uploads API.

  • Removed duplicate text in the self-hosted pricing modal.

  • Fixed the position of the Boards icon in the app bar when Boards is running without a plugin.

  • Fixed ability to create a board when Boards is running without a plugin.

  • Fixed Boards tour tips not appearing when Boards is running without a plugin.

  • Fixed an issue where a confusing System Console banner was displayed when a license was set to expire.

  • Fixed an issue where screen readers did not announce selected state of the sidebar submenu items.

  • Fixed an issue where servers with an encrypted key did not throw an error during startup.

  • Fixed an issue where the Test Connection button in System Console > Environment > Elasticsearch did not correctly take the right config settings specified in the page. Earlier, it would always take the previously saved config.

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

    • PostPriority, to add an option to select a message priority label for root posts.

    • AllowSyncedDrafts, to add an option to display a centralized page for draft messages.

    • SelfHostedPurchase, to add an option for self-hosted admins to purchase licenses in-app.

  • Under ExperimentalSettings in the config.json:

    • PatchPluginsReactDOM, to enable the patching of the React DOM library when loading web app plugins so that the plugin uses the version matching the web app.

API Changes

  • The resumable uploads API was exposed to plugins.

  • Added a new API endpoint POST /api/v4/ldap/users/:user_id/group_sync_memberships to add (or re-add) users to all of their default teams and channels for all of the groups they’re a member of.

  • Added two new URL parameters to the GET /api/v4/groups endpoint to get the ChannelMemberCount for a group.

  • Added new API endpoints POST /api/v4/users/:user_id/posts/:post_id/ack and DELETE /api/v4/users/:user_id/posts/:post_id/ack.

  • Added a new API endpoint POST /api/v4/groups/:group_id:/restore.

  • Added an allowed value sort=display_name to GET /api/v4/users?in_group=<groupid>.

  • Added a new endpoint api/v4/cloud/products/selfhosted.

  • A new API method RegisterCollectionAndTopic(collectionType, topicType string) (error) was added to the Plugin API and the following hooks. This API method is in beta, subject to change, and not covered by our backwards compatibility guarantee.

    • UserHasPermissionToCollection(c *Context, userID, collectionType, collectionId string, permission *model.Permission) (bool, error)

    • GetAllCollectionIDsForUser(c *Context, userID, collectionType string) ([]string, error)

    • GetAllUserIdsForCollection(c *Context, collectionType, collectionID string) ([]string, error)

    • GetTopicRedirect(c *Context, topicType, topicID string) (string, error)

    • GetCollectionMetadataByIds(c *Context, collectionType string, collectionIds []string) (map[string]model.CollectionMetadata, error)

    • GetTopicMetadataByIds(c *Context, topicType string, topicIds []string) (map[string]*model.TopicMetadata, error)

Database Changes

  • Added a new Database table PostAcknowledgements.

Websocket Event Changes

  • Added new websocket events post_acknowledgement_added and post_acknowledgement_removed.

Go Version

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

Known Issues

  • Your profile image moves up when changing your status manually MM-49159.

  • The new Insights feature has some performance costs that we are working to optimize. This feature can be disabled by setting the MM_FEATUREFLAGS_INSIGHTSENABLED environment variable to false.

  • 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 results in duplicates boards because all IDs are replaced by new ones on the server. See the GitHub issue for more information.

  • Boards linked to a channel you’re a member of do not automatically appear on your sidebar unless you’re an explicit member of the board. As a workaround, you can access the board from the channel RHS or by searching for the board via the board switcher (Ctrl/Cmd+K). Alternatively, you can ask the board admin to add you to the board as an explicit member. See the issue-focalboard-4179 for more details.

  • The Playbooks left-hand sidebar does not update when a user is added to a run or playbook without a refresh.

  • If a user is not a member of a configured broadcast channel, posting a status update might fail without any error feedback. As a temporary workaround, join the configured broadcast channels or remove those channels from the run configuration.

Contributors

Release v7.6 - Feature Release

  • The Mattermost v7.6 release has been cancelled as we are working on investigating performance issues. The next scheduled release is v7.7 in January 16th, 2023.

Release v7.5 - Feature Release

  • v7.5.2, released 2022-12-21

    • Mattermost v7.5.2 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.

    • Fixed an issue where email notifications looked broken when email batching was enabled MM-48521.

    • Updated prepackaged Boards version to 7.5.4.

    • Updated prepackaged NPS version to 1.3.1.

  • v7.5.1, released 2022-11-16

    • Fixed an upgrade issue affecting servers on Ubuntu v18.04.

  • v7.5.0, released 2022-11-16

    • Original 7.5.0 release

Mattermost v7.5.0 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.

Important Upgrade Notes

  • Adds a new schema migration to ensure ParentId column is dropped from the Posts table. Depending on the table size, if the column is not dropped before, a significant spike in database CPU usage is expected on MySQL databases. Writes to the table will be limited during the migration.

  • For PluginRegistry.registerCustomRoute, when you register a custom route component, you must specify a CSS grid-area in order for it to be placed properly into the root layout (recommended: grid-area: center).

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

Compatibility

  • Updated the minimum version of Chrome and Edge to v106+.

Highlights

Calls

  • Added new message threads with emoji reactions and @mentions to calls. After joining a call, expand the widget to the window mode, and then select the comment button to access the real-time message thread in the right-hand sidebar.

Boards

  • Added additional standard board templates to help users kick-off their next projects.

  • Filters now support all text properties.

  • Added two new tiles for System Console Boards metrics under System Console > Site Statistics.

Last active status

  • Added a “Last active” status to the profile popover and to the Direct Message channel header that indicates when a user was last online. This status only displays for users who are Away, Offline, or in do-not-disturb (DND). This can be disabled via Settings > Display > Share last active time.

Improvements

User Interface (UI)

  • Renamed “Starter” plan to “Free” plan in product.

  • Added a new grid-based layout to the right-hand side and globalized the right-hand side and the Apps Bar.

  • A confirmation modal is now displayed before a user marks all threads as read.

  • Added the ability to hide the “required” asterisk in the App Field.

  • Added a fading effect to the Apps Modal body while an Apps Modal is refreshing.

  • Insights now filters out posts made by plugins and OAuth apps.

  • Added a shortcut Ctrl/Cmd + Shift + U to filter channels by unread.

  • The default number of Direct Message channels shown in the sidebar is now 40.

  • Added Insights to the channel switcher.

  • Added a button to easily copy the content of text or code files in file previews.

  • The team unread icon for muted channels is now hidden in the sidebar.

  • Added the ability to create a new channel along with a new board associated with the created channel.

  • Added markdown formatting for hyperlinks when pasted into the text editor.

  • Email notifications from new messages now also support displaying Slack attachments from the channel post.

  • Updated NPS plugin to version 1.3.0.

  • Downgraded Bulgarian, Persian, and Simplified Chinese language support to Alpha.

Administration

  • After 90 days since missing a payment, admins will see a modal where they can choose between updating the billing status or staying on the Free subscription.

  • Autocomplete results using Elasticsearch or Bleve will correctly show a user as a channel member in direct message and group message channels. To force this change to appear, a re-indexing will be necessary.

  • Introduced an Invite Guests prompt to self-hosted.

  • Added JSON-compatible nested configuration value parsing from environment variables.

  • An AD/LDAP prompt banner is now shown for self-hosted instances with a Professional license when visiting the invite guests modal.

  • Self-hosted Admins now see “User Groups” in the product switcher with a call to action (CTA) to start a trial.

  • Added logic to package product version of Boards with production builds.

Bug Fixes

  • Fixed an issue where Enterprise features labeled as “Professional Feature” appeared in the System Console sidebar.

  • Fixed an issue where the transparency for PNG images in image previews and thumbnails was not preserved.

  • Fixed an issue where screen readers failed to announce “No results found” in the direct message modal.

  • Fixed an issue where minipreview data was not generated nor stored for images imported from Slack.

  • Fixed the error message that appears on the Reset Password page when inputting a password with fewer than five characters.

  • Fixed an issue where Get categories with the “exclude” option did not return categories for deleted teams a user was no longer a member of.

  • Fixed an issue where a randomly-generated default message-ID wasn’t added for every outgoing email.

  • Fixed an issue where custom groups could be created with @mention names that are reserved words (@channel, @here, @all).

  • Fixed an issue where 404 errors were shown when APIv4 had an incorrect content-type header.

  • Fixed an issue where messages from bots and webhooks could not be forwarded.

  • Fixed an issue where inline images did not appear in the channel header.

  • Fixed an issue with the emoji skin tone selector animation.

  • Fixed an issue where the screen reader did not announce a successful login when logging in.

  • Fixed a few broken links at System Console > User Management > Permission Schemes.

  • Fixed an issue where users were able to forward messages to users who are deactivated.

  • Fixed an issue where “Threads” were not shown in the unread filter view even if there weren’t unread threads.

  • Fixed an issue where the user’s full name was not shown when adding people to a channel via the Add people modal.

  • Fixed an issue where formatting keyboard shortcuts were conflicting with existing shortcuts.

  • Fixed an issue where the markdown style for horizontal rules was too thick.

  • Fixed an issue where the emoji reaction overlay blocked part of the message it belonged to in compact view.

  • Fixed an issue with incorrect mention counts in unread channels.

  • Fixed an issue where the cursor displayed as a pointer instead of as an arrow in embedded YouTube preview images.

  • Fixed an issue where formatting was applied to selected spaces after a word.

  • Fixed an issue where screen readers did not announce that the channel interface language dropdown in Settings > Display > Language > Change is a dropdown.

  • Fixed a bug where role filters weren’t being applied for GetProfilesInChannel.

  • Fixed an issue where the guest onboarding checklist contained an “Invite team members” link as a tour point.

  • Fixed an issue where the Enterprise license is expired banner was non-dismissible.

  • Fixed an issue where the Renew Now option was not showing in-product and always defaulted to Contact Sales.

  • Fixed an issue where getPostSince didn’t properly return deleted posts when Collapsed Reply Threads was enabled.

  • Fixed an issue where OwnerId was not set for bots created via EnsureBotUser.

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

    • Added EnableLastActiveTime to add a Last active status to the profile popover and to the Direct Message channel header that indicates when a user was last online.

API Changes

  • Added a new response-header First-Inaccessible-File-Time to the APIs fetching single file information.

  • Added a new query parameter to include deleted posts as long as it’s requested by a system admin in /api/v4/channels/{channel_id}/posts.

  • Added new plugin endpoints to PermissionService interface.

Go Version

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

Known Issues

  • Guest users are unable to return to the login screen after being removed from all channels MM-48438.

  • Users are unable to open threads from recent mentions when switching to another team MM-48399.

  • When the right-hand side is expanded, an overlay is displayed with the Threads help text popup MM-48412.

  • The new Insights feature has some performance costs that we are working to optimize. This feature can be disabled by setting the MM_FEATUREFLAGS_INSIGHTSENABLED environment variable to false.

  • 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 results in duplicates boards because all IDs are replaced by new ones on the server. See the GitHub issue for more information.

  • Boards linked to a channel you’re a member of do not automatically appear on your sidebar unless you’re an explicit member of the board. As a workaround, you can access the board from the channel RHS or by searching for the board via the board switcher (Ctrl/Cmd+K). Alternatively, you can ask the board admin to add you to the board as an explicit member. See the issue-focalboard-4179 for more details.

  • The Playbooks left-hand sidebar does not update when a user is added to a run or playbook without a refresh.

Contributors

Release v7.4 - Feature Release

  • v7.4.1, released 2022-12-21

    • Mattermost v7.4.1 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.

    • Added a new schema migration to ensure ParentId column is dropped from the Posts table. Depending on the table size, if the column is not dropped before, a significant spike in database CPU usage is expected on MySQL databases. Writes to the table will be limited during the migration.

    • Updated prepackaged Boards version to 7.4.3.

  • v7.4.0, released 2022-10-16

    • Original 7.4.0 release

Mattermost v7.4.0 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.

Highlights

Boards

Improvements

User Interface (UI)

  • Added a red destructive action color to the Leave Channel button in the channel header.

  • Downgraded Brazilian Portuguese and Romanian language support to Alpha.

  • Pre-packaged Playbooks v1.32.6.

Administration

  • A batchSize option has been added to the mattermost export CLI command to limit the number of items exported. By default, if it is not included, it exports all posts.

  • Added more context to the “Notify admin” feature to help Admins, such as who asked to upgrade, why they requested the upgrade, and how many people requested it.

Bug Fixes

  • Fixed an issue with a nil point exception error during imports.

  • Fixed an issue where users were unable to download a Support Packet using the Desktop App.

  • Fixed an issue with the Message forward modal where the auto-complete in the comment box moved with the text cursor.

  • Fixed an issue where muted channels with an at-mention were displayed under the Unreads section of the channel switcher.

  • Fixed an issue where the Collapsed Reply Threads setting was displayed in the System Console > Experimental Features section.

  • Fixed an issue with the badge count on the mobile app when a channel/thread was viewed.

  • Fixed an issue where typing @ in the right-hand side rendered a cut-off user suggestion list.

  • Fixed an issue where an error screen was briefly flashed when the first Admin signed up into a new server.

  • Fixed an issue where users were unable to add Japanese comments correctly in the message Forward modal.

  • Fixed an issue where unsaved edits to a post were lost when switching channels or threads.

  • Fixed an issue on larger screen sizes where the Insights widgets were pushed to the side when the right-hand side was open.

  • Fixed an issue where the ability to forward messages from public channels wasn’t possible when messaging someone directly for the first time.

  • Fixed an issue where custom emojis were sometimes not visible in Insights > Top Reactions.

  • Fixed an issue where channels with no posts within a particular timeframe didn’t show in Insights > Least Active Channel.

  • Fixed an issue where the Channel Info right-hand side shortcut was not disabled in the Insights view.

  • Fixed an issue where an in-product link was missing from Integrations > Bot Accounts > Add Bot Account.

  • Reverted the new search of names in PostgreSQL using full text search introduced in v7.3.0 due to a performance regression.

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 EnableAPITriggerAdminNotifications to add an option to receive more context from the “Notify admin” feature to help Admins.

API Changes

  • If EnableConfirmNotificationsToChannel is disabled, channel member counts by group API are no longer called.

Websocket Event Changes

  • Added OmitConnection to the websocket broadcast parameters.

Go Version

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

Known Issues

  • The More menu for Pinned posts on the right-hand side is cut-off MM-46987.

  • The new Insights feature has some performance costs that we are working to optimize. This feature can be disabled by setting the MM_FEATUREFLAGS_INSIGHTSENABLED environment variable to false.

  • 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 results in duplicates boards because all IDs are replaced by new ones on the server. See the GitHub issue for more information.

  • The Playbooks left-hand sidebar does not update when a user is added to a run or playbook without a refresh.

Contributors

Release v7.3 - Feature Release

  • v7.3.1, released 2022-10-14

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

    • Reverted the new search of names in PostgreSQL using full text search introduced in v7.3.0 due to a performance regression.

  • v7.3.0, released 2022-09-16

    • Original 7.3.0 release

Mattermost v7.3.0 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.

Important Upgrade Notes

  • Boards is moving from a channel-based to a role-based permissions system. The migration will happen automatically, but your administrator should perform a backup prior to the upgrade. We removed workspaces, so if you were a member of many boards prior to migration, they will now all appear under the same sidebar. Please see this document for more details.

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

Highlights

Playbooks

  • Navigate between teams in Playbooks with the new team switcher.

  • Manage playbooks and runs in the new left-hand sidebar.

  • View the runs you’re participating in or following in the Runs sidebar category, and view the playbooks you’re a member of in the Playbooks sidebar category.

  • Favorite runs or playbooks to prioritize them in the Favorites category.

  • Participants now have access to every run feature on the new run details page.

  • Users can now request status updates (Professional).

Boards

  • All the boards you’re currently a member of from your current team will appear on the sidebar without needing to switch workspaces.

  • Organize boards on the sidebar with custom categories.

  • Press CTRL+K/CMD+K to find additional boards.

  • Navigate between teams in Boards with the new team switcher.

  • Set board and template permissions in the new Share setting.

  • Link boards to channels to automatically grant board permissions to channel members.

  • See the documentation for more details.

Calls

  • Added support for standalone Calls server and Kubernetes (Enterprise).

New Insights Widgets

  • Added four new Insights widgets: Most Active Direct Messages, Least Active Channels, Top Playbooks, and New Team Members.

Improvements

User Interface (UI)

  • Added Calls keyboard shortcuts to the Keyboard shortcuts help modal.

  • Updated the “Contact Sales” link to mattermost.com/pl/contact-sales and update the pricing modal user interface.

  • Introduced a new /marketplace slash command that brings up the marketplace modal for the Admin, and changed the /help command so that it now keeps the user internal to Mattermost.

  • Team unreads are now calculated based on the channel membership and threads only. Team membership is no longer taken into account.

  • For introducing Boards and Playbooks to new users, an “explore other tools in platform” item was added to the end user onboarding checklist.

  • Added the Save option to the post menu.

  • Only the most recent message is now marked as unread when marking a thread as unread from the Threads list.

  • Insights filters now persist instead of being reset to default when switching to channels and returning back to the Insights view.

  • Code blocks now have better support for language filetype extensions and are a smaller bundle size.

  • A Desktop App prompt is now always shown on first visit to a Mattermost server from an email notification.

  • Search dropdown options now allow focusing by pressing the tab key.

  • Downgraded Bulgarian language support to Beta.

Administration

  • Added a View Plan button within the plan card via System Console > License.

  • Started tracking the join time of team members and added a new API endpoint to retrieve information about team members who have joined during a given time.

  • Introduced an optional shouldRender function parameter to registerchannelHeaderMenuAction plugin function. This allows menu items to conditionally render depending on the current state prior to rendering.

  • Plugins can now hide plugin settings based on the server’s hosting environment.

  • Customers who are on a 30-day free trial are now notified three days before the trial ends.

Bug Fixes

  • Fixed an issue where muted channels with an at-mention were displayed under the Unreads section of the channel switcher.

  • Fixed an issue where starting a trial failed if SiteURL was not set.

  • Fixed an issue where reading a thread on the mobile app caused a negative mention count to display on the web app.

  • Fixed an issue where the user’s profile image persisted after user account deletion.

  • Fixed an issue where exports generated via mmctl without attachments still included the file properties in the post, so they couldn’t be imported.

  • Fixed an issue that caused a crash when unread posts were fetched.

  • Fixed an issue where updating a profile image and creating new emojis used multipart uploads when using S3 storage.

  • Fixed an issue where the input legend on the custom group modal was cut off in Chrome.

  • Fixed an issue where the Disable post formatting setting was hidden when the advanced text editor was enabled.

  • Fixed an issue where we didn’t fall back to the user’s default picture if a profile picture failed to load.

  • Fixed an issue where disabling a WebApp plugin from its configuration page resulted in the radio button reverting to true.

  • Fixed an issue where the cursor sometimes jumped to the center channel textbox when the right-hand side was open.

  • Fixed an issue where closing the right-hand side also closed the edited post in the center channel.

  • Fixed an issue where selecting “Try free now” opened the top three enterprise features instead of the “Your trial has started” modal.

  • Fixed an issue where the Threads view displayed as unread even if there were no unread threads.

  • Fixed an issue where configuration changes could not be saved in the System Console in some cases.

  • Fixed typos in some translations that caused some in-product links to be broken.

API Changes

  • Added new API endpoints:

    • GET /api/v4/users/me/top/dms

    • GET /api/v4/users/me/top/threads

    • GET /api/v4/teams/:team_id/top/team_members

    • GET /api/v4/teams/:team_id:/top/threads

  • Added first_inaccessible_post_time to post API responses.

  • Adds query parameter include_deleted to endpoint: {{[http://your-mattermost-url.com/api/v4/posts/{post_id}/files/info}}](http://your-mattermost-url.com/api/v4/posts/%7Bpost_id%7D/files/info%7D%7D).

Go Version

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

Open Source Components

  • Added @floating-ui/react-dom-interactions to https://github.com/mattermost/mattermost-webapp.

Known Issues

  • The new Insights feature has some performance costs that we are working to optimize. This feature can be disabled by setting the MM_FEATUREFLAGS_INSIGHTSENABLED environment variable to false.

  • On larger screens, the Insights widgets are pushed to the side when the right-hand side is open MM-46886.

  • 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 results in duplicates boards because all IDs are replaced by new ones on the server. See the GitHub issue for more information.

  • The Playbooks left-hand sidebar does not update when a user is added to a run or playbook without a refresh.

Contributors

Release v7.2 - Feature Release

Mattermost v7.2.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.

Important Upgrade Notes

Several schema changes impose additional database constraints to make the data more strict. All the commands listed below were tested on a 8 core, 16GB RAM machine. Here are the times recorded:

PostgreSQL (131869 channels, 2 teams):

  • CREATE TYPE channel_type AS ENUM ('P', 'G', 'O', 'D'); took 14.114 milliseconds

  • ALTER TABLE channels alter column type type channel_type using type::channel_type; took 3856.790 milliseconds (3.857 seconds)

  • CREATE TYPE team_type AS ENUM ('I', 'O'); took 4.191 milliseconds

  • ALTER TABLE teams alter column type type team_type using type::team_type; took 116.205 milliseconds

  • CREATE TYPE upload_session_type AS ENUM ('attachment', 'import'); took 4.266 milliseconds

  • ALTER TABLE uploadsessions alter column type type upload_session_type using type::upload_session_type; took 37.099 milliseconds

MySQL (270959 channels, 2 teams):

  • ALTER TABLE Channels MODIFY COLUMN Type ENUM("D", "O", "G", "P"); took 13.24 seconds

  • ALTER TABLE Teams MODIFY COLUMN Type ENUM("I", "O"); took 0.04 seconds

  • ALTER TABLE UploadSessions MODIFY COLUMN Type ENUM("attachment", "import"); took 0.03 seconds

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

Highlights

Message Forwarding

  • You can now easily share messages as permalinks and respective permalink previews via the new Post Forwarding feature. Simply select the new Forward option from the More section of the message hover actions menu on a given message, choose a desired destination, and optionally add a comment for context.

Audit Log v2 (Beta)

  • Added support for new schema and output log types. Contrary to the previous audit log implementation, all audit log records now have the same schema.

Improvements

User Interface (UI)

  • Pre-packaged Calls v0.7.1.

  • Added the option to colorize usernames in compact display mode when Account Settings > Display > Message Display > Compact is selected.

  • Added a setting to always land users at the newest messages in a channel via Account settings > Advanced > Scroll position when viewing an unread channel.

  • Added email headers to notification emails so they can be threaded by email clients.

  • Added Save and Cancel buttons for post inline editing.

  • Enterprise trial details are now displayed for end users in the product switcher menu.

  • Updated the Edit Header modal text description to be applicable to channels, direct messages, and group messages.

  • Added a red destructive action color to Archive Channel and Leave Channel menu actions.

  • Plugin activation errors now show in the plugin management page and marketplace.

  • Added accessibility to the emoji picker skin tone selector and reversed the order of the skin tone selections in the emoji selector.

Administration

  • Added an Upgrade button for Admins on the navigation bar.

  • Added the ability for Admins to quickly view different paid license options inside the product.

  • Added the ability to start a trial from the Invite People modal.

  • Admins are now able to search for channel IDs via System Console > User Management > Channels page.

  • In the System Console left-hand side, paid features icons are now displayed on the menu entries to indicate enterprise features.

  • Added webSocketClient to Pluggable and PostWillRenderEmbed plugin registered components.

  • Added a new static system-level role called Custom Group Manager. This role has permissions to create, edit, and delete custom user groups via User Groups in the Products menu. It can be used to assign individual users this ability when Custom Groups permissions are removed for All Members via the System Console (System Console > Permissions > Edit Scheme > Custom Groups).

  • Export file names now contain the ID of the job they were generated by.

Performance

  • Removed getLastPostPerChannel selector for improved performance in channel sorting.

Bug Fixes

  • Fixed an issue with pasting a GitHub code snippet in the message box when text is selected.

  • Fixed an issue where fully typed emojis that contained a capital letter were not correctly displayed.

  • Fixed an issue where the archive icon for channels did not display correctly in dark themes.

  • Fixed an issue where password requirements were not enforced when Development Mode was enabled.

  • Fixed an issue where users were able to attempt to edit the channel header of an archived channel on the right-hand side.

  • Fixed an issue where the “Your Trial Ended” banner hid the product switcher menu.

  • Fixed an issue where the custom status date format was not set to YYYY-MM-DD.

  • Fixed an issue where users were unable to remove themselves from a custom role.

  • Fixed an issue where some images in link previews overflowed.

  • Fixed an issue where accessing the System Console and then exiting changed the user’s status to “Offline”.

  • Fixed an issue where the New Messages line sometimes appeared when viewing a channel that was previously read.

  • Fixed an issue with incorrectly formatted text in the System Console.

  • Fixed an issue where the thread’s view would appear as if it has unread threads even if no unread threads existed.

  • Fixed an issue that caused a crash when fetching unread posts.

  • Fixed an issue where the mobile app crashed when unfollowing a thread of a channel that a user was no longer a member of.

  • Fixed an issue where the Custom Brand text was not centered and Site Description configuration did not show a placeholder.

  • Fixed an issue where the group permissions had an extra level of nesting in the user interface. Also the permissions checkboxes were split out into their individual custom group permissions for a greater granularity of control.

  • Fixed an issue where the OpenID Connect authentication button was missing from the signup page.

  • Fixed an issue with autocomplete sorting regression in channels and threads.

  • Fixed an issue where the custom branding logo was distorted on the login screen.

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

    • A new config setting AmazonS3RequestTimeoutMilliseconds was added which sets a timeout for requests to AWS S3. By default, the timeout is at 30 seconds.

API Changes

  • Added a new response-header Has-Inaccessible-Posts for getPost and getPostByIDs APIs.

Go Version

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

Open Source Components

  • Added @types/color-hash, color-contrast-checker, color-hash, and webpack to https://github.com/mattermost/mattermost-webapp.

Known Issues

  • The new Insights feature has some performance costs that we are working to optimize. This feature can be disabled by setting the MM_FEATUREFLAGS_INSIGHTSENABLED environment variable to false.

  • Forwarding messages: pressing Enter key on an auto-complete item in the comment box sends the forward message MM-46142.

  • 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 results in duplicates boards because all IDs are replaced by new ones on the server. See the GitHub issue for more information.

Release v7.1 - Extended Support Release

  • v7.1.5, released 2022-12-21

    • Mattermost v7.1.5 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.

    • Added a new schema migration to ensure ParentId column is dropped from the Posts table. Depending on the table size, if the column is not dropped before, a significant spike in database CPU usage is expected on MySQL databases. Writes to the table will be limited during the migration.

    • Fixed an issue where Renew Now option was not available in-product for self-serve eligible licenses MM-47045.

    • getPostSince now properly returns deleted posts when Collapsed Reply Threads is enabled.

    • Fixed an issue where the Enterprise license is expired banner was undismissable MM-47396.

    • Fixed an issue where screen readers did not announce search results in the “Invite members to channel” modal MM-44859.

    • Fixed an issue where screen readers did not announce emojis in the autocomplete list MM-44877.

    • Fixed an issue where screen readers did not announce successful logins MM-46596.

    • Fixed an issue where screen readers incorrectly announced the Settings > Display > Language > Change interface language field MM-44114.

    • Fixed an issue where the search dropdown options did not allow focusing with a tab MM-34969.

    • Fixed an issue where screen readers failed to announce “no results found” in the Direct Message modal MM-44858.

    • Fixed an issue where the Test Connection button in System Console > Environment > Elasticsearch did not correctly take the right config settings specified in the page. Earlier, it would always take the previously saved config MM-47154.

  • v7.1.4, released 2022-10-14

  • v7.1.3, released 2022-08-23

    • Mattermost v7.1.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 where Admins were unable to save configuration changes in the System Console in some cases MM-45875.

  • v7.1.2, released 2022-07-21

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

  • v7.1.1, released 2022-07-15

    • Fixed an issue where selecting “Update” next to an outdated Marketplace plugin didn’t work MM-45731.

  • v7.1.0, released 2022-07-15

    • Original 7.1.0 release

Mattermost v7.1.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 configuration option MaxImageDecoderConcurrency indicates how many images can be decoded concurrently at once. The default is -1, and the value indicates the number of CPUs present. This affects the total memory consumption of the server. The maximum memory of a single image is dictated by MaxImageResolution * 24 bytes. Therefore, we recommend that MaxImageResolution * MaxImageDecoderConcurrency * 24 should be less than the allocated memory for image decoding.

  • Mattermost v7.1 introduces schema changes in the form of a new column and its index. The following notes our test results for the schema changes:

    • MySQL 12M Posts, 2.5M Reactions - ~1min 34s (instance: PC with 8 cores, 16GB RAM)

    • PostgreSQL 12M Posts, 2.5M Reactions - ~1min 18s (instance: db.r5.2xlarge)

  • You can run the following SQL queries before the upgrade to obtain a lock on Reactions table, so that users’ reactions posted during this time won’t be reflected in the database until the migrations are complete. This is fully backwards-compatible.

    • For MySQL:

      • ALTER TABLE Reactions ADD COLUMN ChannelId varchar(26) NOT NULL DEFAULT "";

      • UPDATE Reactions SET ChannelId = COALESCE((select ChannelId from Posts where Posts.Id = Reactions.PostId), '') WHERE ChannelId="";

      • CREATE INDEX idx_reactions_channel_id ON Reactions(ChannelId) LOCK=NONE;

    • For PostgreSQL:

      • ALTER TABLE reactions ADD COLUMN IF NOT EXISTS channelid varchar(26) NOT NULL DEFAULT '';

      • UPDATE reactions SET channelid = COALESCE((select channelid from posts where posts.id = reactions.postid), '') WHERE channelid='';

      • CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_reactions_channel_id on reactions (channelid);

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

Highlights

Insights (Beta) (Enterprise and Professional)

  • Added workplace insights consisting of usage and behavior data, which helps Enterprises further increase productivity of their employees through Mattermost functionality. This feature can be disabled by setting the MM_FEATUREFLAGS_INSIGHTSENABLED environment variable to false.

Improvements

User Interface (UI)

  • Pre-packaged Playbooks v1.29.1, Boards v7.1.0, and Calls v0.7.0.

  • Recent emojis are now sorted based on the number of times an emoji has been used.

  • Improved the link preview user interface.

  • Added new search shortcuts to the Keyboard Shortcuts modal.

    • CMD+F (macOS) and CTRL+F (Windows) for Desktop App

    • CMD+SHIFT+F (macOS) and CTRL+SHIFT+F (Windows) for webapp

  • Changed some tooltips to appear when focused instead of just on hover.

  • Added support for syntax highlighting for 1C:Enterprise (BSL) language.

Administration

  • Default password requirements have been loosened to eight characters and no numeric, casing, or special characters required. These requirements can be configured by the System Admin as needed via System Console > Password.

  • The System Console now also searches and returns channels based on the channel ID. A new parameter IncludeSearchById was added to the channel search endpoint, allowing requests to include searches that match IDs in response.

  • Search results in PostgreSQL will now respect the default_text_search_config value instead of being hardcoded to English. Mattermost System Admins should check this value in case of any discrepancies with what is expected.

  • Moved UserHasJoinedTeam callback to after a user is added to a team.

Performance

  • Reduced the number of calls made to viewChannel API during regular usage.

  • Added pagination to the getPostThread API calls.

Bug Fixes

  • Fixed an issue where links to internal help pages did not always open in a new browser tab.

  • Fixed an issue that caused the Channel Members right-hand side search input to not search all the members of a channel.

  • Fixed an issue where the feature discovery page still displayed a Start Trial button after a trial was completed.

  • Fixed an issue where channel recency sorting was not consistent between mobile and webapp.

  • Fixed an issue with uploading SVG files.

  • Fixed an issue where thread posts were not left-aligned in compact message display mode.

  • Fixed an error about a missing column for the Shared Channels experimental feature.

  • Fixed an issue where the channel menu drop-down option “Move to…” was skipped when pressing the TAB keyboard key.

  • Fixed an issue where the bulk import failed due to reply CreateAt being greater than that of the parent post.

  • Fixed an undefined error when leaving a channel with the Unreads filter enabled.

  • Fixed an issue where clicking on a quick emoji reaction opened the right-hand pane.

  • Fixed an issue where the keyboard focus did not go back to the post textbox after hitting CTRL/CMD+SHIFT+P twice.

  • Fixed an issue where the upload files button was positioned incorrectly.

  • Fixed an issue where duplicated emojis sometimes displayed as recently used emojis.

  • Fixed an issue where autocomplete “@” search for names did not normalize UTF-8 characters.

  • Fixed an issue where Group Messages with long display names didn’t have a tooltip in the left-hand sidebar.

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

  • Fixed a race condition where switching teams to an unread channel did not appear to mark that channel as read.

  • Fixed an issue where the error message did not appear if a user drafted a too long post.

  • Fixed an issue where channels with more than 100 members only showed 100 channel members in the right-hand side.

  • Fixed an issue where the preview mode in the advanced text editor did not reset after posting a message.

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 setting EnableInsecureOutgoingConnections is now applicable to S3 clients as well. If that is set, s3 clients will skip TLS verification.

API Changes

  • To allow Admins to retrieve contents of posts whether they are deleted or not, include_deleted query parameter was introduced to GetPost endpoint.

Go Version

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

Open Source Components

  • Added @floating-ui/react-dom and removed superagent and jasny-bootstrap from https://github.com/mattermost/mattermost-webapp/.

Known Issues

  • The new Insights feature has some performance costs that we are working to optimize. This feature can be disabled by setting the MM_FEATUREFLAGS_INSIGHTSENABLED environment variable to false.

  • The Top Boards widget in Insights is slow to load.

  • 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 results in duplicates boards because all IDs are replaced by new ones on the server. See the GitHub issue for more information.

Contributors

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