Skip to content

Commit 57f2af3

Browse files
authored
Merge branch 'master' into master
2 parents 2c6138d + e9538d5 commit 57f2af3

22 files changed

+166
-97
lines changed

Diff for: source/about/deprecated-features.rst

+5
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ This page describes features that are removed from support for Mattermost, or wi
66
Removed features in upcoming versions
77
-------------------------------------
88

9+
Mattermost Server v10.6.0
10+
~~~~~~~~~~~~~~~~~~~~~~~~~
11+
12+
- Support for PostgreSQL v11 and v12 will be removed. The new minimum PostgreSQL version will be v13+. See the :ref:`minimum supported PostgreSQL version policy <install/prepare-mattermost-database:minimum supported version policy>` documentation for details.
13+
914
Mattermost Mobile App v2.25.0
1015
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1116

Diff for: source/about/faq-business.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ For example, the Mattermost server source code is and always has been made avail
1010

1111
For clarity, this license information regarding forking the source specifically refers to the use (and compilation) of the Mattermost source code by third parties. Third parties are obligated to comply with the open source licenses referenced above in connection with their derivative works. Compiled versions and derivative works of Mattermost prepared by third parties may not be made available under any license other than those under which the applicable source code is made available.
1212

13-
In contrast, Mattermost, as the copyright holder to the collection of the Mattermost source code, has exercised its exclusive right to make compiled versions of the Mattermost source code available under various other licenses (such as the MIT license and the Mattermost Commercial Enterprise License, as more specifically made clear in the table here: https://docs.mattermost.com/about/faq-enterprise.html#what-are-mattermost-s-policies-around-licensing-terms-of-use-and-privacy).
13+
In contrast, Mattermost, as the copyright holder to the collection of the Mattermost source code, has exercised its exclusive right to make compiled versions of the Mattermost source code available under various other licenses (such as the MIT license and the Mattermost Commercial Enterprise License, as more specifically made clear in the table here: https://docs.mattermost.com/about/faq-license.html).
1414

1515
How can I create an open source derivative work of Mattermost?
1616
--------------------------------------------------------------

Diff for: source/collaborate/access-your-workspace.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Your Mattermost :doc:`workspace </guides/use-mattermost>` is accessible through
4747
.. tab:: Mobile
4848

4949
1. Download and install the Mattermost :doc:`iOS mobile app </collaborate/install-ios-app>` or the :doc:`Android mobile app </collaborate/install-android-app>`.
50-
2. When prompted, enter the Mattermost server link and a display name for the Mattermost instance. The display name is helpful in cases where you connect to multiple Mattermost instances. See the :doc:`server connections </preferences/connect-multiple-workspaces>` documentation for details.
50+
2. When prompted, enter the Mattermost server link and a display name for the Mattermost instance. Server URLs must begin with either ``http://`` or ``https://``. The display name is helpful in cases where you connect to multiple Mattermost instances. See the :doc:`server connections </preferences/connect-multiple-workspaces>` documentation for details.
5151
3. Enter your user credentials to log into Mattermost.
5252
4. The team that displays first in the team sidebar opens. If you're not a member of a team yet, you're prompted to select a team to join.
5353

@@ -116,4 +116,4 @@ Multi-factor authentication
116116

117117
If your system admin :ref:`enables multi-factor authentication <onboard/multi-factor-authentication:enabling mfa>` for your Mattermost instance, you can :doc:`optionally set up multi-factor authentication </preferences/manage-your-security-preferences>` for your Mattermost user account by selecting your profile picture located in the top-right corner of Mattermost, and going to **Security > Multi-Factor Authentication**.
118118

119-
If your system admin :ref:`enforces multi-factor authentication <onboard/multi-factor-authentication:enforcing mfa>`, you are required to :doc:`set up multi-factor authentication </preferences/manage-your-security-preferences>` for your Mattermost account. When you attempt to log in to Mattermost, you're directed to the multi-factor authentication setup page. You won't be able to access Mattermost until multi-factor setup is complete. If you encounter issues setting up multi-factor authentication, contact your Mattermost system admin for assistance.
119+
If your system admin :ref:`enforces multi-factor authentication <onboard/multi-factor-authentication:enforcing mfa>`, you are required to :doc:`set up multi-factor authentication </preferences/manage-your-security-preferences>` for your Mattermost account. When you attempt to log in to Mattermost, you're directed to the multi-factor authentication setup page. You won't be able to access Mattermost until multi-factor setup is complete. If you encounter issues setting up multi-factor authentication, contact your Mattermost system admin for assistance.

Diff for: source/collaborate/channel-types.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ There are 5 types of channels in Mattermost:
2121
Public channels
2222
---------------
2323

24-
Public channels are open to everyone on a team and are identified with a **Globe** |globe| icon. New team members are automatically added to two public channels when they sign up: **Town Square** and **Off-Topic**.
24+
Public channels are open to everyone on a team and are identified with a **Globe** |globe| icon. New team members are automatically added to the **Town Square** channel.
2525

2626
See the :doc:`Join and leave channels </collaborate/join-leave-channels>` documentation for details on discovering, joining, and leaving other channels.
2727

Diff for: source/collaborate/collaborate-within-channels.rst

+2-5
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,10 @@ Channels are where you connect, collaborate, and communicate with your team abou
99
You're added to default channels automatically
1010
----------------------------------------------
1111

12-
Everyone who joins a Mattermost :doc:`workspace </guides/use-mattermost>` is automatically added to two default public channels: **Town Square** and **Off-Topic**. See our :doc:`Channel Types </collaborate/channel-types>` documentation for details.
13-
14-
- **Town Square** is great for your team-wide communications, such as announcements.
15-
- **Off-Topic** is great for fun, social, non-work-related conversations.
12+
Everyone who joins a Mattermost :doc:`workspace </guides/use-mattermost>` is automatically added to the **Town Square** channel. See our :doc:`Channel Types </collaborate/channel-types>` documentation for details.
1613

1714
.. note::
18-
Town Square can't be :ref:`archived <collaborate/archive-unarchive-channels:archive a channel>` or :doc:`converted to a private channel </collaborate/convert-public-channels>`, and users can't :ref:`leave <collaborate/join-leave-channels:leave a channel>` this default channel.
15+
The Town Square channel can't be :ref:`archived <collaborate/archive-unarchive-channels:archive a channel>` or :doc:`converted to a private channel </collaborate/convert-public-channels>`, and users can't :ref:`leave <collaborate/join-leave-channels:leave a channel>` this default channel.
1916

2017
Channel sidebar
2118
----------------

Diff for: source/collaborate/join-leave-channels.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ When you leave a private channel, you must be re-added by another channel member
7474

7575
.. note::
7676

77-
All users are added to the **Off-Topic** and **Town Square** channels automatically. Users can't :ref:`archive <collaborate/archive-unarchive-channels:archive a channel>`, :ref:`unarchive <collaborate/archive-unarchive-channels:unarchive a channel>`, or leave these channels.
77+
All users are added to the **Town Square** channel automatically. This means that users can't :ref:`archive <collaborate/archive-unarchive-channels:archive a channel>`, :ref:`unarchive <collaborate/archive-unarchive-channels:unarchive a channel>`, or leave the **Town Square** channel.
7878

7979
.. tab:: Web/Desktop
8080

Diff for: source/configure/experimental-configuration-settings.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -1945,11 +1945,11 @@ This setting isn't available in the System Console and can only be set in ``conf
19451945

19461946
Default channels every user is added to automatically after joining a new team. Only applies to Public channels, but affects all teams on the server.
19471947

1948-
When not set, every user is added to the ``off-topic`` and ``town-square`` channels by default.
1948+
When not set, every user is added to the ``town-square`` channel by default.
19491949

19501950
.. note::
19511951

1952-
Even if ``town-square`` and ``off-topic`` aren't listed, every user is added to these channels automatically when joining a new team.
1952+
Even if ``town-square`` isn't listed, every user is added to that channels automatically when joining a new team.
19531953

19541954
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
19551955
| This feature's ``config.json`` setting is ``"ExperimentalDefaultChannels": []`` with string array input consisting of channel names, such as ``["announcement", "developers"]``. |

Diff for: source/deploy/manual-postgres-migration.rst

+9-2
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,9 @@ To avoid performance regression on ``Posts`` and ``FileInfo`` table access, foll
421421
Compare the data
422422
~~~~~~~~~~~~~~~~
423423

424-
We internally developed a tool to simplify the process of comparing the contents of two databases. The ``dbcmp`` tool compares every table and reports whether there is a diversion between two schemas. Note that ``dbcmp`` does not compare individual rows, instead, it calculates the checksum value of given ``page-size`` and compares those values. This means it cannot calculate or provide diffs on individual rows.
424+
We developed an internal tool called ``dbcmp`` to simplify database comparison. It checks every table in two databases and reports any differences in their schemas. However, ``dbcmp`` does not compare individual rows. Instead, it calculates checksum values based on a specified page-size and compares them. This means it cannot generate row-level diffs.
425+
426+
We recommend using ``dbcmp`` as an additional check to verify data integrity, especially if custom casting rules (beyond the defaults or those provided by us) were used during migration. Otherwise, running this tool is not necessary.
425427

426428
The tool includes a few flags to run a comparison:
427429

@@ -432,16 +434,21 @@ The tool includes a few flags to run a comparison:
432434
433435
Flags:
434436
--exclude strings exclude tables from comparison, takes comma-separated values.
437+
--include strings include only matching tables for comparison, takes comma-separated values.
435438
-h, --help help for dbcmp
436439
--source string source database dsn
437440
--target string target database dsn
438441
-v, --version version for dbcmp
439442
443+
.. note::
444+
445+
``--exclude`` and ``--include`` flags are mutually exclusive and they can't be used together.
446+
440447
For our case, we can simply run the following command:
441448

442449
.. code-block:: sh
443450
444-
dbcmp --source "${MYSQL_DSN}" --target "${POSTGRES_DSN} " --exclude="db_migrations,ir_,focalboard,systems"
451+
dbcmp --source "${MYSQL_DSN}" --target "${POSTGRES_DSN} " --include="posts,users"
445452
446453
An example command would look like: ``dbcmp --source "user:password@tcp(address:3306)/db_name --target "postgres://user:password@address:5432/db_name``
447454

Diff for: source/deploy/postgres-migration.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Migration guidelines from MySQL to PostgreSQL
44
.. include:: ../_static/badges/allplans-selfhosted.rst
55
:start-after: :nosearch:
66

7-
From Mattermost v8.0, PostgreSQL is our database of choice for Mattermost to enhance the platform’s performance and capabilities. Recognizing the importance of supporting the community members who are interested in migrating from a MySQL database, we have taken proactive measures to provide guidance and best practices.
7+
From Mattermost v8.0, :ref:`PostgreSQL <install/software-hardware-requirements:database software>` is our database of choice for Mattermost to enhance the platform’s performance and capabilities. Recognizing the importance of supporting the community members who are interested in migrating from a MySQL database, we have taken proactive measures to provide guidance and best practices.
88

99
.. toctree::
1010
:maxdepth: 1

Diff for: source/getting-started/enterprise-roll-out-checklist.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ Now that you have an environment in place, we recommend working through the foll
232232
- Recommendation: Start with fewer teams in your early roll out
233233
- Resource: https://docs.mattermost.com/messaging/organizing-channels.html
234234

235-
- Determine and create key channels to support your users. Town Square and Off-Topic are automatically created channels available on every team
235+
- Determine and create key channels to support your users. A default Town Square channel is created automatically and available on every team.
236236

237237
- Recommendation: Add a “Support” channel for your users to escalate questions
238238

Diff for: source/install/prepare-mattermost-database.rst

+44-1
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,15 @@ Prepare your Mattermost database
44
.. include:: ../_static/badges/allplans-selfhosted.rst
55
:start-after: :nosearch:
66

7-
You need a PostgreSQL database. See the :ref:`database software <install/software-hardware-requirements:database software>` documentation for details on database version support, and see the :doc:`Migrate from MySQL to PostgreSQL </deploy/postgres-migration>` documentation for details on migrating from MySQL to PostgreSQL.
7+
You need a PostgreSQL database. See the :ref:`database software <install/software-hardware-requirements:database software>` and the `minimum supported version policy <#minimum-supported-version-policy>`__ documentation for version support details, and see the :doc:`Migrate from MySQL to PostgreSQL </deploy/postgres-migration>` documentation to learn more about migrating from MySQL to PostgreSQL.
88

99
.. tip::
1010

1111
Looking for information on working with a MySQL database? See the :doc:`prepare your Mattermost MySQL database </install/prepare-mattermost-mysql-database>` documentation for details.
1212

13+
Set up a PostgreSQL database
14+
----------------------------
15+
1316
To set up a PostgreSQL database for use by the Mattermost server:
1417

1518
1. Log in to the server that will host the database, and install PostgreSQL. See the `PostgreSQL <https://www.postgresql.org/download/>`__ documentation for details. When the installation is complete, the PostgreSQL server is running, and a Linux user account called *postgres* has been created.
@@ -204,3 +207,43 @@ When the PostgreSQL database is installed, and the initial setup is complete, yo
204207
.. important::
205208

206209
If you are upgrading a major version of Postgres, it is essential that ``ANALYZE VERBOSE`` is run on the database post upgrade. This is necessary to re-populate the ``pg_statistics`` table used to generate optimal query plans. The database performance might suffer if this step is not done.
210+
211+
212+
Minimum supported version policy
213+
---------------------------------
214+
215+
To make planning easier and ensure your Mattermost deployment remains fast and secure, we are introducing a policy for updating the minimum supported version of PostgreSQL. The oldest supported PostgreSQL version Mattermost supports will match the oldest version supported by the PostgreSQL community. This ensures you benefit from the latest features and security updates.
216+
217+
This policy change takes effect from Mattermost v10.6, where the minimum PostgreSQL version required will be PostgreSQL 13. This aligns with the PostgreSQL community's support policy, which provides 5 years of support for each major version.
218+
219+
.. note::
220+
221+
Mattermost v10.6 is not an :ref:`Extended Support Release (ESR) <about/release-policy:extended support releases>`. Going forward, this database version support policy will only apply to ESR releases.
222+
223+
When a PostgreSQL version reaches its end of life (EOL), Mattermost will require a newer version starting with the next scheduled ESR release. This means the following future PostgreSQL minimum version increases as follows:
224+
225+
+-----------------------------------------------------------+------------------+--------------------------------+
226+
| **Mattermost Version** | **Release Date** | **Minimum PostgreSQL Version** |
227+
+===========================================================+==================+================================+
228+
| :ref:`v9.11 ESR <release-v9-11-extended-support-release>` | 2024-8-15 | 11.x |
229+
+-----------------------------------------------------------+------------------+--------------------------------+
230+
| v10.5 ESR | 2025-2-15 | 11.x |
231+
+-----------------------------------------------------------+------------------+--------------------------------+
232+
| v10.6 | 2025-3-15 | 13.x |
233+
+-----------------------------------------------------------+------------------+--------------------------------+
234+
| v10.11 ESR | 2025-8-15 | 13.x |
235+
+-----------------------------------------------------------+------------------+--------------------------------+
236+
| v11.5 ESR ``*`` | 2026-2-15 | 14.x (EOL 2026-11-12) |
237+
+-----------------------------------------------------------+------------------+--------------------------------+
238+
239+
``*`` Forcasted release version and date.
240+
241+
Customers will have 9 months to plan, test, and upgrade their PostgreSQL version before the new requirement takes effect. This policy aims to provide clarity and transparency so you can align database upgrades with the Mattermost release schedule. Contact a `Mattermost Expert <https://mattermost.com/contact-sales/>`_. to discuss your options.
242+
243+
Frequently asked questions
244+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
245+
246+
What about MySQL databases?
247+
^^^^^^^^^^^^^^^^^^^^^^^^^^^
248+
249+
Mattermost is :ref:`deprecating support for MySQL <deploy/postgres-migration:why is mattermost dropping support for mysql?>` starting with v11. We aren't actively maintaining or working on MySQL support.

Diff for: source/install/software-hardware-requirements.rst

+5-3
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,11 @@ Database software
101101

102102
Amazon Aurora equivalents of both PostgreSQL and MySQL are also supported.
103103

104-
See the :doc:`Migrate from MySQL to PostgreSQL </deploy/postgres-migration>` product documentation for details on migrating from MySQL to PostgreSQL.
104+
See the :ref:`minimum supported version policy <install/prepare-mattermost-database:minimum supported version policy>` documentation for minimum PostgreSQL version support details, and see the :doc:`Migrate from MySQL to PostgreSQL </deploy/postgres-migration>` product documentation to learn about migrating from MySQL to PostgreSQL.
105105

106-
MariaDB v10+ no longer functions as a MySQL drop-in replacement, and it's not supported for Mattermost due to the requirement of MySQL 5.7.12. Prior versions of MariaDB were not officially supported but may have functioned in older Mattermost releases. If you are running MariaDB now, migrating from MariaDB to the MySQL equivalent is recommended.
106+
.. important::
107+
108+
MariaDB v10+ no longer functions as a MySQL drop-in replacement, and it's not supported for Mattermost due to the requirement of MySQL 5.7.12. Prior versions of MariaDB were not officially supported but may have functioned in older Mattermost releases. If you are running MariaDB now, migrating from MariaDB to the MySQL equivalent is recommended.
107109

108110
Deployments requiring searching in Chinese, Japanese, and Korean languages require MySQL 5.7.6+ and the configuration of `ngram Full-Text parser <https://dev.mysql.com/doc/refman/5.7/en/fulltext-search-ngram.html>`__. For searching two characters, you will also need to set ``ft_min_word_len`` and ``innodb_ft_min_token_size`` to ``2`` and restart MySQL. See `CJK discussion <https://github.com/mattermost/mattermost/issues/2033#issuecomment-183872616>`__ for details.
109111

@@ -120,7 +122,7 @@ Search limitations on MySQL:
120122
- The migration system requires the MySQL database user to have additional `EXECUTE`, `CREATE ROUTINE`, `ALTER ROUTINE` and `REFERENCES` privileges to run schema migrations.
121123

122124
MySQL 8 Support
123-
^^^^^^^^^^^^^^^^
125+
::::::::::::::::
124126

125127
In MySQL 8.0.4, the default authentication plugin was changed from ``mysql_native_password`` to ``caching_sha2_password``. Therefore, you will need to enable ``mysql_native_password`` by adding the following entry in your MySQL configuration file:
126128

0 commit comments

Comments
 (0)