diff --git a/source/about/deprecated-features.rst b/source/about/deprecated-features.rst index aed46ddaec0..a7dc900bbbb 100644 --- a/source/about/deprecated-features.rst +++ b/source/about/deprecated-features.rst @@ -6,19 +6,19 @@ This page describes features that are removed from support for Mattermost, or wi Removed features in upcoming versions ------------------------------------- +Removed features by Mattermost version +---------------------------------------- + Mattermost Mobile App v2.25.0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- In the Mattermost Mobile App v2.25, Mattermost will stop supporting iOS versions 13 and 14. Users should update their iOS version to v15.1 or newer before February 14, 2025. See more details in `this forum post `__. +- In the Mattermost Mobile App v2.25 release, Mattermost has stopped supporting iOS versions 13 and 14. Users should update their iOS version to v15.1 or newer before February 14, 2025. See more details in `this forum post `__. Mattermost Server v10.5.0 ~~~~~~~~~~~~~~~~~~~~~~~~~ -- The Mattermost server will stop supporting manual plugin deployment. Plugins are deployed manually when an administrator or some deployment automation copies the contents of a plugin bundle into the server's working directory. If a manual or automated deployment workflow is still required, administrators can instead prepackage the plugin bundles. See more details in `this forum post `__. -- Mattermost will stop providing official Mattermost server builds for the Microsoft Windows operating system. Administrators should migrate existing Mattermost server installations to use the official Linux builds. See more details in `this forum post `__. - -Removed features by Mattermost version ----------------------------------------- +- The Mattermost server has stopped supporting manual plugin deployment. Plugins were deployed manually when an administrator or some deployment automation copies the contents of a plugin bundle into the server's working directory. If a manual or automated deployment workflow is still required, administrators can instead prepackage the plugin bundles. See more details in `this forum post `__. +- Mattermost has stopped official Mattermost server builds for the Microsoft Windows operating system. Administrators should migrate existing Mattermost server installations to use the official Linux builds. See more details in `this forum post `__. Mattermost Server v10.4.0 ~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/about/mattermost-server-releases.md b/source/about/mattermost-server-releases.md index 8c8d8fb1efb..e9a8a149c72 100644 --- a/source/about/mattermost-server-releases.md +++ b/source/about/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** | |:---|:---|:---| +| v10.5 [Download](https://releases.mattermost.com/10.5.0/mattermost-10.5.0-linux-amd64.tar.gz) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/mattermost/releases/download/v10.5.0/sbom-mattermost-v10.5.0.json) | 2025-02-16 | 2025-11-15 {ref}`EXTENDED ` | | v10.4 [Download](https://releases.mattermost.com/10.4.2/mattermost-10.4.2-linux-amd64.tar.gz) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/mattermost/releases/download/v10.4.2/sbom-mattermost-v10.4.2.json) | 2025-01-16 | 2025-04-15 | | v10.3 [Download](https://releases.mattermost.com/10.3.3/mattermost-10.3.3-linux-amd64.tar.gz) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/mattermost/releases/download/v10.3.3/sbom-mattermost-v10.3.3.json) | 2024-12-16 | 2025-03-15 | | v10.2 [Download](https://releases.mattermost.com/10.2.3/mattermost-10.2.3-linux-amd64.tar.gz) \| {ref}`Changelog ` \| [SBOM download](https://github.com/mattermost/mattermost/releases/download/v10.2.3/sbom-mattermost-v10.2.3.json) | 2024-11-15 | 2025-02-15 | diff --git a/source/about/mattermost-v10-changelog.md b/source/about/mattermost-v10-changelog.md index 4b2a1891f0a..4f95229f1a4 100644 --- a/source/about/mattermost-v10-changelog.md +++ b/source/about/mattermost-v10-changelog.md @@ -7,6 +7,87 @@ Support for Mattermost Server v9.11 [Extended Support Release](https://docs.matt - See the [changelog in progress](https://bit.ly/2nK3cVf) for details about the upcoming release. ``` +(release-v10.5-extended-support-release)= +## Release v10.5 - [Extended Support Release](https://docs.mattermost.com/about/release-policy.html#release-types) + +**Release Day: Februrary 14, 2025** + +### Compatibility + - Updated minimum Safari version to 17.4+ and minimum Firefox version to 119+. + +### Important Upgrade Notes + - v10.5 introduces Property System Architecture schema migration. See the [Important Upgrade Notes](https://docs.mattermost.com/upgrade/important-upgrade-notes.html) for details. + - The Compliance Export system has been overhauled. See the [Important Upgrade Notes](https://docs.mattermost.com/upgrade/important-upgrade-notes.html) for details. + - The Mattermost server has stopped supporting manual plugin deployment. Plugins were deployed manually when an administrator or some deployment automation copies the contents of a plugin bundle into the server's working directory. If a manual or automated deployment workflow is still required, administrators can instead prepackage the plugin bundles. See more details in [this forum post](https://forum.mattermost.com/t/deprecation-notice-manual-plugin-deployment/21192). + - Mattermost has stopped official Mattermost server builds for the Microsoft Windows operating system. Administrators should migrate existing Mattermost server installations to use the official Linux builds. See more details in [this forum post](https://forum.mattermost.com/t/deprecation-notice-server-builds-for-microsoft-windows/21498). + +### Breaking Changes + - The internal workings of the ``PluginLinkComponent`` in the webapp have been improved. Plugins that register link tooltips using ``registerLinkTooltipComponent`` will see changes in how tooltip components are managed. Link tooltips are now unmounted from the DOM by default, significantly improving performance. They are only mounted when a link is hovered over or focused. As a result, plugins may need to update their components to properly handle mounting and unmounting scenarios. + +```{Important} +If you upgrade from a release earlier than v10.3, please read the other [Important Upgrade Notes](https://docs.mattermost.com/upgrade/important-upgrade-notes.html). +``` + +### Improvements + +#### User Interface (UI) + - Pre-packaged Boards plugin [v9.0.5](https://github.com/mattermost/mattermost-plugin-boards/releases/tag/v9.0.5). + - Pre-packaged Calls plugin [v1.5.1](https://github.com/mattermost/mattermost-plugin-calls/releases/tag/v1.5.1). + - Pre-packaged MS Teams plugin [v2.1.0](https://github.com/mattermost/mattermost-plugin-msteams/releases/tag/v2.1.0). + - Pre-packaged Channel Export plugin [v1.2.1](https://github.com/mattermost/mattermost-plugin-channel-export/releases/tag/v1.2.1). + - Pre-packaged Jira plugin [v4.2.0](https://github.com/mattermost/mattermost-plugin-jira/releases/tag/v4.2.0). + - Added the ability to modify post attachments during edit. + - The channel bookmarks bar is now hidden when there are no bookmarks in the channel. Bookmarks can now be added from the channel menu. + - Removed the video from the onboarding checklist. + - Improved accessibility of many form labels throughout the app. + +#### Administration + - Added the migrations, store layer and service for the Property System Architecture. + - Added the Custom Profile Attribute fields store, app and API endpoints. + - Added the **System Console** user interface for managing Custom Profile Attributes (User Properties). + - Introduced V2 of the Support Packet, containing improvement diagnosis information for high-availability deployments. + - Added a new ``Fallback`` field to ``PluginSettingsSection`` that controls whether the settings defined under the section should still render as fallback when the plugin is disabled. + - Updated the library used for tooltips throughout the app to fix a memory leak. + - Reduced the volume of unnecessary debug logs generated during scheduled post job execution. + - Removed ``form-data`` from @mattermost/client. + +### Bug Fixes + - Fixed archived filter behavior in System Console > User Management > Channels to restore the ability to exclude archived channels. + - Fixed an issue where DMs/GMs with a `DeleteAt` non-zero value in the database might cause issues with several APIs. + - Fixed an issue where the team sidebar's mention count could be out of sync with the thread count. + - Fixed an issue where replies with props could not be imported. + - Fixed an issue where ``pluginapi.store.GetReplicaDB`` returned nil if masterDB was not initialized. + - Fixed an issue in ``SqlPostStore.PermanentDeletebyUser`` where no error was returned when 10K posts were exceeded. + - Fixed an issue where a channel would no longer be exported for Bulk Export workflow if any of the users of a Direct or Group Message channel were permanently deleted. + - Fixed an issue where the scroll position reset when custom emojis were requested. + - Fixed a panic during LDAP synchronization. + - Fixed an issue where the bulk export retention job would accidentally delete non-bulk export files and directories. + - Fixed an issue where archived channels were not searchable with Elasticsearch/OpenSearch if ``TeamSettings.ExperimentalViewArchivedChannels`` was enabled. If there are old channels which were archived before a bulk index was run, users would need to purge indexes, and do bulk index again. Because those old archived channels are removed from the index when a bulk index is run. + +### config.json +New setting options were added to ``config.json``. Below is a list of the additions and their default values on install. The settings can be modified in ``config.json``, or the System Console when available. + +#### Changes to Enterprise plans: + - Under ``essageExportSettings`` in ``config.json``: + - Added ``ComplianceExportDirectoryFormat``, ``ComplianceExportPath``, ``ComplianceExportPathCLI``, ``ComplianceExportChannelBatchSizeDefault``, and ``ComplianceExportChannelHistoryBatchSizeDefault`` for compliance export overhaul. + +### API Changes + - ``GetUsersInChannelDuring`` now accepts a slice; added ``GetChannelsWithActivityDuring``. + - Two new boolean query parameters were added to the ``api/v4/config`` endpoint: + - ``remove_defaults`` (filters out default values). + - ``remove_masked`` (removes masked fields). + +### Go Version + - v10.5 is built with Go ``v1.22.6``. + +### Known Issues + - Setting the license file location through an envvar still gives the option to upload a new license through the System Console, resulting in the license being overwritten by the one set through the envvar. See this [knowledge base article](https://support.mattermost.com/hc/en-us/articles/33911983851284-System-console-still-displays-old-license-after-uploading-a-new-one) on how to resolve this issue. + - Searching stop words in quotation marks with Elasticsearch enabled returns more than just the searched terms. + - Slack import through the CLI fails if email notifications are enabled. + +### Contributors + - + (release-v10.4-feature-release)= ## Release v10.4 - [Feature Release](https://docs.mattermost.com/about/release-policy.html#release-types) diff --git a/source/install/download-latest-tarball.rst b/source/install/download-latest-tarball.rst index 5bce5154347..cafcd4facb0 100644 --- a/source/install/download-latest-tarball.rst +++ b/source/install/download-latest-tarball.rst @@ -9,13 +9,13 @@ Using ``wget``, download the Mattermost Server release you want to install. .. code-block:: sh - wget https://releases.mattermost.com/10.4.2/mattermost-10.4.2-linux-amd64.tar.gz + wget https://releases.mattermost.com/10.5.0/mattermost-10.5.0-linux-amd64.tar.gz .. tab:: Current ESR .. code-block:: sh - wget https://releases.mattermost.com/9.11.8/mattermost-9.11.8-linux-amd64.tar.gz + wget https://releases.mattermost.com/10.5.0/mattermost-10.5.0-linux-amd64.tar.gz .. tab:: Older releases diff --git a/source/install/software-hardware-requirements.rst b/source/install/software-hardware-requirements.rst index 8713847511c..74a50262d71 100644 --- a/source/install/software-hardware-requirements.rst +++ b/source/install/software-hardware-requirements.rst @@ -46,8 +46,8 @@ PC web :header: "Browser", "Self-Hosted Technical Requirement", "Cloud Technical Requirement" "Chrome", "v130+", "v130+" - "Firefox", "v115+", "v115+" - "Safari", "v17+", "v17+" + "Firefox", "v119+", "v119+" + "Safari", "v17.4+", "v17.4+" "Edge", "v130+", "v130+" `*` Internet Explorer (IE11) is no longer supported. We recommend using the `Mattermost desktop app `_ or another supported browser. See `this forum post `__ to learn more. @@ -72,7 +72,7 @@ Mobile web .. csv-table:: :header: "Browser", "Technical Requirement" - "iOS", "iOS 13.4+ with Safari 17+ or Chrome 130+" + "iOS", "iOS 13.4+ with Safari 17.4+ or Chrome 130+" "Android", "Android 7+ with Chrome 130+" Email client diff --git a/source/upgrade/important-upgrade-notes.rst b/source/upgrade/important-upgrade-notes.rst index d7c70e6a1d4..e87228a949c 100644 --- a/source/upgrade/important-upgrade-notes.rst +++ b/source/upgrade/important-upgrade-notes.rst @@ -16,6 +16,164 @@ Important Upgrade Notes | If you’re upgrading | Then... | | from a version earlier than... | | +====================================================+==================================================================================================================================================================+ +| v10.5 | The internal workings of the ``PluginLinkComponent`` in the webapp have been improved. Plugins that register link tooltips using | +| | ``registerLinkTooltipComponent`` will see changes in how tooltip components are managed. Link tooltips are now unmounted from the DOM by default, significantly | +| | improving performance. They are only mounted when a link is hovered over or focused. As a result, plugins may need to update their components to properly handle | +| | mounting and unmounting scenarios. | +| +------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | The Mattermost server has stopped supporting manual plugin deployment. Plugins were deployed manually when an administrator or some deployment automation copies | +| | the contents of a plugin bundle into the server's working directory. If a manual or automated deployment workflow is still required, administrators can instead | +| | prepackage the plugin bundles. See more details in `this forum post `_. | +| +------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | Mattermost has stopped official Mattermost server builds for the Microsoft Windows operating system. Administrators should migrate existing Mattermost server | +| | installations to use the official Linux builds. See more details in | +| | `this forum post `_. | +| +------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | v10.5 introduces updates to the Compliance Export functionality, which will modify how exported data is structured, stored and processed. These changes | +| | primarily affect System Administrators and the main changes are outlined below. See more details in | +| | the `Compliance Export documentation `_. | +| | | +| | Output files and directories have changed - Previously we were exporting a single zip containing all the batch directories. Now we will export a single | +| | directory, and under that directory each batch will be its own zip. | +| | | +| | Compliance exports performance improvements - Compliance exports should now be at least 50% faster, and possibly more. | +| | | +| | Logic improvements - We’ve made improvements and fixed bugs that we found. | +| | | +| | Changes specific to each Export Type - The export output formats have been changed. Some fields’ semantic meaning has been clarified, and there are a number of | +| | new fields. Our goal was to maintain backwards compatibility while fixing the logic bugs. | +| | | +| | See the :doc:`compliance export product documentation for details. | +| +------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| | As part of the Property System Architecture feature, Mattermost v10.5 is going to run a set of migrations to add new tables to the schema. This migration only | +| | creates new tables and indexes, so there is no impact on preexisting data. | +| | | +| | New tables ``PropertyGroups``, ``PropertyFields`` and ``PropertyValues`` are going to be created. | +| | | +| | In the case of PostgreSQL, a new enum type ``property_field_type`` is going to be created, to be used in the ``Type`` column of the ``PropertyFields`` table. | +| | | +| | The ``PropertyFields`` and ``PropertyValues`` tables have a unique constraint that will generate an index in MySQL, and in the case of PostgreSQL, they directly | +| | use a ``UNIQUE INDEX`` to enforce this constraint. | +| | | +| | A new index ``idx_propertyvalues_targetid_groupid`` will be created for the ``PropertyValues`` table. | +| | | +| | The migration is only creating new tables with no data. The migration is backwards-compatible, and a previous version of Mattermost can run with the new schema | +| | changes. No table locks or existing operations on the table are impacted by this upgrade. Zero downtime is possible when upgrading to this release. | +| | | +| | Below are the SQL queries included in the schema changes: | +| | | +| | **MySQL**: | +| | | +| | .. code-block:: sql | +| | | +| | CREATE TABLE IF NOT EXISTS PropertyGroups ( | +| | ID varchar(26) PRIMARY KEY, | +| | Name varchar(64) NOT NULL, | +| | UNIQUE(Name) | +| | ); | +| | | +| | CREATE TABLE IF NOT EXISTS PropertyFields ( | +| | ID varchar(26) PRIMARY KEY, | +| | GroupID varchar(26) NOT NULL, | +| | Name varchar(255) NOT NULL, | +| | Type enum('text', 'select', 'multiselect', 'date', 'user', 'multiuser'), | +| | Attrs json, | +| | TargetID varchar(255), | +| | TargetType varchar(255), | +| | CreateAt bigint(20), | +| | UpdateAt bigint(20), | +| | DeleteAt bigint(20), | +| | UNIQUE(GroupID, TargetID, Name, DeleteAt) | +| | ); | +| | | +| | CREATE TABLE IF NOT EXISTS PropertyValues ( | +| | ID varchar(26) PRIMARY KEY, | +| | TargetID varchar(255) NOT NULL, | +| | TargetType varchar(255) NOT NULL, | +| | GroupID varchar(26) NOT NULL, | +| | FieldID varchar(26) NOT NULL, | +| | Value json, | +| | CreateAt bigint(20), | +| | UpdateAt bigint(20), | +| | DeleteAt bigint(20), | +| | UNIQUE(GroupID, TargetID, FieldID, DeleteAt) | +| | ); | +| | | +| | SET @preparedStatement = (SELECT IF( | +| | ( | +| | SELECT COUNT(*) FROM INFORMATION_SCHEMA.STATISTICS | +| | WHERE table_name = 'PropertyValues' | +| | AND table_schema = DATABASE() | +| | AND index_name = 'idx_propertyvalues_targetid_groupid' | +| | ) > 0, | +| | 'SELECT 1', | +| | 'CREATE INDEX idx_propertyvalues_targetid_groupid ON PropertyValues (TargetID, GroupID);' | +| | )); | +| | | +| | PREPARE createIndexIfNotExists FROM @preparedStatement; | +| | EXECUTE createIndexIfNotExists; | +| | DEALLOCATE PREPARE createIndexIfNotExists; | +| | | +| | | +| | **PostgreSQL**: | +| | | +| | .. code-block:: sql | +| | | +| | CREATE TABLE IF NOT EXISTS PropertyGroups ( | +| | ID varchar(26) PRIMARY KEY, | +| | Name varchar(64) NOT NULL, | +| | UNIQUE(Name) | +| | ); | +| | | +| | DO | +| | BEGIN | +| | IF NOT EXISTS (SELECT * FROM pg_type typ | +| | INNER JOIN pg_namespace nsp ON nsp.oid = typ.typnamespace | +| | WHERE nsp.nspname = current_schema() | +| | AND typ.typname = 'property_field_type') THEN | +| | CREATE TYPE property_field_type AS ENUM ( | +| | 'text', | +| | 'select', | +| | 'multiselect', | +| | 'date', | +| | 'user', | +| | 'multiuser' | +| | ); | +| | END IF; | +| | END; | +| | LANGUAGE plpgsql; | +| | | +| | CREATE TABLE IF NOT EXISTS PropertyFields ( | +| | ID varchar(26) PRIMARY KEY, | +| | GroupID varchar(26) NOT NULL, | +| | Name varchar(255) NOT NULL, | +| | Type property_field_type, | +| | Attrs jsonb, | +| | TargetID varchar(255), | +| | TargetType varchar(255), | +| | CreateAt bigint NOT NULL, | +| | UpdateAt bigint NOT NULL, | +| | DeleteAt bigint NOT NULL | +| | ); | +| | | +| | CREATE UNIQUE INDEX IF NOT EXISTS idx_propertyfields_unique ON PropertyFields (GroupID, TargetID, Name) WHERE DeleteAt = 0; | +| | | +| | CREATE TABLE IF NOT EXISTS PropertyValues ( | +| | ID varchar(26) PRIMARY KEY, | +| | TargetID varchar(255) NOT NULL, | +| | TargetType varchar(255) NOT NULL, | +| | GroupID varchar(26) NOT NULL, | +| | FieldID varchar(26) NOT NULL, | +| | Value jsonb NOT NULL, | +| | CreateAt bigint NOT NULL, | +| | UpdateAt bigint NOT NULL, | +| | DeleteAt bigint NOT NULL | +| | ); | +| | | +| | CREATE UNIQUE INDEX IF NOT EXISTS idx_propertyvalues_unique ON PropertyValues (GroupID, TargetID, FieldID) WHERE DeleteAt = 0; | +| | CREATE INDEX IF NOT EXISTS idx_propertyvalues_targetid_groupid ON PropertyValues (TargetID, GroupID); | +| | `` | ++----------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | v10.3 | The Classic Mobile App has been phased out. Please download the new v2 Mobile App from the | | | `Apple App Store `_ or | | | `Google Play Store `_. See more details | diff --git a/source/upgrade/open-source-components.rst b/source/upgrade/open-source-components.rst index 08c9dfafb62..b92836e5264 100644 --- a/source/upgrade/open-source-components.rst +++ b/source/upgrade/open-source-components.rst @@ -9,6 +9,7 @@ The following open source components are used to provide the full benefits of Ma Desktop -------- +- Mattermost Desktop v5.11.0 - `View Open Source Components `__. - Mattermost Desktop v5.10.0 - `View Open Source Components `__. - Mattermost Desktop v5.9.0 - `View Open Source Components `__. - Mattermost Desktop v5.8.0 - `View Open Source Components `__. @@ -33,6 +34,7 @@ Desktop Mobile ------- +- Mattermost Mobile v2.25.0 - `View Open Source Components `__. - Mattermost Mobile v2.24.0 - `View Open Source Components `__. - Mattermost Mobile v2.23.0 - `View Open Source Components `__. - Mattermost Mobile v2.22.0 - `View Open Source Components `__. @@ -118,6 +120,7 @@ Mobile Server ------------------------------ +- Mattermost Enterprise Edition v10.5.0 - `View Open Source Components `__. - Mattermost Enterprise Edition v10.4.0 - `View Open Source Components `__. - Mattermost Enterprise Edition v10.3.0 - `View Open Source Components `__. - Mattermost Enterprise Edition v10.2.0 - `View Open Source Components `__.