From 1e7d3cfd7500bb96430fa69270510ec05bcce4ca Mon Sep 17 00:00:00 2001 From: "claude[bot]" <41898282+claude[bot]@users.noreply.github.com> Date: Mon, 18 May 2026 10:27:47 +0000 Subject: [PATCH 01/13] Update docs for v11.8 (June 16th) release - Add v11.8 row to server releases table (released 2026-06-16, support ends 2026-09-15) - Bump latest release download URLs to 11.8.0 in deploy-rhel.rst and deploy-tar.rst - Add v11.8 to compatibility list for Desktop App v6.2 (ESR) - Update release policy gantt chart: mark v11.5 as done, add v11.9 - Add Mattermost Enterprise Edition v11.8.0 entry to open source components Refs #8981 Co-authored-by: Amy Blais --- source/administration-guide/upgrade/open-source-components.rst | 1 + source/deployment-guide/server/linux/deploy-rhel.rst | 2 +- source/deployment-guide/server/linux/deploy-tar.rst | 2 +- source/product-overview/mattermost-desktop-releases.md | 2 +- source/product-overview/mattermost-server-releases.md | 1 + source/product-overview/release-policy.md | 3 ++- 6 files changed, 7 insertions(+), 4 deletions(-) diff --git a/source/administration-guide/upgrade/open-source-components.rst b/source/administration-guide/upgrade/open-source-components.rst index d4ff8411740..4a58271093a 100644 --- a/source/administration-guide/upgrade/open-source-components.rst +++ b/source/administration-guide/upgrade/open-source-components.rst @@ -140,6 +140,7 @@ Mobile Server ------------------------------ +- Mattermost Enterprise Edition v11.8.0 - `View Open Source Components `__. - Mattermost Enterprise Edition v11.7.0 - `View Open Source Components `__. - Mattermost Enterprise Edition v11.6.0 - `View Open Source Components `__. - Mattermost Enterprise Edition v11.5.0 - `View Open Source Components `__. diff --git a/source/deployment-guide/server/linux/deploy-rhel.rst b/source/deployment-guide/server/linux/deploy-rhel.rst index 98563f842b3..4ba2a180d63 100644 --- a/source/deployment-guide/server/linux/deploy-rhel.rst +++ b/source/deployment-guide/server/linux/deploy-rhel.rst @@ -44,7 +44,7 @@ In a terminal window, ssh onto the system that will host the Mattermost Server. .. code-block:: sh - wget https://releases.mattermost.com/11.7.0/mattermost-11.7.0-linux-amd64.tar.gz + wget https://releases.mattermost.com/11.8.0/mattermost-11.8.0-linux-amd64.tar.gz .. tab:: Current ESR diff --git a/source/deployment-guide/server/linux/deploy-tar.rst b/source/deployment-guide/server/linux/deploy-tar.rst index d0b2031790c..07910b66bd1 100644 --- a/source/deployment-guide/server/linux/deploy-tar.rst +++ b/source/deployment-guide/server/linux/deploy-tar.rst @@ -45,7 +45,7 @@ In a terminal window, ssh onto the system that will host the Mattermost Server. .. code-block:: sh - wget https://releases.mattermost.com/11.7.0/mattermost-11.7.0-linux-amd64.tar.gz + wget https://releases.mattermost.com/11.8.0/mattermost-11.8.0-linux-amd64.tar.gz .. tab:: Current ESR diff --git a/source/product-overview/mattermost-desktop-releases.md b/source/product-overview/mattermost-desktop-releases.md index f1a8ef38b85..47f7c6413bb 100644 --- a/source/product-overview/mattermost-desktop-releases.md +++ b/source/product-overview/mattermost-desktop-releases.md @@ -18,7 +18,7 @@ Mattermost releases a new desktop app version every 4 months, in February, May, | **Release** | **Support** | **Compatible with** | |:---|:---|:---| -| v6.2 [Download](https://github.com/mattermost/desktop/releases/tag/v6.2.0) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/desktop/releases/download/v6.2.0/sbom-desktop-v6.2.0.json) | Released: 2026-05-15
Support Ends: 2027-05-15 {ref}`EXTENDED ` | {ref}`v11.7 `, {ref}`v11.6 `, {ref}`v11.5 `, {ref}`v10.11 ` | +| v6.2 [Download](https://github.com/mattermost/desktop/releases/tag/v6.2.0) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/desktop/releases/download/v6.2.0/sbom-desktop-v6.2.0.json) | Released: 2026-05-15
Support Ends: 2027-05-15 {ref}`EXTENDED ` | {ref}`v11.8 `, {ref}`v11.7 `, {ref}`v11.6 `, {ref}`v10.11 ` | | v6.1 [Download](https://github.com/mattermost/desktop/releases/tag/v6.1.2) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/desktop/releases/download/v6.1.2/sbom-desktop-v6.1.2.json) | Released: 2026-03-02
Support Ends: 2026-05-15 | {ref}`v11.6 `, {ref}`v11.5 `, {ref}`v11.4 `, {ref}`v11.3 `, {ref}`v11.2 `, {ref}`v10.11 ` | | v6.0 [Download](https://github.com/mattermost/desktop/releases/tag/v6.0.4) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/desktop/releases/download/v6.0.4/sbom-desktop-v6.0.4.json) | Released: 2025-11-14
Support Ends: 2026-03-15 | {ref}`v11.4 `, {ref}`v11.3 `, {ref}`v11.2 `, {ref}`v11.1 `, {ref}`v11.0 `, {ref}`v10.12 `, {ref}`v10.11 ` | | v5.13 [Download](https://github.com/mattermost/desktop/releases/tag/v5.13.6) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/desktop/releases/download/v5.13.6/sbom-desktop-v5.13.6.json) | Released: 2025-08-15
Support Ends: 2026-08-15 {ref}`EXTENDED ` | {ref}`v11.0 `, {ref}`v10.12 `, {ref}`v10.11 `, {ref}`v10.10 `, {ref}`v10.9 `, {ref}`v10.5 ` | diff --git a/source/product-overview/mattermost-server-releases.md b/source/product-overview/mattermost-server-releases.md index cc67ad9331a..9db7e125a9a 100644 --- a/source/product-overview/mattermost-server-releases.md +++ b/source/product-overview/mattermost-server-releases.md @@ -19,6 +19,7 @@ Mattermost releases a new server version on the 16th of each month in [binary fo | **Release** | **Released on** | **Support ends** | |:---|:---|:---| +| v11.8 [Download](https://releases.mattermost.com/11.8.0/mattermost-11.8.0-linux-amd64.tar.gz) \| {ref}`Changelog ` \|
SBOM
| 2026-06-16 | 2026-09-15 | | v11.7 [Download](https://releases.mattermost.com/11.7.0/mattermost-11.7.0-linux-amd64.tar.gz) \| {ref}`Changelog ` \|
SBOM
| 2026-05-15 | 2027-05-15 {ref}`EXTENDED ` | | v11.6 [Download](https://releases.mattermost.com/11.6.2/mattermost-11.6.2-linux-amd64.tar.gz) \| {ref}`Changelog ` \|
SBOM
| 2026-04-16 | 2026-07-15 | | v11.5 [Download](https://releases.mattermost.com/11.5.5/mattermost-11.5.5-linux-amd64.tar.gz) \| {ref}`Changelog ` \|
SBOM
| 2026-03-16 | 2026-06-15 | diff --git a/source/product-overview/release-policy.md b/source/product-overview/release-policy.md index 7efc649321b..58a54b18ac7 100644 --- a/source/product-overview/release-policy.md +++ b/source/product-overview/release-policy.md @@ -56,10 +56,11 @@ gantt v11.2 :done, 2025-12-16, 2026-03-15 v11.3 :done, 2026-01-16, 2026-04-15 v11.4 :done, 2026-02-16, 2026-05-15 - v11.5 :active, 2026-03-16, 2026-06-15 + v11.5 :done, 2026-03-16, 2026-06-15 v11.6 :active, 2026-04-16, 2026-07-15 v11.7 & Desktop App v6.2 Extended Support :crit, 2026-05-15, 2027-05-15 v11.8 :active, 2026-06-16, 2026-09-15 + v11.9 :active, 2026-07-16, 2026-10-15 ``` **Timeline Legend:** From 0e8b89cb0797c0520e17f7cee3e052bd0fd3bca6 Mon Sep 17 00:00:00 2001 From: Amy Blais <29708087+amyblais@users.noreply.github.com> Date: Mon, 18 May 2026 13:47:59 +0300 Subject: [PATCH 02/13] Update mattermost-desktop-releases.md --- source/product-overview/mattermost-desktop-releases.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/product-overview/mattermost-desktop-releases.md b/source/product-overview/mattermost-desktop-releases.md index 47f7c6413bb..20c16081dd5 100644 --- a/source/product-overview/mattermost-desktop-releases.md +++ b/source/product-overview/mattermost-desktop-releases.md @@ -18,7 +18,7 @@ Mattermost releases a new desktop app version every 4 months, in February, May, | **Release** | **Support** | **Compatible with** | |:---|:---|:---| -| v6.2 [Download](https://github.com/mattermost/desktop/releases/tag/v6.2.0) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/desktop/releases/download/v6.2.0/sbom-desktop-v6.2.0.json) | Released: 2026-05-15
Support Ends: 2027-05-15 {ref}`EXTENDED ` | {ref}`v11.8 `, {ref}`v11.7 `, {ref}`v11.6 `, {ref}`v10.11 ` | +| v6.2 [Download](https://github.com/mattermost/desktop/releases/tag/v6.2.0) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/desktop/releases/download/v6.2.0/sbom-desktop-v6.2.0.json) | Released: 2026-05-15
Support Ends: 2027-05-15 {ref}`EXTENDED ` | {ref}`v11.8 `, {ref}`v11.7 `, {ref}`v11.6 `, {ref}`v11.5 `, {ref}`v10.11 ` | | v6.1 [Download](https://github.com/mattermost/desktop/releases/tag/v6.1.2) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/desktop/releases/download/v6.1.2/sbom-desktop-v6.1.2.json) | Released: 2026-03-02
Support Ends: 2026-05-15 | {ref}`v11.6 `, {ref}`v11.5 `, {ref}`v11.4 `, {ref}`v11.3 `, {ref}`v11.2 `, {ref}`v10.11 ` | | v6.0 [Download](https://github.com/mattermost/desktop/releases/tag/v6.0.4) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/desktop/releases/download/v6.0.4/sbom-desktop-v6.0.4.json) | Released: 2025-11-14
Support Ends: 2026-03-15 | {ref}`v11.4 `, {ref}`v11.3 `, {ref}`v11.2 `, {ref}`v11.1 `, {ref}`v11.0 `, {ref}`v10.12 `, {ref}`v10.11 ` | | v5.13 [Download](https://github.com/mattermost/desktop/releases/tag/v5.13.6) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/desktop/releases/download/v5.13.6/sbom-desktop-v5.13.6.json) | Released: 2025-08-15
Support Ends: 2026-08-15 {ref}`EXTENDED ` | {ref}`v11.0 `, {ref}`v10.12 `, {ref}`v10.11 `, {ref}`v10.10 `, {ref}`v10.9 `, {ref}`v10.5 ` | From 2c676f0251bf7ae9deec08f08af2dacd7d8c4aa4 Mon Sep 17 00:00:00 2001 From: Amy Blais <29708087+amyblais@users.noreply.github.com> Date: Mon, 18 May 2026 13:48:12 +0300 Subject: [PATCH 03/13] Update open-source-components.rst --- source/administration-guide/upgrade/open-source-components.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/source/administration-guide/upgrade/open-source-components.rst b/source/administration-guide/upgrade/open-source-components.rst index 4a58271093a..2acb77f5446 100644 --- a/source/administration-guide/upgrade/open-source-components.rst +++ b/source/administration-guide/upgrade/open-source-components.rst @@ -39,6 +39,7 @@ Desktop Mobile ------- +- Mattermost Mobile v2.41.0 - `View Open Source Components `__. - Mattermost Mobile v2.40.0 - `View Open Source Components `__. - Mattermost Mobile v2.39.0 - `View Open Source Components `__. - Mattermost Mobile v2.38.0 - `View Open Source Components `__. From b170b72cde86ec13be3b56f0309244fd25ac5f0c Mon Sep 17 00:00:00 2001 From: Amy Blais <29708087+amyblais@users.noreply.github.com> Date: Wed, 20 May 2026 14:08:46 +0300 Subject: [PATCH 04/13] Update ui-ada-changelog.rst --- source/product-overview/ui-ada-changelog.rst | 40 ++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/source/product-overview/ui-ada-changelog.rst b/source/product-overview/ui-ada-changelog.rst index 17b903bfd59..df2ab021bdc 100644 --- a/source/product-overview/ui-ada-changelog.rst +++ b/source/product-overview/ui-ada-changelog.rst @@ -12,6 +12,46 @@ Changelog * - Version - Change Description + * - v11.8 + - (UI) Added a new keyboard shortcut, ``Shift`` + ``ESC``, that marks all channels, threads, and direct messages as read for a team on webapp / desktop app. + * - v11.8 + - (UI) Added an overflow menu for channel bookmarks when the bookmark bar runs out of space. Bookmarks can be reordered via drag-and-drop between the bar and the overflow menu, or via keyboard (Space to select, arrow keys to move) on webapp. Replaced ``react-beautiful-dnd`` with ``@atlaskit/pragmatic-drag-and-drop``. + * - v11.8 + - (UI) Added an unread badge to Recaps, displayed in red if the recap failed. + * - v11.8 + - (UI) Added managed channel categories for **Channel Admins** to enforce sidebar organization across teams. + * - v11.8 + - (UI) Added per-channel classification assignment and banner integration for webapp/desktop app. + * - v11.8 + - (UI) Added support for **CPA Display Name** for user-facing labels of user attributes. + * - v11.8 + - (UI) Changed the **Invite People** modal to allow pasting any text, not only valid email formats. + * - v11.8 + - (UI) Standardized many buttons throughout the app, which may result in minor UX changes. + * - v11.8 + - (UI) Updated the **Enable Testing Commands** user interface to explicitly warn that ``EnableTesting`` must never be used in production. + * - v11.8 + - (UI) Changed the mobile view search box to only autofocus when the search button is pressed (reported on mobile browser). + * - v11.8 + - (UI) Improved the **Default "Report a Problem"** `behavior `__ to open a support ticket via email with metadata for licensed servers, and redirect to the Mattermost forums for free edition in webapp / desktop apps. + * - v11.8 + - (UI) Added support for system-scoped properties — property fields and values that attach to the Mattermost instance itself. + * - v11.8 + - (UI) Added the ability to define a property attribute once and reuse it across different object types (e.g., users, channels). + * - v11.8 + - (UI) Exposed the ``DefaultCategoryName`` to the user interface so admins can add, edit, and remove it easily. + * - v11.8 + - (UI) Moved interactive dialog date/datetime properties into ``datetime_config``. + * - v11.8 + - (UI) When a channel is shared or unshared with a remote, a system message will now be shown. + * - v11.8 + - (UI) On new installations using Elasticsearch or OpenSearch, search now includes public channels the user is not a member of by default. + * - v11.8 + - (UI) Added support for incoming webhooks to define a ``root_id`` to create posts in a thread. + * - v11.8 + - (UI) Updated membership policy user interface copy in the System Console and public channel settings to clarify qualifying-user requirements and auto-add behavior. + * - v11.8 + - (UI) Hid redundant "Download Apps" links and onboarding download reminders when Mattermost runs inside the Desktop app. * - v11.7 - (UI) Message attachment footers now support full Markdown rendering, including bold, italic, links, and emoji. * - v11.7 From c2ae1fc82dbfe47088279713171211725cf8d901 Mon Sep 17 00:00:00 2001 From: Amy Blais <29708087+amyblais@users.noreply.github.com> Date: Wed, 20 May 2026 14:55:47 +0300 Subject: [PATCH 05/13] Update important-upgrade-notes.rst --- .../upgrade/important-upgrade-notes.rst | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/source/administration-guide/upgrade/important-upgrade-notes.rst b/source/administration-guide/upgrade/important-upgrade-notes.rst index 9089cb64544..d1be7c200bf 100644 --- a/source/administration-guide/upgrade/important-upgrade-notes.rst +++ b/source/administration-guide/upgrade/important-upgrade-notes.rst @@ -12,6 +12,38 @@ We recommend reviewing the `additional upgrade notes <#additional-upgrade-notes> | If you're upgrading | Then... | | from a version earlier than... | | +====================================================+==================================================================================================================================================================+ +| v11.8 | Added a new ``Version`` column to the ``PropertyGroups`` table to distinguish PSAv1 (legacy) groups from PSAv2 groups. Existing groups default to version 1, | +| | preserving current behavior for all legacy callers. ``PropertyGroups`` is a small configuration-like table, and the ``ADD COLUMN ... DEFAULT 1 NOT NULL`` is a | +| | metadata-only operation in PostgreSQL — no table rewrite occurs and the ``AccessExclusiveLock`` on ``PropertyGroups`` is held only for milliseconds. The | +| | migrations are fully backwards-compatible and no database downtime is expected for this upgrade. The SQL queries included are: | +| | | +| | .. code-block:: sql | +| | | +| | -- Pre-upgrade schema changes (Mattermost 11.8). | +| | | +| | ALTER TABLE PropertyGroups ADD COLUMN IF NOT EXISTS Version integer DEFAULT 1 NOT NULL; | +| +------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | Raised the PostgreSQL planner statistics target for ``posts.rootid`` and ``posts.channelid`` from the default 100 to 5000, and refreshes planner statistics | +| | with ``ANALYZE posts (rootid, channelid)``. The ``ALTER COLUMN ... SET STATISTICS`` statements are metadata-only operations that acquire only a | +| | ``SHARE UPDATE EXCLUSIVE`` lock — no table rewrite occurs and concurrent SELECT, INSERT, UPDATE, and DELETE on ``posts`` remain unblocked. The ``ANALYZE`` step | +| | may take several minutes on large ``posts`` tables (100M+ rows) due to the larger sample size, but does not block reads or writes. The migrations are fully | +| | backwards-compatible and no database downtime is expected for this upgrade. The SQL queries included are: | +| | | +| | .. code-block:: sql | +| | | +| | ALTER TABLE posts ALTER COLUMN rootid SET STATISTICS 5000; | +| | ALTER TABLE posts ALTER COLUMN channelid SET STATISTICS 5000; | +| | ANALYZE posts (rootid, channelid); | +| +------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | Extended the ``channel_type`` enum with two new values: ``'BO'`` and ``'BP'``. The ``ALTER TYPE ... ADD VALUE`` statements acquire a brief | +| | ``AccessExclusiveLock`` on the ``channel_type`` type only — no table rewrite occurs and no row-level locking is applied to the ``channels`` table, making the | +| | operation near-instant. The migrations are fully backwards-compatible and no database downtime is expected for this upgrade. The SQL queries included are: | +| | | +| | .. code-block:: sql | +| | | +| | ALTER TYPE channel_type ADD VALUE IF NOT EXISTS 'BO'; | +| | ALTER TYPE channel_type ADD VALUE IF NOT EXISTS 'BP'; | ++----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | v11.7 | FIPS builds require a minimum of 14 characters for passwords, atmos/camo proxy configuration, and shared channel secrets. Shorter passwords for existing users | | | will no longer be valid and require a password reset. Non-FIPS builds are unaffected. | | +------------------------------------------------------------------------------------------------------------------------------------------------------------------+ From 9e087e71378a717a64697923d2b4bcd3a0b5a52b Mon Sep 17 00:00:00 2001 From: Amy Blais <29708087+amyblais@users.noreply.github.com> Date: Wed, 20 May 2026 15:08:12 +0300 Subject: [PATCH 06/13] Update important-upgrade-notes.rst --- .../upgrade/important-upgrade-notes.rst | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/source/administration-guide/upgrade/important-upgrade-notes.rst b/source/administration-guide/upgrade/important-upgrade-notes.rst index d1be7c200bf..f3b97a90cfc 100644 --- a/source/administration-guide/upgrade/important-upgrade-notes.rst +++ b/source/administration-guide/upgrade/important-upgrade-notes.rst @@ -43,6 +43,32 @@ We recommend reviewing the `additional upgrade notes <#additional-upgrade-notes> | | | | | ALTER TYPE channel_type ADD VALUE IF NOT EXISTS 'BO'; | | | ALTER TYPE channel_type ADD VALUE IF NOT EXISTS 'BP'; | +| +------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | Introduced four schema migrations to the property and attribute system (``PropertyFields``, ``PropertyGroups``, ``AttributeView``) as part of the same release | +| | cycle. Migrations 000168 and 000169 add a nullable ``LinkedFieldID varchar(26)`` column to ``PropertyFields`` and a partial concurrent index over it, enabling | +| | fields to reference another field as a link. Migrations 000176 and 000177 promote the existing Custom Profile Attributes property group to a more general | +| | ``access_control`` group by updating permission columns on ``PropertyFields`` rows, renaming the ``PropertyGroups`` entry from ``custom_profile_attributes`` to | +| | ``access_control``, and narrowing the ``AttributeView`` materialized view to user-scoped attributes only. **Migrations 000176 and 000177 must ship together.** | +| | None of the affected tables are in the large-table list — the property system tables are small. Note: during the rolling-upgrade window, old-ESR nodes | +| | hard-coding ``'custom_profile_attributes'`` as the group lookup key will experience transient failures on CPA profile read/write endpoints and the ABAC | +| | policy-management admin UI; end-user channel access and the membership sync worker are unaffected. The migrations are fully backwards-compatible and no database | +| | downtime is expected for this upgrade. The SQL queries included are: | +| | | +| | .. code-block:: sql | +| | | +| | -- 000168: Add LinkedFieldID column | +| | ALTER TABLE PropertyFields ADD COLUMN IF NOT EXISTS LinkedFieldID varchar(26); | +| | | +| | -- 000169: Create partial index on LinkedFieldID | +| | CREATE INDEX CONCURRENTLY idx_propertyfields_linkedfieldid ON PropertyFields(LinkedFieldID) WHERE LinkedFieldID IS NOT NULL AND DeleteAt = 0; | +| | | +| | -- 000176: Migrate CPA to access_control | +| | UPDATE PropertyFields SET ObjectType = 'user' WHERE GroupID = (SELECT Id FROM PropertyGroups WHERE Name = 'custom_profile_attributes'); | +| | UPDATE PropertyGroups SET Name = 'access_control', Version = 2 WHERE Name = 'custom_profile_attributes'; | +| | | +| | -- 000177: Refresh AttributeView with user-scoped filter | +| | DROP MATERIALIZED VIEW AttributeView; | +| | CREATE MATERIALIZED VIEW AttributeView ... WHERE pf.ObjectType = 'user'; | +----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | v11.7 | FIPS builds require a minimum of 14 characters for passwords, atmos/camo proxy configuration, and shared channel secrets. Shorter passwords for existing users | | | will no longer be valid and require a password reset. Non-FIPS builds are unaffected. | From 2df35904bd04abb5532ee33185cae446ed0c1324 Mon Sep 17 00:00:00 2001 From: Amy Blais <29708087+amyblais@users.noreply.github.com> Date: Tue, 26 May 2026 09:38:47 +0300 Subject: [PATCH 07/13] Update important-upgrade-notes.rst --- .../upgrade/important-upgrade-notes.rst | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/source/administration-guide/upgrade/important-upgrade-notes.rst b/source/administration-guide/upgrade/important-upgrade-notes.rst index f3b97a90cfc..4816fbb5496 100644 --- a/source/administration-guide/upgrade/important-upgrade-notes.rst +++ b/source/administration-guide/upgrade/important-upgrade-notes.rst @@ -69,6 +69,26 @@ We recommend reviewing the `additional upgrade notes <#additional-upgrade-notes> | | -- 000177: Refresh AttributeView with user-scoped filter | | | DROP MATERIALIZED VIEW AttributeView; | | | CREATE MATERIALIZED VIEW AttributeView ... WHERE pf.ObjectType = 'user'; | +| +------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | Mattermost v11.8 introduces schema changes to the ``Recaps`` table in the form of a new ``ViewedAt`` column and a new index on ``(UserId, ViewedAt)``. The column| +| | is added as a metadata-only operation, and the index is created using ``CONCURRENTLY``, meaning no table locks are acquired and existing operations on the table | +| | are not impacted. The migrations are fully backwards-compatible and no database downtime is expected for this upgrade. The SQL queries included are: | +| | | +| | .. code-block:: sql | +| | | +| | -- 000172_add_recaps_viewed_at.up.sql | +| | ALTER TABLE Recaps ADD COLUMN IF NOT EXISTS ViewedAt BIGINT NOT NULL DEFAULT 0; | +| | | | +| | -- 000172_add_recaps_viewed_at.down.sql | +| | ALTER TABLE Recaps DROP COLUMN IF EXISTS ViewedAt; | +| | | +| | -- 000173_create_recaps_user_id_viewed_at_index.up.sql | +| | -- morph:nontransactional | +| | CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_recaps_user_id_viewed_at ON Recaps(UserId, ViewedAt); | +| | | +| | -- 000173_create_recaps_user_id_viewed_at_index.down.sql | +| | -- morph:nontransactional | +| | DROP INDEX CONCURRENTLY IF EXISTS idx_recaps_user_id_viewed_at; | +----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | v11.7 | FIPS builds require a minimum of 14 characters for passwords, atmos/camo proxy configuration, and shared channel secrets. Shorter passwords for existing users | | | will no longer be valid and require a password reset. Non-FIPS builds are unaffected. | From efecbf1f512dc95363fbe786417814b65ea1efdd Mon Sep 17 00:00:00 2001 From: Amy Blais <29708087+amyblais@users.noreply.github.com> Date: Tue, 26 May 2026 09:39:15 +0300 Subject: [PATCH 08/13] Update important-upgrade-notes.rst --- source/administration-guide/upgrade/important-upgrade-notes.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/administration-guide/upgrade/important-upgrade-notes.rst b/source/administration-guide/upgrade/important-upgrade-notes.rst index 4816fbb5496..f4013e508f4 100644 --- a/source/administration-guide/upgrade/important-upgrade-notes.rst +++ b/source/administration-guide/upgrade/important-upgrade-notes.rst @@ -78,7 +78,7 @@ We recommend reviewing the `additional upgrade notes <#additional-upgrade-notes> | | | | | -- 000172_add_recaps_viewed_at.up.sql | | | ALTER TABLE Recaps ADD COLUMN IF NOT EXISTS ViewedAt BIGINT NOT NULL DEFAULT 0; | -| | | | +| | | | | -- 000172_add_recaps_viewed_at.down.sql | | | ALTER TABLE Recaps DROP COLUMN IF EXISTS ViewedAt; | | | | From 8e6602a01599d499a4c31ea9da1e49a8a1c8d40d Mon Sep 17 00:00:00 2001 From: Amy Blais <29708087+amyblais@users.noreply.github.com> Date: Wed, 27 May 2026 09:36:01 +0300 Subject: [PATCH 09/13] Update important-upgrade-notes.rst --- .../upgrade/important-upgrade-notes.rst | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/source/administration-guide/upgrade/important-upgrade-notes.rst b/source/administration-guide/upgrade/important-upgrade-notes.rst index f4013e508f4..b45cbc2326f 100644 --- a/source/administration-guide/upgrade/important-upgrade-notes.rst +++ b/source/administration-guide/upgrade/important-upgrade-notes.rst @@ -89,6 +89,65 @@ We recommend reviewing the `additional upgrade notes <#additional-upgrade-notes> | | -- 000173_create_recaps_user_id_viewed_at_index.down.sql | | | -- morph:nontransactional | | | DROP INDEX CONCURRENTLY IF EXISTS idx_recaps_user_id_viewed_at; | +| +------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | Mattermost v11.8 introduces six schema changes supporting a new channel join request workflow and discoverable private channels. A ``Discoverable`` boolean | +| | column (``DEFAULT FALSE``) is added to the ``Channels`` table as a metadata-only operation that completes instantaneously on PostgreSQL 11+. A new | +| | ``ChannelJoinRequests`` table is created to manage access request workflows, tracking request status, denial reasons, and reviewer information. Four concurrent | +| | indexes are then added: a partial index on ``Channels`` for discoverable team channels (``idx_channels_discoverable_team``), a unique partial index on | +| | ``ChannelJoinRequests`` for pending requests (``idx_channeljoinrequests_pending_unique``), and two composite indexes optimizing queries by channel+status and | +| | user+status respectively. All index operations use ``CONCURRENTLY`` and must be run outside explicit transaction blocks. These migrations are PostgreSQL-only. | +| | The migrations are fully backwards-compatible and no database downtime is expected for this upgrade. The SQL queries included are: | +| | | +| | .. code-block:: sql | +| | | +| | -- Migration 000178: Add Discoverable column | +| | ALTER TABLE Channels ADD COLUMN IF NOT EXISTS Discoverable BOOLEAN NOT NULL DEFAULT FALSE; | +| | | +| | .. code-block:: sql | +| | | +| | -- Migration 000179: Partial index for discoverable channels | +| | -- Run outside a transaction block. | +| | CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_channels_discoverable_team | +| | ON Channels (TeamId) | +| | WHERE Discoverable = TRUE AND Type = 'P' AND DeleteAt = 0; | +| | | +| | .. code-block:: sql | +| | | +| | -- Migration 000180: Create ChannelJoinRequests table | +| | CREATE TABLE IF NOT EXISTS ChannelJoinRequests ( | +| | Id VARCHAR(26) PRIMARY KEY, | +| | ChannelId VARCHAR(26) NOT NULL, | +| | UserId VARCHAR(26) NOT NULL, | +| | Message TEXT NOT NULL DEFAULT '', | +| | Status VARCHAR(16) NOT NULL DEFAULT 'pending', | +| | DenialReason TEXT NOT NULL DEFAULT '', | +| | CreateAt BIGINT NOT NULL, | +| | UpdateAt BIGINT NOT NULL, | +| | ReviewedBy VARCHAR(26) NOT NULL DEFAULT '', | +| | ReviewedAt BIGINT NOT NULL DEFAULT 0 | +| | ); | +| | | +| | .. code-block:: sql | +| | | +| | -- Migration 000181: Unique index for pending requests | +| | -- Run outside a transaction block. | +| | CREATE UNIQUE INDEX CONCURRENTLY IF NOT EXISTS idx_channeljoinrequests_pending_unique | +| | ON ChannelJoinRequests (ChannelId, UserId) | +| | WHERE Status = 'pending'; | +| | | +| | .. code-block:: sql | +| | | +| | -- Migration 000182: Index for channel+status queries | +| | -- Run outside a transaction block. | +| | CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_channeljoinrequests_channel_status_createat | +| | ON ChannelJoinRequests (ChannelId, Status, CreateAt DESC); | +| | | +| | .. code-block:: sql | +| | | +| | -- Migration 000183: Index for user+status queries | +| | -- Run outside a transaction block. | +| | CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_channeljoinrequests_user_status_createat | +| | ON ChannelJoinRequests (UserId, Status, CreateAt DESC); | +----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | v11.7 | FIPS builds require a minimum of 14 characters for passwords, atmos/camo proxy configuration, and shared channel secrets. Shorter passwords for existing users | | | will no longer be valid and require a password reset. Non-FIPS builds are unaffected. | From 258274d4a6f24403fd8fd8dda527acffbbfb292c Mon Sep 17 00:00:00 2001 From: Amy Blais <29708087+amyblais@users.noreply.github.com> Date: Wed, 27 May 2026 09:42:05 +0300 Subject: [PATCH 10/13] Update important-upgrade-notes.rst --- .../upgrade/important-upgrade-notes.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/source/administration-guide/upgrade/important-upgrade-notes.rst b/source/administration-guide/upgrade/important-upgrade-notes.rst index b45cbc2326f..70e0ab0411c 100644 --- a/source/administration-guide/upgrade/important-upgrade-notes.rst +++ b/source/administration-guide/upgrade/important-upgrade-notes.rst @@ -148,6 +148,17 @@ We recommend reviewing the `additional upgrade notes <#additional-upgrade-notes> | | -- Run outside a transaction block. | | | CREATE INDEX CONCURRENTLY IF NOT EXISTS idx_channeljoinrequests_user_status_createat | | | ON ChannelJoinRequests (UserId, Status, CreateAt DESC); | +| +------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | Mattermost v11.8 extends the ``permission_level`` PostgreSQL enum type to include an ``admin`` value alongside the existing ``none``, ``sysadmin``, and | +| | ``member`` values. This is a pure catalog change ``— ALTER TYPE ADD VALUE`` updates only the ``pg_type`` system catalog and does not touch the ``PropertyFields``| +| | table or any other application table. No columns, indexes, or table data are modified by the up migration. The change enables a new admin-level permission tier | +| | in the property field access control model. The migrations are fully backwards-compatible and no database downtime is expected for this upgrade. The SQL queries | +| | included are: | +| | | +| | .. code-block:: sql | +| | | +| | -- 000189_add_admin_to_permission_level.up.sql | +| | ALTER TYPE permission_level ADD VALUE IF NOT EXISTS 'admin'; | +----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | v11.7 | FIPS builds require a minimum of 14 characters for passwords, atmos/camo proxy configuration, and shared channel secrets. Shorter passwords for existing users | | | will no longer be valid and require a password reset. Non-FIPS builds are unaffected. | From c8d1f6fa70f0d5b3a40f4073a858eb61101a496a Mon Sep 17 00:00:00 2001 From: Amy Blais <29708087+amyblais@users.noreply.github.com> Date: Wed, 27 May 2026 18:42:18 +0300 Subject: [PATCH 11/13] Update source/product-overview/ui-ada-changelog.rst MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Guillermo Vayá --- source/product-overview/ui-ada-changelog.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/product-overview/ui-ada-changelog.rst b/source/product-overview/ui-ada-changelog.rst index df2ab021bdc..3cadfd632f5 100644 --- a/source/product-overview/ui-ada-changelog.rst +++ b/source/product-overview/ui-ada-changelog.rst @@ -17,7 +17,7 @@ Changelog * - v11.8 - (UI) Added an overflow menu for channel bookmarks when the bookmark bar runs out of space. Bookmarks can be reordered via drag-and-drop between the bar and the overflow menu, or via keyboard (Space to select, arrow keys to move) on webapp. Replaced ``react-beautiful-dnd`` with ``@atlaskit/pragmatic-drag-and-drop``. * - v11.8 - - (UI) Added an unread badge to Recaps, displayed in red if the recap failed. + - (UI) Added an unread badge to Recaps. * - v11.8 - (UI) Added managed channel categories for **Channel Admins** to enforce sidebar organization across teams. * - v11.8 From 7c9be126676751c2f8b3f574a55c6703526d68ea Mon Sep 17 00:00:00 2001 From: Amy Blais <29708087+amyblais@users.noreply.github.com> Date: Wed, 3 Jun 2026 09:14:03 +0300 Subject: [PATCH 12/13] Update important-upgrade-notes.rst --- .../upgrade/important-upgrade-notes.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/administration-guide/upgrade/important-upgrade-notes.rst b/source/administration-guide/upgrade/important-upgrade-notes.rst index 70e0ab0411c..d60236a790a 100644 --- a/source/administration-guide/upgrade/important-upgrade-notes.rst +++ b/source/administration-guide/upgrade/important-upgrade-notes.rst @@ -12,7 +12,11 @@ We recommend reviewing the `additional upgrade notes <#additional-upgrade-notes> | If you're upgrading | Then... | | from a version earlier than... | | +====================================================+==================================================================================================================================================================+ -| v11.8 | Added a new ``Version`` column to the ``PropertyGroups`` table to distinguish PSAv1 (legacy) groups from PSAv2 groups. Existing groups default to version 1, | +| v11.8 | The Custom Profile Attributes property group is renamed from ``custom_profile_attributes`` to ``access_control``, and CPA fields and values are migrated from | +| | the legacy property model to the v2 model. The functionality of the CPA feature is unchanged. Plugin developers that use CPA will need to register against the | +| | new group name. | +| +------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | Added a new ``Version`` column to the ``PropertyGroups`` table to distinguish PSAv1 (legacy) groups from PSAv2 groups. Existing groups default to version 1, | | | preserving current behavior for all legacy callers. ``PropertyGroups`` is a small configuration-like table, and the ``ADD COLUMN ... DEFAULT 1 NOT NULL`` is a | | | metadata-only operation in PostgreSQL — no table rewrite occurs and the ``AccessExclusiveLock`` on ``PropertyGroups`` is held only for milliseconds. The | | | migrations are fully backwards-compatible and no database downtime is expected for this upgrade. The SQL queries included are: | From f2c91f220033c5c40c1cec69829ee50c2cc96d9e Mon Sep 17 00:00:00 2001 From: Amy Blais <29708087+amyblais@users.noreply.github.com> Date: Fri, 12 Jun 2026 08:48:23 +0300 Subject: [PATCH 13/13] Update ui-ada-changelog.rst --- source/product-overview/ui-ada-changelog.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/product-overview/ui-ada-changelog.rst b/source/product-overview/ui-ada-changelog.rst index 3cadfd632f5..0e93632c866 100644 --- a/source/product-overview/ui-ada-changelog.rst +++ b/source/product-overview/ui-ada-changelog.rst @@ -19,7 +19,7 @@ Changelog * - v11.8 - (UI) Added an unread badge to Recaps. * - v11.8 - - (UI) Added managed channel categories for **Channel Admins** to enforce sidebar organization across teams. + - (UI) Added `managed channel categories `__ for **Channel Admins** to enforce sidebar organization across teams. * - v11.8 - (UI) Added per-channel classification assignment and banner integration for webapp/desktop app. * - v11.8