summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--CHANGES.md89
-rw-r--r--changelog.d/10520.misc1
-rw-r--r--changelog.d/11243.misc1
-rw-r--r--changelog.d/11267.doc1
-rw-r--r--changelog.d/11331.misc1
-rw-r--r--changelog.d/11360.misc1
-rw-r--r--changelog.d/11378.feature1
-rw-r--r--changelog.d/11427.doc1
-rw-r--r--changelog.d/11480.misc1
-rw-r--r--changelog.d/11487.misc1
-rw-r--r--changelog.d/11503.misc1
-rw-r--r--changelog.d/11505.misc1
-rw-r--r--changelog.d/11516.bugfix1
-rw-r--r--changelog.d/11520.misc1
-rw-r--r--changelog.d/11531.misc1
-rw-r--r--changelog.d/11535.misc1
-rw-r--r--changelog.d/11536.bugfix1
-rw-r--r--changelog.d/11538.feature1
-rw-r--r--changelog.d/11541.misc1
-rw-r--r--changelog.d/11542.misc1
-rw-r--r--changelog.d/11543.misc1
-rw-r--r--changelog.d/11546.misc1
-rw-r--r--changelog.d/11547.bugfix1
-rw-r--r--changelog.d/11549.misc1
-rw-r--r--changelog.d/11550.misc1
-rw-r--r--changelog.d/11551.misc1
-rw-r--r--changelog.d/11553.doc1
-rw-r--r--changelog.d/11555.misc1
-rw-r--r--changelog.d/11556.misc1
-rw-r--r--changelog.d/11558.misc1
-rw-r--r--changelog.d/11560.misc1
-rw-r--r--changelog.d/11564.misc1
-rw-r--r--changelog.d/11565.misc1
-rw-r--r--changelog.d/11566.misc1
-rw-r--r--changelog.d/11570.misc1
-rw-r--r--changelog.d/11571.misc1
-rw-r--r--changelog.d/11574.misc1
-rw-r--r--changelog.d/11575.misc1
-rw-r--r--changelog.d/11580.misc1
-rw-r--r--changelog.d/11582.misc1
-rw-r--r--changelog.d/11588.removal1
-rw-r--r--changelog.d/11589.misc1
-rw-r--r--changelog.d/11590.misc1
-rw-r--r--changelog.d/11592.bugfix1
-rw-r--r--changelog.d/11594.misc1
-rw-r--r--changelog.d/11595.misc1
-rw-r--r--changelog.d/11596.misc1
-rw-r--r--changelog.d/11602.bugfix1
-rw-r--r--changelog.d/11603.misc1
-rw-r--r--changelog.d/11607.misc1
-rw-r--r--changelog.d/11618.misc1
-rw-r--r--changelog.d/11619.misc1
-rw-r--r--changelog.d/11622.misc1
-rw-r--r--changelog.d/11623.bugfix1
-rw-r--r--changelog.d/11632.bugfix1
-rw-r--r--changelog.d/11633.misc1
-rw-r--r--changelog.d/11634.misc1
-rw-r--r--changelog.d/11638.misc1
-rw-r--r--changelog.d/11640.doc1
-rw-r--r--changelog.d/11642.bugfix1
-rw-r--r--changelog.d/11643.misc1
-rw-r--r--changelog.d/11652.misc1
-rw-r--r--changelog.d/11653.misc1
-rw-r--r--changelog.d/11654.misc1
-rw-r--r--changelog.d/11657.misc1
-rw-r--r--changelog.d/11664.feature1
-rw-r--r--changelog.d/11665.misc1
-rw-r--r--changelog.d/11666.feature1
-rw-r--r--changelog.d/11677.bugfix1
-rw-r--r--changelog.d/11678.doc1
-rw-r--r--changelog.d/11680.doc1
-rw-r--r--changelog.d/11681.doc1
-rw-r--r--changelog.d/11687.misc1
-rw-r--r--debian/changelog6
-rw-r--r--docs/upgrade.md11
-rw-r--r--synapse/__init__.py2
-rw-r--r--synapse/rest/client/capabilities.py3
-rw-r--r--synapse/util/__init__.py7
78 files changed, 117 insertions, 73 deletions
diff --git a/CHANGES.md b/CHANGES.md
index 9f6e29631d..f91109f885 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,92 @@
+Synapse 1.50.0rc1 (2022-01-05)
+==============================
+
+Please note that we now only support Python 3.7+ and PostgreSQL 10+ (if applicable), because Python 3.6 and PostgreSQL 9.6 have reached end-of-life.
+
+
+Features
+--------
+
+- Allow guests to send state events per [MSC3419](https://github.com/matrix-org/matrix-doc/pull/3419). ([\#11378](https://github.com/matrix-org/synapse/issues/11378))
+- Add experimental support for part of [MSC3202](https://github.com/matrix-org/matrix-doc/pull/3202): allowing application services to masquerade as specific devices. ([\#11538](https://github.com/matrix-org/synapse/issues/11538))
+- Add admin API to get users' account data. ([\#11664](https://github.com/matrix-org/synapse/issues/11664))
+- Include the room topic in the stripped state included with invites and knocking. ([\#11666](https://github.com/matrix-org/synapse/issues/11666))
+- Send and handle cross-signing messages using the stable prefix. ([\#10520](https://github.com/matrix-org/synapse/issues/10520))
+- Support unprefixed versions of fallback key property names. ([\#11541](https://github.com/matrix-org/synapse/issues/11541))
+
+
+Bugfixes
+--------
+
+- Fix a long-standing bug where relations from other rooms could be included in the bundled aggregations of an event. ([\#11516](https://github.com/matrix-org/synapse/issues/11516))
+- Fix a long-standing bug which could cause `AssertionError`s to be written to the log when Synapse was restarted after purging events from the database. ([\#11536](https://github.com/matrix-org/synapse/issues/11536), [\#11642](https://github.com/matrix-org/synapse/issues/11642))
+- Fix a bug introduced in Synapse 1.17.0 where a pusher created for an email with capital letters would fail to be created. ([\#11547](https://github.com/matrix-org/synapse/issues/11547))
+- Fix a long-standing bug where responses included bundled aggregations when they should not, per [MSC2675](https://github.com/matrix-org/matrix-doc/pull/2675). ([\#11592](https://github.com/matrix-org/synapse/issues/11592), [\#11623](https://github.com/matrix-org/synapse/issues/11623))
+- Fix a long-standing bug that some unknown endpoints would return HTML error pages instead of JSON `M_UNRECOGNIZED` errors. ([\#11602](https://github.com/matrix-org/synapse/issues/11602))
+- Fix a bug introduced in Synapse 1.19.3 which could sometimes cause `AssertionError`s when backfilling rooms over federation. ([\#11632](https://github.com/matrix-org/synapse/issues/11632))
+
+
+Improved Documentation
+----------------------
+
+- Update Synapse install command for FreeBSD as the package is now prefixed with `py38`. Contributed by @itchychips. ([\#11267](https://github.com/matrix-org/synapse/issues/11267))
+- Document the usage of refresh tokens. ([\#11427](https://github.com/matrix-org/synapse/issues/11427))
+- Add details for how to configure a TURN server when behind a NAT. Contibuted by @AndrewFerr. ([\#11553](https://github.com/matrix-org/synapse/issues/11553))
+- Add references for using Postgres to the Docker documentation. ([\#11640](https://github.com/matrix-org/synapse/issues/11640))
+- Fix the documentation link in newly-generated configuration files. ([\#11678](https://github.com/matrix-org/synapse/issues/11678))
+- Correct the documentation for `nginx` to use a case-sensitive url pattern. Fixes an error introduced in v1.21.0. ([\#11680](https://github.com/matrix-org/synapse/issues/11680))
+- Clarify SSO mapping provider documentation by writing `def` or `async def` before the names of methods, as appropriate. ([\#11681](https://github.com/matrix-org/synapse/issues/11681))
+
+
+Deprecations and Removals
+-------------------------
+
+- Replace `mock` package by its standard library version. ([\#11588](https://github.com/matrix-org/synapse/issues/11588))
+- Drop support for Python 3.6 and Ubuntu 18.04. ([\#11633](https://github.com/matrix-org/synapse/issues/11633))
+
+
+Internal Changes
+----------------
+
+- Allow specific, experimental events to be created without `prev_events`. Used by [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716). ([\#11243](https://github.com/matrix-org/synapse/issues/11243))
+- A test helper (`wait_for_background_updates`) no longer depends on classes defining a `store` property. ([\#11331](https://github.com/matrix-org/synapse/issues/11331))
+- Add type hints to `synapse.appservice`. ([\#11360](https://github.com/matrix-org/synapse/issues/11360))
+- Add missing type hints to `synapse.config` module. ([\#11480](https://github.com/matrix-org/synapse/issues/11480))
+- Add test to ensure we share the same `state_group` across the whole historical batch when using the [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` endpoint. ([\#11487](https://github.com/matrix-org/synapse/issues/11487))
+- Refactor `tests.util.setup_test_homeserver` and `tests.server.setup_test_homeserver`. ([\#11503](https://github.com/matrix-org/synapse/issues/11503))
+- Move `glob_to_regex` and `re_word_boundary` to `matrix-python-common`. ([\#11505](https://github.com/matrix-org/synapse/issues/11505), [\#11687](https://github.com/matrix-org/synapse/issues/11687))
+- Use `HTTPStatus` constants in place of literals in `tests.rest.client.test_auth`. ([\#11520](https://github.com/matrix-org/synapse/issues/11520))
+- Add a receipt types constant for `m.read`. ([\#11531](https://github.com/matrix-org/synapse/issues/11531))
+- Clean up `synapse.rest.admin`. ([\#11535](https://github.com/matrix-org/synapse/issues/11535))
+- Add missing `errcode` to `parse_string` and `parse_boolean`. ([\#11542](https://github.com/matrix-org/synapse/issues/11542))
+- Use `HTTPStatus` constants in place of literals in `synapse.http`. ([\#11543](https://github.com/matrix-org/synapse/issues/11543))
+- Add missing type hints to storage classes. ([\#11546](https://github.com/matrix-org/synapse/issues/11546), [\#11549](https://github.com/matrix-org/synapse/issues/11549), [\#11551](https://github.com/matrix-org/synapse/issues/11551), [\#11555](https://github.com/matrix-org/synapse/issues/11555), [\#11575](https://github.com/matrix-org/synapse/issues/11575), [\#11589](https://github.com/matrix-org/synapse/issues/11589), [\#11594](https://github.com/matrix-org/synapse/issues/11594), [\#11652](https://github.com/matrix-org/synapse/issues/11652), [\#11653](https://github.com/matrix-org/synapse/issues/11653), [\#11654](https://github.com/matrix-org/synapse/issues/11654), [\#11657](https://github.com/matrix-org/synapse/issues/11657))
+- Fix an inaccurate and misleading comment in the `/sync` code. ([\#11550](https://github.com/matrix-org/synapse/issues/11550))
+- Add missing type hints to `synapse.logging.context`. ([\#11556](https://github.com/matrix-org/synapse/issues/11556))
+- Stop populating unused database column `state_events.prev_state`. ([\#11558](https://github.com/matrix-org/synapse/issues/11558))
+- Minor efficiency improvements in event persistence. ([\#11560](https://github.com/matrix-org/synapse/issues/11560))
+- Add some safety checks that storage functions are used correctly. ([\#11564](https://github.com/matrix-org/synapse/issues/11564), [\#11580](https://github.com/matrix-org/synapse/issues/11580))
+- Make `get_device` return `None` if the device doesn't exist rather than raising an exception. ([\#11565](https://github.com/matrix-org/synapse/issues/11565))
+- Split the HTML parsing code from the URL preview resource code. ([\#11566](https://github.com/matrix-org/synapse/issues/11566))
+- Remove redundant `COALESCE()`s around `COUNT()`s in database queries. ([\#11570](https://github.com/matrix-org/synapse/issues/11570))
+- Add missing type hints to `synapse.http`. ([\#11571](https://github.com/matrix-org/synapse/issues/11571))
+- Add [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) and [MSC3030](https://github.com/matrix-org/matrix-doc/pull/3030) to `/versions` -> `unstable_features` to detect server support. ([\#11582](https://github.com/matrix-org/synapse/issues/11582))
+- Add type hints to `synapse/tests/rest/admin`. ([\#11590](https://github.com/matrix-org/synapse/issues/11590))
+- Drop end-of-life Python 3.6 and Postgres 9.6 from CI. ([\#11595](https://github.com/matrix-org/synapse/issues/11595))
+- Update black version and run it on all the files. ([\#11596](https://github.com/matrix-org/synapse/issues/11596))
+- Add opentracing type stubs and fix associated mypy errors. ([\#11603](https://github.com/matrix-org/synapse/issues/11603), [\#11622](https://github.com/matrix-org/synapse/issues/11622))
+- Improve OpenTracing support for requests which use a `ResponseCache`. ([\#11607](https://github.com/matrix-org/synapse/issues/11607))
+- Improve OpenTracing support for incoming HTTP requests. ([\#11618](https://github.com/matrix-org/synapse/issues/11618))
+- A number of improvements to opentracing support. ([\#11619](https://github.com/matrix-org/synapse/issues/11619))
+- Refactor the way that the `outlier` flag is set on events received over federation. ([\#11634](https://github.com/matrix-org/synapse/issues/11634))
+- Improve the error messages from  `get_create_event_for_room`. ([\#11638](https://github.com/matrix-org/synapse/issues/11638))
+- Remove redundant `get_current_events_token` method. ([\#11643](https://github.com/matrix-org/synapse/issues/11643))
+- Convert `namedtuples` to `attrs`. ([\#11665](https://github.com/matrix-org/synapse/issues/11665), [\#11574](https://github.com/matrix-org/synapse/issues/11574))
+- Update the `/capabilities` response to include whether support for [MSC3440](https://github.com/matrix-org/matrix-doc/pull/3440) is available. ([\#11690](https://github.com/matrix-org/synapse/issues/11690))
+- Send the `Accept` header in HTTP requests made using `SimpleHttpClient.get_json`. ([\#11677](https://github.com/matrix-org/synapse/issues/11677))
+- Work around Mjolnir compatibility issue by adding an import for `glob_to_regex` in `synapse.util`, where it moved from. ([\#11696](https://github.com/matrix-org/synapse/issues/11696))
+
+
 Synapse 1.49.2 (2021-12-21)
 ===========================
 
diff --git a/changelog.d/10520.misc b/changelog.d/10520.misc
deleted file mode 100644
index a911e165da..0000000000
--- a/changelog.d/10520.misc
+++ /dev/null
@@ -1 +0,0 @@
-Send and handle cross-signing messages using the stable prefix.
diff --git a/changelog.d/11243.misc b/changelog.d/11243.misc
deleted file mode 100644
index 5ef7fe16d4..0000000000
--- a/changelog.d/11243.misc
+++ /dev/null
@@ -1 +0,0 @@
-Allow specific, experimental events to be created without `prev_events`. Used by [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716).
diff --git a/changelog.d/11267.doc b/changelog.d/11267.doc
deleted file mode 100644
index 3a720158de..0000000000
--- a/changelog.d/11267.doc
+++ /dev/null
@@ -1 +0,0 @@
-Update Synapse install command for FreeBSD as the package is now prefixed with `py38`. Contributed by @itchychips.
diff --git a/changelog.d/11331.misc b/changelog.d/11331.misc
deleted file mode 100644
index 1ab3a6a975..0000000000
--- a/changelog.d/11331.misc
+++ /dev/null
@@ -1 +0,0 @@
-A test helper (`wait_for_background_updates`) no longer depends on classes defining a `store` property.
diff --git a/changelog.d/11360.misc b/changelog.d/11360.misc
deleted file mode 100644
index 43e25720c5..0000000000
--- a/changelog.d/11360.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type hints to `synapse.appservice`.
diff --git a/changelog.d/11378.feature b/changelog.d/11378.feature
deleted file mode 100644
index 524bf84f32..0000000000
--- a/changelog.d/11378.feature
+++ /dev/null
@@ -1 +0,0 @@
-Allow guests to send state events per [MSC3419](https://github.com/matrix-org/matrix-doc/pull/3419).
\ No newline at end of file
diff --git a/changelog.d/11427.doc b/changelog.d/11427.doc
deleted file mode 100644
index 01cdfcf2b7..0000000000
--- a/changelog.d/11427.doc
+++ /dev/null
@@ -1 +0,0 @@
-Document the usage of refresh tokens.
\ No newline at end of file
diff --git a/changelog.d/11480.misc b/changelog.d/11480.misc
deleted file mode 100644
index aadc938b2b..0000000000
--- a/changelog.d/11480.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints to `synapse.config` module.
diff --git a/changelog.d/11487.misc b/changelog.d/11487.misc
deleted file mode 100644
index 376b9078be..0000000000
--- a/changelog.d/11487.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add test to ensure we share the same `state_group` across the whole historical batch when using the [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` endpoint.
diff --git a/changelog.d/11503.misc b/changelog.d/11503.misc
deleted file mode 100644
index 03a24a9224..0000000000
--- a/changelog.d/11503.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactor `tests.util.setup_test_homeserver` and `tests.server.setup_test_homeserver`.
\ No newline at end of file
diff --git a/changelog.d/11505.misc b/changelog.d/11505.misc
deleted file mode 100644
index 926b562fad..0000000000
--- a/changelog.d/11505.misc
+++ /dev/null
@@ -1 +0,0 @@
-Move `glob_to_regex` and `re_word_boundary` to `matrix-python-common`.
diff --git a/changelog.d/11516.bugfix b/changelog.d/11516.bugfix
deleted file mode 100644
index 22bba93671..0000000000
--- a/changelog.d/11516.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug where relations from other rooms could be included in the bundled aggregations of an event.
diff --git a/changelog.d/11520.misc b/changelog.d/11520.misc
deleted file mode 100644
index 2d84120e19..0000000000
--- a/changelog.d/11520.misc
+++ /dev/null
@@ -1 +0,0 @@
-Use HTTPStatus constants in place of literals in `tests.rest.client.test_auth`.
\ No newline at end of file
diff --git a/changelog.d/11531.misc b/changelog.d/11531.misc
deleted file mode 100644
index ed6ef3bb3e..0000000000
--- a/changelog.d/11531.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add a receipt types constant for `m.read`.
diff --git a/changelog.d/11535.misc b/changelog.d/11535.misc
deleted file mode 100644
index 580ac354ab..0000000000
--- a/changelog.d/11535.misc
+++ /dev/null
@@ -1 +0,0 @@
-Clean up `synapse.rest.admin`.
\ No newline at end of file
diff --git a/changelog.d/11536.bugfix b/changelog.d/11536.bugfix
deleted file mode 100644
index 4a1b007254..0000000000
--- a/changelog.d/11536.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug which could cause `AssertionError`s to be written to the log when Synapse was restarted after purging events from the database.
diff --git a/changelog.d/11538.feature b/changelog.d/11538.feature
deleted file mode 100644
index b6229e2b45..0000000000
--- a/changelog.d/11538.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add experimental support for MSC3202: allowing application services to masquerade as specific devices.
\ No newline at end of file
diff --git a/changelog.d/11541.misc b/changelog.d/11541.misc
deleted file mode 100644
index 31c72c2a20..0000000000
--- a/changelog.d/11541.misc
+++ /dev/null
@@ -1 +0,0 @@
-Support unprefixed versions of fallback key property names.
diff --git a/changelog.d/11542.misc b/changelog.d/11542.misc
deleted file mode 100644
index f614165037..0000000000
--- a/changelog.d/11542.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing `errcode` to `parse_string` and `parse_boolean`.
\ No newline at end of file
diff --git a/changelog.d/11543.misc b/changelog.d/11543.misc
deleted file mode 100644
index 99817d71a4..0000000000
--- a/changelog.d/11543.misc
+++ /dev/null
@@ -1 +0,0 @@
-Use HTTPStatus constants in place of literals in `synapse.http`.
\ No newline at end of file
diff --git a/changelog.d/11546.misc b/changelog.d/11546.misc
deleted file mode 100644
index d451940bf2..0000000000
--- a/changelog.d/11546.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints to storage classes.
diff --git a/changelog.d/11547.bugfix b/changelog.d/11547.bugfix
deleted file mode 100644
index 3950c4c8d3..0000000000
--- a/changelog.d/11547.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse 1.17.0 where a pusher created for an email with capital letters would fail to be created.
diff --git a/changelog.d/11549.misc b/changelog.d/11549.misc
deleted file mode 100644
index d451940bf2..0000000000
--- a/changelog.d/11549.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints to storage classes.
diff --git a/changelog.d/11550.misc b/changelog.d/11550.misc
deleted file mode 100644
index d5577e0b63..0000000000
--- a/changelog.d/11550.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix an inaccurate and misleading comment in the `/sync` code.
\ No newline at end of file
diff --git a/changelog.d/11551.misc b/changelog.d/11551.misc
deleted file mode 100644
index d451940bf2..0000000000
--- a/changelog.d/11551.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints to storage classes.
diff --git a/changelog.d/11553.doc b/changelog.d/11553.doc
deleted file mode 100644
index 810ba16928..0000000000
--- a/changelog.d/11553.doc
+++ /dev/null
@@ -1 +0,0 @@
-Add details for how to configure a TURN server when behind a NAT. Contibuted by @AndrewFerr.
diff --git a/changelog.d/11555.misc b/changelog.d/11555.misc
deleted file mode 100644
index d451940bf2..0000000000
--- a/changelog.d/11555.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints to storage classes.
diff --git a/changelog.d/11556.misc b/changelog.d/11556.misc
deleted file mode 100644
index 53b26aa676..0000000000
--- a/changelog.d/11556.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints to `synapse.logging.context`.
diff --git a/changelog.d/11558.misc b/changelog.d/11558.misc
deleted file mode 100644
index 7c334f17e0..0000000000
--- a/changelog.d/11558.misc
+++ /dev/null
@@ -1 +0,0 @@
-Stop populating unused database column `state_events.prev_state`.
diff --git a/changelog.d/11560.misc b/changelog.d/11560.misc
deleted file mode 100644
index eb968167f5..0000000000
--- a/changelog.d/11560.misc
+++ /dev/null
@@ -1 +0,0 @@
-Minor efficiency improvements in event persistence.
diff --git a/changelog.d/11564.misc b/changelog.d/11564.misc
deleted file mode 100644
index 2c48e22de0..0000000000
--- a/changelog.d/11564.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add some safety checks that storage functions are used correctly.
diff --git a/changelog.d/11565.misc b/changelog.d/11565.misc
deleted file mode 100644
index ddcafd32cb..0000000000
--- a/changelog.d/11565.misc
+++ /dev/null
@@ -1 +0,0 @@
-Make `get_device` return `None` if the device doesn't exist rather than raising an exception.
diff --git a/changelog.d/11566.misc b/changelog.d/11566.misc
deleted file mode 100644
index c48e73cd48..0000000000
--- a/changelog.d/11566.misc
+++ /dev/null
@@ -1 +0,0 @@
-Split the HTML parsing code from the URL preview resource code.
diff --git a/changelog.d/11570.misc b/changelog.d/11570.misc
deleted file mode 100644
index d9af8bdb05..0000000000
--- a/changelog.d/11570.misc
+++ /dev/null
@@ -1 +0,0 @@
-Remove redundant `COALESCE()`s around `COUNT()`s in database queries.
diff --git a/changelog.d/11571.misc b/changelog.d/11571.misc
deleted file mode 100644
index 4e396b271e..0000000000
--- a/changelog.d/11571.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints to `synapse.http`.
diff --git a/changelog.d/11574.misc b/changelog.d/11574.misc
deleted file mode 100644
index 2b090a3780..0000000000
--- a/changelog.d/11574.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert `EventStreamResult` from a `namedtuple` to `attrs` to improve type hints.
diff --git a/changelog.d/11575.misc b/changelog.d/11575.misc
deleted file mode 100644
index d451940bf2..0000000000
--- a/changelog.d/11575.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints to storage classes.
diff --git a/changelog.d/11580.misc b/changelog.d/11580.misc
deleted file mode 100644
index 2c48e22de0..0000000000
--- a/changelog.d/11580.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add some safety checks that storage functions are used correctly.
diff --git a/changelog.d/11582.misc b/changelog.d/11582.misc
deleted file mode 100644
index a0291f64e2..0000000000
--- a/changelog.d/11582.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) and [MSC3030](https://github.com/matrix-org/matrix-doc/pull/3030) to `/versions` -> `unstable_features` to detect server support.
diff --git a/changelog.d/11588.removal b/changelog.d/11588.removal
deleted file mode 100644
index f781021e11..0000000000
--- a/changelog.d/11588.removal
+++ /dev/null
@@ -1 +0,0 @@
-Replace `mock` package by its standard library version.
diff --git a/changelog.d/11589.misc b/changelog.d/11589.misc
deleted file mode 100644
index 8e405b9226..0000000000
--- a/changelog.d/11589.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints to storage classes.
\ No newline at end of file
diff --git a/changelog.d/11590.misc b/changelog.d/11590.misc
deleted file mode 100644
index 40e01194df..0000000000
--- a/changelog.d/11590.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add type hints to `synapse/tests/rest/admin`.
\ No newline at end of file
diff --git a/changelog.d/11592.bugfix b/changelog.d/11592.bugfix
deleted file mode 100644
index 4116e5dd7c..0000000000
--- a/changelog.d/11592.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug where responses included bundled aggregations when they should not, per [MSC2675](https://github.com/matrix-org/matrix-doc/pull/2675).
diff --git a/changelog.d/11594.misc b/changelog.d/11594.misc
deleted file mode 100644
index d451940bf2..0000000000
--- a/changelog.d/11594.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints to storage classes.
diff --git a/changelog.d/11595.misc b/changelog.d/11595.misc
deleted file mode 100644
index 57e54db5a9..0000000000
--- a/changelog.d/11595.misc
+++ /dev/null
@@ -1 +0,0 @@
-Drop EOL python 3.6 and postgres 9.6 from CI.
\ No newline at end of file
diff --git a/changelog.d/11596.misc b/changelog.d/11596.misc
deleted file mode 100644
index 3064bc632d..0000000000
--- a/changelog.d/11596.misc
+++ /dev/null
@@ -1 +0,0 @@
-Update black version and run it on all the files.
\ No newline at end of file
diff --git a/changelog.d/11602.bugfix b/changelog.d/11602.bugfix
deleted file mode 100644
index e0dfbf1a15..0000000000
--- a/changelog.d/11602.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug that some unknown endpoints would return HTML error pages instead of JSON `M_UNRECOGNIZED` errors.
diff --git a/changelog.d/11603.misc b/changelog.d/11603.misc
deleted file mode 100644
index def24afb8d..0000000000
--- a/changelog.d/11603.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add opentracing type stubs and fix associated mypy errors.
\ No newline at end of file
diff --git a/changelog.d/11607.misc b/changelog.d/11607.misc
deleted file mode 100644
index e82f467763..0000000000
--- a/changelog.d/11607.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve opentracing support for requests which use a `ResponseCache`.
diff --git a/changelog.d/11618.misc b/changelog.d/11618.misc
deleted file mode 100644
index 4076b30bf7..0000000000
--- a/changelog.d/11618.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve opentracing support for incoming HTTP requests.
diff --git a/changelog.d/11619.misc b/changelog.d/11619.misc
deleted file mode 100644
index 2125cbddd2..0000000000
--- a/changelog.d/11619.misc
+++ /dev/null
@@ -1 +0,0 @@
-A number of improvements to opentracing support.
diff --git a/changelog.d/11622.misc b/changelog.d/11622.misc
deleted file mode 100644
index def24afb8d..0000000000
--- a/changelog.d/11622.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add opentracing type stubs and fix associated mypy errors.
\ No newline at end of file
diff --git a/changelog.d/11623.bugfix b/changelog.d/11623.bugfix
deleted file mode 100644
index 4116e5dd7c..0000000000
--- a/changelog.d/11623.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug where responses included bundled aggregations when they should not, per [MSC2675](https://github.com/matrix-org/matrix-doc/pull/2675).
diff --git a/changelog.d/11632.bugfix b/changelog.d/11632.bugfix
deleted file mode 100644
index c73d41652a..0000000000
--- a/changelog.d/11632.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse 1.19.3 which could sometimes cause `AssertionError`s when backfilling rooms over federation.
diff --git a/changelog.d/11633.misc b/changelog.d/11633.misc
deleted file mode 100644
index 73e814e58e..0000000000
--- a/changelog.d/11633.misc
+++ /dev/null
@@ -1 +0,0 @@
-Drop support for Python 3.6 and Ubuntu 18.04.
\ No newline at end of file
diff --git a/changelog.d/11634.misc b/changelog.d/11634.misc
deleted file mode 100644
index 4069cbc2f4..0000000000
--- a/changelog.d/11634.misc
+++ /dev/null
@@ -1 +0,0 @@
-Refactor the way that the `outlier` flag is set on events received over federation.
diff --git a/changelog.d/11638.misc b/changelog.d/11638.misc
deleted file mode 100644
index 76dfb56bda..0000000000
--- a/changelog.d/11638.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve the error messages from  `get_create_event_for_room`.
diff --git a/changelog.d/11640.doc b/changelog.d/11640.doc
deleted file mode 100644
index c4773e4f3a..0000000000
--- a/changelog.d/11640.doc
+++ /dev/null
@@ -1 +0,0 @@
-Add references for using Postgres to the Docker documentation.
diff --git a/changelog.d/11642.bugfix b/changelog.d/11642.bugfix
deleted file mode 100644
index 4a1b007254..0000000000
--- a/changelog.d/11642.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug which could cause `AssertionError`s to be written to the log when Synapse was restarted after purging events from the database.
diff --git a/changelog.d/11643.misc b/changelog.d/11643.misc
deleted file mode 100644
index 1c3b3071f6..0000000000
--- a/changelog.d/11643.misc
+++ /dev/null
@@ -1 +0,0 @@
-Remove redundant `get_current_events_token` method.
diff --git a/changelog.d/11652.misc b/changelog.d/11652.misc
deleted file mode 100644
index 8e405b9226..0000000000
--- a/changelog.d/11652.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints to storage classes.
\ No newline at end of file
diff --git a/changelog.d/11653.misc b/changelog.d/11653.misc
deleted file mode 100644
index 8e405b9226..0000000000
--- a/changelog.d/11653.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints to storage classes.
\ No newline at end of file
diff --git a/changelog.d/11654.misc b/changelog.d/11654.misc
deleted file mode 100644
index 8e405b9226..0000000000
--- a/changelog.d/11654.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints to storage classes.
\ No newline at end of file
diff --git a/changelog.d/11657.misc b/changelog.d/11657.misc
deleted file mode 100644
index 8e405b9226..0000000000
--- a/changelog.d/11657.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints to storage classes.
\ No newline at end of file
diff --git a/changelog.d/11664.feature b/changelog.d/11664.feature
deleted file mode 100644
index df81783c66..0000000000
--- a/changelog.d/11664.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add admin API to get users' account data.
\ No newline at end of file
diff --git a/changelog.d/11665.misc b/changelog.d/11665.misc
deleted file mode 100644
index e7cc8ff23f..0000000000
--- a/changelog.d/11665.misc
+++ /dev/null
@@ -1 +0,0 @@
-Convert `namedtuples` to `attrs`.
diff --git a/changelog.d/11666.feature b/changelog.d/11666.feature
deleted file mode 100644
index 6f6b127e22..0000000000
--- a/changelog.d/11666.feature
+++ /dev/null
@@ -1 +0,0 @@
-Include the room topic in the stripped state included with invites and knocking.
diff --git a/changelog.d/11677.bugfix b/changelog.d/11677.bugfix
deleted file mode 100644
index 5691064a30..0000000000
--- a/changelog.d/11677.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix wrong variable reference in `SimpleHttpClient.get_json` that results in the absence of the `Accept` header in the request.
diff --git a/changelog.d/11678.doc b/changelog.d/11678.doc
deleted file mode 100644
index dff663e782..0000000000
--- a/changelog.d/11678.doc
+++ /dev/null
@@ -1 +0,0 @@
-Fix the documentation link in newly-generated configuration files.
diff --git a/changelog.d/11680.doc b/changelog.d/11680.doc
deleted file mode 100644
index 09399ad9d0..0000000000
--- a/changelog.d/11680.doc
+++ /dev/null
@@ -1 +0,0 @@
-Correct the documentation for `nginx` to use a case-sensitive url pattern. Fixes an error introduced in v1.21.0.
diff --git a/changelog.d/11681.doc b/changelog.d/11681.doc
deleted file mode 100644
index fef70211cd..0000000000
--- a/changelog.d/11681.doc
+++ /dev/null
@@ -1 +0,0 @@
-Clarify SSO mapping provider documentation by writing `def` or `async def` before the names of methods, as appropriate.
\ No newline at end of file
diff --git a/changelog.d/11687.misc b/changelog.d/11687.misc
deleted file mode 100644
index 926b562fad..0000000000
--- a/changelog.d/11687.misc
+++ /dev/null
@@ -1 +0,0 @@
-Move `glob_to_regex` and `re_word_boundary` to `matrix-python-common`.
diff --git a/debian/changelog b/debian/changelog
index ebe3e0cbf9..b54c0ff348 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.50.0~rc1) stable; urgency=medium
+
+  * New synapse release 1.50.0~rc1.
+
+ -- Synapse Packaging team <packages@matrix.org>  Wed, 05 Jan 2022 12:36:17 +0000
+
 matrix-synapse-py3 (1.49.2) stable; urgency=medium
 
   * New synapse release 1.49.2.
diff --git a/docs/upgrade.md b/docs/upgrade.md
index 136c806c41..30bb0dcd9c 100644
--- a/docs/upgrade.md
+++ b/docs/upgrade.md
@@ -85,6 +85,17 @@ process, for example:
     dpkg -i matrix-synapse-py3_1.3.0+stretch1_amd64.deb
     ```
 
+# Upgrading to v1.50.0
+
+## Dropping support for old Python and Postgres versions
+
+In line with our [deprecation policy](deprecation_policy.md),
+we've dropped support for Python 3.6 and PostgreSQL 9.6, as they are no
+longer supported upstream.
+
+This release of Synapse requires Python 3.7+ and PostgreSQL 10+.
+
+
 # Upgrading to v1.47.0
 
 ## Removal of old Room Admin API
diff --git a/synapse/__init__.py b/synapse/__init__.py
index 95a49c20be..92aec334e6 100644
--- a/synapse/__init__.py
+++ b/synapse/__init__.py
@@ -47,7 +47,7 @@ try:
 except ImportError:
     pass
 
-__version__ = "1.49.2"
+__version__ = "1.50.0rc1"
 
 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
diff --git a/synapse/rest/client/capabilities.py b/synapse/rest/client/capabilities.py
index 2a3e24ae7e..5c0e3a5680 100644
--- a/synapse/rest/client/capabilities.py
+++ b/synapse/rest/client/capabilities.py
@@ -73,6 +73,9 @@ class CapabilitiesRestServlet(RestServlet):
                 "enabled": self.config.registration.enable_3pid_changes
             }
 
+        if self.config.experimental.msc3440_enabled:
+            response["capabilities"]["io.element.thread"] = {"enabled": True}
+
         return 200, response
 
 
diff --git a/synapse/util/__init__.py b/synapse/util/__init__.py
index f157132210..511f52534b 100644
--- a/synapse/util/__init__.py
+++ b/synapse/util/__init__.py
@@ -31,6 +31,13 @@ from synapse.logging import context
 if typing.TYPE_CHECKING:
     pass
 
+# FIXME Mjolnir imports glob_to_regex from this file, but it was moved to
+#       matrix_common.
+#       As a temporary workaround, we import glob_to_regex here for
+#       compatibility with current versions of Mjolnir.
+# See https://github.com/matrix-org/mjolnir/pull/174
+from matrix_common.regex import glob_to_regex  # noqa
+
 logger = logging.getLogger(__name__)