Unsupported legacy releases#

Release v8.1 - Extended Support Release#

Important

Support for Mattermost Server v8.1 Extended Support Release has come to the end of its life cycle on May 15, 2024. Upgrading Mattermost Server is required.

  • 8.1.13, released 2024-04-25

    • Mattermost v8.1.13 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.

    • Mattermost v8.1.13 contains no database or functional changes.

    • Pre-packaged Playbooks version v1.39.3.

    • Increased the default payload size limit (MaximumPayloadSizeBytes) from 100 kB to 300 kB.

  • 8.1.12, released 2024-03-26

  • 8.1.11, released 2024-03-06

  • 8.1.10, released 2024-02-14

  • 8.1.9, released 2024-01-30

    • Mattermost v8.1.9 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 with true-up reports sending active users and not activated users. Added Monthly Active Users (MAU) as part of the true-up reports.

    • Mattermost v8.1.9 contains no database or functional changes.

  • 8.1.8, released 2024-01-09

    • Mattermost v8.1.8 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 with double URL encoding of Oauth redirect URI params.

    • Pre-packaged Jira plugin version v4.0.1. Also see v4.0.0 for recent breaking changes.

    • Mattermost v8.1.8 contains the following functional changes:

      • Fixed an issue where invalid reactions could be added to posts. Added default limit of the number of reactions per post.

  • 8.1.7, released 2023-11-29

    • Mattermost v8.1.7 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.

    • Mattermost v8.1.7 contains no database or functional changes.

    • Pre-packaged Calls plugin version v0.21.1.

    • Fixed an issue where users couldn’t at-mention custom groups in group constrained teams and channels.

  • 8.1.6, released 2023-11-13

    • Mattermost v8.1.6 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.

    • Mattermost v8.1.6 contains no database or functional changes.

    • Pre-packaged Playbooks plugin version v1.39.1.

    • Pre-packaged ToDo plugin version v0.7.1.

    • Fixed an issue where the About Mattermost dialog reported an incorrect server version.

  • 8.1.5, released 2023-11-06

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

    • Mattermost v8.1.5 contains no database or functional changes.

    • Pre-packaged Calls plugin version v0.20.0.

    • Fixed an issue where Recent Mentions showed posts for other similar named users.

  • 8.1.4, released 2023-10-27

    • Mattermost v8.1.4 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.

    • Pre-packaged Focalboard plugin v7.11.4.

    • Fixed an issue where plugin developers were unable to create a textarea in interactive dialogs.

    • Fixed an issue where copy pasting images from Chrome failed.

    • Mattermost v8.1.4 contains the following functional changes:

      • Added a new configuration setting MaxFieldSize to add the ability to size-limit log fields during logging.

      • Added a restriction to the mobile Oauth / SAML redirection to match the NativeAppSettings.AppCustomURLSchemes configuration setting.

      • When ServiceSettings.ExperimentalEnableHardenedMode is enabled, standard users authenticated via username and password will not be able to use post props reserved for integrations, such as override_username or override_icon_url.

  • 8.1.3, released 2023-10-06

    • Mattermost v8.1.3 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.

    • Mattermost v8.1.3 contains no database or functional changes.

    • Fixed a potential read after write issue when loading license.

    • Prepackaged Calls plugin version v0.18.2.

    • Fixed a panic where a simple worker would crash if it failed to get a job.

  • 8.1.2, released 2023-09-08

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

    • Mattermost v8.1.2 contains the following database changes:

      • Improved performance on data retention DeleteOrphanedRows queries. See the Important Upgrade Notes for notes on a new migration that was added. Removed feature flag DataRetentionConcurrencyEnabled. Data retention now runs without concurrency in order to avoid any performance degradation. Added a new configuration setting DataRetentionSettings.RetentionIdsBatchSize, which allows admins to to configure how many batches of IDs will be fetched at a time when deleting orphaned reactions. The default value is 100.

  • 8.1.1, released 2023-09-01

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

    • Mattermost v8.1.1 contains no database or functional changes.

    • Fixed an issue preventing successful activation of trial licenses.

    • Fixed several issues with loading of licenses.

    • Fixed an issue where text copied from Microsoft OneNote pasted it as an image.

    • Replaced Gfycat with Giphy in the gif picker.

    • Fixed an issue where compliance export jobs were not able to start after disabling and enabling the compliance export.

  • 8.1.0, released 2023-08-24

    • Original 8.1.0 release

Improvements#

User Interface (UI)#

  • Updated the user interface for the Browse channels modal.

  • Increased the nickname field in the user interface from 22 to 64 characters.

  • Updated links to documentation in the System Console.

  • Emoji size is now in scale with the text size in the channel header.

  • The emoji picker view modal is now displayed on mobile browsers.

  • Prepackaged v1.2.2 of the Apps plugin.

  • Prepackaged Focalboard plugin version 7.11.2.

  • Prepackaged Playbooks version 1.38.0.

  • Prepackaged Calls plugin version 0.18.0.

Administration#

  • Added support for a separate Export storage and S3 presigned URLs generation for downloading the export files.

  • Using https://github.com/reduxjs/redux-devtools in production builds is now allowed for webapp.

  • Added a new feature flag, DataRetentionConcurrencyEnabled, to enable/disable concurrency for data retention batch deletion. Also added a new configuration setting DataRetentionSettings.TimeBetweenBatchesMilliseconds to control the sleep time between batch deletions.

  • Added a setting under System Console > Authentication > Guest Access > Show Guest Tag to remove the Guest badges from within the product.

  • Added Apache 2.0 license to the public submodule, explicitly signalling to pkg.go.dev the license in play for this source code.

  • Added the ability for admins to hide or customize the Forgot password link on the login page.

  • The mattermost database reset command no longer starts the application server. It will only start the store layer and truncate the tables excluding the migrations table.

Bug Fixes#

  • Fixed an issue where scrollbars were not visible enough on the File Preview screen.

  • Fixed an issue where SAML Admin Attribute only compared the first value instead of looping through the assertion values array.

  • Fixed an issue where updates to recent emojis were not batched when multiple emojis were posted at once.

  • Reverted a change that could cause the webapp to forget the current user’s authentication method.

  • Fixed an issue where drafts would persist after sending an @here mention in the right-hand side.

  • Fixed an issue where the New messages toast appeared on channels that were completely visible.

  • Fixed an UI issue related to profile popover on channel member search in the right hand pane.

  • Fixed an issue where the multi-line channel header preview was too narrow on mobile web view.

  • Fixed the render of the Add Slash Command page in the backstage area.

  • Fixed an issue where user’s timezone affected the date selection in the calendar.

  • Fixed the clickable area of post textboxes being too small.

  • Fixed an UI bug in the bot profile popover.

  • Fixed an issue with missing time zone metadata in the Docker container.

  • Fixed an issue with the registerMessageWillBeUpdatedHook plugin hook.

  • Fixed an issue where the Saved Posts section would not show channel and team names.

  • Fixed accessibility issues: tab support at login, reset and signup pages, and controls at the Apps bar.

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 all plans:#

  • Under PasswordSettings in config.json:

    • Added EnableForgotLink to add the ability for admins to hide or customize the Forgot password link on the login page.

  • Under FileSettings

    • Added various export store settings to add support for a new Export storage.

Changes to Professional and Enterprise plans:#

  • Under GuestAccountsSettings in config.json:

    • Added HideTags to add the ability to remove the Guest badges from within the product.

Changes to Enterprise plan:#

  • DataRetentionSettings in config.json:

    • Added TimeBetweenBatchesMilliseconds setting to control the sleep time between batch deletions.

Go Version#

  • v8.1 is built with Go v1.19.5.

Known Issues#

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

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

  • If a user isn’t 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.

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

Contributors#


Release v8.0 - Major Release#

Important

Support for Mattermost Server v8.0 Major Release has come to the end of its life cycle on October 15, 2023. Upgrading Mattermost Server is required.

  • 8.0.4, released 2023-10-06

  • v8.0.3, released 2023-09-08

  • v8.0.2, released 2023-09-01

    • Mattermost v8.0.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.

    • Mattermost v8.0.2 contains no database or functional changes.

    • Fixed an issue with missing time zone metadata in the Docker container.

    • Fixed an issue preventing successful activation of trial licenses.

    • Replaced Gfycat with Giphy in the gif picker.

  • v8.0.1, released 2023-07-26

    • Mattermost v8.0.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.

    • Mattermost v8.0.1 contains no database or functional changes.

    • Added support for embedding Mattermost in a Microsoft Teams iframe.

    • Fixed an issue where the v8.0.0 About Mattermost dialog reported an incorrect server version in the Free Plan MM-53681.

    • Prepackaged Focalboard plugin version 7.11.2.

  • 8.0.0, released 2023-07-14

    • Original 8.0.0 release

Important Upgrade Notes#

  • Insights has been deprecated for all new instances and for existing servers that upgrade to v8.0. See more details in this forum post on why Insights has been deprecated.

  • The Focalboard plugin is now disabled by default for all new instances and can be enabled in the System Console > Plugin settings.

  • The Channel Export and Apps plugins are now disabled by default.

  • Apps Bar is now enabled by default for on-prem servers. ExperimentalSettings.EnableAppBar was also renamed to ExperimentalSettings.DisableAppBar. See more details at:

    • https://docs.mattermost.com/configure/experimental-configuration-settings.html#disable-app-bar

    • https://forum.mattermost.com/t/channel-header-plugin-changes/13551

  • Introduced the public submodule, housing the familiar model and plugin packages, but now discretely versioned from the server. It is no longer necessary to go get a particular commit hash, as Go programs and plugins can now opt-in to importing github.com/mattermost/mattermost-server/server/public and managing versions idiomatically. While this submodule has not yet shipped a v1 and will introduce breaking changes before stabilizing the API, it remains both forwards and backwards compatible with the Mattermost server itself.

  • In the main server package, the Go module path has changed from github.com/mattermost/mattermost-server/server/v8 to github.com/mattermost/mattermost/server/v8. But with the introduction of the public submodule, it should no longer be necessary for third-party code to import this server package.

  • As part of the public submodule above, a context.Context is now passed to model.Client4 methods.

  • Removed support for PostgreSQL v10. The new minimum PostgreSQL version is now v11.

  • The Mattermost public API for Go is now available as a distinctly versioned package. Instead of pinning a particular commit hash, use idiomatic Go to add this package as a dependency: go get github.com/mattermost/mattermost-server/server/public. This relocated Go API maintains backwards compatibility with Mattermost v7. Furthermore, the existing Go API previously at github.com/mattermost/mattermost-server/v6/model remains forward compatible with Mattermost v8, but may not contain newer features. Plugins do not need to be recompiled, but developers may opt in to using the new package to simplify their build process. The new public package is shipping alongside Mattermost v8 as version 0.5.0 to allow for some additional code refactoring before releasing as v1 later this year.

  • Three configuration fields have been added, LogSettings.AdvancedLoggingJSON, ExperimentalAuditSettings.AdvancedLoggingJSON, and NotificationLogSettings.AdvancedLoggingJSON which support multi-line JSON, escaped JSON as a string, or a filename that points to a file containing JSON. The AdvancedLoggingConfig fields have been deprecated.

  • The Go MySQL driver has changed the maxAllowedPacket size from 4MiB to 64MiB. This is to make it consistent with the change in the server side default value from MySQL 5.7 to MySQL 8.0. If your max_allowed_packet setting is not 64MiB, then please update the MySQL config DSN with an additional param of maxAllowedPacket to match with the server side value. Alternatively, a value of 0 can be set to to automatically fetch the server side value, on every new connection, which has a performance overhead.

  • Removed ExperimentalSettings.PatchPluginsReactDOM. If this setting was previously enabled, confirm that:

    1. All Mattermost-supported plugins are updated to the latest versions.

    2. Any other plugins have been updated to support React 17. See the Important Upgrade Notes for v7.7 for more information.

  • Removed deprecated PermissionUseSlashCommands.

  • Removed deprecated model.CommandArgs.Session.

  • Pass a context.Context to Client4 methods.

  • For servers wanting to allow websockets to connect from origins other than the origin of the site URL, please set the ServiceSettings.AllowCorsFrom configuration setting. Also ensure that the siteURL is set correctly.

  • In v8.0, the following repositories are merged into one: mattermost-server, mattermost-webapp and mmctl. Developers should read the updated Developer Guide for details.

  • Fixed an issue caused by a migration in the previous release. Query takes around 11ms on a PostgreSQL 14 DB t3.medium RDS instance. Locks on the preferences table will only be acquired if there are rows to delete, but the time taken is negligible.

  • Fixed an issue where a user would still see threads in the threads view of channels they have left. Migration execution time in PostgreSQL: Execution time: 58.11 sec, DELETE 2766690. Migration execution time in MySQL: Query OK, 2766769 rows affected (4 min 47.57 sec).

  • The file info stats query is now optimized by denormalizing the channelID column into the table itself. This will speed up the query to get the file count for a channel when selecting the right-hand pane. Migration times:

    • On a PostgreSQL 12.14 DB with 1731 rows in FileInfo and 11M posts, it took around 0.27s

    • On a MySQL 8.0.31 DB with 1405 rows in FileInfo and 11M posts, it took around 0.3s

Important

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

Highlights#

Private cloud LLMs, Azure AI, and OpenAI integrations#

  • Mattermost provides an OpenOps framework to integrate with private cloud LLMs, Azure AI, and OpenAI models to embed generative AI assistance in collaborative workflows and automation. Learn more about OpenOps here.

Mattermost for Microsoft Teams#

  • We’re extending our integration with the Microsoft 365 platform with a new embedded experience directly inside Microsoft Teams, as well as our updated MS Teams Connector.

Mattermost for Atlassian Suite#

Performance and efficiency with PostgreSQL#

  • To simplify management and scalability challenges, Mattermost 8.0 recommends deploying PostgreSQL over MySQL.

New End User Training#

  • We’re introducing 9 new training modules dedicated to educating users on the key components of the Mattermost platform and an additional 10 new use case modules tackling technical scenarios within DevOps, Security Ops, and Incident Management.

Improvements#

User Interface (UI)#

  • Persistent notifications (Professional and Enterprise Plans) allow users to notify recipients repeatedly until action is taken on an urgent message. Check out our documentation for more details.

  • The apps bar is now enabled by default for on-prem servers. ExperimentalSettings.EnableAppBar was also renamed to ExperimentalSettings.DisableAppBar. See more details at:

    • https://docs.mattermost.com/configure/experimental-configuration-settings.html#disable-app-bar

    • https://forum.mattermost.com/t/channel-header-plugin-changes/13551

  • Added a Mattermost Marketplace option to the bottom of the apps bar. The option is visible when the Marketplace is enabled, and the user has SYSCONSOLE_WRITE_PLUGINS permissions.

  • Calls v0.17.0 introduces a new ringing feature (Beta): Calls in Direct and Group Message channels will ring and pop up a visual notification for the incoming call. Check out the Calls v0.17.0 release notes and Calls documentation for more details.

  • Added an Add channels button to the bottom of the left-hand sidebar to make the action more obvious for users who want to create or join channels.

  • Removed the Webapp Build Hash from Main Menu > About Mattermost since it is now identical to Server Build Hash.

  • Replaced the compass-components icon component with compass-icons.

  • Added hours ahead timezone details to the user profile popover.

  • Added an experimental feature to disable re-fetching of channel and channel members on browser focus.

  • Bot users are now hidden in the user selector in apps forms.

  • Removed the fetching of archived channels on page load.

  • The Channel Type dropdown within the Browse Channels modal can now be focused.

  • Removed in-app help pages that were no longer accessible.

  • Removed system join/leave messages from thread replies and post them instead in the main channel.

  • Added an experimental setting to make the channel autocomplete only appear after typing two characters instead of immediately after the tilde (~).

  • Default user profile pictures will now regenerate a new picture when the username changes.

  • Implemented URL auto generation on channel creation for when there’s no URL-safe characters on its name.

  • Added a new option to auto-follow all threads in the channel Notification Preference settings.

  • CTRL/CMD + K shortcut can now be used to insert link formatting when text is selected.

  • pas and pascal code blocks are now higlighted.

  • Removed websocket state effects for the collapse/expand state of categories.

  • Pre-packaged Jira plugin version 3.2.5.

  • Pre-packaged GitHub plugin version 2.1.6.

  • Pre-packaged Autolink plugin version 1.4.0.

  • Pre-packaged Welcomebot plugin version 1.3.0.

  • Pre-packaged NPS plugin version 1.3.2.

  • Prepackaged Focalboard plugin version 7.11.0.

  • Prepackaged Playbooks plugin version 1.37.0.

  • Added support to specify different desktop notification sounds per channel.

  • Calls: Ringing sounds can be enabled/disabled and selected in the Desktop Notifications preferences panel.

Administration#

  • Added a new ConfigurationWillBeSaved plugin hook which is invoked before the configuration object is committed to the backing store.

  • Admins can now specify index names to ignore while purging indexes from Elasticsearch with the ElasticsearchSettings.IgnoredPurgeIndexes setting.

  • Added an option to use the German HPNS notification proxy.

  • New flags were added to the database migrate command as following:

    • auto-recover: If the migration plan receives an error during migrations, this command will try to rollback migrations already applied within the plan. This option is not recommended to be added without reviewing migration plan. You can review the plan by combining --save-plan and --dry-run flags.

    • save-plan: The plan for the migration will be saved into the file store so that it can be used for reviewing the plan or to be used for downgrading.

    • dry-run: Does not apply the migrations, but it validates how the migration would run with the given conditions.

  • A new database subcommand “downgrade” was added to be able to rollback database migrations. The command either requires an update plan to rollback, or comma separated version numbers.

  • Removed /api/v4/users/stats network request from InviteMembersButton.

  • Self-hosted admins can now define a separate shipping address during in-product license purchase.

  • Added updates to the trial request forms to allow for a more tailored trial experience.

  • First admins will now have an onboarding experience that includes first team creation based on company name and invite members link steps.

  • Adds the ability to expand seats in-product for self-hosted servers.

  • Added the ability to search a partial first name, last name, nickname, or username on the System Console > Users page.

  • Contact Support now redirects users to Zendesk and pre-fills known information.

  • Added a mechanism for public routes on products and used it to support publicly shared Board links.

  • The database section in the System Console now has an additional read-only section which shows the active search backend in use. This can be helpful to confirm which search engine is currently active when there are multiple configured.

  • Updated Docker Base Image from Debian to Ubuntu 22.04 LTS.

  • Type-generated settings will now be generated (only for future generations) with a URL-safe version of base64 encoding.

  • Mattermost is now resilient against database replica outages and will dynamically choose a replica if it’s alive. Also a config parameter ReplicaMonitorIntervalSeconds was added and the default value is 5. This controls how frequently unhealthy replicas will be monitored for liveness check.

Performance#

  • Improved the performance of webapp related to timezone calculations.

  • Improved performance of code used for post list screen reader support.

API Changes#

  • An underscore is now used in the timeline API (event-id -> event_id) for consistency with other API arguments.

Bug Fixes#

  • Fixed a scrolling issue in the purchase modals.

  • Fixed an issue where the experimental Shared Channels feature failed to synchronize if a previously removed table column was still present.

  • Fixed an issue where clicking on a channel link (for a channel the user was not a part of) caused the webapp to refresh, dropping the user from a call.

  • Fixed an issue with PDF preview rendering for certain Japanese characters.

  • Fixed an issue where the screen reader did not announce the action of copying the link in the invite modal.

  • Fixed an issue with post metadata not generating correctly for images due to missing content-type in response. This would result in certain embedded images not to display on mobile clients.

  • Fixed an issue where edits to messages persisted after canceling.

  • Added a condition for bot tags for webhook posts when a bot account is used for webhooks.

  • Fixed the sorting value of categories in CreateSidebarCategoryForTeamForUser.

  • Fixed a potential crash when opening the user profile popover.

  • Fixed permalink and thread reply navigation between teams.

  • Fixed an issue with the installation of pre-packaged plugins that are not in the Marketplace.

  • Fixed an issue caused by a migration in a previous release. The query takes around 11ms on a PostgreSQL 14 DB t3.medium RDS instance. Locks on the preferences table will only be acquired if there are rows to delete, but the time taken is negligible.

  • Fixed an issue where modals did not close when clicking below them on certain screen sizes.

  • Fixed an issue with a few translation labels that couldn’t be translated.

  • Fixed an issue where the server log UI for plain text formatting was unexpectedly removed in a previous release.

  • Fixed an issue where combined system messages did not display in chronological order.

  • Fixed an issue where the current user and status were not updated on WebSocket reconnect.

  • Fixed an issue where certain hashtags were not searchable when using database search.

  • Fixed the New Messages line overlapping date lines in the post list.

  • Fixed an issue where post reactions disappeared when the search sidebar was open.

  • Fixed an issue with broken “medical_symbol”, “male_sign”, and “female_sign” emojis.

  • Fixed a panic where a JSON null value was passed as a channel update.

  • Fixed an issue where the draft counter badge remained in cases where a deleted parent post was removed.

  • Fixed an issue where posts were not fully sanitized for audit output when a link preview was included.

  • Fixed an issue where the footer with Save/Cancel buttons did not get anchored properly in the System Console.

  • Fixed an issue where the undo history was erased when links, tables, or code was pasted into the textbox.

  • Fixed an issue where Elasticsearch didn’t properly start on startup when enabled. Also added a missing IsEnabled method to Elasticsearch.

  • Fixed an issue where text couldn’t be copied from the post textbox.

  • Fixed an issue where using SHIFT+TAB with a screen reader placed the cursor focus at the bottom of the channel rather than at the post that was linked to.

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 all plans:#

  • Removed EnableInactivityEmail config setting.

  • Added a new config setting section ProductSettings.

  • Under ExperimentalSettings in config.json:

    • Added DelayChannelAutocomplete, to make the channel autocomplete only appear after typing a couple letters instead of immediately after a tilde.

    • Added DisableRefetchingOnBrowserFocus, to disable re-fetching of channel and channel members on browser focus.

    • Added DisableAppBar to enable apps bar by default.

  • Three configuration fields have been added, LogSettings.AdvancedLoggingJSON, ExperimentalAuditSettings.AdvancedLoggingJSON, and NotificationLogSettings.AdvancedLoggingJSON which support multi-line JSON, escaped JSON as a string, or a filename that points to a file containing JSON. The AdvancedLoggingConfig fields have been deprecated.

Changes to Professional and Enterprise plans:#

  • Under ServiceSettings in config.json:

    • Added new configuration settings AllowPersistentNotifications, PersistentNotificationIntervalMinutes, PersistentNotificationMaxCount, PersistentNotificationMaxRecipients, to add a persistent notification option when sending urgent priority posts.

Changes to Enterprise plan:#

  • Under ElasticsearchSettings in config.json:

    • Now you can specify index names to ignore while purging indexes from Elasticsearch with the IgnoredPurgeIndexes setting.

Go Version#

  • v8.0 is built with Go v1.19.5.

Open Source Components:#

  • Added date-fns to https://github.com/mattermost/mattermost/.

Known Issues#

  • White screen might appear when creating a slash command MM-53665.

  • When sending a draft message in a Thread, the message is not cleared if the thread is open in the right-hand side MM-53520.

  • Channel and team names are missing from Saved Posts in the right-hand side MM-53636.

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

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

  • If a user isn’t 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.11 - Feature Release#

  • The Mattermost v7.11 release has been canceled as we are working on architectural changes for the Mattermost platform. The next scheduled release is v8.0 this summer.

Release v7.10 - Feature Release#

  • v7.10.5, released 2023-07-26

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

    • Mattermost v7.10.5 contains no database or functional changes.

    • Fixed an issue where line breaks were introduced when pasting hyperlinks in the chat.

    • Prepackaged Focalboard plugin version 7.10.5.

  • v7.10.4, released 2023-07-12

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

    • Mattermost v7.10.4 contains no database or functional changes.

    • Fixed an issue where posts were not fully sanitized for audit output when a link preview was included.

    • Updated prepackaged Playbooks plugin version to 1.36.2.

  • v7.10.3, released 2023-06-15

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

    • Updated prepackaged Boards to v7.10.4.

    • Included prepackaged Welcomebot plugin v1.3.0.

    • For servers wanting to allow websockets to connect from origins other than the origin of the site URL, please set the ServiceSettings.AllowCorsFrom configuration setting. Also ensure that the siteURL is set correctly.

  • v7.10.2, released 2023-05-18

    • Fixed an issue where v7.10 reported an incorrect mmctl version.

  • v7.10.1, released 2023-05-16

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

    • Fixed an issue where a user would still see threads in the threads view of channels they have left. Migration execution time in MySQL: Query OK, 2766769 rows affected (4 min 47.57 sec). Migration execution time in PostgreSQL: 58.11 sec, DELETE 2766690.

    • Prepackaged version 1.2.1 of the Apps plugin.

    • Prepackaged version 2.1.5 of the GitHub plugin.

    • Updated prepackaged Playbooks v1.36.1.

    • Fixed an issue where true-up review submissions always failed.

    • Fixed an issue caused by a migration in the previous release. Query takes around 11ms on a PostgreSQL 14 DB t3.medium RDS instance. Locks on the preferences table will only be acquired if there are rows to delete, but the time taken is negligible.

  • v7.10.0, released 2023-04-14

    • Original 7.10.0 release

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

  • In the next release, v7.11, the following repositories will be merged into one: mattermost-server, mattermost-webapp, focalboard and mattermost-plugin-playbooks. Developers should read the updated Developer Guide for details. Playbooks and Boards will be core parts of the product that cannot be disabled.

Important

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

Improvements#

User Interface (UI)#

  • Added the ability to set a reminder to read a message at a specific time via the More menu in messages.

  • Mentions from muted channels are no longer shown or counted on the browser and desktop tabs.

  • Updated descriptions for Environment > Developer settings in the System Console to clarify that changes require a server restart to take effect.

  • The custom user status is now shown in the right-hand side Members pane and in System Console > Users.

  • Added the ability to invite multiple people at a time by email to a Mattermost instance.

  • Added accessibility support to the date picker.

  • System admins are prompted to complete a feedback survey during a workspace downgrade process from Cloud Professional to Cloud Free.

  • Migrated the message (…) More option to a Material UI (MUI) menu.

  • Updated pre-packaged Boards to v7.10.0.

  • Updated pre-packaged Calls to v0.15.1.

Administration#

  • The ServiceSettings.PostEditTimeLimit config setting no longer affects Plugins, Shared Channels, Integration Actions, or Mattermost Products.

  • The app server no longer starts if the telemetry ID in the systems table doesn’t exist. Although there is no action required by the administrators, it may be good to be aware of this change. If the ID doesn’t exist, administrators can read the error log and take action against it.

  • Added additional values to the support packet.

  • Self-hosted instances will now show invoices in System Console > Billing & Account > Billing History* for prior self-serve purchases.

  • A 404 error is now returned if an invoice could not be fetched for a self-hosted deployment.

Performance#

  • Writes to websocket now take 13% less memory and happen 22% faster per message.

API Changes#

  • Added a exclude_files_count parameter to exclude file counts from channel stats API.

Bug Fixes#

  • Fixed an issue where Shared Channels wasn’t properly added to the Professional license.

  • Fixed new teams to use the updated translation for default channels after a config change.

  • Fixed issues with spacing in the channel categories and maintained the same spacing in the left-hand side.

  • Fixed disproportionate height issues for tall single images.

  • Fixed an issue where a single WebSocket reconnect could be handled multiple times which would negatively affect performance.

  • Fixed an issue in Top DM Insights, where a deleted participant caused DM Insights to fail.

  • Fixed an issue where Cloud limits would briefly flash in the System Console before disappearing.

  • Fixed an issue with the compact message mode.

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:

    • SelfHostedExpansion config setting was added to support incremental additions/changes to this feature.

Go Version#

  • v7.10 is built with Go v1.19.5.

Open Source Components#

  • Added date-fns to https://github.com/mattermost/mattermost-webapp/.

Known Issues#

  • Updating from v7.9.x to Focalboard 7.10.4 causes Boards attachments to be lost MM-53240.

  • Users have trouble logging into Mattermost mobile app when the DiagnosticId is not properly stored in cache after startup MM-53195.

  • Users are unexpectedly forced to enable JSON logging MM-51453.

  • 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. See the Insights </welcome/insights.html>__ documentation for details.

  • 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 doesn’t update when a user is added to a run or playbook without a refresh.

  • If a user isn’t 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.9 - Feature Release#

  • v7.9.6, released 2023-07-12

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

    • Mattermost v7.9.6 contains no database or functional changes.

    • Fixed an issue where posts were not fully sanitized for audit output when a link preview was included.

    • Updated prepackaged Playbooks plugin version to 1.36.2.

  • v7.9.5, released 2023-06-15

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

    • Updated prepackaged Boards to v7.9.6.

    • For servers wanting to allow websockets to connect from origins other than the origin of the site URL, please set the ServiceSettings.AllowCorsFrom configuration setting. Also ensure that the siteURL is set correctly.

  • v7.9.4, released 2023-05-16

    • Mattermost v7.9.4 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 a user would still see threads in the threads view of channels they have left. Migration execution time in MySQL: Query OK, 2766769 rows affected (4 min 47.57 sec). Migration execution time in PostgreSQL: 58.11 sec, DELETE 2766690.

    • Prepackaged version 1.2.1 of the Apps plugin.

    • Prepackaged version 2.1.5 of the GitHub plugin.

    • Backporting fix for oauth 2. Query times depend on if you have rows to delete or not. Please see the important upgrade notes for more details.

  • v7.9.3, released 2023-04-27

  • v7.9.2, released 2023-04-12

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

    • Updated prepackaged Boards to v7.9.3.

    • Updated prepackaged Playbooks to v1.36.1.

    • Fixed an issue with compact message mode.

    • Fixed an issue where NotifyAdmin job reported an error for unlicensed servers.

  • v7.9.1, released 2023-03-17

  • v7.9.0, released 2023-03-16

    • Original 7.9.0 release

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

Important Upgrade Notes#

  • Added a new index on Posts(OriginalId). For a database with 11.8 million posts, on a machine with a i7-11800H CPU (8 cores, 16 threads), 32GiB of RAM and SSD, the index creation takes 98.51s on MYSQL and 2.6s on PostgreSQL.

  • In PostgreSQL databases, the Posts table will be locked during index creation. To avoid locking this table, admins can create the index manually before performing the upgrade using the following non-blocking query: CREATE INDEX CONCURRENTLY idx_posts_original_id ON Posts(OriginalId);.

  • Admins managing PostgreSQL deployments containing fewer posts may prefer that the migration process creates the index, and accept that Posts table will remain locked until the migration is complete.

Important

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

Compatibility#

  • Updated Firefox minimum supported version to 102+.

  • Updated Safari minimum supported version to 16.2+.

  • Updated Windows minimum supported version to 10+.

  • Updated Chromium minimum supported version to 110+.

  • Updated Edge minimum supported version to 110+.

Highlights#

Boards#

  • System and team admins are now able to join any board on the team as a board admin via the board URL.

  • Additional Compliance APIs to return the history of boards and blocks, including deleted items (available in Mattermost Enterprise Edition and above).

Improvements#

User Interface (UI)#

  • Prepackaged Calls v0.14.0.

  • All post components were removed in favor of a unified approach.

  • App bindings are now refreshed when a App plugin-enabled event gets triggered.

  • Improvements were added to the sidebar channel and category menus.

  • Removed right-click hijacking on code blocks in messages.

  • The order of the Leave Channel and Archive Channel settings were updated to match the mobile app.

  • Added the condition to remove unread styling for archived channels and to filter archived channels from local data.

  • Changed the collapsed post fade out effect to be less buggy.

  • Users now have the ability to see the history of edited messages and to restore an old message version with the current version.

  • Improved the user interface of the user profile popover.

Administration#

  • Boards cards are no longer mentioned as being limited in the System Console, the limits usage modal, the downgrade modal, or the left-hand side menu.

  • Removed unused ProductLimits.Integrations.

  • Export files now contain the read and unread status for channels.

  • Added an error message when running an LDAP sync with SyncEnabled set to false.

  • Added Admin log table filtering and sorting.

  • GraphQL APIs are now correctly counted when measuring performance telemetry.

  • Added a dynamic call-to-action under System Console > Site Statistics and > Team Statistics for air-gapped and non-air-gapped systems. The banner reminding about true-up follows the schedule outlined here.

  • Screened self-hosted purchases now block the Admin from re-attempting a purchase for three days.

Performance#

  • Reduced the rate that unreads are resynced when the window is focused from ten seconds to two minutes.

  • The center channel is no longer shown as loading when switching teams.

  • Added logging fixes: empty short_message for Gelf formatter is no longer allowed and params.Host is now used over params.IP for syslog config.

Bug Fixes#

  • Fixed an issue where the System Console link to purchase a self-hosted license would get stuck showing the in-product purchase progress modal.

  • Fixed an issue where the true-up notification in the invite modal did not render the call-to-action correctly.

  • Fixed new teams to use the updated translation for default channels after a configuration change.

  • Fixed a layout issue in the System Console for smaller-sized tablets.

  • Fixed an issue where a “plugin configured with a nil SecureConfig” warning was logged when starting each plugin.

  • Fixed an issue where portal availability was checked when not on Enterprise edition.

  • Fixed an issue where C# syntax highlighting was not working.

  • Fixed an issue where incoming webhooks changed the user’s activity while the user was offline/away.

  • Fixed an issue where usernames were not clickable in the right-hand side.

API Changes#

  • Added an exclude_files_count parameter to exclude file counts from the channel stats API.

  • Added a new API endpoint GET api/v4/posts/[POST_ID]/edit_history.

  • Added a new API endpoint DELETE /api/v4/cloud/delete-workspace.

Database Changes#

  • Added the SentAt column to NotifyAdmin.

  • Updated NotifyAdmin.RequiredFeature column type to varchar(255).

  • Updated NotifyAdmin.RequiredPlan column type to varchar(100).

Go Version#

  • v7.9 is built with Go v1.19.0.

Open Source Components#

  • Added @mui/base, @mui/material and @mui/styled-engine-sc, and removed form-data from https://github.com/mattermost/mattermost-webapp/.

Known Issues#

  • Users are unexpectedly forced to enable JSON logging MM-51453.

  • Checkmarks are missing from the left-hand side submenus MM-51091.

  • 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 doesn’t update when a user is added to a run or playbook without a refresh.

  • If a user isn’t 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.8 - Extended Support Release#

Important

Support for Mattermost Server v7.8 Extended Support Release has come to the end of its life cycle on November 15, 2023. Upgrading Mattermost Server is required.

  • 7.8.15 released 2023-11-13

  • 7.8.14, released 2023-11-06

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

    • Mattermost v7.8.14 contains no database or functional changes.

    • Pre-packaged Calls plugin version v0.20.0.

    • Fixed an issue where Recent Mentions showed posts for other similar named users.

  • 7.8.13, released 2023-10-27

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

    • Pre-packaged Focalboard plugin v7.8.9.

    • Mattermost v7.8.13 contains the following functional changes:

      • Added a new configuration setting MaxFieldSize to add the ability to size-limit log fields during logging.

      • Added a restriction to the mobile Oauth / SAML redirection to match the NativeAppSettings.AppCustomURLSchemes configuration setting.

      • When ServiceSettings.ExperimentalEnableHardenedMode is enabled, standard users authenticated via username and password will not be able to use post props reserved for integrations, such as override_username or override_icon_url.

  • 7.8.12, released 2023-10-06

  • v7.8.11, released 2023-09-08

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

    • Mattermost v7.8.11 contains the following database changes:

      • Improved performance on data retention DeleteOrphanedRows queries. See the Important Upgrade Notes for notes on a new migration that was added. Removed feature flag DataRetentionConcurrencyEnabled. Data retention now runs without concurrency in order to avoid any performance degradation. Added a new configuration setting DataRetentionSettings.RetentionIdsBatchSize, which allows admins to to configure how many batches of IDs will be fetched at a time when deleting orphaned reactions. The default value is 100.

  • v7.8.10, released 2023-09-01

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

    • Mattermost v7.8.10 contains no database or functional changes.

    • Fixed an issue with missing time zone metadata in the Docker container.

    • Replaced Gfycat with Giphy in the gif picker.

  • v7.8.9, released 2023-07-26

  • v7.8.8, released 2023-07-07

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

    • Mattermost v7.8.8 contains no database or functional changes.

    • Fixed an issue where posts were not fully sanitized for audit output when a link preview was included.

    • Updated prepackaged Playbooks plugin version to 1.36.2.

    • Fixed an issue where line breaks were introduced when pasting hyperlinks in the chat.

    • New feature flag DataRetentionConcurrencyEnabled was added to enable/disable concurrency for data retention batch deletion. New config setting DataRetentionSettings.TimeBetweenBatchesMilliseconds was added to control the sleep time between batch deletions.

  • v7.8.7, released 2023-06-15

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

    • Mattermost v7.8.7 contains no database or functional changes.

    • Updated prepackaged Boards to v7.8.7.

    • Fixed typo in the database migration scripts that broke idempotency.

    • For servers wanting to allow websockets to connect from origins other than the origin of the site URL, please set the ServiceSettings.AllowCorsFrom configuration setting. Also ensure that the siteURL is set correctly.

  • v7.8.6, released 2023-05-31

    • Fixed an issue where the total user count was fetched for every client connection. It is only necessary to fetch this once.

    • Prepackaged version 1.3.0 of the Welcomebot plugin.

  • v7.8.5, released 2023-05-17

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

    • Fixed an issue where a user would still see threads in the threads view of channels they have left. Migration execution time in MySQL: Query OK, 2766769 rows affected (4 min 47.57 sec). Migration execution time in PostgreSQL: 58.11 sec, DELETE 2766690.

    • Prepackaged version 1.2.1 of the Apps plugin.

    • Prepackaged version 2.1.5 of the GitHub plugin.

    • Updated the Docker Base Image from Debian to Ubuntu 22.04 LTS.

    • Backported a fix related to Oauth 2. Query times depend on if you have rows to delete or not. Please see the important upgrade notes for more details.

  • v7.8.4, released 2023-04-27

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

    • Limited channel search results to 50 to fix a performance issue.

    • Fixed an issue where true-up review submissions always failed.

  • v7.8.3, released 2023-04-12

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

    • Updated prepackaged Boards to v7.8.4.

    • Updated prepackaged Playbooks to v1.36.1.

    • Added additional values to the support packet.

  • v7.8.2, released 2023-03-17

    • Mattermost v7.8.2 contains a high 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.

    • Added a exclude_files_count parameter to exclude file counts from channel stats API.

    • Excluded the file count on channel stats API call on from channel header.

    • Fixed an issue where the Shared Channels feature wasn’t properly included in the Professional license.

  • v7.8.1, released 2023-03-01

  • v7.8.0, released 2023-02-16

    • Original 7.8.0 release

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.

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.4, released 2023-04-12

  • v7.7.3, released 2023-03-17

  • v7.7.2, released 2023-03-01

    • Mattermost v7.7.2 contains medium 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.

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

    • Fixed an issue where threads were not marked as unread in the Threads view.

    • Fixed an issue where the server sent a wrong badge number when marking a message as unread in a Direct Message channel.

    • Fixed an issue where the Team edition returned a 400 Bad request for attempts to check CWS availability.

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

    • Fixed an issue where the Shared Channels feature wasn’t properly included in the Professional license.

  • 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 ThreadTeamId 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 Apps 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#

Calls#

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.

Contributors#


Release v7.1 - Extended Support Release#

Important

Support for Mattermost Server v7.1 Extended Support Release has come to the end of its life cycle on May 15, 2023. Upgrading Mattermost Server is required.

  • v7.1.9, released 2023-04-27

  • v7.1.8, released 2023-04-12

  • v7.1.7, released 2023-03-17

    • Added a exclude_files_count parameter to exclude file counts from channel stats API.

    • Excluded the file count on channel stats API call on from channel header.

  • v7.1.6, released 2023-03-01

    • Mattermost v7.1.6 contains medium 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.

    • Fixed an issue where threads were not marked as unread in the Threads view.

    • Fixed an issue where the server sent a wrong badge number when marking a message as unread in a Direct Message channel.

  • 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

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

Important

Support for Mattermost Server v7.0 Major Release has come to the end of its life cycle on September 15, 2022. Upgrading Mattermost Server is required.

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

Calls (Beta)#

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 > Preview Pre-release Features setting is 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.

Contributors#


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

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

Contributors#


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

  • 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

  • v6.0.1, released 2021-10-18

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

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

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

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

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

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

  • v6.0.0, released 2021-10-13

    • Original 6.0.0 release

Deprecations#

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

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

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

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

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

  6. DisableLegacyMFAEndpoint configuration setting.

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

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

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

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

Important Upgrade Notes#

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

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

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

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

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

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

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

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

    4. Then try to start Mattermost again.

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

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

  • Some breaking changes to plugins are included:

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

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

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

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

Important

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

Highlights#

Multi-Product Platform#

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

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

Global Product Launcher#

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

Branding Changes#

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

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

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

  • Updated email templates to the new branding.

Packaging Changes#

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

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

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

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

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

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

  • Features moved from legacy E20 to Professional plan:

    • SSO with OpenID Connect, SAML, Google and O365

    • O365 integrations including MS Teams Calling and MS Calendar

    • Jira multi-server support

    • Advanced team permissions

    • Channel moderation

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

Beta features Promoted to General Availability#

  • Archived channels

  • Compliance exports

  • Custom terms of service

  • Guest accounts

  • System roles

  • Plugins

Tutorial Updates#

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

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

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

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

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

Improvements#

User Interface (UI)#

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

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

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

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

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

  • Added desktop notifications for followed Threads.

  • Hungarian and English-Australian are now official languages.

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

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

Performance#

  • Improved typing performance when the emoji autocomplete is open.

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

  • Improved performance of draft loading.

Integrations#

  • Pre-packaged Channel Export plugin v1.0.0.

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

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

  • Exported ChannelInviteModal and ChannelMembersModal components for plugins.

Administration#

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

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

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

  • Migrated the extraction command to mmctl.

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

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

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

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

    • channel

    • command

    • config

    • extract

    • group

    • integrity

    • ldap

    • license

    • logs

    • permissions

    • plugin

    • reset

    • roles

    • sampledata

    • team

    • user

    • webhook

Bug Fixes#

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

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

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

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

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

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

  • Fixed import process for imports with attachments.

  • Fixed an error with app locations and binding filtering.

config.json#

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

Changes to Team Edition and Enterprise Edition:#

  • Under ServiceSettings in config.json:

    • Added EnableOnboardingFlow, for enhanced user onboarding experience feature.

    • Added EnablePermalinkPreviews to enable permalink previews.

  • Under FileSettings in config.json:

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

  • Removed all of the following configs:

    • EnableOnlyAdminIntegrations

    • RestrictCustomEmojiCreation

    • RestrictPostDelete

    • AllowEditPost

    • ImageProxyType

    • ImageProxyURL

    • ImageProxyOptions

    • UseExperimentalGossip

    • EnableTeamCreation

    • RestrictTeamInvite

    • RestrictPublicChannelManagement

    • RestrictPrivateChannelManagement

    • RestrictPublicChannelCreation

    • RestrictPrivateChannelCreation

    • RestrictPublicChannelDeletion

    • RestrictPrivateChannelDeletion

    • RestrictPrivateChannelManageMembers

    • DisableLegacyMFAEndpoint

    • ExperimentalTownSquareIsReadOnly

    • ExperimentalHideTownSquareinLHS

    • EnableXToLeaveChannelsFromLHS

    • CloseUnusedDirectMessages

    • ExperimentalChannelOrganization

    • ExperimentalChannelSidebarOrganization

    • EnableLegacySidebar

    • The legacy MFA endpoint

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

Database Changes#

  • Added the following database indexes:

    • idx_posts_root_id_delete_at_create_at

    • idx_channels_team_id_display_name

    • idx_channels_team_id_type

    • idx_threads_channel_id_last_reply_at

    • idx_channelmembers_user_id_channel_id_last_viewed_at

    • idx_channelmembers_channel_id_scheme_guest_user_id

  • Removed the following redundant database indexes:

    • idx_posts_root_id

    • idx_channels_team_id

    • idx_threads_channel_id

    • idx_channelmembers_user_id

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

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

API Changes#

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

Websocket Event Changes#

  • Added Websocket client to products.

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

Library Changes#

  • Removed deprecated model.ComparePassword method.

  • Removed deprecated Context.SourcePluginId field.

  • Removed (*model.Client4).CheckUserMfa.

  • Removed (*model.Client4).GetServerBusyExpires.

  • Removed MB constant from model package.

  • Removed use of pointers to the following types:

    • model.ChannelList

    • model.ChannelListWithTeamData

    • model.ChannelMembers

    • model.Preferences

    • model.ProductNotices

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

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

Go Version#

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

Open Source Components#

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

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

Known Issues#

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

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

  • Member type is missing from autocomplete MM-38989.

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

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

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

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

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

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

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

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

  • Google login fails on the Classic mobile apps.

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

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

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

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

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

Contributors#


Release v5.39 - Quality Release#

  • v5.39.3, released 2021-12-17

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

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

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

    • Improved performance by reducing DOM usage during render.

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

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

  • v5.39.2, released 2021-11-15

  • v5.39.1, released 2021-10-27

  • 5.39.0, released 2021-09-16

    • Original 5.39 release

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

Improvements#

User Interface (UI)#

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

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

Bug Fixes#

  • Fixed a possible panic during license validation.

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

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

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

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

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

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

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

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

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

  • Fixed an issue that kept message attachment fields unaligned.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Go Version#

  • v5.39 is built with Go 1.16.7.

Upcoming Deprecations in Mattermost v6.0#

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

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

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

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

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

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

  6. DisableLegacyMFAEndpoint configuration setting.

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

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

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

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

Known Issues#

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

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

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

  • Pinned posts are no longer highlighted MM-34870.

  • Google login fails on the Classic mobile apps.

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

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

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

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

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

Contributors#


Release v5.38 - Feature Release#

  • v5.38.4, released 2021-11-15

  • v5.38.3, released 2021-10-27

  • v5.38.2, released 2021-08-26

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

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

  • v5.38.1, released 2021-08-18

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

  • v5.38.0, released 2021-08-16

    • Original 5.38.0 release

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

Deprecations#

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

Important Upgrade Notes#

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

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

Important

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

Highlights#

Granular Data Retention Policies (Enterprise E20)#

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

Enhanced User Onboarding Experience#

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

Playbooks Updates#

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

Focalboard Updates#

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

Improvements#

User Interface (UI)#

  • Upgraded German language back to an official language.

  • Markdown formatting is now stripped from push notifications.

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

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

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

Performance#

  • Improved performance of components that show reactions on posts.

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

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

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

Integrations#

  • Added icons to apps in the Marketplace.

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

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

  • Improved user and channel selector for app commands.

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

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

Administration#

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

Bug Fixes#

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

config.json#

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

Changes to Team Edition and Enterprise Edition:#

  • Under PluginSettings in config.json:

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

  • The config setting EnableReliableWebSockets now defaults to true.

API Changes#

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

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

Go Version#

  • v5.38 is built with Go 1.16.0.

Open Source Components#

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

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

Upcoming Deprecations in Mattermost v6.0#

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

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

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

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

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

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

  6. DisableLegacyMFA configuration setting.

  7. ExperimentalTimezone configuration setting.

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

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

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

Known Issues#

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

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

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

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

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

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

  • Pinned posts are no longer highlighted.

  • Google login fails on the Classic mobile apps.

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

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

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

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

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

Contributors#


Release v5.37 - Extended Support Release#

  • 5.37.10, released 2022-08-31

    • Improved groups query performance by not counting deleted members.

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

  • v5.37.9, released 2022-03-10

  • v5.37.8, released 2022-02-03

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

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

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

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

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

  • v5.37.7, released 2022-01-21

  • v5.37.6, released 2021-12-17

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

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

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

    • Improved performance by reducing DOM usage during render.

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

  • v5.37.5, released 2021-11-30

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

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

  • v5.37.4, released 2021-11-15

  • v5.37.3, released 2021-10-27

  • v5.37.2, released 2021-08-26

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

    • Fixed a server panic issue. MM-37574

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

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

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

  • v5.37.1, released 2021-08-04

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

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

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

  • v5.37.0, released 2021-07-16

    • Original 5.37.0 release

Deprecations#

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

Important Upgrade Notes#

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

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

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

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

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

Important

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

Highlights#

Collapsed Reply Threads (Beta)#

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

Emoji Enhancements with Skin Tone Selection#

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

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

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

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

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

Incident Collaboration Updates#

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

English-Australian Language Support#

  • Mattermost is now available in English-Australian.

Improvements#

User Interface (UI)#

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

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

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

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

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

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

Performance#

  • Added some improvements to typing performance.

Administration#

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

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

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

Bug Fixes#

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

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

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

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

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

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

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

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

config.json#

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

Changes to Team Edition and Enterprise Edition:#

  • Under ServiceSettings in config.json:

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

Database Changes#

  • Removed several redundant Database indexes.

API Changes#

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

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

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

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

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

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

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

Go Version#

  • v5.37 is built with Go 1.15.5.

Open Source Components#

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

Upcoming Deprecations in Mattermost v6.0#

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

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

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

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

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

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

  6. DisableLegacyMFA configuration setting.

  7. ExperimentalTimezone configuration setting.

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

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

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

Known Issues#

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

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

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

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

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

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

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

  • Pinned posts are no longer highlighted.

  • Google login fails on the Classic mobile apps.

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

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

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

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

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

Contributors#


Release v5.36 - Feature Release#

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

Important Upgrade Notes#

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

Important

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

Highlights#

Focalboard (Beta)#

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

Incident Collaboration (Enterprise Edition E20)#

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

Hungarian Language Support (Beta)#

  • Mattermost is now available in Hungarian.

Improvements#

User Interface (UI)#

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

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

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

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

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

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

  • Redesigned message notification emails.

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

Performance#

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

  • Added performance improvements when receiving new posts.

Administration#

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

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

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

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

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

  • Added basic intra-cluster communication support for plugins.

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

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

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

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

Bug Fixes#

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

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

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

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

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

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

  • Fixed various bugs related to hardcoded theme colours.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

config.json#

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

Changes to Team Edition and Enterprise Edition:#

  • Under ComplianceSettings in config.json:

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

  • Under SupportSettings in config.json:

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

  • Under LogSettings in config.json:

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

  • Under ServiceSettings in config.json:

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

API Changes#

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

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

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

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

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

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

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

  • Added new API endpoints:

    • GET    /data_retention/policies

    • GET    /data_retention/policies_count

    • POST   /data_retention/policies

    • GET    /data_retention/policies/{policy_id}

    • PATCH  /data_retention/policies/{policy_id}

    • DELETE /data_retention/policies/{policy_id}

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

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

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

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

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

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

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

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

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

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

Go Version#

  • v5.36 is built with Go 1.15.5.

Open Source Components#

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

  • Added react-native-startup-time and removed react-native-status-bar-size from https://github.com/mattermost/mattermost-mobile.

Upcoming Deprecations in Mattermost v6.0#

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

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

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

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

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

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

  6. DisableLegacyMFA configuration setting.

  7. ExperimentalTimezone configuration setting.

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

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

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

Known Issues#

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

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

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

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

  • Pinned posts are no longer highlighted.

  • Google login fails on the Classic mobile apps.

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

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

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

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

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

Contributors#


Release v5.35 - Feature Release#

  • v5.35.5, released 2021-08-04

  • v5.35.4, released 2021-06-21

  • v5.35.3, released 2021-06-11

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

    • Fixed an issue where missing query parameters in the datasource could cause MySQL servers to crash on startup. MM-36236

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

  • v5.35.2, released 2021-06-03

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

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

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

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

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

  • v5.35.1, released 2021-05-18

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

  • v5.35.0, released 2021-05-16

    • Original 5.35.0 release

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

Important Upgrade Notes#

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

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

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

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

Important

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

Highlights#

Apps Framework (Developer Preview)#

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

Search for files and document contents#

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

Granular Access to System Console Pages (Enterprise E20 Edition)#

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

Shared Channels (Experimental, Enterprise Edition E20)#

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

Enterprise Trial Enhancements (Enterprise E20 Edition)#

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

Incident Collaboration (Enterprise Edition E20)#

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

Improvements#

User Interface (UI)#

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

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

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

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

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

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

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

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

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

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

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

  • Direct Messages More… modal is now sorted by recent conversations when the modal is opened.- Removed legacy Open-Sans fonts and upgraded Open-Sans to v18.

Administration#

  • Paused Admin Advisor notifications from triggering.

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

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

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

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

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

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

Bug Fixes#

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

config.json#

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

Changes to Team Edition and Enterprise Edition:#

  • Under ServiceSettings in config.json:

    • Added EnableFileSearch for file search feature.

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

  • Under FileSettings in config.json:

    • Added ExtractContent and ArchiveRecursion for file search feature.

  • Under ExperimentalSettings in config.json:

    • Added EnableRemoteClusterService for experimental Shared Channels feature.

  • Under SqlSettings in config.json:

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

Database Changes#

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

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

API Changes#

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

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

Go Version#

  • v5.35 is built with Go 1.15.5.

Open Source Components#

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

Known Issues#

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

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

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

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

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

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

  • Pinned posts are no longer highlighted.

  • Google login fails on the Classic mobile apps.

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

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

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

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

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

Contributors#


Release v5.34 - Feature Release#

  • v5.34.5, released 2021-06-21

  • v5.34.4, released 2021-06-11

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

    • Fixed an issue where missing query parameters in the datasource could cause MySQL servers to crash on startup. MM-36236

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

  • v5.34.3, released 2021-06-03

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

  • v5.34.2, released 2021-04-17

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

  • v5.34.1, released 2021-04-15

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

      • Altering of Posts.FileIds type (PostgreSQL only)

      • Added new column ThreadMemberships.UnreadMentions

      • Added new column Channels.Shared

      • Added new column Reactions.UpdateAt

      • Added new column Reactions.DeleteAt

  • v5.34.0, released 2021-04-15

    • Original 5.34.0 release

Highlights#

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

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

Bulgarian and Swedish language support#

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

Improvements#

User Interface (UI)#

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

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

  • Improved the timezone selector component.

  • Introduced a new theme variable for the team sidebar.

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

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

  • Online status is now shown in the channel switcher.

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

Administration#

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

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

  • Removed references to SqlLite3 from the code.

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

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

  • Added attributes to split.io feature flags.

Bug Fixes#

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

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

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

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

  • Fixed an issue where markdown links rendered incorrectly.

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

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

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

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

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

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

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

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

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

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

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

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

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

config.json#

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

Changes to Team Edition and Enterprise Edition:#

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

Go Version#

  • v5.34 is built with Go 1.15.5.

Open Source Components#

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

Known Issues#

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

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

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

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

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

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

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

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

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

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

  • Google login fails on the Classic mobile apps.

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

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

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

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

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

Contributors#

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


Release v5.33 - Feature Release#

  • v5.33.5, released 2021-06-11

  • v5.33.4, released 2021-06-03

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

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

  • v5.33.3, released 2021-03-31

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

  • v5.33.2, released 2021-03-25

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

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

  • v5.33.1, released 2021-03-22

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

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

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

  • v5.33.0, released 2021-03-17

    • Original 5.33.0 release

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

Important Upgrade Notes#

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

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

Important

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

Highlights#

OpenID Connect for OAuth 2.0 Authentication (E20 Edition)#

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

Support Packet Generation (E10 & E20 Editions)#

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

Updated Incident Collaboration Plugin to 1.4.0 (E20 Edition)#

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

Custom Statuses#

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

Improvements#

User Interface (UI)#

  • Improved the Add Members to channel modal.

  • Added Formatting shortcut keys to the Shortcut modal.

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

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

  • Removed the 5-page limit on previewing PDFs.

  • Added files as a reserved team name.

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

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

Notifications#

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

Administration#

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

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

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

  • Changed default MaxFileSize from 50MB to 100MB.

  • Updated Go dependencies to their latest minor version.

  • Added support for compressed export files with attachments.

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

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

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

  • Implemented a job to delete unused export files.

Bug Fixes#

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

config.json#

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

Changes to Team Edition and Enterprise Edition:#

  • Under ClusterSettings in config.json:

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

  • Under SqlSettings in config.json:

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

  • Under TeamSettings in config.json:

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

Go Version#

  • v5.33 is built with Go 1.15.5.

Open Source Components#

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

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

API Changes#

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

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

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

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

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

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

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

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

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

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

Websocket Event Changes#

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

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

Known Issues#

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

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

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

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

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

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

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

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

  • Google login fails on the Classic mobile apps.

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

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

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

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

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

Contributors#

a-c-sreedhar-reddy, aaronrothschild, aeomin, agarciamontoro, AGMETEOR, agnivade, Ampit, amyblais, amynicol1985, angeloskyratzakos, anurag6713, arjunagl, ashishbhate, aspleenic, BenCookie95, berkeka, bjorge82, calebroseland, carantunes, catalintomai, chenilim, chetanyakan, chikei, coltoneshaw, cpanato, cpoile, crspeller, ctlaltdieliet, cupakob, cwarnermm, daniron26, devinbinnie, djanda97, DSchalla, elyscape, enelson720, esethna, ethervoid, flynbit, furqanmlk, gabrieljackson, gruceqq,