diff --git a/source/about/deprecated-features.rst b/source/about/deprecated-features.rst index 1867641fb9c..d4fbf9ff388 100644 --- a/source/about/deprecated-features.rst +++ b/source/about/deprecated-features.rst @@ -11,14 +11,14 @@ Mattermost Server v10.6.0 - Support for PostgreSQL v11 and v12 will be removed. The new minimum PostgreSQL version will be v13+. See the :ref:`minimum supported PostgreSQL version policy ` documentation for details. +Removed features by Mattermost version +---------------------------------------- + Mattermost Server v10.5.0 ~~~~~~~~~~~~~~~~~~~~~~~~~ -- The Mattermost server will stop supporting manual plugin deployment. Plugins are deployed manually when an administrator or some deployment automation copies the contents of a plugin bundle into the server's working directory. If a manual or automated deployment workflow is still required, administrators can instead prepackage the plugin bundles. See more details in `this forum post `__. -- Mattermost will stop providing official Mattermost server builds for the Microsoft Windows operating system. Administrators should migrate existing Mattermost server installations to use the official Linux builds. See more details in `this forum post `__. - -Removed features by Mattermost version ----------------------------------------- +- The Mattermost server has stopped supporting manual plugin deployment. Plugins were deployed manually when an administrator or some deployment automation copies the contents of a plugin bundle into the server's working directory. If a manual or automated deployment workflow is still required, administrators can instead prepackage the plugin bundles. See more details in `this forum post `__. +- Mattermost has stopped official Mattermost server builds for the Microsoft Windows operating system. Administrators should migrate existing Mattermost server installations to use the official Linux builds. See more details in `this forum post `__. Mattermost Mobile App v2.25.0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/about/mattermost-mobile-releases.md b/source/about/mattermost-mobile-releases.md index 93241c24e07..ecd15da88af 100644 --- a/source/about/mattermost-mobile-releases.md +++ b/source/about/mattermost-mobile-releases.md @@ -4,7 +4,7 @@ ``` ```{Important} -- Support for Mattermost Server v9.5 [Extended Support Release](https://docs.mattermost.com/about/release-policy.html#extended-support-releases) has come to the end of its life cycle on November 15, 2024. Upgrading to Mattermost Server v9.11 or later is required. +- Support for Mattermost Server v9.11 [Extended Support Release](https://docs.mattermost.com/about/release-policy.html#extended-support-releases) is coming to the end of its life cycle on May 15, 2025. Upgrading to Mattermost Server v10.5 or later is recommended. - We strongly recommend using the latest mobile app release available that contains the latest security fixes and user experience enhancements. Mobile app releases are tested against all generally available Mattermost server and extended support releases. ``` diff --git a/source/about/mattermost-server-releases.md b/source/about/mattermost-server-releases.md index 1f80b0ea186..784bdeec7e9 100644 --- a/source/about/mattermost-server-releases.md +++ b/source/about/mattermost-server-releases.md @@ -5,7 +5,7 @@ ``` ```{Important} - Support for Mattermost Server v9.5 [Extended Support Release](https://docs.mattermost.com/about/release-policy.html#extended-support-releases) has come to the end of its life cycle on November 15, 2024. Upgrading to Mattermost Server v9.11 or later is required. + Support for Mattermost Server v9.11 [Extended Support Release](https://docs.mattermost.com/about/release-policy.html#extended-support-releases) is coming to the end of its life cycle on May 15, 2025. Upgrading to Mattermost Server v10.5 or later is recommended. - Upgrading from ESR-to-ESR (``major`` -> ``major_next``) is fully supported and tested. However, upgrading from ESR-to-ESR (``major`` to ``major+2``) is supported, but not tested. If you plan to upgrade across multiple releases, we strongly recommend upgrading from an ESR to another ESR. For example, if you're upgrading from the v8.1 ESR, upgrade to the [v9.5 ESR](https://docs.mattermost.com/about/mattermost-v9-changelog.html#release-v9-5-extended-support-release) or the v9.11 ESR. ``` @@ -19,6 +19,7 @@ Mattermost releases a new server version on the 16th of each month in [binary fo | **Release** | **Released on** | **Support ends** | |:---|:---|:---| +| v10.5 [Download](https://releases.mattermost.com/10.5.1/mattermost-10.5.1-linux-amd64.tar.gz) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/mattermost/releases/download/v10.5.1/sbom-mattermost-v10.5.1.json) | 2025-02-16 | 2025-11-15 {ref}`EXTENDED ` | | v10.4 [Download](https://releases.mattermost.com/10.4.2/mattermost-10.4.2-linux-amd64.tar.gz) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/mattermost/releases/download/v10.4.2/sbom-mattermost-v10.4.2.json) | 2025-01-16 | 2025-04-15 | | v10.3 [Download](https://releases.mattermost.com/10.3.3/mattermost-10.3.3-linux-amd64.tar.gz) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/mattermost/releases/download/v10.3.3/sbom-mattermost-v10.3.3.json) | 2024-12-16 | 2025-03-15 | | v10.2 [Download](https://releases.mattermost.com/10.2.3/mattermost-10.2.3-linux-amd64.tar.gz) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/mattermost/releases/download/v10.2.3/sbom-mattermost-v10.2.3.json) | 2024-11-15 | 2025-02-15 | diff --git a/source/about/mattermost-v10-changelog.md b/source/about/mattermost-v10-changelog.md index 9a15b1ac4fa..e0518ab0e6f 100644 --- a/source/about/mattermost-v10-changelog.md +++ b/source/about/mattermost-v10-changelog.md @@ -1,7 +1,7 @@ # v10 changelog ```{Important} -Support for Mattermost Server v9.5 [Extended Support Release](https://docs.mattermost.com/about/release-policy.html#extended-support-releases) has come to the end of its life cycle on November 15, 2024. Upgrading to Mattermost Server v9.11 or later is required. +Support for Mattermost Server v9.11 [Extended Support Release](https://docs.mattermost.com/about/release-policy.html#extended-support-releases) is coming to the end of its life cycle on May 15, 2025. Upgrading to Mattermost Server v10.5 or later is recommended. - Upgrading from ESR-to-ESR (``major`` -> ``major_next``) is fully supported and tested. However, upgrading from ESR-to-ESR (``major`` to ``major+2``) is supported, but not tested. If you plan to upgrade across multiple releases, we strongly recommend upgrading from an ESR to another ESR. For example, if you're upgrading from the v8.1 ESR, upgrade to the [v9.5 ESR](https://docs.mattermost.com/about/mattermost-v9-changelog.html#release-v9-5-extended-support-release) or the v9.11 ESR. - See the [Important Upgrade Notes](https://docs.mattermost.com/upgrade/important-upgrade-notes.html) documentation for details on upgrading to a newer release. - See the [changelog in progress](https://bit.ly/2nK3cVf) for details about the upcoming release. @@ -10,7 +10,90 @@ Support for Mattermost Server v9.5 [Extended Support Release](https://docs.matte (release-v10.5-extended-support-release)= ## Release v10.5 - [Extended Support Release](https://docs.mattermost.com/about/release-policy.html#release-types) - - **Note:** The v10.5 release is currently delayed due to ongoing investigations on performance issues and file upload bugs [MM-62960](https://mattermost.atlassian.net/browse/MM-62960), [MM-62944](https://mattermost.atlassian.net/browse/MM-62944). +- **10.5.1, released ** + - Mattermost v10.5.1 contains medium severity level security fixes. [Upgrading](https://docs.mattermost.com/upgrade/upgrading-mattermost-server.html) to this release is recommended. Details will be posted on our [security updates page](https://mattermost.com/security-updates/) 30 days after release as per the [Mattermost Responsible Disclosure Policy](https://mattermost.com/security-vulnerability-report/). + - Pre-packaged Boards plugin [v9.1.1](https://github.com/mattermost/mattermost-plugin-boards/releases/tag/v9.1.1). + - Fixed an issue in Compliance Exports whereby a missing file attachment in S3 could prevent the export run from completing [MM-62527](https://mattermost.atlassian.net/browse/MM-62527). + - Mattermost v10.5.1 contains the following functional changes: + - A new configuration setting ``ServiceSettings.EnableWebHubChannelIteration`` was added which allows a user to control the performance of websocket broadcasting. By default, this setting is turned off. If it is turned on, it improves the websocket broadcasting performance at the expense of poor performance when users join/leave a channel. It is not recommended to turn it on unless you have atleast 200,000 concurrent users actively using Mattermost. +- **10.5.0, released 2025-02-14** + - Original 10.5.0 release. + +### Compatibility + - Updated minimum Safari version to 17.4+ and minimum Firefox version to 119+. + +### Important Upgrade Notes + - v10.5 introduces Property System Architecture schema migration. See the [Important Upgrade Notes](https://docs.mattermost.com/upgrade/important-upgrade-notes.html) for details. + - The Compliance Export system has been overhauled. See the [Important Upgrade Notes](https://docs.mattermost.com/upgrade/important-upgrade-notes.html) for details. + - The Mattermost server has stopped supporting manual plugin deployment. Plugins were deployed manually when an administrator or some deployment automation copies the contents of a plugin bundle into the server's working directory. If a manual or automated deployment workflow is still required, administrators can instead prepackage the plugin bundles. See more details in [this forum post](https://forum.mattermost.com/t/deprecation-notice-manual-plugin-deployment/21192). + - Mattermost has stopped official Mattermost server builds for the Microsoft Windows operating system. Administrators should migrate existing Mattermost server installations to use the official Linux builds. See more details in [this forum post](https://forum.mattermost.com/t/deprecation-notice-server-builds-for-microsoft-windows/21498). + +### Breaking Changes +- The internal workings of the `PluginLinkComponent` in the web app have been changed to unmount link tooltips from the DOM by default, significantly improving performance. Plugins that register link tooltips using `registerLinkTooltipComponent` will experience changes in how tooltip components are managed—they are now only mounted when a link is hovered over or focused. As a result, plugins may need to update their components to properly handle mounting and unmounting scenarios. For example, changes were made in [mattermost-plugin-jira](https://github.com/mattermost/mattermost-plugin-jira/pull/1145), where componentDidUpdate lifecycle hook was replaced with componentDidMount. If your plugin’s tooltip component is a functional React component, there is a high chance that this behavior will be handled automatically, as it would be managed by useEffect with an empty dependency array. + +```{Important} +If you upgrade from a release earlier than v10.3, please read the other [Important Upgrade Notes](https://docs.mattermost.com/upgrade/important-upgrade-notes.html). +``` + +### Improvements + +#### User Interface (UI) + - Pre-packaged Boards plugin [v9.1.0](https://github.com/mattermost/mattermost-plugin-boards/releases/tag/v9.1.0). + - Pre-packaged Calls plugin [v1.5.1](https://github.com/mattermost/mattermost-plugin-calls/releases/tag/v1.5.1). + - Pre-packaged MS Teams plugin [v2.1.0](https://github.com/mattermost/mattermost-plugin-msteams/releases/tag/v2.1.0). + - Pre-packaged Channel Export plugin [v1.2.1](https://github.com/mattermost/mattermost-plugin-channel-export/releases/tag/v1.2.1). + - Pre-packaged Jira plugin [v4.2.0](https://github.com/mattermost/mattermost-plugin-jira/releases/tag/v4.2.0). + - Added the ability to modify post attachments during edit. + - The channel bookmarks bar is now hidden when there are no bookmarks in the channel. Bookmarks can now be added from the channel menu. + - Removed the video from the onboarding checklist. + - Improved accessibility throughout the webapp by fixing several issues around keyboard navigation and screen reader focused on modals, right-hand side and core chat functionality. + +#### Administration + - Added the migrations, store layer and service for the Property System Architecture. + - Added the Custom Profile Attribute fields store, app and API endpoints. + - Added the **System Console** user interface for managing Custom Profile Attributes (User Properties). + - Introduced V2 of the Support Packet, containing improvement diagnosis information for high-availability deployments. + - Added a new ``Fallback`` field to ``PluginSettingsSection`` that controls whether the settings defined under the section should still render as fallback when the plugin is disabled. + - Updated the library used for tooltips throughout the app to fix a memory leak. + - Reduced the volume of unnecessary debug logs generated during scheduled post job execution. + - Removed ``form-data`` from @mattermost/client. + +### Bug Fixes + - Fixed archived filter behavior in System Console > User Management > Channels to restore the ability to exclude archived channels. + - Fixed an issue where DMs/GMs with a `DeleteAt` non-zero value in the database might cause issues with several APIs. + - Fixed an issue where the team sidebar's mention count could be out of sync with the thread count. + - Fixed an issue where replies with props could not be imported. + - Fixed an issue where ``pluginapi.store.GetReplicaDB`` returned nil if masterDB was not initialized. + - Fixed an issue in ``SqlPostStore.PermanentDeletebyUser`` where no error was returned when 10K posts were exceeded. + - Fixed an issue where a channel would no longer be exported for Bulk Export workflow if any of the users of a Direct or Group Message channel were permanently deleted. + - Fixed an issue where the scroll position reset when custom emojis were requested. + - Fixed a panic during LDAP synchronization. + - Fixed an issue where the bulk export retention job would accidentally delete non-bulk export files and directories. + - Fixed an issue where archived channels were not searchable with Elasticsearch/OpenSearch if ``TeamSettings.ExperimentalViewArchivedChannels`` was enabled. If there are old channels which were archived before a bulk index was run, users would need to purge indexes, and do bulk index again. Because those old archived channels are removed from the index when a bulk index is run. + +### config.json +New 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 Enterprise plans: + - Under ``essageExportSettings`` in ``config.json``: + - Added ``ComplianceExportDirectoryFormat``, ``ComplianceExportPath``, ``ComplianceExportPathCLI``, ``ComplianceExportChannelBatchSizeDefault``, and ``ComplianceExportChannelHistoryBatchSizeDefault`` for compliance export overhaul. + +### API Changes + - ``GetUsersInChannelDuring`` now accepts a slice; added ``GetChannelsWithActivityDuring``. + - Two new boolean query parameters were added to the ``api/v4/config`` endpoint: + - ``remove_defaults`` (filters out default values). + - ``remove_masked`` (removes masked fields). + +### Go Version + - v10.5 is built with Go ``v1.22.6``. + +### Known Issues + - Setting the license file location through an envvar still gives the option to upload a new license through the System Console, resulting in the license being overwritten by the one set through the envvar. See this [knowledge base article](https://support.mattermost.com/hc/en-us/articles/33911983851284-System-console-still-displays-old-license-after-uploading-a-new-one) on how to resolve this issue. + - 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. + +### Contributors + - [agarciamontoro](https://github.com/agarciamontoro), [agardelein](https://github.com/agardelein), [agnivade](https://github.com/agnivade), [amyblais](https://github.com/amyblais), [andrleite](https://github.com/andrleite), [angeloskyratzakos](https://github.com/angeloskyratzakos), [Aryakoste](https://github.com/Aryakoste), [asaadmahmood](https://github.com/asaadmahmood), [AulakhHarsh](https://github.com/AulakhHarsh), [ayush-chauhan233](https://github.com/ayush-chauhan233), [BenCookie95](https://github.com/BenCookie95), [bshumylo](https://translate.mattermost.com/user/bshumylo), [calebroseland](https://github.com/calebroseland), [code1492](https://github.com/code1492), [cpoile](https://github.com/cpoile), [crspeller](https://github.com/crspeller), [ctlaltdieliet](https://translate.mattermost.com/user/ctlaltdieliet), [cwarnermm](https://github.com/cwarnermm), [devinbinnie](https://github.com/devinbinnie), [dmanpearl](https://github.com/dmanpearl), [Dschoordsch](https://github.com/Dschoordsch), [ebuildy](https://github.com/ebuildy), [Eleferen](https://translate.mattermost.com/user/Eleferen), [emmapeel2](https://github.com/emmapeel2), [enahum](https://github.com/enahum), [enzowritescode](https://github.com/enzowritescode), [esarafianou](https://github.com/esarafianou), [fmartingr](https://github.com/fmartingr), [frankps](https://translate.mattermost.com/user/frankps), [fsilye](https://github.com/fsilye), [fume4mattermost](https://github.com/fume4mattermost), [gabrieljackson](https://github.com/gabrieljackson), [hannaparks](https://github.com/hannaparks), [hanzei](https://github.com/hanzei), [harshilsharma63](https://github.com/harshilsharma63), [henrique](https://translate.mattermost.com/user/henrique), [hmhealey](https://github.com/hmhealey), [Honsei901](https://github.com/Honsei901), [hpflatorre](https://github.com/hpflatorre), [ifoukarakis](https://github.com/ifoukarakis), [isacikgoz](https://github.com/isacikgoz), [jespino](https://github.com/jespino), [johnsonbrothers](https://github.com/johnsonbrothers), [jprusch](https://github.com/jprusch), [juliemanalo](https://github.com/juliemanalo), [JulienTant](https://github.com/JulienTant), [jure](https://translate.mattermost.com/user/jure), [jwilander](https://github.com/jwilander), [kaakaa](https://github.com/kaakaa), [kasyap1234](https://github.com/kasyap1234), [kayazeren](https://translate.mattermost.com/user/kayazeren), [kondo97](https://github.com/kondo97), [Kshitij-Katiyar](https://github.com/Kshitij-Katiyar), [larkox](https://github.com/larkox), [lieut-data](https://github.com/lieut-data), [lynn915](https://github.com/lynn915), [M-ZubairAhmed](https://github.com/M-ZubairAhmed), [majo](https://translate.mattermost.com/user/majo), [marianunez](https://github.com/marianunez), [master7](https://translate.mattermost.com/user/master7), [matthewbirtch](https://github.com/matthewbirtch), [MattSilvaa](https://github.com/MattSilvaa), [mgdelacroix](https://github.com/mgdelacroix), [Morgansvk](https://github.com/Morgansvk), [mvitale1989](https://github.com/mvitale1989), [NadavTasher](https://github.com/NadavTasher), [narutoxboy](https://translate.mattermost.com/user/narutoxboy), [NCPSNetworks](https://github.com/NCPSNetworks), [nickmisasi](https://github.com/nickmisasi), [otbutz](https://github.com/otbutz), [pvev](https://github.com/pvev), [rahimrahman](https://github.com/rahimrahman), [Rajat-Dabade](https://github.com/Rajat-Dabade), [Reinkard](https://github.com/Reinkard), [robregonm](https://github.com/robregonm), [sarthak0714](https://github.com/sarthak0714), [saturninoabril](https://github.com/saturninoabril), [SaurabhSharma-884](https://github.com/SaurabhSharma-884), [sbishel](https://github.com/sbishel), [Sharuru](https://github.com/Sharuru), [stafot](https://github.com/stafot), [streamer45](https://github.com/streamer45), [svelle](https://github.com/svelle), [ThrRip](https://github.com/ThrRip), [toninis](https://github.com/toninis), [tormi](https://translate.mattermost.com/user/tormi), [uday-rana](https://github.com/uday-rana), [unode](https://github.com/unode), [varghesejose2020](https://github.com/varghesejose2020), [Victor-Nyagudi](https://github.com/Victor-Nyagudi), [vish9812](https://github.com/vish9812), [wetneb](https://github.com/wetneb), [wiggin77](https://github.com/wiggin77), [Willyfrog](https://github.com/Willyfrog), [willypuzzle](https://github.com/willypuzzle), [X1Vi](https://github.com/X1Vi), [yasserfaraazkhan](https://github.com/yasserfaraazkhan) (release-v10.4-feature-release)= ## Release v10.4 - [Feature Release](https://docs.mattermost.com/about/release-policy.html#release-types) diff --git a/source/about/mattermost-v9-changelog.md b/source/about/mattermost-v9-changelog.md index bd81858b597..2f064eec581 100644 --- a/source/about/mattermost-v9-changelog.md +++ b/source/about/mattermost-v9-changelog.md @@ -1,7 +1,7 @@ # v9 changelog ```{Important} -Support for Mattermost Server v9.5 [Extended Support Release](https://docs.mattermost.com/about/release-policy.html#extended-support-releases) has come to the end of its life cycle on November 15, 2024. Upgrading to Mattermost Server v9.11 or later is required. +Support for Mattermost Server v9.11 [Extended Support Release](https://docs.mattermost.com/about/release-policy.html#extended-support-releases) is coming to the end of its life cycle on May 15, 2025. Upgrading to Mattermost Server v10.5 or later is recommended. - Upgrading from ESR-to-ESR (``major`` -> ``major_next``) is fully supported and tested. However, upgrading from ESR-to-ESR (``major`` to ``major+2``) is supported, but not tested. If you plan to upgrade across multiple releases, we strongly recommend upgrading from an ESR to another ESR. For example, if you're upgrading from the v8.1 ESR, upgrade to the [v9.5 ESR](https://docs.mattermost.com/about/mattermost-v9-changelog.html#release-v9-5-extended-support-release) or the v9.11 ESR. - See the [Important Upgrade Notes](https://docs.mattermost.com/upgrade/important-upgrade-notes.html) documentation for details on upgrading to a newer release. - See the [changelog in progress](https://bit.ly/2nK3cVf) for details about the upcoming release. diff --git a/source/about/release-policy.md b/source/about/release-policy.md index a5178301265..eb55890375c 100644 --- a/source/about/release-policy.md +++ b/source/about/release-policy.md @@ -53,21 +53,21 @@ gantt tickInterval 2month section 2024 - v9.5 Extended Support :crit, 2024-02-16, 2024-11-15 v9.6 :done, 2024-03-16, 2024-06-15 v9.7 :done, 2024-04-16, 2024-07-15 v9.8 :done, 2024-05-15, 2024-08-15 v9.9 :done, 2024-06-16, 2024-09-15 v9.10 :done, 2024-07-16, 2024-10-15 v9.11 & Desktop App v5.9 Extended Support :crit, 2024-08-16, 2025-05-15 - v10.0 :active, 2024-09-16, 2024-12-15 - v10.1 :active, 2024-10-16, 2025-01-15 - v10.2 :active, 2024-11-15, 2025-02-15 - v10.3 :upcoming, 2024-12-16, 2025-03-15 + v10.0 :done, 2024-09-16, 2024-12-15 + v10.1 :done, 2024-10-16, 2025-01-15 + v10.2 :active, 2024-11-15, 2025-02-15 + v10.3 :active, 2024-12-16, 2025-03-15 section 2025 - v10.4 :upcoming, 2025-01-16, 2025-04-15 + v10.4 :active, 2025-01-16, 2025-04-15 v10.5 & Desktop App v5.11 Extended Support :crit, 2025-02-16, 2025-11-15 + v10.6 :upcoming, 2025-03-16, 2025-06-15 ``` (esr-notifications)= diff --git a/source/about/version-archive.rst b/source/about/version-archive.rst index 41848e51342..584535c353f 100644 --- a/source/about/version-archive.rst +++ b/source/about/version-archive.rst @@ -5,7 +5,7 @@ Version archive :start-after: :nosearch: .. important:: - - Support for Mattermost Server v9.5 :ref:`Extended Support Release ` has come to the end of its life cycle on November 15, 2024. Upgrading to Mattermost Server v9.11 or later is required. + - Support for Mattermost Server v9.11 :ref:`Extended Support Release ` is coming to the end of its life cycle on May 15, 2025. Upgrading to Mattermost Server v10.5 or later is recommended. - Note that our package signing key has been moved away from Keybase. If you still reference Keybase in your deployment steps for retrieving the key, update them to the new key location: https://deb.packages.mattermost.com/pubkey.gpg. - If you want to check that the version of Mattermost you are installing is the official, unmodified version, compare the SHA-256 checksum or the file's GPG signature with the one published in this version archive. To verify the GPG signature of a Mattermost release, use the public key stored at the following URL: https://deb.packages.mattermost.com/pubkey.gpg. diff --git a/source/collaborate/collaborate-within-connected-microsoft-teams.rst b/source/collaborate/collaborate-within-connected-microsoft-teams.rst index 12e5e250eec..9f56448a32f 100644 --- a/source/collaborate/collaborate-within-connected-microsoft-teams.rst +++ b/source/collaborate/collaborate-within-connected-microsoft-teams.rst @@ -26,12 +26,9 @@ Once the integration is installed and configured by a System Administrator, you 2. In any channel, run the ``/msteams connect`` slash command, and select the resulting link. 3. Authenticate with Microsoft Teams using the email address matching your account in Mattermost. -Mattermost will confirm when your account is connected, and prompt you to enable notifications. +Mattermost will confirm when your account is connected. -Enable notifications ----------------------- - -Once you've connected your Mattermost account to your Microsoft Teams account, Mattermost prompts you to enable notifications. When enabled and you're offline or away from Teams, any messages you receive in a chat or group chat in Microsoft Teams will display in Mattermost as a notification, with a link to open the chat in Microsoft Teams and continue the conversation. These notifications won't appear if you've been recently active in Teams. +Once you've connected your Mattermost account to your Microsoft Teams account, when you're offline or away from Microsoft Teams, any messages you receive in a chat or group chat in Microsoft Teams will display in Mattermost as a notification and include a link to open the chat in Microsoft Teams to continue the conversation. These notifications won't appear if you've been recently active in Teams. .. image:: ../images/microsoft-teams-chat-notifications.png :alt: An example of a chat message notification. @@ -39,7 +36,7 @@ Once you've connected your Mattermost account to your Microsoft Teams account, M Manage notification settings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -You can enable or disable notification settings for the Microsoft Teams integration at any time in **Settings** > **Plugin Preferences** +Manage your Mattermost notification settings for the Microsoft Teams integration at any time in **Settings** > **Plugin Preferences** .. image:: ../images/teams_plugin_notification_settings.png :alt: Manage notification settings for the Microsoft Teams integration in Account Settings > Plugin Preferences @@ -59,10 +56,10 @@ Frequently asked questions How does the integration determine when to send chat notifications? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Chat notifications are sent in real-time whenever you're not active in Microsoft Teams and receive a chat or group chat; however, Mattermost uses your online status in Teams to determine if a chat notification should be delivered. Mattermost delivers notifications if you appear **Away** or **Offline** in Microsoft Teams, so the default behavior for when notifications will be delivered depends on the client you typically use to access Microsoft Teams: +Chat notifications are sent in real-time whenever you're not active in Microsoft Teams and receive a chat or group chat. Mattermost uses your online status in Teams to determine if a chat notification should be delivered. Mattermost delivers notifications if you appear **Away** or **Offline** in Microsoft Teams, so the default behavior for when notifications will be delivered depends on the client you typically use to access Microsoft Teams: -- Web browser: Mattermost delivers notifications when you've not had activity in your Microsoft Teams browser tab for 5 minutes or more, or when the browser tab is closed. -- Desktop app: Mattermost delivers notifications when you've not had activity at your computer for 5 minutes or more, or when the Microsoft Teams desktop app is closed. +- Web browser: Mattermost delivers notifications when you've not had activity in your Microsoft Teams browser tab for 5 minutes or more, when the browser tab is closed, or when you mark yourself as **Offline** in Microsoft Teams. +- Desktop app: Mattermost delivers notifications when you've not had activity at your computer for 5 minutes or more, when the Microsoft Teams desktop app is closed, or when you mark yourself as **Offline** in Microsoft Teams. In order to avoid double notifications, Mattermost won't deliver chat notifications when your availability is set to **Available**, **Busy**, **Do not disturb**, or **Be right back** in Microsoft Teams. diff --git a/source/collaborate/install-desktop-app.rst b/source/collaborate/install-desktop-app.rst index 29e6e4c5b0e..fd1f35f9e41 100644 --- a/source/collaborate/install-desktop-app.rst +++ b/source/collaborate/install-desktop-app.rst @@ -226,13 +226,22 @@ On macOS Catalina, this dialog can be triggered if the Mac Archive Utility is th Desktop App window is black and doesn't load the page ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -1. First, make sure you have installed the latest desktop app version. +1. Ensure you have installed the latest desktop app version available. 2. Clear your cache and reload the app from **View > Clear Cache and Reload** or press :kbd:`Ctrl` :kbd:`Shift` :kbd:`R` on Windows or Linux, or :kbd:`⌘` :kbd:`⇧` :kbd:`R` on Mac. 3. Quit the app and restart it to see if the issue clears. -4. Disable GPU hardware acceleration from **File > Settings** on Windows and Linux or **Mattermost > Settings** on macOS, and unselect **Use GPU hardware acceleration**. +4. Disable GPU hardware acceleration. + + - On Windows or Linux, select **File > Settings** and clear the **Use GPU hardware acceleration** option. + - On macOS, select **Mattermost > Settings** and clear the **Use GPU hardware acceleration** option. + 5. If you are using a special video driver, such as Optimus, try disabling it to see if the problem is resolved. -If none of the above steps resolve the issue, please open a new ticket in the `Troubleshooting forum `_. +Desktop App window is white and doesn't load the page +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1. Ensure you have installed the latest desktop app version available. +2. Delete the ``%userprofile%\AppData\Roaming\Mattermost`` directory on your local machine. +3. Reinstall the desktop app. Desktop App is not visible, but the Mattermost icon is in the Task Bar ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/collaborate/manage-channel-bookmarks.rst b/source/collaborate/manage-channel-bookmarks.rst index de7fe4702e9..787d9344d97 100644 --- a/source/collaborate/manage-channel-bookmarks.rst +++ b/source/collaborate/manage-channel-bookmarks.rst @@ -4,11 +4,11 @@ Manage channel bookmarks .. include:: ../_static/badges/ent-pro-cloud-selfhosted.rst :start-after: :nosearch: -From Mattermost v10.1, you can bookmark up to 50 links or files to the top of channels for quick and easy access, unless your system admin has disabled your ability to do so. Bookmarked links and files display in the bookmarks bar located directly below the channel header. +From Mattermost v10.1, you can bookmark up to 50 links or files to the top of channels for quick and easy access, unless your system admin has disabled your ability to do so. Bookmarks display directly under channel headers. .. tip:: - Any file added as a channel bookmark is also searchable in Mattermost. + Any file added as a channel bookmark is also :doc:`searchable ` in Mattermost. Open a bookmark --------------- @@ -20,20 +20,14 @@ Add a bookmark .. tab:: Web/Desktop - 1. In the bookmarks bar, select **Add a bookmark**. - - .. image:: ../images/desktop-bookmark-add.png - :alt: Using a web browser or the desktop app, select the Plus icon to add a channel bookmark. + 1. From Mattermost v10.5, select the channel name at the top of the center pane to access the drop-down menu, and select **Bookmarks Bar** to add a link or attach a file. In Mattermost versions prior to v10.5, select **Add a bookmark** in the bookmarks bar instead. - Select **Add a link** to specify the link URL, specify bookmark text, and an optional bookmark icon. - - Select **Add a file** to select a file, specify bookmark text, and an optional bookmark icon. - - .. image:: ../images/desktop-bookmark-add-choice.png - :alt: Using a web browser or the desktop app, choose whether to add a link or a file. + - Select **Attach a file** to select a file, specify bookmark text, and an optional bookmark icon. .. tab:: Mobile - The bookmarks bar is hidden by default when a channel has no bookmarks. + The bookmarks bar is hidden when a channel has no bookmarks. 1. In a channel, select the **More** |more-icon-vertical| icon. diff --git a/source/collaborate/send-messages.rst b/source/collaborate/send-messages.rst index d11f70ab865..a355079a3e6 100644 --- a/source/collaborate/send-messages.rst +++ b/source/collaborate/send-messages.rst @@ -53,7 +53,9 @@ By default, message drafts are synchronized on the Mattermost server and are acc .. tab:: Mobile - When composing a message, you can simply opt to complete it later. The partially composed message is kept in the text field and an **Edit** option |edit-icon| displays next to the channel name. + When composing a message, you can simply choose to complete it later. The partially composed message is kept in the text field and an **Edit** option |edit-icon| displays next to the channel name. + + From Mattermost v10.5, you'll find local draft messages under **Drafts**. Drafts synchronized to the Mattermost server will be listed under **Drafts** in a future mobile app release. .. image:: ../images/mobile-draft-a-message.gif :alt: You can sync a daft message by exiting the channel mid-way while composing the message. @@ -62,9 +64,9 @@ By default, message drafts are synchronized on the Mattermost server and are acc Edit messages -------------- -.. tab:: Web/Desktop +All users can edit their own sent messages, unless the system admin has :doc:`restricted the ability to do so `. - All users can edit their own sent messages, unless the system admin has :doc:`restricted the ability to do so `. +.. tab:: Web/Desktop 1. Using Mattermost in a web browser or the desktop app, select the **More** |more-icon| icon next to a message that you've sent. @@ -73,6 +75,10 @@ Edit messages 2. Select **Edit** to edit your own messages. Editing a message won't trigger new :doc:`@mention notifications `, or :doc:`desktop notifications `. + .. tip:: + + From Mattermost v10.5, using a web browser or the Mattermost Desktop app, you can also change or remove message attachments when editing your sent messages. + .. tab:: Mobile 1. Long press on the message that you want to edit and tap on **Edit**. diff --git a/source/comply/compliance-export.rst b/source/comply/compliance-export.rst index e0996582e94..3bc33668a55 100644 --- a/source/comply/compliance-export.rst +++ b/source/comply/compliance-export.rst @@ -8,26 +8,22 @@ Compliance export

Also available in legacy Mattermost Enterprise Edition E20

-Enterprise deployments with a requirement to archive history beyond the data retention period can export compliance reports to third-party systems. Integration with Actiance Vantage, Global Relay, and Proofpoint are currently supported. +Mattermost Enterprise customers can archive history or transfer message data to third-party systems for auditing and compliance purposes with compliance exports. Supported integrations include `Actiance Vantage <#actiance-xml>`__, `Global Relay <#global-relay-eml>`__, and `Proofpoint <#proofpoint>`__. -By default, Mattermost stores all message history, providing an unlimited search history to admins and end users. In Mattermost Enterprise, you may set a :doc:`custom data retention policy ` for how long messages and file uploads are kept in Mattermost channels and direct messages. +From Mattermost v10.5, compliance exports include performance improvements for large daily data sets with changes affecting output formats, system performance, and logic. Compliance exports provide compliance teams complete information to reconstruct the state of a channel, and to determine who had visibility on an initial message, or when the message was edited or deleted. Compliance teams can track a message by its MessageId as it is edited or deleted, and across batches and exports periods. -Compliance exports are produced from the System Console, containing all messages including: +Overview +--------- + +Compliance exports are produced from the System Console, and contain all messages including: - Messages sent in direct message channels - File uploads - Posts from plugins - Posts from bots/webhooks -Exports include information on channel member history at the time the message was posted. - -- Entries for deleted messages and files are included in CSV and Actiance reports. The deleted content is included in the compliance export. -- Global Relay reports include file deletion entries but message deletion entries are excluded. +Exports include information on channel member history at the time the message was posted. -.. note:: - - This feature replaces legacy Compliance Reporting Oversight functionality. We recommend migrating to the new system. For a sample CSV output of the new compliance export system, `download a CSV export file here `__. - Set up guide ------------ @@ -44,13 +40,52 @@ CSV 1. Go to **System Console > Compliance > Compliance Export**. 2. Set **Enable Compliance Exports** to **true**. -3. Set the **Compliance Export time**. This is the start time of the daily scheduled compliance export job and must be a 24-hour time stamp in the form HH:MM. Choose a time when fewer people are using your system. +3. Set the **Compliance Export time**. This is the start time of the daily scheduled compliance export job and must be a 24-hour time stamp in the form ``HH:MM``. Choose a time when fewer people are using your system. 4. Set the export file format to **CSV**. 5. Select **Save**. -The daily compliance export job creates a zip file with a unique job identifier of all messages posted in the last 24 hours. You can unzip the file to easily transform the default ``.csv`` format into a desired format for your third-party archive system. +.. tab:: From Mattermost v10.5 + + You can review export job status in the System Console. + + When the daily compliance export job is finished, a parent directory is created named based on when the export was started and the ``startTimestamp`` and ``endTimestamp`` of the export, e.g, ``compliance-export-2024-08-13-05h08m-1723105062492-1723109100075``. That parent directory contains 1 zip file for each batch, named based on the batch number and the start and end timestamps of the messages in that batch, e.g, ``batch001-1723105062492-1723106622163.zip``. Each zip file contains the same information available in previous Mattermost server releases. + + Working from the same example above, the directory would look like this: + + .. code-block:: bash + + compliance-export-2024-08-13-05h08m-1723105062492-1723109100075 + ├── batch001-1723105062492-1723106622163.zip + ├── batch002-1723106622163-1723108196005.zip + └── batch003-1723108196005-1723109100075.zip + + And each batch would look like this: -For a sample CSV output, `download a CSV export file here `__. + .. code-block:: bash + + batch001-1723105062492-1723106622163.zip + ├── files + ├── metadata.json + └── actiance_export.xml + + **Updated CSV export fields** + + **Post Creation Time** is always the ``CreateAt`` for messages and attachments, or ``JoinTime`` and ``LeaveTime`` for participant join and leave events, respectively. + + - **Update Time** indicates that the message has been updated, and this is the ``updateAt`` time. + - **Updated Type** helps differentiate what kind of update it was as one of the following: + + - **EditedNewMsg** indicates that the message has been edited, and this is the new message (post-edit) content. + - **EditedOriginalMsg** indicates that the message has been edited, and this the original message (pre-edit) content. This message will have another field ``EditedNewMsgId``, which is the Id of the message which holds the post-edited message contents. + - **UpdatedNoMsgChange** indicates that message's content hasn't changed, but the post was updated for some reason, such as reaction, replied-to, a reply was edited, or a reply was deleted. + - **Deleted** indicates that this message was deleted. + - **FileDeleted** indicates that this message is recording that a file was deleted. + +.. tab:: Prior to Mattermost v10.5 + + The daily compliance export job creates a ``.zip`` file with a unique job identifier of all messages posted in the last 24 hours. You can unzip the file to easily transform the default ``.csv`` format into a desired format for your third-party archive system. + + For a sample CSV output, `download a CSV export file here `__. Actiance XML ~~~~~~~~~~~~ @@ -61,15 +96,57 @@ Actiance XML 4. Set the export file format to **Actiance XML**. 5. Select **Save**. -The daily compliance export job creates a ``.zip`` file with a unique job identifier of all messages posted in the last 24 hours. Once you've selected Actiance XML as your file format, you can set up an integration with Actiance Vantage archive system. For a sample Actiance output, `download an Actiance XML export file here `__. - .. note:: - + In Actiance XML exports, channel type is prepended to the channel names. +.. tab:: From Mattermost v10.5 + + You can review export job status in the System Console. Once you've selected Actiance XML as your file format, you can set up an integration with Actiance Vantage archive system. + + When the daily compliance export job is finished, a parent directory is created named based on when the export was started and the ``startTimestamp`` and ``endTimestamp`` of the export, e.g, ``compliance-export-2024-08-13-05h08m-1723105062492-1723109100075``. That parent directory contains 1 zip file for each batch, named based on the batch number and the start and end timestamps of the messages in that batch, e.g, ``batch001-1723105062492-1723106622163.zip``. Each zip file contains the same information available in previous Mattermost server releases. + + Working from the same example above, the directory would look like this: + + .. code-block:: bash + + compliance-export-2024-08-13-05h08m-1723105062492-1723109100075 + ├── batch001-1723105062492-1723106622163.zip + ├── batch002-1723106622163-1723108196005.zip + └── batch003-1723108196005-1723109100075.zip + + And each batch would look like this: + + .. code-block:: bash + + batch001-1723105062492-1723106622163.zip + ├── 20240808 + └── actiance_export.xml + + **Updated Actiance XML export fields** + + If an XML field is empty, it won't be exported. This is a change from previous Mattermost releases, where empty XML nodes were exported. + + - ``MessageId`` is the unique ``messageId``. + - ``DateTimeUTC`` is always the post's ``CreateAt`` time. + - ``UpdatedDateTimeUTC`` indicates that the message has been updated, and this is the ``updateAt`` time. + - ``UpdatedType`` helps differentiate what kind of update it was, including: + + - ``EditedNewMsg`` indicates that this message has been edited, and this is the new message (post-edit) content. + - ``EditedOriginalMsg`` indicates that this message has been edited, and this the original message (pre-edit) content. This message will have another field ``EditedNewMsgId``, which is the Id of the message which holds the post-edited message contents. + - ``UpdatedNoMsgChange`` indicates that this message's content hasn't changed, but the post was updated for some reason, such as a reaction, replied-to, a reply was edited, or a reply was deleted. + - ``Deleted`` indicates that the message was deleted. + - ``FileDeleted`` indicates that the message is recording that a file was deleted. + +.. tab:: Prior to Mattermost v10.5 + + The daily compliance export job creates a ``.zip`` file with a unique job identifier of all messages posted in the last 24 hours. Once you've selected Actiance XML as your file format, you can set up an integration with Actiance Vantage archive system. For a sample Actiance output, `download an Actiance XML export file here `__. + Global Relay EML ~~~~~~~~~~~~~~~~ +For more information on Global Relay archive system, visit `their website `_. + 1. Go to **System Console > Compliance > Compliance Export**. 2. Set **Enable Compliance Export** to **true**. 3. Set the **Compliance Export time**. This is the start time of the daily scheduled compliance export job and must be a 24-hour time stamp in the form HH:MM. Choose a time when fewer people are using your system. @@ -80,13 +157,11 @@ Global Relay EML - For a **Custom** type, set the **Global Relay SMTP username**, **Global Relay SMTP password**, **Global Relay SMTP email address**, **SMTP Server Name**, and the **SMTP Server Port**, provided by Global Relay. **Custom** type can be used to integrate with Proofpoint. 6. Select **Save**. -Once you've selected Global Relay EML as your file format, you can set up an integration with Global Relay archive system. For more information, see `Global Relay Archive `_. - .. note:: Messages larger than 250 MB will have their attachments removed because they are too large to send to Global Relay. An error is added to the server logs with id ``global_relay_attachments_removed``. It includes the post ID the attachments were removed from, as well as the attachment IDs. A `ticket is queued to better handle large messages `__. -For more information on Global Relay archive system, see `their homepage `__. +Once you've selected Global Relay EML as your file format, you can set up an integration with Global Relay archive system. For more information, see `Global Relay Archive `_. Proofpoint ~~~~~~~~~~~ @@ -95,11 +170,11 @@ Proofpoint 2. Set **Enable Compliance Export** to **true**. 3. Set the **Compliance Export time**. This is the start time of the daily scheduled compliance export job and must be a 24-hour time stamp in the form HH:MM. Choose a time when fewer people are using your system. 4. Set the **Export Format** to **GlobalRelay EML**. -5. Select **Custom** for the **Global Relay Customer Account** to integrate with Proofpoint. +5. Select **Custom** for the **Global Relay Customer Account** to integrate with Proofpoint. 6. Set the **SMTP username**, **SMTP password**, **SMTP email address**, **SMTP Server Name**, and the **SMTP Server Port**, provided by Proofpoint. 7. Select **Save**. -Now you can set up an integration with the Proofpoint archive system. For more information, see `Proofpoint Archive `__. +See the `Global Relay <#global-relay-eml>`__ section for details on updated Global Relay export fields. Now you can set up an integration with the Proofpoint archive system. For more information, visit the `Proofpoint Archive webiste `__. Frequently Asked Questions (FAQ) -------------------------------- @@ -129,3 +204,7 @@ How do I know if a compliance export job fails? Mattermost provides the status of each compliance export job in **System Console > Compliance > Compliance Export**. Here, you can see if the job succeeded or failed, including the number of messages and files exported. In addition, any failures are returned in the server logs for self-hosted deployments. The error log begins with the string ``Failed job`` and includes a ``job_id key/value`` pair. Compliance export job failures are identified with worker name ``MessageExportWorker``. You can optionally create a script that programmatically queries for such failures and notifies the appropriate system. + +.. note:: + + This compliance export feature replaces legacy Compliance Reporting Oversight functionality. We recommend Enterprise customers migrate to the new system. For a sample CSV output of the new compliance export system, `download a CSV export file here `__. diff --git a/source/comply/export-mattermost-channel-data.rst b/source/comply/export-mattermost-channel-data.rst index 65d6c4a9ef5..e0266c5aae3 100644 --- a/source/comply/export-mattermost-channel-data.rst +++ b/source/comply/export-mattermost-channel-data.rst @@ -13,12 +13,12 @@ Enable For Mattermost Cloud deployments, no setup is required. See the `usage <#usage>`__ section below for details on exporting channel data. -For self-hosted deployments, a Mattermost system admin must perform the following steps in Mattermost. +For self-hosted deployments, a Mattermost system admin must install the Channel Export integration from the in-product App Marketplace: -1. Log in to your Mattermost :doc:`workspace ` as a system administrator. -2. Download the latest version of `the plugin binary release `__, compatible with Mattermost v8.0.1 and later. If you are using an earlier version of Mattermost, :doc:`follow our documentation ` to upgrade to Mattermost v8.0.1 or later. -3. Go to **System Console > Plugins > Plugin Management > Upload Plugin**, and upload the plugin binary you downloaded in the previous step. -4. Go to **System Console > Plugins > Plugin Management**. In the **Installed Plugins** section, scroll to **Channel Export**, and select **Enable**. +1. In Mattermost, from the Product menu |product-list|, select **App Marketplace**. +2. Search for or scroll to **Channel Export**, and select **Install**. +3. Once installed, select **Configure**. You're taken to the System Console. +4. On the **Channel Export** configuration page, enable and configure the plugin, and then select **Save**. You can restrict the ability to export channels to system and channel admins only, and you can configure a maximum file size for channel export files. Upgrade ------- diff --git a/source/comply/legal-hold.rst b/source/comply/legal-hold.rst index b840970d91f..04e21c6f0e3 100644 --- a/source/comply/legal-hold.rst +++ b/source/comply/legal-hold.rst @@ -173,4 +173,11 @@ Legal Hold is an initial step to ensure relevant electronically stored informati How do I enable e-discovery for Mattermost? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Learn more about extracting data for e-discovery in our :doc:`product documentation `. \ No newline at end of file +Learn more about extracting data for e-discovery in our :doc:`product documentation `. + +How do I manage storage costs and version retention in S3? +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If you plan to use an existing S3 bucket for Legal Hold data storage, and your existing S3 bucket has versioning enabled, we strongly recommend using a dedicated S3 bucket with versioning disabled. + +The Legal Hold plugin frequently modifies files in the ``legalhold`` directory, and when S3 bucket versioning is enabled, each modification creates a new version. This can result in a rapid accumulation of object versions, increased storage costs, potential performance impact, higher S3 API usage, and complicating version management over time. See the `S3 Lifecycle Rules `_ documentation for additional details. \ No newline at end of file diff --git a/source/conf.py b/source/conf.py index 6a7a383b3a7..dbc8a79abf3 100644 --- a/source/conf.py +++ b/source/conf.py @@ -3759,9 +3759,9 @@ def setup(_: Sphinx): # built documents. # # The short X.Y version. -# version = '10.4' +# version = '10.5' # The full version, including alpha/beta/rc tags. -# release = '10.4' +# release = '10.5' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/source/install/download-latest-tarball.rst b/source/install/download-latest-tarball.rst index 5bce5154347..222d17dd0b8 100644 --- a/source/install/download-latest-tarball.rst +++ b/source/install/download-latest-tarball.rst @@ -9,13 +9,13 @@ Using ``wget``, download the Mattermost Server release you want to install. .. code-block:: sh - wget https://releases.mattermost.com/10.4.2/mattermost-10.4.2-linux-amd64.tar.gz + wget https://releases.mattermost.com/10.5.1/mattermost-10.5.1-linux-amd64.tar.gz .. tab:: Current ESR .. code-block:: sh - wget https://releases.mattermost.com/9.11.8/mattermost-9.11.8-linux-amd64.tar.gz + wget https://releases.mattermost.com/10.5.1/mattermost-10.5.1-linux-amd64.tar.gz .. tab:: Older releases diff --git a/source/install/install-kubernetes-aks.rst b/source/install/install-kubernetes-aks.rst index ddbf9739498..0a1fc16a4a8 100644 --- a/source/install/install-kubernetes-aks.rst +++ b/source/install/install-kubernetes-aks.rst @@ -6,6 +6,10 @@ Install Mattermost on Azure AKS You can use a supported `Azure Marketplace Container Offer `__ to install Mattermost on your existing Azure infrastructure. +.. important:: + + You are responsible for Azure costs associated with any infrastructure you spin up to host a Mattermost server, and Azure credits cannot be applied towards the purchase of a Mattermost license. + Infrastructure pre-requisites ----------------------------- diff --git a/source/install/prepare-mattermost-database.rst b/source/install/prepare-mattermost-database.rst index 10d66909d0e..e8ca996bfb8 100644 --- a/source/install/prepare-mattermost-database.rst +++ b/source/install/prepare-mattermost-database.rst @@ -227,7 +227,7 @@ When a PostgreSQL version reaches its end of life (EOL), Mattermost will require +===========================================================+==================+================================+ | :ref:`v9.11 ESR ` | 2024-8-15 | 11.x | +-----------------------------------------------------------+------------------+--------------------------------+ -| v10.5 ESR | 2025-2-15 | 11.x | +| :ref:`v10.5 ESR ` | 2025-2-15 | 11.x | +-----------------------------------------------------------+------------------+--------------------------------+ | v10.6 | 2025-3-15 | 13.x | +-----------------------------------------------------------+------------------+--------------------------------+ @@ -246,4 +246,4 @@ Frequently asked questions What about MySQL databases? ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Mattermost is :ref:`deprecating support for MySQL ` starting with v11. We aren't actively maintaining or working on MySQL support. \ No newline at end of file +Mattermost is :ref:`deprecating support for MySQL ` starting with v11. We aren't actively maintaining or working on MySQL support. diff --git a/source/install/software-hardware-requirements.rst b/source/install/software-hardware-requirements.rst index 4086bf05be9..49a58a87ae9 100644 --- a/source/install/software-hardware-requirements.rst +++ b/source/install/software-hardware-requirements.rst @@ -46,8 +46,8 @@ PC web :header: "Browser", "Self-Hosted Technical Requirement", "Cloud Technical Requirement" "Chrome", "v132+", "v132+" - "Firefox", "v115+", "v115+" - "Safari", "v17+", "v17+" + "Firefox", "v119+", "v119+" + "Safari", "v17.4+", "v17.4+" "Edge", "v132+", "v132+" `*` Internet Explorer (IE11) is no longer supported. We recommend using the `Mattermost desktop app `_ or another supported browser. See `this forum post `__ to learn more. @@ -72,7 +72,7 @@ Mobile web .. csv-table:: :header: "Browser", "Technical Requirement" - "iOS", "iOS 15.1+ with Safari 17+ or Chrome 132+" + "iOS", "iOS 15.1+ with Safari 17.4+ or Chrome 132+" "Android", "Android 7+ with Chrome 132+" Email client diff --git a/source/manage/generating-support-packet.rst b/source/manage/generating-support-packet.rst index bc152a12820..83396bc6f3c 100644 --- a/source/manage/generating-support-packet.rst +++ b/source/manage/generating-support-packet.rst @@ -15,18 +15,42 @@ Contents of a Support Packet A Mattermost Support Packet can contain the following files: -- `metadata.yaml <#metadata>`__ -- ``mattermost.log`` -- ``plugins.json`` -- ``sanitized_config.json`` -- ``support_packet.yaml`` -- ``diagnostics.yaml`` (core plugin diagnostics data) -- `Go performance metrics <#go-performance-metrics>`__, including: ``cpu.prof``, ``heap.prof``, and ``goroutines`` -- ``warning.txt`` (present when issues are encountered during packet generation) +.. tab:: v10.5 and later + + .. note:: + + From v10.5, the following support packet data has changed: + + - The ``support_packet.yaml`` file has been removed and split into ``diagnostics.yaml`` and ``stats.yaml`` files. + - All fields in ``diagnostics.yaml`` have been moved into their own objects for improved readability. + - Field names are normalized. + - New data includes server statistics, permission details, and extended job list details. + + - `metadata.yaml <#metadata>`__ + - ``mattermost.log`` (Mattermost logs) + - ``plugins.json`` (all active and inactive plugins) + - ``sanitized_config.json`` (sanitized copy of the Mattermost configuration) + - ``stats.yaml`` (Mattermost usage statistics) + - ``jobs.yaml`` (last runs of important jobs) + - ``diagnostics.yaml`` (core plugin diagnostics data) + - ``permissions.yaml`` (role & scheme information) + - `Go performance metrics <#go-performance-metrics>`__, including: ``cpu.prof``, ``heap.prof``, and ``goroutines`` + - ``warning.txt`` (present when issues are encountered during packet generation) + +.. tab:: Prior to v10.5 + + - `metadata.yaml <#metadata>`__ + - ``mattermost.log`` + - ``plugins.json`` + - ``sanitized_config.json`` + - ``support_packet.yaml`` + - ``diagnostics.yaml`` (core plugin diagnostics data) + - `Go performance metrics <#go-performance-metrics>`__, including: ``cpu.prof``, ``heap.prof``, and ``goroutines`` + - ``warning.txt`` (present when issues are encountered during packet generation) .. note:: - - Each node in the cluster of a :doc:`high availability ` deployment has its own ``mattermost.log`` file. + - Each node in the cluster of a :doc:`high availability ` deployment has its own ``mattermost.log`` file and advanced logging files, if present. - LDAP groups are not included during Support Packet generation. Only ``LDAP Version`` and ``LDAP Vendor`` are included when present. These values are included in the ``support_packet.yaml`` file. - From Mattermost v9.11, ``LDAP Vendor`` errors are included in the Support Packet. If fetching the LDAP Vendor name fails, the Support Packet generation includes the error in ``warning.txt``. If no LDAP Vendor name is found, the Support Packet lists them as ``unknown``. - From Mattermost v10.4, a new ``diagnostics.yaml`` file includes Mattermost Calls diagostics data, including plugin version, calls and active session counts, as well as average duration and participant counts. @@ -67,7 +91,9 @@ When present, the following information is santized during packet generation: `` .. important:: - Plugins are not sanitized during packet generation. Ensure you sanitize any additional confidential details in the ``plugin.json`` file before sharing it with Mattermost. Replace details with example strings that contain the same special characters if possible, as special characters are common causes of configuration errors. + - Plugins may not be sanitized during packet generation. + - From Mattermost v10.1, plugins can mark their configuration as hidden. If a plugin marks its configuration as hidden, the configuration is sanitized during packet generation. + - Otherwise, ensure you sanitize any additional confidential details in the ``plugin.json`` file before sharing it with Mattermost. Replace details with example strings that contain the same special characters if possible, as special characters are common causes of configuration errors. Share the packet with Mattermost -------------------------------- diff --git a/source/manage/mmctl-command-line-tool.rst b/source/manage/mmctl-command-line-tool.rst index 060e002f29f..b450e7b98e9 100644 --- a/source/manage/mmctl-command-line-tool.rst +++ b/source/manage/mmctl-command-line-tool.rst @@ -1826,6 +1826,7 @@ Configuration settings. Child Commands - `mmctl config edit`_ - Edit the configuration settings + - `mmctl config export`_ - Export the server configuration - `mmctl config get`_ - Get the value of a configuration setting - `mmctl config migrate`_ - Migrate existing configuration between backends - `mmctl config patch`_ - Patch the configuration @@ -1868,6 +1869,47 @@ Open the editor defined in the EDITOR environment variable to modify the server' **Options inherited from parent commands** +.. code-block:: sh + + --config string path to the configuration file (default "$XDG_CONFIG_HOME/mmctl/config") + --disable-pager disables paged output + --insecure-sha1-intermediate allows to use insecure TLS protocols, such as SHA-1 + --insecure-tls-version allows to use TLS versions 1.0 and 1.1 + --json the output format will be in json format + --local allows communicating with the server through a unix socket + --quiet prevent mmctl to generate output for the commands + --strict will only run commands if the mmctl version matches the server one + --suppress-warnings disables printing warning messages + +mmctl config export +~~~~~~~~~~~~~~~~~~~ + +**Description** + +Use this command to export the server configuration, which can then be imported into another server or environment. Masked values are only exported when the tool is running in `local mode <#local-mode>`__. + +**Format** + +.. code-block:: sh + + mmctl config export [flags] + +**Examples** + +.. code-block:: sh + + mmctl config export --remove-masked --remove-defaults + +**Options** + +.. code-block:: sh + + -h, --help help for export + --remove-defaults remove default values from the exported configuration + --remove-masked remove masked values from the exported configuration (default true) + +**Options inherited from parent commands** + .. code-block:: sh --config string path to the configuration file (default "$XDG_CONFIG_HOME/mmctl/config") diff --git a/source/upgrade/important-upgrade-notes.rst b/source/upgrade/important-upgrade-notes.rst index 33c80e38a87..244c2de1394 100644 --- a/source/upgrade/important-upgrade-notes.rst +++ b/source/upgrade/important-upgrade-notes.rst @@ -5,7 +5,7 @@ Important Upgrade Notes :start-after: :nosearch: .. important:: - - Support for Mattermost Server v9.5 :ref:`Extended Support Release ` has come to the end of its life cycle on November 15, 2024. Upgrading to Mattermost Server v9.11 or later is required. + - Support for Mattermost Server v9.11 :ref:`Extended Support Release ` is coming to the end of its life cycle on May 15, 2025. Upgrading to Mattermost Server v10.5 or later is recommended. - MySQL 8.0.22 contains an `issue with JSON column types `__ changing string values to integers which is preventing Mattermost from working properly. Users are advised to avoid this database version. - Upgrading the Microsoft Teams Calling plugin to v2.0.0 requires users to reconnect their accounts. - When upgrading to 7.x from a 5.x release please make sure to upgrade to 5.37.10 first for the upgrade to complete successfully. @@ -16,6 +16,166 @@ Important Upgrade Notes | If you’re upgrading | Then... | | from a version earlier than... | | +====================================================+==================================================================================================================================================================+ +| v10.5 | The internal workings of the `PluginLinkComponent` in the web app have been changed to unmount link tooltips from the DOM by default, significantly improving | +| | performance. Plugins that register link tooltips using `registerLinkTooltipComponent` will experience changes in how tooltip components are managed—they are | +| | now only mounted when a link is hovered over or focused. As a result, plugins may need to update their components to properly handle mounting and unmounting | +| | scenarios. For example, changes were made in `mattermost-plugin-jira `_, where | +| | componentDidUpdate lifecycle hook was replaced with componentDidMount. If your plugin’s tooltip component is a functional React component, there is a high | +| | chance that this behavior will be handled automatically, as it would be managed by useEffect with an empty dependency array. | +| +------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | The Mattermost server has stopped supporting manual plugin deployment. Plugins were deployed manually when an administrator or some deployment automation copies | +| | the contents of a plugin bundle into the server's working directory. If a manual or automated deployment workflow is still required, administrators can instead | +| | prepackage the plugin bundles. See more details in `this forum post `_. | +| +------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | Mattermost has stopped official Mattermost server builds for the Microsoft Windows operating system. Administrators should migrate existing Mattermost server | +| | installations to use the official Linux builds. See more details in | +| | `this forum post `_. | +| +------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | v10.5 introduces updates to the Compliance Export functionality, which will modify how exported data is structured, stored and processed. These changes | +| | primarily affect System Administrators and the main changes are outlined below. See more details in | +| | the `Compliance Export documentation `_. | +| | | +| | Output files and directories have changed - Previously we were exporting a single zip containing all the batch directories. Now we will export a single | +| | directory, and under that directory each batch will be its own zip. | +| | | +| | Compliance exports performance improvements - Compliance exports should now be at least 50% faster, and possibly more. | +| | | +| | Logic improvements - We’ve made improvements and fixed bugs that we found. | +| | | +| | Changes specific to each Export Type - The export output formats have been changed. Some fields’ semantic meaning has been clarified, and there are a number of | +| | new fields. Our goal was to maintain backwards compatibility while fixing the logic bugs. | +| | | +| | See the :doc:`compliance export product documentation for details. | +| +------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | As part of the Property System Architecture feature, Mattermost v10.5 is going to run a set of migrations to add new tables to the schema. This migration only | +| | creates new tables and indexes, so there is no impact on preexisting data. | +| | | +| | New tables ``PropertyGroups``, ``PropertyFields`` and ``PropertyValues`` are going to be created. | +| | | +| | In the case of PostgreSQL, a new enum type ``property_field_type`` is going to be created, to be used in the ``Type`` column of the ``PropertyFields`` table. | +| | | +| | The ``PropertyFields`` and ``PropertyValues`` tables have a unique constraint that will generate an index in MySQL, and in the case of PostgreSQL, they directly | +| | use a ``UNIQUE INDEX`` to enforce this constraint. | +| | | +| | A new index ``idx_propertyvalues_targetid_groupid`` will be created for the ``PropertyValues`` table. | +| | | +| | The migration is only creating new tables with no data. The migration is backwards-compatible, and a previous version of Mattermost can run with the new schema | +| | changes. No table locks or existing operations on the table are impacted by this upgrade. Zero downtime is possible when upgrading to this release. | +| | | +| | Below are the SQL queries included in the schema changes: | +| | | +| | **MySQL**: | +| | | +| | .. code-block:: sql | +| | | +| | CREATE TABLE IF NOT EXISTS PropertyGroups ( | +| | ID varchar(26) PRIMARY KEY, | +| | Name varchar(64) NOT NULL, | +| | UNIQUE(Name) | +| | ); | +| | | +| | CREATE TABLE IF NOT EXISTS PropertyFields ( | +| | ID varchar(26) PRIMARY KEY, | +| | GroupID varchar(26) NOT NULL, | +| | Name varchar(255) NOT NULL, | +| | Type enum('text', 'select', 'multiselect', 'date', 'user', 'multiuser'), | +| | Attrs json, | +| | TargetID varchar(255), | +| | TargetType varchar(255), | +| | CreateAt bigint(20), | +| | UpdateAt bigint(20), | +| | DeleteAt bigint(20), | +| | UNIQUE(GroupID, TargetID, Name, DeleteAt) | +| | ); | +| | | +| | CREATE TABLE IF NOT EXISTS PropertyValues ( | +| | ID varchar(26) PRIMARY KEY, | +| | TargetID varchar(255) NOT NULL, | +| | TargetType varchar(255) NOT NULL, | +| | GroupID varchar(26) NOT NULL, | +| | FieldID varchar(26) NOT NULL, | +| | Value json, | +| | CreateAt bigint(20), | +| | UpdateAt bigint(20), | +| | DeleteAt bigint(20), | +| | UNIQUE(GroupID, TargetID, FieldID, DeleteAt) | +| | ); | +| | | +| | SET @preparedStatement = (SELECT IF( | +| | ( | +| | SELECT COUNT(*) FROM INFORMATION_SCHEMA.STATISTICS | +| | WHERE table_name = 'PropertyValues' | +| | AND table_schema = DATABASE() | +| | AND index_name = 'idx_propertyvalues_targetid_groupid' | +| | ) > 0, | +| | 'SELECT 1', | +| | 'CREATE INDEX idx_propertyvalues_targetid_groupid ON PropertyValues (TargetID, GroupID);' | +| | )); | +| | | +| | PREPARE createIndexIfNotExists FROM @preparedStatement; | +| | EXECUTE createIndexIfNotExists; | +| | DEALLOCATE PREPARE createIndexIfNotExists; | +| | | +| | | +| | **PostgreSQL**: | +| | | +| | .. code-block:: sql | +| | | +| | CREATE TABLE IF NOT EXISTS PropertyGroups ( | +| | ID varchar(26) PRIMARY KEY, | +| | Name varchar(64) NOT NULL, | +| | UNIQUE(Name) | +| | ); | +| | | +| | DO | +| | BEGIN | +| | IF NOT EXISTS (SELECT * FROM pg_type typ | +| | INNER JOIN pg_namespace nsp ON nsp.oid = typ.typnamespace | +| | WHERE nsp.nspname = current_schema() | +| | AND typ.typname = 'property_field_type') THEN | +| | CREATE TYPE property_field_type AS ENUM ( | +| | 'text', | +| | 'select', | +| | 'multiselect', | +| | 'date', | +| | 'user', | +| | 'multiuser' | +| | ); | +| | END IF; | +| | END; | +| | LANGUAGE plpgsql; | +| | | +| | CREATE TABLE IF NOT EXISTS PropertyFields ( | +| | ID varchar(26) PRIMARY KEY, | +| | GroupID varchar(26) NOT NULL, | +| | Name varchar(255) NOT NULL, | +| | Type property_field_type, | +| | Attrs jsonb, | +| | TargetID varchar(255), | +| | TargetType varchar(255), | +| | CreateAt bigint NOT NULL, | +| | UpdateAt bigint NOT NULL, | +| | DeleteAt bigint NOT NULL | +| | ); | +| | | +| | CREATE UNIQUE INDEX IF NOT EXISTS idx_propertyfields_unique ON PropertyFields (GroupID, TargetID, Name) WHERE DeleteAt = 0; | +| | | +| | CREATE TABLE IF NOT EXISTS PropertyValues ( | +| | ID varchar(26) PRIMARY KEY, | +| | TargetID varchar(255) NOT NULL, | +| | TargetType varchar(255) NOT NULL, | +| | GroupID varchar(26) NOT NULL, | +| | FieldID varchar(26) NOT NULL, | +| | Value jsonb NOT NULL, | +| | CreateAt bigint NOT NULL, | +| | UpdateAt bigint NOT NULL, | +| | DeleteAt bigint NOT NULL | +| | ); | +| | | +| | CREATE UNIQUE INDEX IF NOT EXISTS idx_propertyvalues_unique ON PropertyValues (GroupID, TargetID, FieldID) WHERE DeleteAt = 0; | +| | CREATE INDEX IF NOT EXISTS idx_propertyvalues_targetid_groupid ON PropertyValues (TargetID, GroupID); | +| | `` | ++----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | v10.3 | The Classic Mobile App has been phased out. Please download the new v2 Mobile App from the | | | `Apple App Store `_ or | | | `Google Play Store `_. See more details | diff --git a/source/upgrade/open-source-components.rst b/source/upgrade/open-source-components.rst index 08c9dfafb62..b92836e5264 100644 --- a/source/upgrade/open-source-components.rst +++ b/source/upgrade/open-source-components.rst @@ -9,6 +9,7 @@ The following open source components are used to provide the full benefits of Ma Desktop -------- +- Mattermost Desktop v5.11.0 - `View Open Source Components `__. - Mattermost Desktop v5.10.0 - `View Open Source Components `__. - Mattermost Desktop v5.9.0 - `View Open Source Components `__. - Mattermost Desktop v5.8.0 - `View Open Source Components `__. @@ -33,6 +34,7 @@ Desktop Mobile ------- +- Mattermost Mobile v2.25.0 - `View Open Source Components `__. - Mattermost Mobile v2.24.0 - `View Open Source Components `__. - Mattermost Mobile v2.23.0 - `View Open Source Components `__. - Mattermost Mobile v2.22.0 - `View Open Source Components `__. @@ -118,6 +120,7 @@ Mobile Server ------------------------------ +- Mattermost Enterprise Edition v10.5.0 - `View Open Source Components `__. - Mattermost Enterprise Edition v10.4.0 - `View Open Source Components `__. - Mattermost Enterprise Edition v10.3.0 - `View Open Source Components `__. - Mattermost Enterprise Edition v10.2.0 - `View Open Source Components `__. diff --git a/source/upgrade/prepare-to-upgrade-mattermost.rst b/source/upgrade/prepare-to-upgrade-mattermost.rst index 4334a81eba9..2997445051b 100644 --- a/source/upgrade/prepare-to-upgrade-mattermost.rst +++ b/source/upgrade/prepare-to-upgrade-mattermost.rst @@ -59,7 +59,7 @@ We strongly recommend that you: .. important:: - Support for Mattermost Server v9.5 :doc:`Extended Support Release ` has come to the end of its life cycle on November 15, 2024. Upgrading to Mattermost Server v9.11 Extended Support Release or later is required. Upgrading from a previous Extended Support Release to the latest Extended Support Release is supported. Upgrading from v5.31 to v5.37 should take roughly the same amount of time as upgrading from v5.31 to v5.35, then upgrading v5.35 to 5.37. However, an upgrade directly from v5.31 to v5.37 could potentially take hours due to the database schema migrations required for v5.35. Review the :doc:`important-upgrade-notes` for all intermediate versions in between to ensure you’re aware of the possible migrations that could affect your upgrade. + Support for Mattermost Server v9.11 :doc:`Extended Support Release ` is coming to the end of its life cycle on May 15, 2025. Upgrading to Mattermost Server v10.5 Extended Support Release or later is recommended. Upgrading from a previous Extended Support Release to the latest Extended Support Release is supported. Review the :doc:`important-upgrade-notes` for all intermediate versions in between to ensure you’re aware of the possible migrations that could affect your upgrade. v6.0 database schema migrations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~