Skip to content

AI-Aided: Add data retention support for preserving pinned posts #8071

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: v10.10-documentation
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion source/about/mattermost-mobile-releases.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ We strongly recommend using the latest mobile app release available that contain

| **Release** | **Released on** | **Support ends** | **Compatible with** |
|:---|:---|:---|:---|
| v2.29 {ref}`FEATURE <release-v2-29-0>` [Download](https://github.com/mattermost/mattermost-mobile/releases/tag/v2.29.0) \| {ref}`Changelog <release-v2-29-0>` | 2025-06-16 | 2025-07-15 | {ref}`v10.9 <release-v10.9-feature-release>`, {ref}`v10.8 <release-v10.8-feature-release>`, {ref}`v10.7 <release-v10.7-feature-release>`, {ref}`v10.5 <release-v10.5-extended-support-release>` |
| v2.29 {ref}`FEATURE <release-v2-29-1>` [Download](https://github.com/mattermost/mattermost-mobile/releases/tag/v2.29.1) \| {ref}`Changelog <release-v2-29-1>` | 2025-06-16 | 2025-07-15 | {ref}`v10.9 <release-v10.9-feature-release>`, {ref}`v10.8 <release-v10.8-feature-release>`, {ref}`v10.7 <release-v10.7-feature-release>`, {ref}`v10.5 <release-v10.5-extended-support-release>` |
| v2.28 {ref}`FEATURE <release-v2-28-1>` [Download](https://github.com/mattermost/mattermost-mobile/releases/tag/v2.28.1) \| {ref}`Changelog <release-v2-28-1>` | 2025-05-16 | 2025-06-15 | {ref}`v10.8 <release-v10.8-feature-release>`, {ref}`v10.7 <release-v10.7-feature-release>`, {ref}`v10.6 <release-v10.6-feature-release>`, {ref}`v10.5 <release-v10.5-extended-support-release>` |
| v2.27 {ref}`FEATURE <release-v2-27-1>` [Download](https://github.com/mattermost/mattermost-mobile/releases/tag/v2.27.1) \| {ref}`Changelog <release-v2-27-1>` | 2025-04-16 | 2025-05-15 | {ref}`v10.7 <release-v10.7-feature-release>`, {ref}`v10.6 <release-v10.6-feature-release>`, {ref}`v10.5 <release-v10.5-extended-support-release>`, {ref}`v9.11 <release-v9-11-extended-support-release>` |
| v2.26 {ref}`FEATURE <release-v2-26-2>` [Download](https://github.com/mattermost/mattermost-mobile/releases/tag/v2.26.2) \| {ref}`Changelog <release-v2-26-2>` | 2025-03-16 | 2025-04-15 | {ref}`v10.6 <release-v10.6-feature-release>`, {ref}`v10.5 <release-v10.5-extended-support-release>`, {ref}`v10.4 <release-v10.4-feature-release>`, {ref}`v9.11 <release-v9-11-extended-support-release>` |
Expand Down
14 changes: 14 additions & 0 deletions source/about/mobile-app-changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,20 @@ This changelog summarizes updates to Mattermost mobile apps releases for [Matter
```{include} common-esr-support.md
```

(release-v2-29-1)=
## 2.29.1 Release
- Release Date: June 18, 2025
- Server Versions Supported: Server v10.5.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 v10.5.0 or later is required.** Support for server [Extended Support Release](https://docs.mattermost.com/about/release-policy.html#extended-support-releases) (ESR) v9.11.0 has ended and upgrading to server ESR v10.5.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 6s devices and later with iOS 15.1+ are required.

### Bug Fixes
- Fixed an issue where an unread thread on a Direct/Group Message would mark all teams as unread [MM-64335](https://mattermost.atlassian.net/browse/MM-64335).
- Fixed an issue with the **Report a Problem** screen not showing all the buttons on small screens [MM-64457](https://mattermost.atlassian.net/browse/MM-64457).

(release-v2-29-0)=
## 2.29.0 Release
- Release Date: June 16, 2025
Expand Down
2 changes: 1 addition & 1 deletion source/about/subscription.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Mattermost offers self-hosted capabilities through **Mattermost Enterprise** and

Mattermost self-hosted deployments require a license subscription key to be applied to access features. Your plan subscription determines what features you have access to. Talk to a `Mattermost expert <https://mattermost.com/contact-sales/>`_ to learn more.

:doc:`Mattermost Enterprise and Mattermost Professional :doc:`licenses </about/editions-and-offerings>` are sold as prepaid annual subscriptions based on the number of seat licenses purchased, or “seats”. Each seat license purchased entitles a customer to an “activated user”, which is a user registered on a specific Mattermost server and not deactivated.
:doc:`Mattermost Enterprise and Mattermost Professional licenses </about/editions-and-offerings>` are sold as prepaid annual subscriptions based on the number of seat licenses purchased, or “seats”. Each seat license purchased entitles a customer to an “activated user”, which is a user registered on a specific Mattermost server and not deactivated.

System administrators can view user status in the System Console and activate and deactivate registered users at any time. Deactivated users have history and preferences saved.

Expand Down
11 changes: 8 additions & 3 deletions source/comply/data-retention-policy.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ To set a global data retention policy:
2. Select **Edit** from the menu located to the right of the **Global retention policy** table.
3. Specify a global retention policy for channel messages and direct messages by selecting a **Channel & direct message retention** option from the dropdown, then set how long to keep those messages in hours, days, or years. When a time is set, messages and file attachments older than the duration you set will be deleted. The minimum retention period is one hour.
4. Select a **File retention** option from the dropdown. Set the number of hours, days, or years to keep files. When a time is set, uploaded files which are older than the duration you set will be deleted from your file storage system (either from your local disk or your Amazon S3 service as specified in **System Console > Environment > File Storage**). The minimum retention period is one hour. The global file policy deletes all files regardless of whether they're in a direct message, private, or public channel.
5. Under the **Policy log** section, select **Edit** to specify the start time of the daily scheduled data retention job. Choose a time when fewer people are using your system.
5. *(Available from Mattermost server v10.10)* Optionally enable **Preserve pinned posts** to prevent pinned posts from being deleted by data retention policies, even if they exceed the configured retention period.
6. Under the **Policy log** section, select **Edit** to specify the start time of the daily scheduled data retention job. Choose a time when fewer people are using your system.

Select **Save**. Messages and files older than the duration you set will be deleted at the specified server time, as applicable.

Expand Down Expand Up @@ -55,11 +56,15 @@ Frequently Asked Questions (FAQs)
What happens when a message is deleted?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The message is removed from the Mattermost user interface and deleted from the ``Posts`` table. The message is no longer searchable and cannot be retrieved in pinned posts or saved posts lists.
The message is removed from the Mattermost user interface and deleted from the ``Posts`` table. The message is no longer searchable and cannot be retrieved in saved posts lists.

Replies that did not exceed the message duration are still displayed in the user interface. However, further replies are no longer possible.

If there was a file attached to the message, it will be removed from the user interface only.
If there was a file attached to the message, it will be removed from the user interface only.

.. note::

From Mattermost server v10.10, you can optionally preserve pinned posts when data retention policies delete messages by enabling the **Preserve pinned posts** setting in **System Console > Compliance > Data Retention Policies**. When enabled, pinned posts will not be deleted even if they exceed the configured retention period.

Why can I still see messages that were supposedly deleted?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
22 changes: 22 additions & 0 deletions source/configure/compliance-configuration-settings.rst
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,28 @@ By default, files are kept forever. If **Hours**, **Days**, or **Years** is chos

From Mattermost v9.5, when a ``FileRetentionHours`` value is configured, the ``FileRetentionDays`` value must be 0 in the ``config.json`` file. Conversely, when a ``FileRetentionDays`` value is configured, the ``FileRetentionHours`` value must be ``0``.

.. config:setting:: preserve-pinned-posts
:displayname: Preserve pinned posts (Data Retention)
:systemconsole: Compliance > Data Retention Policies
:configjson: .DataRetentionSettings.PreservePinnedPosts
:environment: MM_DATARETENTIONSETTINGS_PRESERVEPINNEDPOSTS
:description: Controls whether pinned posts are preserved when data retention policies delete messages. Available from Mattermost server v10.10.

Preserve pinned posts
~~~~~~~~~~~~~~~~~~~~~

*Available from Mattermost server v10.10*

Controls whether pinned posts are preserved when data retention policies delete messages. When enabled, pinned posts will not be deleted by data retention policies, even if they exceed the configured retention period.

**True**: Pinned posts are preserved and will not be deleted by data retention policies.

**False**: **(Default)** Pinned posts are deleted according to the configured data retention policy.

+-----------------------------------------------------------------------------------------------------------------+
| This feature's ``config.json`` setting is ``"PreservePinnedPosts": false`` with options ``true`` and ``false``. |
+-----------------------------------------------------------------------------------------------------------------+

.. config:setting:: custom-retention-policy
:displayname: Custom retention policy (Data Retention)
:systemconsole: Compliance > Data Retention Policies
Expand Down
17 changes: 6 additions & 11 deletions source/deploy/server/deploy-linux.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,11 @@ Mattermost Server can be deployed on various Linux distributions, providing a fl

This page covers deployment options for major Linux distributions and installation methods. Choose your preferred platform below for specific deployment instructions:

.. tab:: Manual Install

.. include:: linux/deploy-tar.rst
:start-after: :nosearch:

.. tab:: Ubuntu

.. include:: linux/deploy-ubuntu.rst
Expand All @@ -15,16 +20,6 @@ This page covers deployment options for major Linux distributions and installati
.. include:: linux/deploy-rhel.rst
:start-after: :nosearch:

.. tab:: Generic Linux

.. include:: linux/deploy-tar.rst
:start-after: :nosearch:

.. tab:: Omnibus Package

.. include:: linux/deploy-omnibus.rst
:start-after: :nosearch:

Secure your Mattermost deployment
---------------------------------

Expand All @@ -37,4 +32,4 @@ Configuring TLS and setting up an NGINX proxy ensures secure communication betwe
.. note::

- Your Mattermost Server deployments requires a PostgreSQL database. See the :ref:`database preparation <deploy/server/preparations:database preparation>` documentation for details on this prerequisite.
- See the :doc:`deployment troubleshooting </guides/deployment-troubleshooting>` documentation for resolutions to common deployment issues.
- See the :doc:`deployment troubleshooting </guides/deployment-troubleshooting>` documentation for resolutions to common deployment issues.