Merge branch 'master' into develop

This commit is contained in:
Andrew Morgan 2022-03-24 18:14:26 +00:00
commit a503c2c388
5 changed files with 24 additions and 5 deletions

View File

@ -1,3 +1,14 @@
Synapse 1.55.1 (2022-03-24)
===========================
This is a patch release that fixes an incompatibility with version 3.1.0 of the [Jinja](https://pypi.org/project/Jinja2/) library, released on March 24th, 2022. Deployments of Synapse using the `matrixdotorg/synapse` Docker image or Debian packages from packages.matrix.org are not affected.
Internal Changes
----------------
- Remove uses of the long-deprecated `jinja2.Markup` which would prevent Synapse from starting with Jinja 3.1.0 or above installed. ([\#12289](https://github.com/matrix-org/synapse/issues/12289))
Synapse 1.55.0 (2022-03-22) Synapse 1.55.0 (2022-03-22)
=========================== ===========================

6
debian/changelog vendored
View File

@ -1,3 +1,9 @@
matrix-synapse-py3 (1.55.1) stable; urgency=medium
* New synapse release 1.55.1.
-- Synapse Packaging team <packages@matrix.org> Thu, 24 Mar 2022 17:44:23 +0000
matrix-synapse-py3 (1.55.0) stable; urgency=medium matrix-synapse-py3 (1.55.0) stable; urgency=medium
* New synapse release 1.55.0. * New synapse release 1.55.0.

View File

@ -68,7 +68,7 @@ try:
except ImportError: except ImportError:
pass pass
__version__ = "1.55.0" __version__ = "1.55.1"
if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)): if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)):
# We import here so that we don't have to install a bunch of deps when # We import here so that we don't have to install a bunch of deps when

View File

@ -18,6 +18,7 @@ from typing import TYPE_CHECKING, Dict, Iterable, List, Optional, TypeVar
import bleach import bleach
import jinja2 import jinja2
from markupsafe import Markup
from synapse.api.constants import EventTypes, Membership, RoomTypes from synapse.api.constants import EventTypes, Membership, RoomTypes
from synapse.api.errors import StoreError from synapse.api.errors import StoreError
@ -867,7 +868,7 @@ class Mailer:
) )
def safe_markup(raw_html: str) -> jinja2.Markup: def safe_markup(raw_html: str) -> Markup:
""" """
Sanitise a raw HTML string to a set of allowed tags and attributes, and linkify any bare URLs. Sanitise a raw HTML string to a set of allowed tags and attributes, and linkify any bare URLs.
@ -877,7 +878,7 @@ def safe_markup(raw_html: str) -> jinja2.Markup:
Returns: Returns:
A Markup object ready to safely use in a Jinja template. A Markup object ready to safely use in a Jinja template.
""" """
return jinja2.Markup( return Markup(
bleach.linkify( bleach.linkify(
bleach.clean( bleach.clean(
raw_html, raw_html,
@ -891,7 +892,7 @@ def safe_markup(raw_html: str) -> jinja2.Markup:
) )
def safe_text(raw_text: str) -> jinja2.Markup: def safe_text(raw_text: str) -> Markup:
""" """
Sanitise text (escape any HTML tags), and then linkify any bare URLs. Sanitise text (escape any HTML tags), and then linkify any bare URLs.
@ -901,7 +902,7 @@ def safe_text(raw_text: str) -> jinja2.Markup:
Returns: Returns:
A Markup object ready to safely use in a Jinja template. A Markup object ready to safely use in a Jinja template.
""" """
return jinja2.Markup( return Markup(
bleach.linkify(bleach.clean(raw_text, tags=[], attributes=[], strip=False)) bleach.linkify(bleach.clean(raw_text, tags=[], attributes=[], strip=False))
) )

View File

@ -75,6 +75,7 @@ REQUIREMENTS = [
"attrs>=19.2.0,!=21.1.0", "attrs>=19.2.0,!=21.1.0",
"netaddr>=0.7.18", "netaddr>=0.7.18",
"Jinja2>=2.9", "Jinja2>=2.9",
"MarkupSafe>=2.0",
"bleach>=1.4.3", "bleach>=1.4.3",
# We use `ParamSpec`, which was added in `typing-extensions` 3.10.0.0. # We use `ParamSpec`, which was added in `typing-extensions` 3.10.0.0.
"typing-extensions>=3.10.0", "typing-extensions>=3.10.0",