diff --git a/README.md b/README.md
index a09921ff1a3..233de84788a 100644
--- a/README.md
+++ b/README.md
@@ -112,6 +112,6 @@ The following software is required to build the documentation:
cd build
```
-7. Then, preview your changes by opening the `source/html/index.html` file.
+7. Then, preview your changes by opening the `build/html/index.html` file.
Build errors are written to the `build/warnings.log` file.
diff --git a/source/_static/badges/academy-channels.rst b/source/_static/badges/academy-channels.rst
new file mode 100644
index 00000000000..abd005f8e8a
--- /dev/null
+++ b/source/_static/badges/academy-channels.rst
@@ -0,0 +1,12 @@
+:orphan:
+:nosearch:
+
+.. raw:: html
+
+
+
+
+ Mattermost Academy
+ Learn about Mattermost channels
+
+
\ No newline at end of file
diff --git a/source/_static/badges/academy-file-storage.rst b/source/_static/badges/academy-file-storage.rst
index d978eab22f2..09fb6b74fb6 100644
--- a/source/_static/badges/academy-file-storage.rst
+++ b/source/_static/badges/academy-file-storage.rst
@@ -7,6 +7,6 @@
Mattermost Academy
- Learn about Mattermost file storage
+ Learn about file storage
\ No newline at end of file
diff --git a/source/about/editions-and-offerings.rst b/source/about/editions-and-offerings.rst
index 2535a9bf356..edb409e9392 100644
--- a/source/about/editions-and-offerings.rst
+++ b/source/about/editions-and-offerings.rst
@@ -74,7 +74,7 @@ Features include:
- `Granular system permissions `__.
- Highly customizable `third-party bots, integrations `__, and `command line tools `__.
- Extensive integration support via `webhooks, APIs, drivers `__, and `third-party extensions `__.
-- Multiple languages including English (Australian, US), Bulgarian, Chinese (Simplified and Traditional), Dutch, French, German, Italian, Japanese, Korean, Persian, Polish, Portuguese (Brazil), Romanian, Russian, Spanish, Swedish, Turkish, and Ukrainian.
+- Multiple languages including English (Australian, US), Bulgarian, Chinese (Simplified and Traditional), Dutch, French, German, Hungarian, Italian, Japanese, Korean, Persian, Polish, Portuguese (Brazil), Romanian, Russian, Spanish, Swedish, Turkish, Ukrainian, and Vietnamese.
- `Community support `__.
See a complete list of features `here `__.
diff --git a/source/install/common-prod-deploy-kubernetes.rst b/source/archive/common-prod-deploy-kubernetes.rst
similarity index 100%
rename from source/install/common-prod-deploy-kubernetes.rst
rename to source/archive/common-prod-deploy-kubernetes.rst
diff --git a/source/collaborate/install-desktop-app.rst b/source/collaborate/install-desktop-app.rst
index c1e733eba12..40f334edc13 100644
--- a/source/collaborate/install-desktop-app.rst
+++ b/source/collaborate/install-desktop-app.rst
@@ -30,15 +30,15 @@ You can `download the desktop app directly from our Downloads page `__
- 2. From the **\Downloads** folder, right-click on the file ``mattermost-desktop-setup-5.5.1-win.exe``, then select **Open** to start an installer for the app. Once finished, the Mattermost desktop app opens automatically.
+ 1. Download the latest version of the Mattermost desktop app: `32/64-bit version of Windows `__
+ 2. From the **\Downloads** folder, right-click on the file ``mattermost-desktop-setup-5.6.0-win.exe``, then select **Open** to start an installer for the app. Once finished, the Mattermost desktop app opens automatically.
**MSI Installer and group policies (beta)**
You can download the latest version of the Mattermost desktop app MSI installer (Beta):
- - MSI for `64-bit version of Windows `__
- - MSI for `32-bit version of Windows `__
+ - MSI for `64-bit version of Windows `__
+ - MSI for `32-bit version of Windows `__
The following group policies are available:
@@ -72,8 +72,8 @@ You can `download the desktop app directly from our Downloads page `__
- - `M1 systems `__ (Beta)
+ - `Intel systems `__
+ - `M1 systems `__ (Beta)
2. Double-click the download to open the disk image.
@@ -127,8 +127,8 @@ You can `download the desktop app directly from our Downloads page `__
- - 32-bit systems `mattermost-desktop-5.5.1-linux-i686.rpm `__
+ - 64-bit systems `mattermost-desktop-5.6.0-linux-x86_64.rpm `__
+ - 32-bit systems `mattermost-desktop-5.6.0-linux-i686.rpm `__
2. At the command line, execute one of the following commands based on the package you downloaded:
@@ -136,13 +136,13 @@ You can `download the desktop app directly from our Downloads page Version...**.
@@ -169,8 +169,8 @@ You can `download the desktop app directly from our Downloads page `__
- - 32-bit systems: `mattermost-desktop-5.5.1-linux-ia32.tar.gz `__
+ - 64-bit systems: `mattermost-desktop-5.6.0-linux-x64.tar.gz `__
+ - 32-bit systems: `mattermost-desktop-5.6.0-linux-ia32.tar.gz `__
2. Extract the archive to a convenient location, then execute ``mattermost-desktop`` located inside the extracted directory.
diff --git a/source/collaborate/react-with-emojis-gifs.rst b/source/collaborate/react-with-emojis-gifs.rst
index e060005c824..b80965381c1 100644
--- a/source/collaborate/react-with-emojis-gifs.rst
+++ b/source/collaborate/react-with-emojis-gifs.rst
@@ -12,12 +12,12 @@ Emojis and GIFs are small, digital images, animated images, or icons you can use
Quick emoji reactions
-----------------------
-React to messages quickly with recently used emojis. Hover over a message to access recently used emojis.
+Hover over a message to react quickly using your most recent emojis. You can react with up to 50 emojis per message.
.. image:: ../images/recent-emojis.png
:alt: React to messages quickly by selecting one of your most recently used emojis.
-Recently used emojis are sorted based on how often you've used them.
+Recently used emojis are sorted based on how often you've used them.
.. tip::
diff --git a/source/conf.py b/source/conf.py
index 8e620171294..f32e76c11fa 100644
--- a/source/conf.py
+++ b/source/conf.py
@@ -2033,6 +2033,16 @@ def setup(_: Sphinx):
"https://docs.mattermost.com/guides/preferences.html",
"guides/welcome-to-mattermost.html#mattermost-interface-changes":
"https://docs.mattermost.com/guides/deployment.html#changelogs",
+"guides/configure-app-framework.html":
+ "https://docs.mattermost.com/deploy/configure-app-framework",
+"guides/deploy-http.html":
+ "https://docs.mattermost.com//deploy/deploy-http",
+"guides/deploy-aws.html":
+ "https://docs.mattermost.com//deploy/deploy-aws",
+"guides/package-aws.html":
+ "https://docs.mattermost.com//deploy/package-aws",
+"guides/deploy-openfaas.html":
+ "https://docs.mattermost.com/deploy/deploy-openfaas",
# Help redirects resulting from the June 2021 docs reorganization project.
"help/apps/desktop-changelog.html":
@@ -3311,9 +3321,9 @@ def setup(_: Sphinx):
# built documents.
#
# The short X.Y version.
-# version = '9.2'
+# version = '9.3'
# The full version, including alpha/beta/rc tags.
-# release = '9.2'
+# release = '9.3'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff --git a/source/configure/developer-mode-configuration-settings.rst b/source/configure/developer-mode-configuration-settings.rst
index 330f37552e7..bcd22181deb 100644
--- a/source/configure/developer-mode-configuration-settings.rst
+++ b/source/configure/developer-mode-configuration-settings.rst
@@ -71,8 +71,8 @@ Enable client debugging
+---------------------------------------------------+---------------------------------------------------------------------------------------------+
| Enable or disable client-side debugging settings | - System Config path: **Environment > Developer** |
-| found in *Settings > Advanced > Debugging* for | - ``config.json setting``: ``".ServiceSettings.EnableClientPerformanceDebugging": false",`` |
-| individual users. | - Environment variable: ``MM_SERVICESETTINGS_ENABLECLIENTPERFORMANCEDEBUGGING`` |
+| found in **Settings > Advanced > Debugging** | - ``config.json setting``: ``".ServiceSettings.EnableClientPerformanceDebugging": false",`` |
+| for individual users. | - Environment variable: ``MM_SERVICESETTINGS_ENABLECLIENTPERFORMANCEDEBUGGING`` |
| | |
| - **true**: Those settings are visible and can | |
| be enabled by users. | |
diff --git a/source/configure/optimize-your-workspace.rst b/source/configure/optimize-your-workspace.rst
index 18466b6105b..2567b7d5db5 100644
--- a/source/configure/optimize-your-workspace.rst
+++ b/source/configure/optimize-your-workspace.rst
@@ -39,6 +39,10 @@ The following optimization areas can alert you to workspace suggestions, warning
| | | |
| | - **Session Length**: The default value may not provide an optimal user experience. | - `Set up SSL `__ |
| | | - `Configure session length `__ |
+| | - **File Storage**: Write access to the configured file storage location is required. | - `Configure file storage `__ |
+| | | |
+| | .. include:: ../_static/badges/academy-file-storage.rst | |
+| | :start-after: :nosearch: | |
+-----------------------+----------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Workspace access | Is the Mattermost workspace may not be accessible to users? | If your web server settings don't pass a live URL test, your workspace may not be accessible to others. |
| | | See the `Environment Configuration Settings `__ product documentation to learn more: |
diff --git a/source/configure/site-configuration-settings.rst b/source/configure/site-configuration-settings.rst
index 76d496ce20b..9b364a0dd49 100644
--- a/source/configure/site-configuration-settings.rst
+++ b/source/configure/site-configuration-settings.rst
@@ -347,10 +347,10 @@ Default server language
+--------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| The default language for system messages and logs. | - System Config path: **Site Configuration > Localization** |
| | - ``config.json`` setting: ``.LocalizationSettings.DefaultServerLocale`` |
-| Options: ``"bg"``, ``"de"``, ``"en"``, ``en-AU``, ``"es"``, ``"fa"``, | - Environment variable: ``MM_LOCALIZATIONSETTINGS_DEFAULTSERVERLOCALE`` |
+| Options: ``"bg"``, ``"de"``, ``"en"``, ``"en-AU"``, ``"es"``, ``"fa"``, | - Environment variable: ``MM_LOCALIZATIONSETTINGS_DEFAULTSERVERLOCALE`` |
| ``"fr"``, ``"hu"``, ``"it"``, ``"ja"``, ``"ko"``, ``"nl"``, ``"pl"``, | |
-| ``"pt-br"``, ``"ro"``, ``"ru"``, ``"sv"``, ``"tr"``, ``uk``, ``"zh_CN"``, | |
-| and ``"zh_TW"``. | |
+| ``"pt-br"``, ``"ro"``, ``"ru"``, ``"sv"``, ``"tr"``, ``"uk"``, ``"vi"``, | |
+| ``"zh_CN"``, and ``"zh_TW"``. | |
| | |
| Default is ``"en"``. | |
+--------------------------------------------------------------------------------+---------------------------------------------------------------------------+
@@ -368,10 +368,10 @@ Default client language
+--------------------------------------------------------------------------------+---------------------------------------------------------------------------+
| The default language for new users and pages where the user isn't logged in. | - System Config path: **Site Configuration > Localization** |
| | - ``config.json`` setting: ``.LocalizationSettings.DefaultClientLocale`` |
-| Options: ``"bg"``, ``"de"``, ``"en"``, ``en-AU``, ``"es"``, ``"fa"``, | - Environment variable: ``MM_LOCALIZATIONSETTINGS_DEFAULTCLIENTLOCALE`` |
+| Options: ``"bg"``, ``"de"``, ``"en"``, ``"en-AU"``, ``"es"``, ``"fa"``, | - Environment variable: ``MM_LOCALIZATIONSETTINGS_DEFAULTCLIENTLOCALE`` |
| ``"fr"``, ``"hu"``, ``"it"``, ``"ja"``, ``"ko"``, ``"nl"``, ``"pl"``, | |
-| ``"pt-br"``, ``"ro"``, ``"ru"``, ``"sv"``, ``"tr"``, ``uk``, ``"zh_CN"``, | |
-| and ``"zh_TW"``. | |
+| ``"pt-br"``, ``"ro"``, ``"ru"``, ``"sv"``, ``"tr"``, ``"uk"``, ``"vi"``, | |
+| ``"zh_CN"``, and ``"zh_TW"``. | |
| | |
| Default is ``"en"``. | |
+--------------------------------------------------------------------------------+---------------------------------------------------------------------------+
@@ -394,10 +394,10 @@ Available languages
| in addition to any other languages. For example, to limit the language | |
| choices to US English and Español (es), the string would be ``”en,es”``. | |
| | |
-| Options: ``"bg"``, ``"de"``, ``"en"``, ``en-AU``, ``"es"``, ``"fa"``, | |
+| Options: ``"bg"``, ``"de"``, ``"en"``, ``"en-AU"``, ``"es"``, ``"fa"``, | |
| ``"fr"``, ``"hu"``, ``"it"``, ``"ja"``, ``"ko"``, ``"nl"``, ``"pl"``, | |
-| ``"pt-br"``, ``"ro"``, ``"ru"``, ``"sv"``, ``"tr"``, ``uk``, ``"zh_CN"``, | |
-| and ``"zh_TW"``. | |
+| ``"pt-br"``, ``"ro"``, ``"ru"``, ``"sv"``, ``"tr"``, ``"uk"``, ``"vi"``, | |
+| ``"zh_CN"``, and ``"zh_TW"``. | |
| | |
| Default is ``"en"``. | |
+--------------------------------------------------------------------------------+---------------------------------------------------------------------------+
diff --git a/source/guides/configure-app-framework.rst b/source/deploy/configure-app-framework.rst
similarity index 100%
rename from source/guides/configure-app-framework.rst
rename to source/deploy/configure-app-framework.rst
diff --git a/source/guides/deploy-aws.rst b/source/deploy/deploy-aws.rst
similarity index 95%
rename from source/guides/deploy-aws.rst
rename to source/deploy/deploy-aws.rst
index 725cef062e9..2fde0a6c298 100644
--- a/source/guides/deploy-aws.rst
+++ b/source/deploy/deploy-aws.rst
@@ -8,7 +8,7 @@ An App designed and bundled for AWS Lambda can be deployed to the customer's own
AWS environment, and then installed on a self-managed ("on-prem") Mattermost
instance. Note that the only AWS-hosted apps available on Mattermost Cloud instances are the ones by Mattermost.
-For details on how to develop and package apps for AWS see `Package / AWS `_.
+For details on how to develop and package apps for AWS see `Package / AWS `__.
There are three steps required to enable AWS applications on a self-managed Mattermost instance.
@@ -34,7 +34,7 @@ You will need to create an S3 bucket within AWS or use an existing bucket.
Create a privileged IAM user access key and secret
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-You will need an access key and secret so that ``appsctl`` can deploy the app. These credentials can come from creating an IAM user, using a privileged IAM user, or even using the AWS account owners personal access key. Please follow the instructions provided by AWS (https://aws.amazon.com/premiumsupport/knowledge-center/create-access-key/) to complete these steps and save the ``Access key ID`` and ``Secret access key`` values.
+You will need an access key and secret so that ``appsctl`` can deploy the app. These credentials can come from creating an IAM user, using a privileged IAM user, or even using the AWS account owners personal access key. Please follow the `instructions provided by AWS `__ to complete these steps and save the ``Access key ID`` and ``Secret access key`` values.
Set AWS_DEPLOY environment variables
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -134,7 +134,7 @@ The ``manifest.json`` file of an app is stored in the same S3 bucket with the ke
Deploy ustom apps to AWS
^^^^^^^^^^^^^^^^^^^^^^^^
-.. image:: deploy-third-party-aws.png
+.. image:: /images/deploy-third-party-aws.png
:width: 800
Deployment in Mattermost Cloud
@@ -149,7 +149,7 @@ The deployer needs lambda function names, asset keys, and the manifest key to de
Deploy custom apps to AWS
^^^^^^^^^^^^^^^^^^^^^^^^^
-.. image:: deploy-mm-aws.png
+.. image:: /images/deploy-mm-aws.png
:width: 800
.. |Mattermost apps cloud deployer| raw:: html
diff --git a/source/guides/deploy-http.rst b/source/deploy/deploy-http.rst
similarity index 100%
rename from source/guides/deploy-http.rst
rename to source/deploy/deploy-http.rst
diff --git a/source/guides/deploy-mattermost-apps.rst b/source/deploy/deploy-mattermost-apps.rst
similarity index 74%
rename from source/guides/deploy-mattermost-apps.rst
rename to source/deploy/deploy-mattermost-apps.rst
index b34d3327dbb..27c9a5980bf 100644
--- a/source/guides/deploy-mattermost-apps.rst
+++ b/source/deploy/deploy-mattermost-apps.rst
@@ -6,17 +6,17 @@ App deployment
:hidden:
:titlesonly:
- Settings
- HTTP
- AWS
- Package Apps for AWS
- OpenFaaS
+ Settings
+ HTTP
+ AWS
+ Package Apps for AWS
+ OpenFaaS
- In **Mattermost Cloud**, all apps are deployed to the Marketplace by Mattermost staff. They can be installed onto a specific Mattermost instance using the ``/apps install listed`` command. No special configuration is required; the ``/apps install`` command should be enabled and functional by default.
-- **Self-managed Mattermost** installations can use external Apps as HTTP services that have already been deployed, or can deploy App bundles on self-managed hosting or serverless platforms. Currently, `AWS Lambda `_, `OpenFaaS `_, and Kubeless deployments are supported. The `appsctl` command can be used to deploy app bundles to these environments.
+- **Self-managed Mattermost** installations can use external Apps as HTTP services that have already been deployed, or can deploy App bundles on self-managed hosting or serverless platforms. Currently, `AWS Lambda `__, `OpenFaaS `__, and Kubeless deployments are supported. The `appsctl` command can be used to deploy app bundles to these environments.
- Self-managed customers can also install external `HTTP `_ apps, with no need to deploy them.
+ Self-managed customers can also install external `HTTP `__ apps, with no need to deploy them.
The ``appsctl`` CLI tool is provided to deploy AWS and OpenFaaS apps in self-managed environments. To install ``appsctl``, use the following command:
diff --git a/source/guides/deploy-openfaas.rst b/source/deploy/deploy-openfaas.rst
similarity index 100%
rename from source/guides/deploy-openfaas.rst
rename to source/deploy/deploy-openfaas.rst
diff --git a/source/deploy/deprecated-features.rst b/source/deploy/deprecated-features.rst
index 188d6058e58..e47430d97fb 100644
--- a/source/deploy/deprecated-features.rst
+++ b/source/deploy/deprecated-features.rst
@@ -3,6 +3,10 @@ Removed and deprecated features for Mattermost
This page describes features that are removed from support for Mattermost, or will be removed in a future update (deprecated), and provides early notice about future changes that might affect your use of Mattermost. This information is subject to change with future releases, and might not include each deprecated feature.
+.. contents:: On this page
+ :backlinks: top
+ :depth: 3
+
Removed features in upcoming versions
-------------------------------------
diff --git a/source/deploy/desktop-app-changelog.rst b/source/deploy/desktop-app-changelog.rst
index 0aaa343e04a..841d4c90d5a 100644
--- a/source/deploy/desktop-app-changelog.rst
+++ b/source/deploy/desktop-app-changelog.rst
@@ -1,17 +1,75 @@
Desktop application changelog
==============================
-.. include:: ../_static/badges/allplans-cloud-selfhosted.rst
- :start-after: :nosearch:
+This changelog summarizes updates to Mattermost desktop app releases for `Mattermost `__.
-Latest Mattermost Desktop App releases:
+.. contents:: On this page
+ :backlinks: top
+ :depth: 2
-- `Release v5.5 <#id1>`_
-- `Release v5.4 <#id3>`_
-- `Release v5.3 <#id15>`_
-- `Release v5.2 <#id28>`_
-- `Release v5.1 <#id44>`_
-- `Release v5.0 <#id59>`_
+Release v5.6
+--------------
+
+**Release Date: December 15, 2023**
+
+**Download Binaries:** `Mattermost Desktop on GitHub `_
+
+Compatibility
+~~~~~~~~~~~~~~~
+
+- Desktop App is supported on any currently `supported Mattermost server version `_.
+- Updated Chromium minimum supported version to 118+.
+
+Improvements
+~~~~~~~~~~~~~~~
+
+All Platforms
+^^^^^^^^^^^^^
+
+- Added Vietnamese as a new language (Beta).
+- Removed ``gconf`` dependency for Debian/Ubuntu.
+- Stopped auto-opening Boards/Playbooks tabs.
+
+Architectural Changes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- Major version upgrade of Electron to v27.0.2. Electron is the underlying technology used to build the Desktop App.
+
+Bug Fixes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+All Platforms
+^^^^^^^^^^^^^
+
+- Fixed an issue where some notifications did not navigate to the channel.
+- Set the category for the main menu correctly for installations with Debian package.
+- Fixed an issue where servers on a subpath could not grant the ``media`` permission.
+- Fixed an issue where users could not fullscreen embedded videos.
+- Fixed a deep linking issue for servers with subpaths.
+- Fixed an issue where the "session expired" badge wasn't displayed.
+
+macOS
+^^^^^^^^^^^^^
+
+- Fixed an issue where clicking on a link to an unregistered protocol on macOS would cause the app to crash.
+
+Open Source Components
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- Added ``electron-extension-installer`` and ``node-gyp`` to https://github.com/mattermost/desktop.
+
+Known Issues
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- Users seeing an endless "Loading..." screen when attempting to log in to the app may need to manually delete their cache directory. For MacOS it is located in ``/Users//Library/Containers/Mattermost/Data/Library/Application Support/Mattermost``, for Windows in ``Users//AppData/Roaming/Mattermost`` and for Linux in ``~/config/Mattermost`` (where ``~`` is the home directory).
+- On Linux, a left-click on the Mattermost tray icon doesn't open the app window but opens the tray menu.
+- Crashes might be be experienced in some Linux desktop clients due to an upstream bug in the ``libnotifyapp`` library. A recommended workaround is to disable the Mattermost system tray icon via Desktop Settings.
+- On apps using GPO configurations, when adding a second server tab, it's possible to drag and drop tabs, but they'll jump back to the original position when releasing the mouse.
+
+Contributors
+~~~~~~~~~~~~~~
+
+- `BaumiCoder `_, `ctlaltdieliet `_, `devinbinnie `_, `larkox `_.
Release v5.5
--------------
@@ -24,7 +82,7 @@ Release v5.5
- **v5.5.0, released 2023-09-15**
- Original v5.5.0 release
-**Download Binaries:** `Mattermost Desktop on GitHub `_
+**Download Binaries:** `Mattermost Desktop on GitHub `_
**Note:** Mattermost v5.5.0 contains a medium severity level security fix. Upgrading is highly recommended. Details will be posted on our `security updates page `__ 30 days after release as per the `Mattermost Responsible Disclosure Policy `__.
diff --git a/source/deploy/mattermost-changelog.md b/source/deploy/mattermost-changelog.md
index 9fc26f369b8..0d402592abf 100644
--- a/source/deploy/mattermost-changelog.md
+++ b/source/deploy/mattermost-changelog.md
@@ -15,6 +15,108 @@ From Mattermost v9.2, this changelog summarizes updates for the latest cloud and
:depth: 2
```
+## Release v9.3 - [Feature Release](https://docs.mattermost.com/upgrade/release-definitions.html#feature-release)
+
+**Release Date: December 15, 2023**
+
+### Important Upgrade Notes
+ - Please read the [Important Upgrade Notes](https://docs.mattermost.com/upgrade/important-upgrade-notes.html) before upgrading.
+
+### Compatibility
+ - Updated minimum required Firefox version to v115+.
+ - Updated minimum supported Chromium version to 118+.
+
+### Improvements
+
+See [this walkthrough video](https://www.youtube.com/watch?v=eXA8emM97Bo) on some of the improvements in our latest release below.
+
+#### User Interface (UI)
+ - Updated pre-packaged Playbooks plugin version to [v1.39.1](https://github.com/mattermost/mattermost-plugin-playbooks/releases/tag/v1.39.1).
+ - Updated pre-packaged Calls version to [v0.21.1](https://github.com/mattermost/mattermost-plugin-calls/releases/tag/v0.21.1).
+ - Updated pre-packaged Jira plugin version to [v4.0.1](https://github.com/mattermost/mattermost-plugin-jira/releases/tag/v4.0.1). Also see [v4.0.0](https://github.com/mattermost/mattermost-plugin-jira/releases/tag/v4.0.0) for recent breaking changes.
+ - Added Vietnamese (Beta) as a new language.
+ - Added the ability to passively track keywords with highlights without triggering a notification (Professional and Enterprise plans).
+ - Updated the **Settings** modal with an improved user interface.
+ - Added a new **Jump to recents** banner when a channel is scrolled up.
+ - Modified the behavior of the code button (Ctrl+Alt+C) to create inline codes or code blocks.
+ - Disabled markdown keybindings within code blocks.
+ - Added a **Back** button to the ``/access_problem`` page.
+ - Added a default limit of the number of reactions per post.
+
+#### Performance
+ - Removed pre-fetch preference and set new prefetch limits for the webapp.
+ - Improved websocket event marshaling performance.
+ - Batched loading of recently used emojis on initial load.
+
+#### Administration
+ - The tooltip on the announcement bar in the **System Console** is now widened.
+ - Improved the error message when trying to activate a plugin in an unsupported environment.
+ - Added a file storage permission check to the workspace health dashboard.
+ - Performed a cleanup in preparation for adding support for multi-word keywords that trigger notification.
+ - Added a warning log message when the app runs as root.
+ - Removed all uses of the ``ExperimentalTimezone`` setting. The Timezone feature is now always enabled and no longer behind a configuration setting.
+ - Added support for previewing WebVTT attachments.
+ - Introduced separate ``AdvancedLogging`` levels for LDAP messages.
+ - Introduced trace logging level for LDAP messages.
+ - Added a new way to modify ``WebSocket`` messages sent to individual connections.
+ - Added a new server side hook ``MessagesWillBeConsumed`` to allow modifying post objects after they are grabbed from the database but before they are delivered to the client. This is behind a feature flag and disabled by default.
+ - Users and posts are now pretty-printed in the logs.
+ - Improved file extraction logging.
+ - Exposed ``ThreadView`` and ``AdvancedCreateComment`` components in the webapp plugin exported components list.
+ - Added **Logging > Advanced Logging** setting to the **System Console** to allow admins to configure custom log targets via the user interface.
+
+### Bug Fixes
+ - Fixed an issue where marking a Group Message as unread didn't show the badge count correctly.
+ - Fixed an issue where ``invite_id`` was being reset on all team changes.
+ - Fixed an issue where interactive dialog elements with subtype ``number`` didn't handle a ``0`` value properly.
+ - Fixed an issue with the download link in channel file search items when including a path in the **Site URL** setting.
+ - Fixed an issue with the formatting of special mentions in the right-hand side.
+ - Fixed ``MessageWillBeUpdated`` plugin hook to allow rejections.
+ - Fixed an issue with some shortcuts not working as expected.
+ - Fixed the message history not clearing the input on the center channel.
+ - Fixed an issue where a higher contrast was generated for some usernames.
+ - Fixed an issue where newly created Group Messages showed having 0 members.
+ - Fixed an issue where an incorrect timestamp was assigned to support packet files.
+ - Fixed an issue where the **Reset Password** link was not displayed if only LDAP/AD was enabled.
+ - Fixed an issue where **Recent Mentions** showed posts for other similar named users.
+ - Fixed an error that appeared when updating the header of Group Messages.
+ - Fixed an issue that caused the server to get stuck during shutdown due to a deadlock in a dependency.
+ - Fixed an issue where Desktop App clients would be shown an error when trying to open file preview links.
+ - Fixed an issue with double URL encoding of Oauth redirect URI params.
+ - Fixed an issue where users couldn't at-mention custom groups in group constrained teams and channels.
+ - Fixed an issue where the channel admin wasn't being set when converting a Group Message to a private channel.
+
+### 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 ``DisplaySettings.ExperimentalTimezone`` setting.
+ - Under ``ServiceSettings`` in ``config.json``:
+ - Added ``DefaultUniqueReactionsPerPost`` and ``MaxUniqueReactionsPerPost`` to fix an issue where invalid reactions could be added to posts and to add a default limit for the number of reactions per post.
+
+### API Changes
+ - Added an API to batch requests for custom emojis on page load.
+
+### Database Changes
+ - ``NextSyncAt`` and ``Description`` columns are removed from the ``SharedChannelsRemotes`` table. Migration impact is considered to be minimal considering the possible table size.
+
+### Go Version
+ - v9.3 is built with Go ``v1.20.7``.
+
+### Known Issues
+ - Mattermost Omnibus: Unable to install omnibus due to unmet dependencies [MM-56080](https://mattermost.atlassian.net/browse/MM-56080).
+ - 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](https://mattermost.atlassian.net/browse/MM-33823).
+ - 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.
+ - 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
+ - [agarciamontoro](https://github.com/agarciamontoro), [agnivade](https://github.com/agnivade), [AirGoatOne](https://github.com/AirGoatOne), [akbarkz](https://github.com/akbarkz), [amigo7kr](https://github.com/amigo7kr), [amyblais](https://github.com/amyblais), [anneschuth](https://github.com/anneschuth), [ARJ2160](https://github.com/ARJ2160), [Arslan-work](https://github.com/Arslan-work), [arthurh](https://translate.mattermost.com/user/arthurh), [arthurhrg](https://github.com/arthurhrg), [Aryakoste](https://github.com/Aryakoste), [asaadmahmood](https://github.com/asaadmahmood), [AshishDhama](https://github.com/AshishDhama), [avas27JTG](https://github.com/avas27JTG), [AvaterClasher](https://github.com/AvaterClasher), [ayusht2810](https://github.com/ayusht2810), [azigler](https://github.com/azigler), [BandhiyaHardik](https://github.com/BandhiyaHardik), [BenCookie95](https://github.com/BenCookie95), [Benjamin-Loison](https://github.com/Benjamin-Loison), [calebroseland](https://github.com/calebroseland), [catenacyber](https://github.com/catenacyber), [cedarice](https://github.com/cedarice), [CI-YU](https://github.com/CI-YU), [coltoneshaw](https://github.com/coltoneshaw), [cpoile](https://github.com/cpoile), [crspeller](https://github.com/crspeller), [ctlaltdieliet](https://github.com/ctlaltdieliet), [cwarnermm](https://github.com/cwarnermm), [Davut97](https://github.com/Davut97), [deepakumarvu](https://github.com/deepakumarvu), [devinbinnie](https://github.com/devinbinnie), [Dhoni77](https://github.com/Dhoni77), [DimitriDR](https://translate.mattermost.com/user/DimitriDR), [edwardnguyen225](https://github.com/edwardnguyen225), [Eleferen](https://translate.mattermost.com/user/Eleferen), [emdecr](https://github.com/emdecr), [Emil-Carlsson](https://github.com/Emil-Carlsson), [enahum](https://github.com/enahum), [escofresco](https://github.com/escofresco), [fandour](https://translate.mattermost.com/user/fandour), [fazil-syed](https://github.com/fazil-syed), [fmartingr](https://github.com/fmartingr), [gabrieljackson](https://github.com/gabrieljackson), [hanzei](https://github.com/hanzei), [harshal2030](https://github.com/harshal2030), [harshilsharma63](https://github.com/harshilsharma63), [heisdinesh](https://github.com/heisdinesh), [hmhealey](https://github.com/hmhealey), [ifoukarakis](https://github.com/ifoukarakis), [imamimam113](https://github.com/imamimam113), [imkrishnasarathi](https://github.com/imkrishnasarathi), [isacikgoz](https://github.com/isacikgoz), [jasonblais](https://github.com/jasonblais), [jespino](https://github.com/jespino), [johndavidlugtu](https://github.com/johndavidlugtu), [johnsonbrothers](https://github.com/johnsonbrothers), [jonathanwiemers](https://github.com/jonathanwiemers), [jprusch](https://github.com/jprusch), [JulienTant](https://github.com/JulienTant), [jwilander](https://github.com/jwilander), [kaakaa](https://github.com/kaakaa), [kapdev](https://translate.mattermost.com/user/kapdev), [kayazeren](https://github.com/kayazeren), [Kimbohlovette](https://github.com/Kimbohlovette), [Kshitij-Katiyar](https://github.com/Kshitij-Katiyar), [KuSh](https://github.com/KuSh), [kyeongsoosoo](https://github.com/kyeongsoosoo), [larkox](https://github.com/larkox), [LeonardJouve](https://github.com/LeonardJouve), [lieut-data](https://github.com/lieut-data), [lindy65](https://github.com/lindy65), [linkvn](https://github.com/linkvn), [ludvigbolin](https://github.com/ludvigbolin), [M-ZubairAhmed](https://github.com/M-ZubairAhmed), [m1lt0n](https://github.com/m1lt0n), [majo](https://translate.mattermost.com/user/majo), [manojmalik20](https://github.com/manojmalik20), [master7](https://translate.mattermost.com/user/master7), [matt-w99](https://github.com/matt-w99), [matthew-w](https://translate.mattermost.com/user/matthew-w), [matthewbirtch](https://github.com/matthewbirtch), [maxtrem271991](https://github.com/maxtrem271991), [mickmister](https://github.com/mickmister), [milotype](https://github.com/milotype), [mozi47](https://github.com/mozi47), [mvitale1989](https://github.com/mvitale1989), [nathanaelhoun](https://github.com/nathanaelhoun), [newdominic](https://github.com/newdominic), [nickmisasi](https://github.com/nickmisasi), [nosyn](https://github.com/nosyn), [otilor](https://github.com/otilor), [pacop](https://github.com/pacop), [Paul-Stern](https://github.com/Paul-Stern), [Paul-vrn](https://github.com/Paul-vrn), [phoinixgrr](https://github.com/phoinixgrr), [proggga](https://github.com/proggga), [pvev](https://github.com/pvev), [raghavaggarwal2308](https://github.com/raghavaggarwal2308), [rahulsuresh-git](https://github.com/rahulsuresh-git), [rashmibharambe](https://github.com/rashmibharambe), [Reene-Simon](https://github.com/Reene-Simon), [rohan-kapse](https://github.com/rohan-kapse), [rohitkbc](https://github.com/rohitkbc), [rubinaga](https://github.com/rubinaga), [RyoKub](https://github.com/RyoKub), [san70sh](https://github.com/san70sh), [sapnasivakumar](https://github.com/sapnasivakumar), [sbishel](https://github.com/sbishel), [seoyeongeun](https://github.com/seoyeongeun), [Sharuru](https://github.com/Sharuru), [shivamjosh](https://github.com/shivamjosh), [sinansonmez](https://github.com/sinansonmez), [Sn-Kinos](https://github.com/Sn-Kinos), [sp6370](https://github.com/sp6370), [sri-byte](https://github.com/sri-byte), [stafot](https://github.com/stafot), [streamer45](https://github.com/streamer45), [stylianosrigas](https://github.com/stylianosrigas), [Sudhanva-Nadiger](https://github.com/Sudhanva-Nadiger), [sudheer121](https://github.com/sudheer121), [Syed-Ali-Abbas-Zaidi](https://github.com/Syed-Ali-Abbas-Zaidi), [tanmaythole](https://github.com/tanmaythole), [tejas161](https://github.com/tejas161), [thomasbrq](https://github.com/thomasbrq), [ThrRip](https://github.com/ThrRip), [TomerPacific](https://github.com/TomerPacific), [toninis](https://github.com/toninis), [trivikr](https://github.com/trivikr), [tsabi](https://github.com/tsabi), [turretkeeper](https://github.com/turretkeeper), [umrkhn](https://github.com/umrkhn), [vish9812](https://github.com/vish9812), [wcdfilll](https://translate.mattermost.com/user/wcdfilll), [wiebel](https://github.com/wiebel), [wiggin77](https://github.com/wiggin77), [yasserfaraazkhan](https://github.com/yasserfaraazkhan), [yomiadetutu1](https://github.com/yomiadetutu1)
+
## Release v9.2 - [Feature Release](https://docs.mattermost.com/upgrade/release-definitions.html#feature-release)
- **9.2.3, released 2023-11-29**
@@ -32,7 +134,10 @@ From Mattermost v9.2, this changelog summarizes updates for the latest cloud and
### Important Upgrade Notes
- Fixed data retention policies to run jobs when any custom retention policy is enabled even when the global retention policy is set to **keep-forever**. Before this fix, the enabled custom data retention policies wouldn’t run as long as the global data retention policy was set to **keep-forever** or was disabled. After the fix, the custom data retention policies will run automatically even when the global data retention policy is set to **keep-forever**. Once the server is upgraded, posts may unintentionally be deleted. Admins should make sure to disable all custom data retention policies before upgrading, and then re-enable them again after upgrading.
- - Please read the [Important Upgrade Notes](https://docs.mattermost.com/upgrade/important-upgrade-notes.html) before upgrading.
+
+```{Important}
+If you upgrade from a release earlier than v9.1, please read the other [Important Upgrade Notes](https://docs.mattermost.com/upgrade/important-upgrade-notes.html).
+```
### Compatibility
- Updated minimum required Edge version to 116+.
diff --git a/source/deploy/mobile-app-changelog.md b/source/deploy/mobile-app-changelog.md
index 37c771f0565..dd3ded633cf 100644
--- a/source/deploy/mobile-app-changelog.md
+++ b/source/deploy/mobile-app-changelog.md
@@ -1,13 +1,36 @@
# Mattermost mobile apps changelog
-Latest Mattermost Mobile Apps releases:
-
-- [2.10.1 Release](#release)
-- [2.10.0 Release](#id1)
-- [2.9.1 Release](#id3)
-- [2.9.0 Release](#id6)
-- [2.8.2 Release](#id12)
-- [2.8.1 Release](#id15)
+This changelog summarizes updates to Mattermost mobile apps releases for [Mattermost](https://mattermost.com).
+
+```{contents} On this page
+:depth: 2
+```
+
+## 2.11.0 Release
+- Release Date: December 15, 2023
+- Server Versions Supported: Server v8.1.0+ is required. Self-Signed SSL Certificates are not supported unless the user installs the CA certificate on their device.
+
+### Compatibility
+ - **Upgrade to server version v8.1.0 or later is required.** Support for server [Extended Support Release](https://docs.mattermost.com/upgrade/extended-support-release.html) (ESR) v7.8.0 has ended and upgrading to server ESR v8.1.0 or later is required. As we innovate and offer newer versions of our mobile apps, we maintain backwards compatibility only with supported server versions. Users who upgrade to the newest mobile apps while being connected to an unsupported server version can be exposed to compatibility issues, which can cause crashes or severe bugs that break core functionality of the app.
+ - Android operating system 7+ [is required by Google](https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html).
+ - iPhone 5s devices and later with iOS 12.4+ is required.
+
+### Improvements
+ - Added Vietnamese as a new language (beta).
+ - Calls: added user interface (UI) redesign and polish.
+ - Calls: fixed **More messages bar** and added a small redesign for consistency with calls banners.
+ - Implemented **Copy header text** functionality for channel headers.
+ - Added the ability to reconnect to a previous server after migrating the app to a new device.
+
+### Bug Fixes
+ - Fixed an issue where the channel order in the channel sidebar categories got reversed after favoriting or unfavoriting a channel.
+ - Fixed an issue with channel ordering by recency.
+ - Fixed issue on Android where notifications didn't open or they opened in the wrong channel.
+ - Fixed a rare issue where the app would crash when tapping on a push notification.
+
+### Known Issues
+ - Users are unable to adjust the font size via the OS font size setting.
+ - Some Google Pixel phones on Android 12+ might not continue past the login screen. This is a known issue with the OS, and the current workaround is to restart the device.
## 2.10.1 Release
- Release Date: November 29, 2023
diff --git a/source/guides/package-aws.rst b/source/deploy/package-aws.rst
similarity index 100%
rename from source/guides/package-aws.rst
rename to source/deploy/package-aws.rst
diff --git a/source/guides/collaborate.rst b/source/guides/collaborate.rst
index 5eb8d139ec9..95137f55175 100644
--- a/source/guides/collaborate.rst
+++ b/source/guides/collaborate.rst
@@ -8,6 +8,9 @@ Mattermost provides 1:1 and group messaging that features integrated voice/video
This Mattermost end user documentation is designed for anyone who wants guidance on using Mattermost to collaborate.
+.. include:: ../_static/badges/academy-channels.rst
+ :start-after: :nosearch:
+
.. toctree::
:maxdepth: 1
:hidden:
diff --git a/source/guides/deployment-guides.rst b/source/guides/deployment-guides.rst
index ad52d0cecc4..edddaaebd32 100644
--- a/source/guides/deployment-guides.rst
+++ b/source/guides/deployment-guides.rst
@@ -12,4 +12,4 @@ These deployment guides are for administrators who are ready to integrate Matter
Desktop and mobile app deployment
* :doc:`Server deployment ` - Guides for admins setting up a self-hosted deployment.
-* :doc:`Desktop and mobile app deployment ` - Guides for admins deploying the desktop and mobile apps.
+* :doc:`Desktop and mobile app deployment ` - Guides for admins deploying the desktop and mobile apps.
\ No newline at end of file
diff --git a/source/guides/deployment.rst b/source/guides/deployment.rst
index f7ff4d96314..ee6878c344f 100644
--- a/source/guides/deployment.rst
+++ b/source/guides/deployment.rst
@@ -18,9 +18,11 @@ Learn how to install, deploy, and scale Mattermost for teams and organizations o
Deploy using Omnibus
Deploy using Kubernetes
Deploy on Red Hat
+ Set up an NGINX proxy
+ Set up TLS
Prepare for your Mattermost deployment
Deployment guides
- Deploy Mattermost Apps
+ Deploy Mattermost Apps
Upgrade Mattermost
Scale Mattermost
Deployment troubleshooting
@@ -40,8 +42,10 @@ Learn how to install, deploy, and scale Mattermost for teams and organizations o
* :doc:`Deploy using Omnibus ` - An entire Mattermost installation on a single server.
* :doc:`Deploy using Kubernetes ` - Install using the Mattermost Helm Chart or Operator and simplified updates.
* :doc:`Deploy on Red Hat ` - Support for all current Red Hat Enterprise Linux platforms with a tarball.
+* :doc:`Set up NGINX proxy ` - Learn how to configure Mattermost for HTTPS for deployments of more than 200 users.
+* :doc:`Set up TLS ` - Learn how to configure Mattermost for HTTPS for deployments of fewer than 200 concurrent users.
* :doc:`Deployment guides ` - for administrators who are ready to integrate Mattermost with their organization’s IT infrastructure.
-* :doc:`Deploy Mattermost Apps ` - Learn how to deploy Mattermost Apps to your server.
+* :doc:`Deploy Mattermost Apps ` - Learn how to deploy Mattermost Apps to your server.
* :doc:`Prepare for your Mattermost deployment ` - Review software and hardware requirements for Mattermost server, and plan out your Mattermost rollout.
* :doc:`Upgrade Mattermost ` - Learn how to stay up to date with the latest features and improvements.
* :doc:`Scale Mattermost ` - Learn how to scale and monitor your Mattermost deployment.
diff --git a/source/guides/get-help.rst b/source/guides/get-help.rst
index c1608498a0c..f5e931ccffd 100644
--- a/source/guides/get-help.rst
+++ b/source/guides/get-help.rst
@@ -42,6 +42,6 @@ Feedback
- `Propose a feature: `__ Vote for feature proposals or submit your feature ideas.
Enterprise support
-----------------
+------------------
Mattermost offers `support services `__ to our Enterprise customers, where Mattermost customers can make a `support request `__ to get help from our team.
\ No newline at end of file
diff --git a/source/guides/use-mattermost.rst b/source/guides/use-mattermost.rst
index dd227866ce8..433f684e613 100644
--- a/source/guides/use-mattermost.rst
+++ b/source/guides/use-mattermost.rst
@@ -4,9 +4,6 @@ Use Mattermost
.. include:: ../_static/badges/allplans-cloud-selfhosted.rst
:start-after: :nosearch:
-.. |lightbulb| image:: ../images/lightbulb-outline_F0336.svg
- :alt: Lightbulb icon.
-
This Mattermost end user documentation is designed for anyone looking to connect and collaborate in Mattermost, build repeatable, automated processes, and make Mattermost match your work preferences.
.. toctree::
diff --git a/source/guides/deploy-mm-aws.png b/source/images/deploy-mm-aws.png
similarity index 100%
rename from source/guides/deploy-mm-aws.png
rename to source/images/deploy-mm-aws.png
diff --git a/source/guides/deploy-third-party-aws.png b/source/images/deploy-third-party-aws.png
similarity index 100%
rename from source/guides/deploy-third-party-aws.png
rename to source/images/deploy-third-party-aws.png
diff --git a/source/images/keywords-highlighted.gif b/source/images/keywords-highlighted.gif
new file mode 100644
index 00000000000..5bbc17d7ba5
Binary files /dev/null and b/source/images/keywords-highlighted.gif differ
diff --git a/source/images/keywords-trigger-mentions.gif b/source/images/keywords-trigger-mentions.gif
new file mode 100644
index 00000000000..65b06faeaf6
Binary files /dev/null and b/source/images/keywords-trigger-mentions.gif differ
diff --git a/source/install/common-deploy-faq.rst b/source/install/common-deploy-faq.rst
new file mode 100644
index 00000000000..d0de2e3b4e1
--- /dev/null
+++ b/source/install/common-deploy-faq.rst
@@ -0,0 +1,31 @@
+:orphan:
+:nosearch:
+
+Why doesn't Mattermost start at system boot?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To have the Mattermost Server start at system boot, the systemd until file needs to be enabled. Run the following command:
+
+.. code-block:: none
+ :class: mm-code-block
+
+ sudo systemctl enable mattermost.service
+
+Why does Mattermost fail to start at system boot?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If your database is on the same system as your Mattermost Server, we recommend editing the default ``/lib/systemd/system/mattermost.service`` systemd unit file to add ``After=postgresql.service`` and ``BindsTo=postgresql.service`` to the ``[Unit]`` section.
+
+Can I run Mattermost without a proxy?
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Yes. Mattermost binds to 443 instead of 8065. The Mattermost binary requires the correct permissions to do that binding. You must activate the ``CAP_NET_BIND_SERVICE`` capability to allow the new Mattermost binary to bind to ports lower than 1024 by running the following command:
+
+.. code-block:: none
+ :class: mm-code-block
+
+ sudo setcap cap_net_bind_service=+ep ./mattermost/bin/mattermost
+
+.. note::
+
+ - We highly recommend using a proxy in front of Mattermost server for up to 200 concurrent users. If you have fewer than 200 concurrent users, you can `set up TLS `__. If you're exceeding 200 concurrent users, you'll need `a proxy `__, such as NGINX, in front of Mattermost to manage the traffic.
\ No newline at end of file
diff --git a/source/install/common-prod-deploy-docker.rst b/source/install/common-prod-deploy-docker.rst
index 3f332951bae..a049598cf0a 100644
--- a/source/install/common-prod-deploy-docker.rst
+++ b/source/install/common-prod-deploy-docker.rst
@@ -1,10 +1,14 @@
:orphan:
:nosearch:
+
.. This page is intentionally not accessible via the LHS navigation pane because it's common content included on other docs pages.
You'll need `Docker Engine `__ and `Docker Compose `__ (release 1.28 or later) Follow the steps in the `Mattermost Docker Setup README `__ or follow the steps below.
-Encountering issues with your Docker deployment? See the `Docker deployment troubleshooting `__ documentation for details.
+.. important::
+
+ - The production configuration results in two separate containers: one for the database and one for the application. An optional third container results when using NGINX for reverse proxy.
+ - Encountering issues with your Docker deployment? See the `Docker deployment troubleshooting `__ documentation for details.
1. In a terminal window, clone the repository and enter the directory.
diff --git a/source/install/desktop-msi-installer-and-group-policy-install.rst b/source/install/desktop-msi-installer-and-group-policy-install.rst
index 8817c9a5943..57080365bf9 100644
--- a/source/install/desktop-msi-installer-and-group-policy-install.rst
+++ b/source/install/desktop-msi-installer-and-group-policy-install.rst
@@ -6,7 +6,7 @@ Desktop MSI installer and group policy installation guides (beta)
.. include:: ../_static/badges/allplans-selfhosted.rst
:start-after: :nosearch:
-This guide provides steps to install the MSI and use Group Policies in Windows Professional or Enterprise. The MSI installer package can be downloaded `here `_.
+This guide provides steps to install the MSI and use Group Policies in Windows Professional or Enterprise. The MSI installer package can be downloaded `here `_.
.. note::
The Mattermost MSI installer and Group Policy (GPO) definitions are in Beta. If you are using this installer or GPOs and have feedback, particularly if you are an organization executing remote deployments, please contact us in the `MSI Installer channel on our Community server `_ or on our `community forum `_. We hope to promote this installer out of Beta when the known issues are addressed and we are confident that the various deployment scenarios expected in production environments are tested sufficiently with the help of organizations using this Beta. Feedback is highly appreciated.
@@ -27,9 +27,9 @@ Download group policy and MSI installer files
.. image:: ../images/desktop/msi_gpo/msi_gpo_installation_test_00002.png
:alt: Go to the mattermost/desktop repository on GitHub.
-3. Navigate to the release page for `version v5.5.1 `__ and download the appropriate installer for your version of Windows (32-bit vs. 64-bit).
+3. Navigate to the release page for `version v5.6.0 `__ and download the appropriate installer for your version of Windows (32-bit vs. 64-bit).
-4. Download the `source.zip `__ file as well to extract group policy files.
+4. Download the `source.zip `__ file as well to extract group policy files.
.. image:: ../images/desktop/msi_gpo/msi_gpo_installation_test_00003.png
:alt: In the mattermost/desktop repository on GitHub, go to the release page for the latest desktop release, then download the installer for your version of Windows. Download the source.zip file as well to extract group policy files.
@@ -37,12 +37,12 @@ Download group policy and MSI installer files
Install group policy files locally
-----------------------------------
-1. Browse to the folder the above files were downloaded to and unzip the ``desktop-5.5.1.zip`` file in place.
+1. Browse to the folder the above files were downloaded to and unzip the ``desktop-5.6.0.zip`` file in place.
.. image:: ../images/desktop/msi_gpo/msi_gpo_installation_test_00004.png
:alt: Go to the install download directory on your machine and unzip the ZIP file.
-2. Navigate to the unzipped ``desktop-5.5.1\resources\windows\gpo`` folder and copy the contents.
+2. Navigate to the unzipped ``desktop-5.6.0\resources\windows\gpo`` folder and copy the contents.
.. image:: ../images/desktop/msi_gpo/msi_gpo_installation_test_00005.png
:alt: Go to the \resources\windows\gpo directory and copy its contents.
@@ -140,7 +140,7 @@ Silent installation guide
Perform a silent installation of MSI by running the following command:
-``msiexec /i mattermost-desktop-v5.5.1-x64.msi /qn``
+``msiexec /i mattermost-desktop-v5.6.0-x64.msi /qn``
.. note::
You'll need to change this command as new versions of the Mattermost Desktop App are released.
diff --git a/source/install/download-latest-tarball.rst b/source/install/download-latest-tarball.rst
index 2552c854d1c..4febd48d0f5 100644
--- a/source/install/download-latest-tarball.rst
+++ b/source/install/download-latest-tarball.rst
@@ -15,7 +15,7 @@ Using ``wget``, download the Mattermost Server release you want to install.
- wget https://releases.mattermost.com/9.2.3/mattermost-9.2.3-linux-amd64.tar.gz
+ wget https://releases.mattermost.com/9.3.0/mattermost-9.3.0-linux-amd64.tar.gz
Copied to clipboard
diff --git a/source/install/faq_kubernetes.rst b/source/install/faq_kubernetes.rst
index f84114e18fd..5ad1b3150c4 100644
--- a/source/install/faq_kubernetes.rst
+++ b/source/install/faq_kubernetes.rst
@@ -1,9 +1,6 @@
:orphan:
:nosearch:
-Frequently Asked Questions
---------------------------
-
What's the difference between the Mattermost Operator and Helm Charts?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -38,7 +35,7 @@ Are environment variables supported?
Yes. However, ``config.json`` file settings will be overridden if the `$MM_SQLSETTINGS_DATASOURCE` environment variable is set. See the `Environment Variables `__ configuration settings documentation for details.
-Issues configuring Login with SAML on Kubernetes
+Issues configuring login with SAML on Kubernetes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For some SAML authentication configurations, ``502`` status code response can appear during login attempts due to requests being too large.
@@ -56,4 +53,4 @@ To fix this issue, configure an appropriate buffer size (8k or 16k should be suf
nginx.ingress.kubernetes.io/proxy-buffer-size: 16k
...
-Use caution when changing the buffer size as it may slightly impact NGINX performance. Exact values are machine-dependent.
+Use caution when changing the buffer size as it may slightly impact NGINX performance. Exact values are machine-dependent.
\ No newline at end of file
diff --git a/source/install/install-kubernetes.rst b/source/install/install-kubernetes.rst
index cbe6f341539..2be5da19291 100644
--- a/source/install/install-kubernetes.rst
+++ b/source/install/install-kubernetes.rst
@@ -8,9 +8,264 @@ Install Mattermost on Kubernetes
.. contents:: On this page
:backlinks: top
- :local:
-.. include:: common-prod-deploy-kubernetes.rst
- :start-after: :nosearch:
+You can install and deploy a production-ready Mattermost system on a Kubernetes cluster using the Mattermost Kubernetes Operator in practically any environment with less IT overhead and more automation.
+
+You'll need a `Kubernetes cluster `__ running version 1.16 or higher, Kubernetes CLI `kubectl `__ installed on local machine, and a basic understanding of Kubernetes concepts (such as deployments, pods) and actions (such as applying manifests, viewing pod logs). Running Mattermost in Kubernetes requires resources based on your total number of users. See the `Mattermost Kubernetes Operator `__ documentation to learn more about the minimum Kubernetes cluster resources Mattermost requires at different scales.
+
+.. tip::
+
+ - If you’re unsure about which environment you want to use for your Kubernetes cluster, we suggest using a managed service such as as `Amazon EKS `__, `Azure Kubernetes Service `__, `Google Kubernetes Engine `__, or `DigitalOcean Kubernetes `__.
+ - Looking for a quick way to evaluate Mattermost or to try out the latest Mattermost deployment? See this article for details on creating your own Mattermost instance on Kubernetes using Minicube: https://medium.com/@Erez.Tamam/create-your-own-mattermost-instance-on-kubernetes-in-10-minutes-d13f576ed794.
+
+Install the operators
+---------------------
+
+Operators are installed using ``kubectl``, and each operator is created in its own namespace. You can install and run multiple Mattermost installations in the same cluster using different namespaces.
+
+1. Install NGINX ingress controller by following the instructions `here `__.
+
+2. Install the Mattermost Operator:
+
+ .. code-block:: sh
+ :class: mm-code-block
+
+ kubectl create ns mattermost-operator
+
+ kubectl apply -n mattermost-operator -f https://raw.githubusercontent.com/mattermost/mattermost-operator/master/docs/mattermost-operator/mattermost-operator.yaml
+
+.. tip::
+
+ To install the operators using the Mattermost Operator Helm chart, follow the instructions `here `__.
+
+Deploy Mattermost
+-----------------
+
+1. (Mattermost Enterprise only) Create a Mattermost license secret by opening a text editor and creating a secret manifest containing the Mattermost license. Replace ``[LICENSE_FILE_CONTENTS]`` below with the contents of your Mattermost license file. Save the file as ``mattermost-license-secret.yaml``.
+
+ .. code-block:: yaml
+
+ apiVersion: v1
+ kind: Secret
+ metadata:
+ name: mattermost-license
+ type: Opaque
+ stringData:
+ license: [LICENSE_FILE_CONTENTS]
+
+2. Create an installation manifest file locally in a text editor by copying and pasting contenst from the Mattermost installation manifest, and adjusting fields for your configuration and environment.
+
+ .. code-block:: yaml
+
+ apiVersion: installation.mattermost.com/v1beta1
+ kind: Mattermost
+ metadata:
+ name: mm-example-full # Chose the desired name
+ spec:
+ size: 5000users # Adjust to your requirements
+ ingress:
+ enabled: true
+ host: example.mattermost-example.com # Adjust to your domain
+ annotations:
+ kubernetes.io/ingress.class: nginx
+ version: 6.0.1
+ licenseSecret: "" # If you have created secret in step 1, put its name here
+
+ Save the file as ``mattermost-installation.yaml``. While recommended file names are provided, your naming conventions may differ.
+
+ Some of the most commonly-used fields include:
+
+ .. csv-table::
+ :header: "Field", "Description", "Must Edit"
+
+ "metadata.name", "The name of your Mattermost as it will be shown in Kubernetes. The shorter the better.", "Yes"
+ "spec.size", "The size of your installation. This can be '100users', '1000users, '5000users', '10000users', or '25000users'.", "Yes"
+ "spec.ingress.host", "The DNS for your Mattermost installation.", "Yes"
+ "spec.version", "The Mattermost version.", "No"
+ "spec.licenseSecret", "The name of the Kubernetes secret containing your license (e.g. mattermost-license). Required for Enterprise deployments.", "No"
+ "spec.mattermostEnv", "List of custom environment variables for the Mattermost instance.", "No"
+
+ Additional fields are documented `in the example `__.
+ If you have previous experience with Kubernetes Custom Resources, you can also check the `Custom Resource Definition `__.
+
+3. Create external database secret.
+
+ The database secret needs to be created in the namespace that will hold the Mattermost installation. The secret should contain the following data:
+
+ .. csv-table::
+ :header: "Key", "Description", "Required"
+
+ "DB_CONNECTION_STRING", "Connection string to the database.", "Yes"
+ "MM_SQLSETTINGS_DATASOURCEREPLICAS", "Connection string to read replicas of the database.", "No"
+ "DB_CONNECTION_CHECK_URL", "The URL used for checking that the database is accessible.", "No"
+
+ Example secret for AWS Aurora compatible with PostgreSQL:
+
+ .. code-block:: yaml
+
+ apiVersion: v1
+ data:
+ DB_CONNECTION_CHECK_URL: cG9zdGdyZXM6Ly91c2VyOnN1cGVyX3NlY3JldF9wYXNzd29yZEBteS1kYXRhYmFzZS5jbHVzdGVyLWFiY2QudXMtZWFzdC0xLnJkcy5hbWF6b25hd3MuY29tOjU0MzIvbWF0dGVybW9zdD9jb25uZWN0X3RpbWVvdXQ9MTAK
+ DB_CONNECTION_STRING: cG9zdGdyZXM6Ly91c2VyOnN1cGVyX3NlY3JldF9wYXNzd29yZEBteS1kYXRhYmFzZS5jbHVzdGVyLWFiY2QudXMtZWFzdC0xLnJkcy5hbWF6b25hd3MuY29tOjU0MzIvbWF0dGVybW9zdD9jb25uZWN0X3RpbWVvdXQ9MTAK
+ MM_SQLSETTINGS_DATASOURCEREPLICAS: cG9zdGdyZXM6Ly91c2VyOnN1cGVyX3NlY3JldF9wYXNzd29yZEBteS1kYXRhYmFzZS5jbHVzdGVyLXJvLWFiY2QudXMtZWFzdC0xLnJkcy5hbWF6b25hd3MuY29tOjU0MzIvbWF0dGVybW9zdD9jb25uZWN0X3RpbWVvdXQ9MTAK
+ kind: Secret
+ metadata:
+ name: my-postgres-connection
+ type: Opaque
+
+ .. note::
+
+ - For PostgreSQL databases, the connection is checked with `pg_isready `__ so the ``DB_CONNECTION_CHECK_URL`` is the same as connection string.
+
+4. Create external filestore secret.
+
+ The filestore secret needs to be created in the namespace that will hold the Mattermost installation. The secret should contain the following data:
+
+ .. csv-table::
+ :header: "Key", "Description", "Required"
+
+ "accesskey", "Filestore access key.", "Yes"
+ "secretkey", "Filestore secret key.", "Yes"
+
+ Example secret for AWS S3:
+
+ .. code-block:: yaml
+
+ apiVersion: v1
+ data:
+ accesskey: QUNDRVNTX0tFWQo=
+ secretkey: U1VQRVJfU0VDUkVUX0tFWQo=
+ kind: Secret
+ metadata:
+ name: my-s3-iam-access-key
+ type: Opaque
+
+5. Adjust installation manifest.
+
+ To instruct Mattermost Operator to use the external database, modify Mattermost manifest by adding the following fields:
+
+ .. code-block:: yaml
+
+ spec:
+ ...
+ database:
+ external:
+ secret: my-postgres-connection
+
+ To instruct Mattermost Operator to use the external filestore, modify Mattermost manifest by adding the following fields:
+
+ .. code-block:: yaml
+
+ spec:
+ ...
+ fileStore:
+ external:
+ url: s3.amazonaws.com
+ bucket: my-s3-bucket
+ secret: my-s3-iam-access-key
+
+ Additionally when using Amazon S3, set the ``MM_FILESETTINGS_AMAZONS3SSE`` and ``MM_FILESETTINGS_AMAZONS3SSL`` environment variables to ``true``:
+
+ .. code-block:: yaml
+
+ spec:
+ ...
+ mattermostEnv:
+ ...
+ - name: MM_FILESETTINGS_AMAZONS3SSE
+ value: "true"
+ - name: MM_FILESETTINGS_AMAZONS3SSL
+ value: "true"
+
+ Example Mattermost manifest configured with both external databases and filestore:
+
+ .. code-block:: yaml
+
+ apiVersion: installation.mattermost.com/v1beta1
+ kind: Mattermost
+ metadata:
+ name: mm-example-external-db
+ spec:
+ size: 5000users
+ ingress:
+ enabled: true
+ host: example.mattermost-example.com
+ annotations:
+ kubernetes.io/ingress.class: nginx
+ version: 6.0.1
+ licenseSecret: ""
+ database:
+ external:
+ secret: my-postgres-connection
+ fileStore:
+ external:
+ url: s3.amazonaws.com
+ bucket: my-s3-bucket
+ secret: my-s3-iam-access-key
+ mattermostEnv:
+ - name: MM_FILESETTINGS_AMAZONS3SSE
+ value: "true"
+ - name: MM_FILESETTINGS_AMAZONS3SSL
+ value: "true"
+
+6. Apply the installation manifest file. Manifests are applied with ``kubectl``. Before running the commands make sure you are connected to your Kubernetes cluster.
+
+ a. Create the Mattermost namespace:
+
+ .. code-block:: sh
+ :class: mm-code-block
+
+ kubectl create ns mattermost
+
+ b. (Mattermost Enterprise only) apply the license file by specifying the path to the file you created in step 1:
+
+ .. code-block:: sh
+ :class: mm-code-block
+
+ kubectl apply -n mattermost -f [PATH_TO_LICENCE_SECRET_MANIFEST]
+
+ c. Apply the installation file by specifying the path to the file you created in step 2:
+
+ .. code-block:: sh
+ :class: mm-code-block
+
+ kubectl apply -n mattermost -f [PATH_TO_MATTERMOST_MANIFEST]
+
+ The deployment process can be monitored in the Kubernetes user interface or in command line by running:
+
+ .. code-block:: sh
+ :class: mm-code-block
+
+ kubectl -n mattermost get mm -w
+
+ The installation should be deployed successfully, when the Custom Resource reaches the ``stable`` state.
+
+7. Configure DNS and use Mattermost.
+
+ a. When the deployment is complete, obtain the hostname or IP address of your Mattermost deployment using the following command:
+
+ .. code-block:: sh
+ :class: mm-code-block
+
+ kubectl -n mattermost get ingress
+
+ b. Copy the resulting hostname or IP address from the ``ADDRESS`` column, open your browser, and connect to Mattermost.
+
+ c. Use your domain registration service to create a canonical name or IP address record for the ``ingress.host`` in your manifest, pointing to the address you just copied. For example, on AWS you would do this within a hosted zone in Route53.
+
+ d. Navigate to the ``ingress.host`` URL in your browser and use Mattermost.
+
+.. note::
+
+ If you just want to try it out on your local machine without configuring the domain, run the following command, and then navigate to http://localhost:8065.
+
+ .. code-block:: sh
+ :class: mm-code-block
+
+ kubectl -n mattermost port-forward svc/[YOUR_MATTERMOST_NAME] 8065:8065
+
+Frequently asked questions
+--------------------------
-.. move the source content of common-prod-deploy-kubernetes to this page so that the mini-toc can build by walking the page for headings
\ No newline at end of file
+.. include:: faq_kubernetes.rst
+ :start-after: :nosearch:
\ No newline at end of file
diff --git a/source/install/install-nginx.rst b/source/install/install-nginx.rst
index 9a169d73335..c9fe83c642e 100644
--- a/source/install/install-nginx.rst
+++ b/source/install/install-nginx.rst
@@ -7,7 +7,7 @@ Install NGINX server
--------------------
NGINX is a popular web server and is responsible for hosting some of the largest and highest-traffic sites on the internet. It's more resource-friendly than Apache in most cases, and can be used as a web server or reverse proxy.
-In a production setting, use a proxy server for greater security and performance of Mattermost.
+In a production setting, we recommend using a proxy server for greater security and performance of Mattermost.
- SSL termination
- HTTP to HTTPS redirect
diff --git a/source/install/install-rhel-8.rst b/source/install/install-rhel-8.rst
index 3eca7ee6562..2b4596ffb36 100644
--- a/source/install/install-rhel-8.rst
+++ b/source/install/install-rhel-8.rst
@@ -103,32 +103,5 @@ You may also remove the Mattermost systemd unit file and the user/group created
Frequently asked questions
--------------------------
-Why doesn't Mattermost start at system boot?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To have the Mattermost Server start at system boot, the systemd until file needs to be enabled. Run the following command:
-
-.. code-block:: none
- :class: mm-code-block
-
- sudo systemctl enable mattermost.service
-
-Why does Mattermost fail to start at system boot?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If your database is on the same system as your Mattermost Server, we recommend editing the default ``/lib/systemd/system/mattermost.service`` systemd unit file to add ``After=postgresql.service`` and ``BindsTo=postgresql.service`` to the ``[Unit]`` section.
-
-Can I run Mattermost without a proxy?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Yes. Mattermost binds to 443 instead of 8065. The Mattermost binary requires the correct permissions to do that binding. You must activate the ``CAP_NET_BIND_SERVICE`` capability to allow the new Mattermost binary to bind to ports lower than 1024 by running the following command:
-
-.. code-block:: none
- :class: mm-code-block
-
- sudo setcap cap_net_bind_service=+ep ./mattermost/bin/mattermost
-
-.. note::
-
- - We recommend the `Mattermost Omnibus install method `__ over the tarball if you are running the Mattermost Server and database a single system as this greatly reduces setup and ongoing maintenance.
- - We highly recommend using a proxy in front of Mattermost server.
\ No newline at end of file
+.. include:: common-deploy-faq.rst
+ :start-after: :nosearch:
\ No newline at end of file
diff --git a/source/install/install-tar.rst b/source/install/install-tar.rst
index 5e35ce68733..6078fe30568 100644
--- a/source/install/install-tar.rst
+++ b/source/install/install-tar.rst
@@ -95,32 +95,5 @@ You may also remove the Mattermost systemd unit file and the user/group created
Frequently asked questions
--------------------------
-Why doesn't Mattermost start at system boot?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To have the Mattermost Server start at system boot, the systemd until file needs to be enabled. Run the following command:
-
-.. code-block:: none
- :class: mm-code-block
-
- sudo systemctl enable mattermost.service
-
-Why does Mattermost fail to start at system boot?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If your database is on the same system as your Mattermost Server, we recommend editing the default ``/lib/systemd/system/mattermost.service`` systemd unit file to add ``After=postgresql.service`` and ``BindsTo=postgresql.service`` to the ``[Unit]`` section.
-
-Can I run Mattermost without a proxy?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Yes. However, like NGINX, in place, Mattermost binds to 443 instead of 8065. The Mattermost binary requires the correct permissions to do that binding. You must activate the ``CAP_NET_BIND_SERVICE`` capability to allow the new Mattermost binary to bind to ports lower than 1024 by running the following command:
-
-.. code-block:: none
- :class: mm-code-block
-
- sudo setcap cap_net_bind_service=+ep ./mattermost/bin/mattermost
-
-.. note::
-
- - We don't recommend deploying Mattermost on a single server unless you have fewer than 200 users.
- - We recommend the `Mattermost Omnibus install method `__ over the tarball if you are running the Mattermost Server and database a single system as this greatly reduces setup and ongoing maintenance.
\ No newline at end of file
+.. include:: common-deploy-faq.rst
+ :start-after: :nosearch:
\ No newline at end of file
diff --git a/source/install/install-ubuntu.rst b/source/install/install-ubuntu.rst
index e2c297accc1..c5460e09e54 100644
--- a/source/install/install-ubuntu.rst
+++ b/source/install/install-ubuntu.rst
@@ -163,36 +163,5 @@ If you wish to remove the Mattermost Server for any reason, you can run this com
Frequently asked questions
--------------------------
-Why doesn't Mattermost start at system boot?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-To have the Mattermost Server start at system boot, the systemd until file needs to be enabled. Run the following command:
-
-.. code-block:: none
- :class: mm-code-block
-
- sudo systemctl enable mattermost.service
-
-Why does Mattermost fail to start at system boot?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If your database is on the same system as your Mattermost Server, we recommend editing the default ``/lib/systemd/system/mattermost.service`` systemd unit file to add ``After=postgresql.service`` and ``BindsTo=postgresql.service`` to the ``[Unit]`` section.
-
-.. note::
-
- We recommend the `Mattermost Omnibus install method `__ over the ``deb`` signed package if you are running the Mattermost Server and database on a single system as this greatly reduces setup and ongoing maintenance.
-
-Can I run Mattermost without a proxy?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Yes. Mattermost binds to 443 instead of 8065. The Mattermost binary requires the correct permissions to do that binding. You must activate the ``CAP_NET_BIND_SERVICE`` capability to allow the new Mattermost binary to bind to ports lower than 1024 by running the following command:
-
-.. code-block:: none
- :class: mm-code-block
-
- sudo setcap cap_net_bind_service=+ep ./mattermost/bin/mattermost
-
-.. note::
-
- - We recommend the `Mattermost Omnibus install method `__ over the tarball if you are running the Mattermost Server and database a single system as this greatly reduces setup and ongoing maintenance.
- - We highly recommend using a proxy in front of Mattermost server.
+.. include:: common-deploy-faq.rst
+ :start-after: :nosearch:
\ No newline at end of file
diff --git a/source/install/installing-ubuntu-1804-LTS.rst b/source/install/installing-ubuntu-1804-LTS.rst
index eac9f0fca13..68b21a26eff 100644
--- a/source/install/installing-ubuntu-1804-LTS.rst
+++ b/source/install/installing-ubuntu-1804-LTS.rst
@@ -37,8 +37,7 @@ Install a production-ready Mattermost system on 1 to 3 machines.
.. include:: config-mattermost-server.rst
:start-after: :nosearch:
-.. include:: config-tls-mattermost.rst
- :start-after: :nosearch:
+
.. include:: install-nginx.rst
:start-after: :nosearch:
diff --git a/source/install/setup-nginx-proxy.rst b/source/install/setup-nginx-proxy.rst
new file mode 100644
index 00000000000..e0646e0fe71
--- /dev/null
+++ b/source/install/setup-nginx-proxy.rst
@@ -0,0 +1,14 @@
+Set up an NGINX proxy
+=====================
+
+.. include:: ../_static/badges/allplans-selfhosted.rst
+ :start-after: :nosearch:
+
+.. include:: install-nginx.rst
+ :start-after: :nosearch:
+
+.. include:: config-proxy-nginx.rst
+ :start-after: :nosearch:
+
+.. include:: config-ssl-http2-nginx.rst
+ :start-after: :nosearch:
diff --git a/source/install/setup-tls.rst b/source/install/setup-tls.rst
new file mode 100644
index 00000000000..af270fc2162
--- /dev/null
+++ b/source/install/setup-tls.rst
@@ -0,0 +1,8 @@
+Set up TLS
+==========
+
+.. include:: ../_static/badges/allplans-selfhosted.rst
+ :start-after: :nosearch:
+
+.. include:: config-tls-mattermost.rst
+ :start-after: :nosearch:
\ No newline at end of file
diff --git a/source/install/software-hardware-requirements.rst b/source/install/software-hardware-requirements.rst
index a7def4a33e5..e389a5c05c0 100644
--- a/source/install/software-hardware-requirements.rst
+++ b/source/install/software-hardware-requirements.rst
@@ -49,8 +49,8 @@ PC web
.. csv-table::
:header: "Browser", "Self-Hosted Technical Requirement", "Cloud Technical Requirement"
- "Chrome", "v116+", "v116+"
- "Firefox", "v102+", "v102+"
+ "Chrome", "v118+", "v118+"
+ "Firefox", "v115+", "v115+"
"Safari", "v16.2+", "v16.2+"
"Edge", "v116+", "v116+"
diff --git a/source/manage/common-support-packet.rst b/source/manage/common-support-packet.rst
index b286463eb51..4e6b431d293 100644
--- a/source/manage/common-support-packet.rst
+++ b/source/manage/common-support-packet.rst
@@ -1,6 +1,6 @@
:nosearch:
-Use the System Console to generate a Mattermost Support Packet that includes configuration information, logs, plugin details, and data on external dependencies. Confidential data, such as passwords, are automatically stripped.
+Use the System Console to generate a Mattermost Support Packet that includes configuration information, logs, plugin details, trial Enterprise flag, and data on external dependencies. Confidential data, such as passwords, are automatically stripped.
.. note::
@@ -46,6 +46,6 @@ The Support Packet contains 3 go runtime profiling files:
- ``heap.prof`` contains a heap profile
- ``goroutines`` contains a dump of all the running go routines
-These files can be read using `pprof `_.
+These files can be read using `pprof `__.
Use ``go tool pprof -web X`` to open a visualization of the profile in your browser, replacing ``X`` with the profile's file name.
diff --git a/source/manage/generating-support-packet.rst b/source/manage/generating-support-packet.rst
index 0ff4ae9941d..4e10166f79d 100644
--- a/source/manage/generating-support-packet.rst
+++ b/source/manage/generating-support-packet.rst
@@ -1,7 +1,7 @@
Generating a support packet
===========================
-.. include:: ../_static/badges/ent-pro-cloud-selfhosted.rst
+.. include:: ../_static/badges/ent-pro-selfhosted.rst
:start-after: :nosearch:
*Available in legacy Mattermost Enterprise Edition E10 and E20*
diff --git a/source/manage/mmctl-command-line-tool.rst b/source/manage/mmctl-command-line-tool.rst
index 7b513d90dfd..bd5776f0ece 100644
--- a/source/manage/mmctl-command-line-tool.rst
+++ b/source/manage/mmctl-command-line-tool.rst
@@ -19,7 +19,7 @@ mmctl usage notes
- We recommend you add the path to the Mattermost ``bin`` folder into your ``$PATH`` environment variable. This ensures that you can run mmctl commands locally regardless of your current directory location.
- If the ``bin`` directory is not added to the ``$PATH`` environment variable, each time you use mmctl you must be in the ``bin`` directory to run mmctl commands, and the commands must be prefixed with ``./``. If you're working from a different directory, make sure you specify the full path to mmctl when running mmctl commands.
- Parameters in mmctl commands are order-specific.
-- You can use the ``--local`` flag with mmctl commands to run them without authentication by allowing communicating with the server through a Unix socket. See the `local mode `__ documentation for activation and usage details.
+- You can use the ``--local`` flag with mmctl commands to run them without authentication by allowing communicating with the server through a Unix socket. See the `local mode <#local-mode>`__ documentation for activation and usage details.
- If special characters (``!``, ``|``, ``(``, ``)``, ``\``, ``'``, and ``"``) are used, the entire argument needs to be surrounded by single quotes (e.g. ``-password 'mypassword!'``, or the individual characters need to be escaped out (e.g. ``password mypassword\!``).
- Team name and channel name refer to the handles, not the display names. So in the URL ``https://community.mattermost.com/core/channels/town-square`` team name would be ``core`` and channel name would be ``town-square``.
@@ -40,7 +40,7 @@ mmctl commands
- `mmctl group team`_ - Team Group Management
- `mmctl group user`_ - Custom User Group Management
- `mmctl import`_ - Import Management
-- `mmctl integrity`_ - Database Record Integrity
+- `mmctl integrity`_ - (Deprecated) Database Record Integrity
- `mmctl ldap`_ - LDAP Management
- `mmctl license`_ - License Management
- `mmctl logs`_ - Log Management
@@ -834,7 +834,7 @@ Manage channels.
- `mmctl channel create`_ - Create a channel
- `mmctl channel delete`_ - Delete a channel
- `mmctl channel list`_ - List all channels on specified teams
- - `mmctl channel make-private`_ - Set a channel's type to "private" (Deprecated)
+ - `mmctl channel make-private`_ - (Deprecated) Set a channel's type to "private"
- `mmctl channel modify`_ - Modify a channel's type (private/public)
- `mmctl channel move`_ - Move channels to the specified team
- `mmctl channel rename`_ - Rename a channel
@@ -1021,7 +1021,7 @@ List all Public, Private, and archived channels on specified teams. Archived cha
mmctl channel make-private
~~~~~~~~~~~~~~~~~~~~~~~~~~
-This command is deprecated in favour of using `mmctl channel modify `__ and the ``--private`` flag instead.
+This command is deprecated in favour of `mmctl channel modify `__ and the ``--private`` flag.
**Description**
@@ -1187,7 +1187,7 @@ Rename an existing channel.
mmctl channel restore
~~~~~~~~~~~~~~~~~~~~~
-Deprecated in favor of `mmctl channel unarchive`_. Not used in Mattermost Server version v5.26 and later.
+This command is deprecated in favor of `mmctl channel unarchive`_. Not used in Mattermost Server version v5.26 and later.
**Description**
@@ -1520,7 +1520,7 @@ Create a custom slash command for the specified team.
mmctl command delete
~~~~~~~~~~~~~~~~~~~~
-Deprecated in favor of `mmctl command archive`_.
+This command is deprecated in favor of `mmctl command archive`_.
**Description**
@@ -3556,7 +3556,7 @@ mmctl integrity
**Description**
-Perform a relational integrity check which returns information about any orphaned record found. This command can only be run using local mode.
+This command is deprecated from Mattermost v9.3. Performs a relational integrity check which returns information about any orphaned record found. This command can only be run using `local mode <#local-mode>`__.
**Format**
@@ -5932,7 +5932,7 @@ mmctl user deleteall
**Description**
-Permanently delete all users and all related information including posts. This command can only be run in local mode.
+Permanently delete all users and all related information including posts. This command can only be run in `local mode <#local-mode>`__.
**Format**
diff --git a/source/manage/telemetry.rst b/source/manage/telemetry.rst
index 2a1773f8897..f68eff786b5 100644
--- a/source/manage/telemetry.rst
+++ b/source/manage/telemetry.rst
@@ -89,7 +89,7 @@ Server Configuration Settings
**Type values (enumerated integer and enumerated boolean)**
- **ServiceSettings**: enum WebserverMode, bool EnableSecurityFixAlert, bool EnableInsecureOutgoingConnections, bool EnableIncomingWebhooks, bool EnableOutgoingWebhooks, bool EnableCommands, bool EnableDeveloper, bool EnableOnlyAdminIntegrations, bool EnablePostUsernameOverride, bool EnablePostIconOverride, bool EnableCustomEmoji, enum RestrictCustomEmojiCreation, bool EnableTesting, bool DeveloperFlags, bool EnableClientPerformanceDebugging, bool EnableMultifactorAuthentication, bool EnableOAuthServiceProvider, enum ConnectionSecurity, bool UseLetsEncrypt, bool Forward80To443, enum ConnectionSecurity, bool TLSStrictTransport, bool EnforceMultifactorAuthentication, enum RestrictPostDelete, bool AllowEditPost, bool EnableUserTypingMessages, bool EnablePostSearch, bool EnableUserStatuses, bool EnableChannelViewMessages, bool EnableEmojiPicker, bool EnableGifPicker, bool EnableAuthenticationTransfer, enum TeammateNameDisplay, bool EnableUserAccessTokens, enum MaximumLoginAttempts, bool ExtendSessionLengthWithActivity, enum SessionLengthWebInHours, enum SessionLengthMobileInHours, enum SessionLengthSSOInHours, int SessionCacheInMinutes, enum SessionIdleTimeoutInMinutes, enum PostEditTimeLimit, enum TimeBetweenUserTypingUpdatesMilliseconds, enum ClusterLogTimeoutMilliseconds, bool CloseUnusedDirectMessages, bool EnablePreviewFeatures, bool EnableTutorial, bool EnableOnboarding, bool ExperimentalEnableDefaultChannelLeaveJoinMessages, bool ExperimentalGroupUnreadChannels, bool AllowCookiesForSubdomains, bool EnableAPITeamDeletion, bool EnableAPITriggerAdminNotifications, bool EnableAPIUserDeletion, bool EnableAPIChannelDeletion, bool ExperimentalEnableHardenedMode, bool DisableLegacyMFA, bool ExperimentalStrictCSRFEnforcement, bool EnableEmailInvitations, bool ExperimentalChannelOrganization, bool ExperimentalChannelSidebarOrganization, bool EnableLegacySidebar, bool CorsAllowCredentials, bool CorsDebug, bool DisableBotsWhenOwnerIsDeactivated, bool EnableBotAccountCreation, bool RestrictLinkPreviews, bool EnablePermalinkPreviews, bool EnableSVGs, bool EnableLatex, bool EnableInlineLatex, bool EnableOpenTracing, bool Directory, bool RetentionDays, bool ExperimentalDataPrefetch, bool EnableLocalMode; **TeamSettings**: bool EnableUserCreation, bool EnableTeamCreation, bool RestrictTeamNames, enum RestrictTeamInvite, enum RestrictPublicChannelManagement, enum RestrictPrivateChannelManagement, enum RestrictPublicChannelCreation, enum RestrictPrivateChannelCreation, enum RestrictPublicChannelDeletion, enum RestrictPrivateChannelDeletion, enum RestrictPrivateChannelManageMembers, bool EnableOpenServer, bool EnableUserDeactivation, bool EnableCustomBrand, bool RestrictDirectMessage, enum MaxNotificationsPerChannel, bool EnableConfirmNotificationsToChannel; enum MaxUsersPerTeam, enum MaxChannelsPerTeam, bool EnableJoinLeaveMessageByDefault, bool EnableCustomUserStatuses, bool EnableLastActiveTime, bool ExperimentalTownSquareIsReadOnly, bool ExperimentalHideTownSquareinLHS, bool EnableXToLeaveChannelsFromLHS, bool ExperimentalEnableAutomaticReplies, bool ExperimentalViewArchivedChannels, bool LockTeammateNameDisplay, bool MaxFieldSize; **ClientRequirementSettings**: enum AndroidLatestVersion, enum AndroidMinVersion, enum DesktopLatestVersion, enum DesktopMinVersion, enum IosLatestVersion, enum IosMinVersion; **DisplaySettings**: bool ExperimentalTimezone; **GuestAccountsSettings**: bool Enable, bool AllowEmailAccounts, bool EnforceMultifactorAuthentication; **SqlSettings**: enum DriverName, bool Trace, enum MaxIdleConns, enum ConnMaxIdleTimeMilliseconds, bool ConnMaxLifetimeMilliseconds; enum MaxOpenC onns, enum QueryTimeout, bool DisableDatabaseSearch; **LogSettings**: bool EnableConsole, enum ConsoleLevel, bool ConsoleJson, bool EnableFile, enum FileLevel, bool FileJson, bool EnableWebhookDebugging; **NotificationLogSettings**: bool EnableConsole, bool ConsoleLevel, bool ConsoleJson, bool EnableFile, bool FileLevel, bool FileJson **PasswordSettings**: bool Lowercase, bool Number, bool Uppercase, bool Symbol, enum MinimumLength; **FileSettings**: bool EnablePublicLink, enum DriverName, enum MaxFileSize, enum FileSettings.MaxImageResolution, enum MaxImageDecoderConcurrency, bool FileSettings.ExtractContent, bool FileSettings.ArchiveRecursion, bool AmazonS3SSL, bool AmazonS3SignV2, bool AmazonS3SSE, bool AmazonS3Trace, bool EnableFileAttachments, bool EnableMobileUpload, bool EnableMobileDownload; **EmailSettings**: bool EnableSignUpWithEmail, bool EnableSignInWithEmail, bool EnableSignInWithUsername, bool RequireEmailVerification, bool SendEmailNotifications, bool UseChannelInEmailNotifications, bool EmailNotificationContentsType, bool EnableSMTPAuth, enum ConnectionSecurity, bool SendPushNotifications, enum PushNotificationContents, bool EnableEmailBatching, bool SkipServerCertificateVerification, enum EmailBatchingBufferSize, enum EmailBatchingInterval, bool EnablePreviewModeBanner, enum SMTPServerTimeout; **MessageExportSettings**: bool DownloadExportResults; **RateLimitSettings**: bool EnableRateLimiter, bool VaryByRemoteAddr, bool VaryByUser, enum PerSec, enum MaxBurst, enum MemoryStoreSize; **PrivacySettings**: bool ShowEmailAddress, bool ShowFullName; **ThemeSettings**: bool EnableThemeSelection, bool AllowCustomThemes; **GitLabSettings**: bool Enable; **GoogleSettings**: bool Enable; **Office365Settings**: bool Enable; **SupportSettings**: bool CustomTermsOfServiceEnabled; enum CustomTermsOfServiceReAcceptancePeriod; **LdapSettings**: bool Enable, bool EnableSync, enum ConnectionSecurity, bool SkipCertificateVerification, enum SyncIntervalMinutes, enum QueryTimeout, enum MaxPageSize, bool EnableAdminFilter; **ComplianceSettings**: bool Enable, bool EnableDaily; **LocalizationSettings**: enum DefaultServerLocale, enum DefaultClientLocale, enum AvailableLocales; **SamlSettings**: bool Enable, bool EnableSyncWithLdap, bool IgnoreGuestsLdapSync, bool EnableSyncWithLdapIncludeAuth, bool Verify, bool Encrypt, bool SignRequest, bool EnableAdminFilter; **ClusterSettings**: bool Enable, bool UseIpAddress, bool UseExperimentalGossip, bool ReadOnlyConfig, bool EnableExperimentalGossipEncryption, bool EnableGossipCompression; **MetricsSettings**: bool Enable, enum BlockProfileRate; **WebrtcSettings** (only in v5.5 and earlier): bool Enable; **ExperimentalSettings** bool ClientSideCertEnable, bool EnablePostMetadata, bool LinkMetadataTimeoutMilliseconds, bool EnableClickToReply, bool RestrictSystemAdmin, bool UseNewSAMLLibrary, bool CloudBilling, bool RemoteClusters, bool EnableSharedChannels, bool EnableRemoteClusterService, bool PatchPluginsReactDOM, bool Disableappbar, bool AllowSyncedDrafts; **AnnouncementSettings**: bool EnableBanner, bool AllowBannerDismissal, bool AdminNoticesEnabled, bool UserNoticesEnabled; **ElasticsearchSettings**: bool EnableIndexing, bool EnableSearching, bool Sniff, enum PostIndexReplicas, enum PostIndexShards, enum LiveIndexingBatchSize, enum BatchSize, enum RequestTimeoutSeconds, bool SkipTLSVerification, bool Trace; **PluginSettings**: bool Enable, bool EnableUploads, bool EnableHealthCheck, bool EnableMarketplace, bool EnableRemoteMarketplace, bool AutomaticPrepackagedPlugins, bool RequirePluginSignature; **DataRetentionSettings**: bool EnableMessageDeletion, bool MessageRetentionDays, bool AllowInsecureDownloadUrl, bool EnableFileDeletion, bool FileRetentionDays, enum DeletionJobStartTime; **MessageExportSettings**: bool EnableExport, enum ExportFormat, enum DailyRunTime, enum ExportFromTimestamp, enum BatchSize, enum GlobalRelaySettings.CustomerType; **ExperimentalAuditSettings**: bool SysLogEnabled, bool SysLogInsecure, enum SysLogMaxQueueSize, bool FileEnabled, enum FileMaxSizeMB, enum FileMaxAgeDays, bool FileMaxBackups, bool FileCompress, enum FileMaxQueueSize; **BleveSettings**: bool EnableIndexing, bool EnableSearching, bool EnableAutocomplete, enum BatchSize; bool FeatureFlags
+ **ServiceSettings**: enum WebserverMode, bool EnableSecurityFixAlert, bool EnableInsecureOutgoingConnections, bool EnableIncomingWebhooks, bool EnableOutgoingWebhooks, bool EnableCommands, bool EnableDeveloper, bool EnableOnlyAdminIntegrations, bool EnablePostUsernameOverride, bool EnablePostIconOverride, bool EnableCustomEmoji, enum RestrictCustomEmojiCreation, bool EnableTesting, bool DeveloperFlags, bool EnableClientPerformanceDebugging, bool EnableMultifactorAuthentication, bool EnableOAuthServiceProvider, enum ConnectionSecurity, bool UseLetsEncrypt, bool Forward80To443, enum ConnectionSecurity, bool TLSStrictTransport, bool EnforceMultifactorAuthentication, enum RestrictPostDelete, bool AllowEditPost, bool EnableUserTypingMessages, bool EnablePostSearch, bool EnableUserStatuses, bool EnableChannelViewMessages, bool EnableEmojiPicker, bool EnableGifPicker, bool EnableAuthenticationTransfer, enum TeammateNameDisplay, bool EnableUserAccessTokens, enum MaximumLoginAttempts, bool ExtendSessionLengthWithActivity, enum SessionLengthWebInHours, enum SessionLengthMobileInHours, enum SessionLengthSSOInHours, int SessionCacheInMinutes, enum SessionIdleTimeoutInMinutes, enum PostEditTimeLimit, enum TimeBetweenUserTypingUpdatesMilliseconds, enum ClusterLogTimeoutMilliseconds, bool CloseUnusedDirectMessages, bool EnablePreviewFeatures, bool EnableTutorial, bool EnableOnboarding, bool ExperimentalEnableDefaultChannelLeaveJoinMessages, bool ExperimentalGroupUnreadChannels, bool AllowCookiesForSubdomains, bool EnableAPITeamDeletion, bool EnableAPITriggerAdminNotifications, bool EnableAPIUserDeletion, bool EnableAPIChannelDeletion, bool ExperimentalEnableHardenedMode, bool DisableLegacyMFA, bool ExperimentalStrictCSRFEnforcement, bool EnableEmailInvitations, bool ExperimentalChannelOrganization, bool ExperimentalChannelSidebarOrganization, bool EnableLegacySidebar, bool CorsAllowCredentials, bool CorsDebug, bool DisableBotsWhenOwnerIsDeactivated, bool EnableBotAccountCreation, bool RestrictLinkPreviews, bool EnablePermalinkPreviews, bool EnableSVGs, bool EnableLatex, bool EnableInlineLatex, bool EnableOpenTracing, bool Directory, bool RetentionDays, bool ExperimentalDataPrefetch, bool EnableLocalMode; **TeamSettings**: bool EnableUserCreation, bool EnableTeamCreation, bool RestrictTeamNames, enum RestrictTeamInvite, enum RestrictPublicChannelManagement, enum RestrictPrivateChannelManagement, enum RestrictPublicChannelCreation, enum RestrictPrivateChannelCreation, enum RestrictPublicChannelDeletion, enum RestrictPrivateChannelDeletion, enum RestrictPrivateChannelManageMembers, bool EnableOpenServer, bool EnableUserDeactivation, bool EnableCustomBrand, bool RestrictDirectMessage, enum MaxNotificationsPerChannel, bool EnableConfirmNotificationsToChannel; enum MaxUsersPerTeam, enum MaxChannelsPerTeam, bool EnableJoinLeaveMessageByDefault, bool EnableCustomUserStatuses, bool EnableLastActiveTime, bool ExperimentalTownSquareIsReadOnly, bool ExperimentalHideTownSquareinLHS, bool EnableXToLeaveChannelsFromLHS, bool ExperimentalEnableAutomaticReplies, bool ExperimentalViewArchivedChannels, bool LockTeammateNameDisplay, bool MaxFieldSize; **ClientRequirementSettings**: enum AndroidLatestVersion, enum AndroidMinVersion, enum DesktopLatestVersion, enum DesktopMinVersion, enum IosLatestVersion, enum IosMinVersion; **GuestAccountsSettings**: bool Enable, bool AllowEmailAccounts, bool EnforceMultifactorAuthentication; **SqlSettings**: enum DriverName, bool Trace, enum MaxIdleConns, enum ConnMaxIdleTimeMilliseconds, bool ConnMaxLifetimeMilliseconds; enum MaxOpenC onns, enum QueryTimeout, bool DisableDatabaseSearch; **LogSettings**: bool EnableConsole, enum ConsoleLevel, bool ConsoleJson, bool EnableFile, enum FileLevel, bool FileJson, bool EnableWebhookDebugging; **NotificationLogSettings**: bool EnableConsole, bool ConsoleLevel, bool ConsoleJson, bool EnableFile, bool FileLevel, bool FileJson **PasswordSettings**: bool Lowercase, bool Number, bool Uppercase, bool Symbol, enum MinimumLength; **FileSettings**: bool EnablePublicLink, enum DriverName, enum MaxFileSize, enum FileSettings.MaxImageResolution, enum MaxImageDecoderConcurrency, bool FileSettings.ExtractContent, bool FileSettings.ArchiveRecursion, bool AmazonS3SSL, bool AmazonS3SignV2, bool AmazonS3SSE, bool AmazonS3Trace, bool EnableFileAttachments, bool EnableMobileUpload, bool EnableMobileDownload; **EmailSettings**: bool EnableSignUpWithEmail, bool EnableSignInWithEmail, bool EnableSignInWithUsername, bool RequireEmailVerification, bool SendEmailNotifications, bool UseChannelInEmailNotifications, bool EmailNotificationContentsType, bool EnableSMTPAuth, enum ConnectionSecurity, bool SendPushNotifications, enum PushNotificationContents, bool EnableEmailBatching, bool SkipServerCertificateVerification, enum EmailBatchingBufferSize, enum EmailBatchingInterval, bool EnablePreviewModeBanner, enum SMTPServerTimeout; **MessageExportSettings**: bool DownloadExportResults; **RateLimitSettings**: bool EnableRateLimiter, bool VaryByRemoteAddr, bool VaryByUser, enum PerSec, enum MaxBurst, enum MemoryStoreSize; **PrivacySettings**: bool ShowEmailAddress, bool ShowFullName; **ThemeSettings**: bool EnableThemeSelection, bool AllowCustomThemes; **GitLabSettings**: bool Enable; **GoogleSettings**: bool Enable; **Office365Settings**: bool Enable; **SupportSettings**: bool CustomTermsOfServiceEnabled; enum CustomTermsOfServiceReAcceptancePeriod; **LdapSettings**: bool Enable, bool EnableSync, enum ConnectionSecurity, bool SkipCertificateVerification, enum SyncIntervalMinutes, enum QueryTimeout, enum MaxPageSize, bool EnableAdminFilter; **ComplianceSettings**: bool Enable, bool EnableDaily; **LocalizationSettings**: enum DefaultServerLocale, enum DefaultClientLocale, enum AvailableLocales; **SamlSettings**: bool Enable, bool EnableSyncWithLdap, bool IgnoreGuestsLdapSync, bool EnableSyncWithLdapIncludeAuth, bool Verify, bool Encrypt, bool SignRequest, bool EnableAdminFilter; **ClusterSettings**: bool Enable, bool UseIpAddress, bool UseExperimentalGossip, bool ReadOnlyConfig, bool EnableExperimentalGossipEncryption, bool EnableGossipCompression; **MetricsSettings**: bool Enable, enum BlockProfileRate; **WebrtcSettings** (only in v5.5 and earlier): bool Enable; **ExperimentalSettings** bool ClientSideCertEnable, bool EnablePostMetadata, bool LinkMetadataTimeoutMilliseconds, bool EnableClickToReply, bool RestrictSystemAdmin, bool UseNewSAMLLibrary, bool CloudBilling, bool RemoteClusters, bool EnableSharedChannels, bool EnableRemoteClusterService, bool PatchPluginsReactDOM, bool Disableappbar, bool AllowSyncedDrafts; **AnnouncementSettings**: bool EnableBanner, bool AllowBannerDismissal, bool AdminNoticesEnabled, bool UserNoticesEnabled; **ElasticsearchSettings**: bool EnableIndexing, bool EnableSearching, bool Sniff, enum PostIndexReplicas, enum PostIndexShards, enum LiveIndexingBatchSize, enum BatchSize, enum RequestTimeoutSeconds, bool SkipTLSVerification, bool Trace; **PluginSettings**: bool Enable, bool EnableUploads, bool EnableHealthCheck, bool EnableMarketplace, bool EnableRemoteMarketplace, bool AutomaticPrepackagedPlugins, bool RequirePluginSignature; **DataRetentionSettings**: bool EnableMessageDeletion, bool MessageRetentionDays, bool AllowInsecureDownloadUrl, bool EnableFileDeletion, bool FileRetentionDays, enum DeletionJobStartTime; **MessageExportSettings**: bool EnableExport, enum ExportFormat, enum DailyRunTime, enum ExportFromTimestamp, enum BatchSize, enum GlobalRelaySettings.CustomerType; **ExperimentalAuditSettings**: bool SysLogEnabled, bool SysLogInsecure, enum SysLogMaxQueueSize, bool FileEnabled, enum FileMaxSizeMB, enum FileMaxAgeDays, bool FileMaxBackups, bool FileCompress, enum FileMaxQueueSize; **BleveSettings**: bool EnableIndexing, bool EnableSearching, bool EnableAutocomplete, enum BatchSize; bool FeatureFlags
**Counts (integer)**
diff --git a/source/onboard/migrating-to-mattermost.rst b/source/onboard/migrating-to-mattermost.rst
index d04b78eece9..a3e0dca1ee3 100644
--- a/source/onboard/migrating-to-mattermost.rst
+++ b/source/onboard/migrating-to-mattermost.rst
@@ -64,39 +64,6 @@ If your data in the bespoke messenger is not vital, consider:
Sometimes systems running in parallel turn into a hard switch migration when a bespoke or deprecated system experiences a major outage or a security exploit. In 2017, this was experienced by many companies using Mattermost and HipChat.com in parallel when `HipChat suffered a major security breach where customer data was stolen by an unknown attacker `__.
-When IT adopts management of Mattermost, often they will purchase the commercial version for additional compliance, access control, and scale features, in addition to high quality commercial support for upgrades and migrations. Teams can `purchase Mattermost Enterpise Edition with a credit card online `__ or `contact sales `__ to engage in an enterprise procurement process.
-
-Why IT teams choose to leave bespoke solutions
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Because messaging solutions in technical teams often contain confidential and highly exploitable data, messaging solutions become a security concern that could impact all of an organization's technical infrastructure.
-
-When IT teams are asked to maintain a bespoke messaging solution, they often need to consider security issues such as the following:
-
-1. Is the solution backed by a commercial entity with significant legal obligations to ensure the safety and security of the product?
-2. Is there a security bulletin available to alert our organization of high-priority security updates, with clear instructions to apply the updates?
-3. Does the solution have a clear and up-to-date list of security updates?
-4. Are security updates released prior to detailed disclosure of vulnerability details, so as to provide our organization with time to apply security updates before vulnerabilities are widely known?
-5. In addition to internal testing, is there a Responsible Disclosure Policy for external security researchers to confidentially report security issues, and a recognition program for their contributions?
-
-Bespoke communication products that provide weak security assurance can dramatically increase the risk to IT teams and their organizations.
-
-When early adopters of a bespoke solutions ask IT to "take over" and assume the risk of managing a rapidly installed, difficult-to-maintain system with limited or no assurance of security, the IT team is under a great deal of pressure.
-
-Often at this point, IT teams accelerate their exploration of Mattermost as a long-term solution, given the `thousands of organizations (many in mission critical, high security industries) that have switched `__.
-
-Why IT teams choose Mattermost over bespoke solutions
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Mattermost is designed to replace bespoke messaging solutions through a platform that is unmatched in flexibility. From the `hundreds of open source projects extending and customizing Mattermost through APIs and drivers `__, to an innovative client and server plugin framework for adapting the Mattermost user experience to the specific workflows and needs, thousands of high performance teams rely on Mattermost daily.
-
-In addition, IT teams prefer Mattermost for its specific `security assurances `__:
-
-1. Mattermost products are backed by Mattermost, Inc., which has commercial contracts with hundreds of enterprises around the world, many with Fortune 500 and Global 2000 organizations who require significant obligations and assurances from vendors of critical infrastructure.
-2. Mattermost offers a `security bulletin `__ to alert IT teams and customers of high priority security updates, with step-by-step instructions for upgrade and options for commercial support.
-3. Mattermost maintains an `up-to-date list of security updates `__ for both its open source and commercial offerings.
-4. To keep IT teams safe, Mattermost waits 14 days after releasing a security patch before disclosing the specific details of the vulnerability each addresses.
-5. A `Responsible Disclosure Policy `__ is available to supplement internal security reviews with confidential reports from external security researchers, with a recognition program for security research contributions after the security patch is properly released.
----
@@ -121,4 +88,4 @@ The following instructions migrate Mattermost from one server to another by back
7. Start the DESTINATION deployment by running ``sudo start mattermost``. Then go to the **System Console**, make a minor change, and save it to upgrade your ``config.json`` schema to the latest version using default values for any new settings added.
8. Test that the system is working by going to the URL of an existing team. You may need to refresh your Mattermost browser page in order to get the latest updates from the upgrade.
-Once your migration is complete and verified, you can optionally `upgrade the Team Edition of Mattermost to Enterprise Edition using the upgrade guide `__.
\ No newline at end of file
+Once your migration is complete and verified, you can optionally `upgrade the Team Edition of Mattermost to Enterprise Edition using the upgrade guide `__.
diff --git a/source/onboard/multi-factor-authentication.rst b/source/onboard/multi-factor-authentication.rst
index cf01b945936..c2810e7b440 100644
--- a/source/onboard/multi-factor-authentication.rst
+++ b/source/onboard/multi-factor-authentication.rst
@@ -12,7 +12,7 @@ With MFA enabled, users need to provide a secure one-time code in addition to th
Mattermost offers a smartphone-based MFA check in addition to email-password or Active Directory/LDAP authentication to log in to the Mattermost server.
-Supported devices include iOS, Android, or other devices that are able to install Google Authenticator or a similar app. After the app is installed, the device does not require internet access.
+Supported devices include iOS, Android, or other devices that are able to install a software-based authenticator such as FreeOTP, Google Authenticator, Microsoft Authenticator, 1Password, LastPass, or a similar app. After the app is installed, the device does not require internet access.
.. note::
diff --git a/source/preferences/manage-advanced-options.rst b/source/preferences/manage-advanced-options.rst
index 0dad8383dd7..379abf795a3 100644
--- a/source/preferences/manage-advanced-options.rst
+++ b/source/preferences/manage-advanced-options.rst
@@ -136,21 +136,6 @@ By default, `message drafts `__ are synchron
This option isn't applicable to the mobile app.
-Allow Mattermost to prefetch channel posts
-------------------------------------------
-
-By default, Mattermost pre-fetches messages and user information when you start Mattermost in a browser. You can disable webapp pre-fetching so that Mattermost prefetches messages and user information as you open channels instead. Disabling prefetch is recommended for users with a high unread channel count in order to improve application performance.
-
-.. tabs::
-
- .. tab:: Web/Desktop
-
- Select **Allow Mattermost to prefetch channel posts** to disable webapp pre-fetching on startup, and pre-fetch the data as you open channels.
-
- .. tab:: Mobile
-
- This option isn't applicable to the mobile app.
-
Delete local files
------------------
diff --git a/source/preferences/manage-your-display-options.rst b/source/preferences/manage-your-display-options.rst
index d76db293aff..2ebe09047fe 100644
--- a/source/preferences/manage-your-display-options.rst
+++ b/source/preferences/manage-your-display-options.rst
@@ -255,6 +255,7 @@ You can control what language Mattermost displays in. Options include:
- Português (Brasil) - Portuguese
- Română - Romanian
- Svenska - Swedish
+- Tiếng Việt - Vietnamese
- Türkçe - Turkish
- български - Bulgarian
- Pусский - Russian
diff --git a/source/preferences/manage-your-notifications.rst b/source/preferences/manage-your-notifications.rst
index dba18a6c6a7..c32f6e88711 100644
--- a/source/preferences/manage-your-notifications.rst
+++ b/source/preferences/manage-your-notifications.rst
@@ -11,15 +11,15 @@ Manage your notifications
:alt: Use the Channel Info icon to access additional channel management options.
.. |more-icon| image:: ../images/dots-horizontal_F01D8.svg
- :alt: Use the More icon to access additional message options.
+ :alt: Use the More icon to access additional message options.
.. |dot-badge| image:: ../images/dot-badge.png
- :alt: A dot on the badge means you have unread activity in at least one channel you're a member of.
- :width: 50px
+ :alt: A dot on the badge means you have unread activity in at least one channel you're a member of.
+ :width: 50px
.. |numbered-badge| image:: ../images/numbered-badge.png
- :alt: A numbered badge means you have at least 1 unread message, @mention, or one of your keywords has triggered a notification.
- :width: 50px
+ :alt: A numbered badge means you have at least 1 unread message, @mention, or one of your keywords has triggered a notification.
+ :width: 50px
Mattermost notifies you of new activity in the following ways:
@@ -103,7 +103,26 @@ On mobile, select the **Settings** |gear| icon and tap **Notifications**.
**Customize notification keywords**
- You can customize any additional non case-sensitive keywords to trigger notifications. For example, you can receive notifications for all messages and threads related to a specific topic, project name, or customer. Separate multiple keywords using commas or by pressing :kbd:`Tab`, and use :kbd:`Backspace` to manage keywords.
+ Using a web browser or the desktop app, customize any additional non case-sensitive keywords to trigger notifications. For example, you can receive notifications for all messages and threads related to a specific topic, project name, or customer. Separate multiple keywords using commas or by pressing :kbd:`Tab`, and use :kbd:`Backspace` to manage keywords.
+
+ .. image:: ../images/keywords-trigger-mentions.gif
+ :alt: A walkthrough of setting keywords that trigger mentions in Mattermost.
+
+ .. raw:: html
+
+
+
+ **Passively track keywords (no notification)**
+
+ .. include:: ../_static/badges/ent-pro-only.rst
+ :start-after: :nosearch:
+
+ From Mattermost v9.3, Mattermost Enterprise and Professional users interested calling attention to specific topics of interest across channels, at a glance, can do so without triggering notifications.
+
+ Using a web browser or the desktop app, passively track key terms by specifying single or multi-words to highlight in all channels you're a member of. Keywords and phrases are automatically highlighted based on your `Mattermost theme `__.
+
+ .. image:: ../images/keywords-highlighted.gif
+ :alt: A walkthrough of setting keywords that are highlighted in Mattermost.
.. tab:: Replies
@@ -168,4 +187,4 @@ On mobile, select the **Settings** |gear| icon and tap **Notifications**.
.. tip::
- Missing notifications? Visit our `notifications knowledge base article `__ for troubleshooting tips and tricks.
\ No newline at end of file
+ Missing notifications? Visit our `notifications knowledge base article `__ for additional troubleshooting tips and tricks.
\ No newline at end of file
diff --git a/source/upgrade/open-source-components.rst b/source/upgrade/open-source-components.rst
index 1ef00d84caf..39bdc355136 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.6.0 - `View Open Source Components `_.
- Mattermost Desktop v5.5.0 - `View Open Source Components `_.
- Mattermost Desktop v5.4.0 - `View Open Source Components `_.
- Mattermost Desktop v5.3.0 - `View Open Source Components `_.
@@ -28,6 +29,7 @@ Desktop
Mobile
-------
+ - Mattermost Mobile v2.11.0 - `View Open Source Components `_.
- Mattermost Mobile v2.10.0 - `View Open Source Components `_.
- Mattermost Mobile v2.9.0 - `View Open Source Components `_.
- Mattermost Mobile v2.8.0 - `View Open Source Components `_.
@@ -99,6 +101,7 @@ Mobile
Server
------------------------------
+ - Mattermost Enterprise Edition v9.3.0 - `View Open Source Components `_.
- Mattermost Enterprise Edition v9.2.0 - `View Open Source Components `_.
- Mattermost Enterprise Edition v9.1.0 - `View Open Source Components `_.
- Mattermost Enterprise Edition v9.0.0 - `View Open Source Components `_.
diff --git a/source/upgrade/release-lifecycle.rst b/source/upgrade/release-lifecycle.rst
index b9896b4aa10..f2e86a271ec 100644
--- a/source/upgrade/release-lifecycle.rst
+++ b/source/upgrade/release-lifecycle.rst
@@ -16,6 +16,8 @@ During each monthly release, Mattermost backports high severity or high impact s
+-------------+-----------------------+--------------------------+--------------------------+--------------------------+
| Version | Release Type | Lifecyle Start Date | Lifecycle End Date | Extended Support Release |
+=============+=======================+==========================+==========================+==========================+
+| 9.4 | Feature | 2024-01-16 | 2024-04-15 | |
++-------------+-----------------------+--------------------------+--------------------------+--------------------------+
| 9.3 | Feature | 2023-12-16 | 2024-03-15 | |
+-------------+-----------------------+--------------------------+--------------------------+--------------------------+
| 9.2 | Feature | 2023-11-16 | 2024-02-15 | |
diff --git a/source/upgrade/version-archive.rst b/source/upgrade/version-archive.rst
index ab85cf2bd20..3807dde2828 100644
--- a/source/upgrade/version-archive.rst
+++ b/source/upgrade/version-archive.rst
@@ -16,6 +16,10 @@ If you want to check that the version of Mattermost you are installing is the of
Mattermost Enterprise Edition
------------------------------
+Mattermost Enterprise Edition v9.3.0 - `View Changelog `__ - `Download `__
+ - ``https://releases.mattermost.com/9.3.0/mattermost-9.3.0-linux-amd64.tar.gz``
+ - SHA-256 Checksum: ``2145f476b53f51c454c4f2631664ff080c46390928d2be142d3697750a023f3f``
+ - GPG Signature: https://releases.mattermost.com/9.3.0/mattermost-9.3.0-linux-amd64.tar.gz.sig
Mattermost Enterprise Edition v9.2.3 - `View Changelog `__ - `Download `__
- ``https://releases.mattermost.com/9.2.3/mattermost-9.2.3-linux-amd64.tar.gz``
- SHA-256 Checksum: ``1063a605cb9f7d57eef36919897502914af55b991b147ee48a73bc323569062a``
@@ -349,6 +353,10 @@ The open source Mattermost Team Edition is functionally identical to the commerc
We generally recommend installing Enterprise Edition, even if you don't currently need a license. This provides the flexibility to seamlessly unlock Enterprise features should you need them. However, if you only want to install software with a fully open source code base, then Team Edition is the best choice for you.
+Mattermost Team Edition v9.3.0 - `View Changelog `__ - `Download `__
+ - ``https://releases.mattermost.com/9.3.0/mattermost-team-9.3.0-linux-amd64.tar.gz``
+ - SHA-256 Checksum: ``a53ddf36e313f0d5bc69ecd5940d089ce0b6ab392831e8126edbba22dc0946b4``
+ - GPG Signature: https://releases.mattermost.com/9.3.0/mattermost-team-9.3.0-linux-amd64.tar.gz.sig
Mattermost Team Edition v9.2.3 - `View Changelog `__ - `Download `__
- ``https://releases.mattermost.com/9.2.3/mattermost-team-9.2.3-linux-amd64.tar.gz``
- SHA-256 Checksum: ``5d8757d27e63082417d259e6264d7918f49832809187a86fbb93b7502696a646``