summary refs log tree commit diff
diff options
context:
space:
mode:
-rwxr-xr-x.ci/scripts/auditwheel_wrapper.py11
-rw-r--r--.github/workflows/release-artifacts.yml2
-rw-r--r--CHANGES.md62
-rw-r--r--changelog.d/14823.feature1
-rw-r--r--changelog.d/14858.misc1
-rw-r--r--changelog.d/14866.bugfix1
-rw-r--r--changelog.d/14879.misc1
-rw-r--r--changelog.d/14880.bugfix1
-rw-r--r--changelog.d/14886.misc1
-rw-r--r--changelog.d/14887.misc1
-rw-r--r--changelog.d/14894.feature1
-rw-r--r--changelog.d/14904.misc1
-rw-r--r--changelog.d/14908.misc1
-rw-r--r--changelog.d/14915.bugfix1
-rw-r--r--changelog.d/14916.misc1
-rw-r--r--changelog.d/14920.misc1
-rw-r--r--changelog.d/14922.misc1
-rw-r--r--changelog.d/14926.bugfix1
-rw-r--r--changelog.d/14927.misc1
-rw-r--r--changelog.d/14935.misc1
-rw-r--r--changelog.d/14936.misc1
-rw-r--r--changelog.d/14937.misc1
-rw-r--r--changelog.d/14938.misc1
-rw-r--r--changelog.d/14939.misc1
-rw-r--r--changelog.d/14942.bugfix1
-rw-r--r--changelog.d/14943.feature1
-rw-r--r--changelog.d/14944.bugfix1
-rw-r--r--changelog.d/14945.misc1
-rw-r--r--changelog.d/14947.bugfix1
-rw-r--r--changelog.d/14949.misc1
-rw-r--r--changelog.d/14950.misc1
-rw-r--r--changelog.d/14952.misc1
-rw-r--r--changelog.d/14953.misc1
-rw-r--r--changelog.d/14954.misc1
-rw-r--r--changelog.d/14956.misc1
-rw-r--r--changelog.d/14957.feature1
-rw-r--r--changelog.d/14958.feature1
-rw-r--r--changelog.d/14960.feature1
-rw-r--r--changelog.d/14962.feature1
-rw-r--r--changelog.d/14965.misc1
-rw-r--r--changelog.d/14968.misc1
-rw-r--r--changelog.d/14970.misc1
-rw-r--r--changelog.d/14971.misc1
-rw-r--r--changelog.d/14976.bugfix1
-rw-r--r--changelog.d/14979.misc1
-rw-r--r--changelog.d/14981.misc1
-rw-r--r--changelog.d/14983.misc1
-rw-r--r--changelog.d/14984.misc1
-rw-r--r--changelog.d/14985.misc1
-rw-r--r--changelog.d/14987.misc1
-rw-r--r--changelog.d/14988.misc1
-rw-r--r--changelog.d/14990.misc1
-rw-r--r--changelog.d/14991.misc1
-rw-r--r--changelog.d/14992.misc1
-rw-r--r--changelog.d/14993.misc1
-rw-r--r--changelog.d/14994.misc1
-rw-r--r--changelog.d/14995.misc1
-rw-r--r--changelog.d/14996.misc1
-rw-r--r--changelog.d/14997.misc1
-rw-r--r--changelog.d/14998.misc1
-rw-r--r--changelog.d/14999.misc1
-rw-r--r--changelog.d/15002.misc1
-rw-r--r--changelog.d/15007.misc1
-rw-r--r--debian/changelog6
-rw-r--r--pyproject.toml2
-rw-r--r--rust/src/push/base_rules.rs2
-rw-r--r--synapse/storage/databases/main/events.py23
-rw-r--r--synapse/storage/databases/main/events_bg_updates.py104
-rw-r--r--synapse/storage/schema/main/delta/73/26membership_tables_event_stream_ordering.sql21
69 files changed, 88 insertions, 205 deletions
diff --git a/.ci/scripts/auditwheel_wrapper.py b/.ci/scripts/auditwheel_wrapper.py
index a33b39314f..18cd0a7b52 100755
--- a/.ci/scripts/auditwheel_wrapper.py
+++ b/.ci/scripts/auditwheel_wrapper.py
@@ -50,7 +50,16 @@ def cpython(wheel_file: str, name: str, version: Version, tag: Tag) -> str:
 
     check_is_abi3_compatible(wheel_file)
 
-    abi3_tag = Tag(tag.interpreter, "abi3", tag.platform)
+    # HACK: it seems that some older versions of pip will consider a wheel marked
+    # as macosx_11_0 as incompatible with Big Sur. I haven't done the full archaeology
+    # here; there are some clues in
+    #     https://github.com/pantsbuild/pants/pull/12857
+    #     https://github.com/pypa/pip/issues/9138
+    #     https://github.com/pypa/packaging/pull/319
+    # Empirically this seems to work, note that macOS 11 and 10.16 are the same,
+    # both versions are valid for backwards compatibility.
+    platform = tag.platform.replace("macosx_11_0", "macosx_10_16")
+    abi3_tag = Tag(tag.interpreter, "abi3", platform)
 
     dirname = os.path.dirname(wheel_file)
     new_wheel_file = os.path.join(
diff --git a/.github/workflows/release-artifacts.yml b/.github/workflows/release-artifacts.yml
index f540d2d28b..bf57bcab61 100644
--- a/.github/workflows/release-artifacts.yml
+++ b/.github/workflows/release-artifacts.yml
@@ -148,7 +148,7 @@ jobs:
         env:
           # Skip testing for platforms which various libraries don't have wheels
           # for, and so need extra build deps.
-          CIBW_TEST_SKIP: pp3{7,9}-* *i686* *musl*
+          CIBW_TEST_SKIP: pp3*-* *i686* *musl*
           # Fix Rust OOM errors on emulated aarch64: https://github.com/rust-lang/cargo/issues/10583
           CARGO_NET_GIT_FETCH_WITH_CLI: true
           CIBW_ENVIRONMENT_PASS_LINUX: CARGO_NET_GIT_FETCH_WITH_CLI
diff --git a/CHANGES.md b/CHANGES.md
index 5f0c50851f..d6bcacef5f 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,65 @@
+Synapse 1.77.0rc1 (2023-02-07)
+==============================
+
+Features
+--------
+
+- Experimental support for [MSC3952](https://github.com/matrix-org/matrix-spec-proposals/pull/3952): intentional mentions. ([\#14823](https://github.com/matrix-org/synapse/issues/14823), [\#14943](https://github.com/matrix-org/synapse/issues/14943), [\#14957](https://github.com/matrix-org/synapse/issues/14957), [\#14958](https://github.com/matrix-org/synapse/issues/14958))
+- Experimental support to suppress notifications from message edits ([MSC3958](https://github.com/matrix-org/matrix-spec-proposals/pull/3958)). ([\#14960](https://github.com/matrix-org/synapse/issues/14960), [\#15016](https://github.com/matrix-org/synapse/issues/15016))
+- Add profile information, devices and connections to the command line [user data export tool](https://matrix-org.github.io/synapse/v1.77/usage/administration/admin_faq.html#how-can-i-export-user-data). ([\#14894](https://github.com/matrix-org/synapse/issues/14894))
+- Improve performance when joining or sending an event in large rooms. ([\#14962](https://github.com/matrix-org/synapse/issues/14962))
+- Improve performance of joining and leaving large rooms with many local users. ([\#14971](https://github.com/matrix-org/synapse/issues/14971))
+
+
+Bugfixes
+--------
+
+- Fix a bug introduced in Synapse 1.53.0 where `next_batch` tokens from `/sync` could not be used with the `/relations` endpoint. ([\#14866](https://github.com/matrix-org/synapse/issues/14866))
+- Fix a bug introduced in Synapse 1.35.0 where the module API's `send_local_online_presence_to` would fail to send presence updates over federation. ([\#14880](https://github.com/matrix-org/synapse/issues/14880))
+- Fix a bug introduced in Synapse 1.70.0 where the background updates to add non-thread unique indexes on receipts could fail when upgrading from 1.67.0 or earlier. ([\#14915](https://github.com/matrix-org/synapse/issues/14915))
+- Fix a regression introduced in Synapse 1.69.0 which can result in database corruption when database migrations are interrupted on sqlite. ([\#14926](https://github.com/matrix-org/synapse/issues/14926))
+- Fix a bug introduced in Synapse 1.68.0 where we were unable to service remote joins in rooms with `@room` notification levels set to `null` in their (malformed) power levels. ([\#14942](https://github.com/matrix-org/synapse/issues/14942))
+- Fix a bug introduced in Synapse 1.64.0 where boolean power levels were erroneously permitted in [v10 rooms](https://spec.matrix.org/v1.5/rooms/v10/). ([\#14944](https://github.com/matrix-org/synapse/issues/14944))
+- Fix a long-standing bug where sending messages on servers with presence enabled would spam "Re-starting finished log context" log lines. ([\#14947](https://github.com/matrix-org/synapse/issues/14947))
+- Fix a bug introduced in Synapse 1.68.0 where logging from the Rust module was not properly logged. ([\#14976](https://github.com/matrix-org/synapse/issues/14976))
+- Fix various long-standing bugs in Synapse's config, event and request handling where booleans were unintentionally accepted where an integer was expected. ([\#14945](https://github.com/matrix-org/synapse/issues/14945))
+
+
+Internal Changes
+----------------
+
+- Add missing type hints. ([\#14879](https://github.com/matrix-org/synapse/issues/14879), [\#14886](https://github.com/matrix-org/synapse/issues/14886), [\#14887](https://github.com/matrix-org/synapse/issues/14887), [\#14904](https://github.com/matrix-org/synapse/issues/14904), [\#14927](https://github.com/matrix-org/synapse/issues/14927), [\#14956](https://github.com/matrix-org/synapse/issues/14956), [\#14983](https://github.com/matrix-org/synapse/issues/14983), [\#14984](https://github.com/matrix-org/synapse/issues/14984), [\#14985](https://github.com/matrix-org/synapse/issues/14985), [\#14987](https://github.com/matrix-org/synapse/issues/14987), [\#14988](https://github.com/matrix-org/synapse/issues/14988), [\#14990](https://github.com/matrix-org/synapse/issues/14990), [\#14991](https://github.com/matrix-org/synapse/issues/14991), [\#14992](https://github.com/matrix-org/synapse/issues/14992), [\#15007](https://github.com/matrix-org/synapse/issues/15007))
+- Use `StrCollection` to avoid potential bugs with `Collection[str]`. ([\#14922](https://github.com/matrix-org/synapse/issues/14922))
+- Allow running the complement tests suites with the asyncio reactor enabled. ([\#14858](https://github.com/matrix-org/synapse/issues/14858))
+- Improve performance of `/sync` in a few situations. ([\#14908](https://github.com/matrix-org/synapse/issues/14908), [\#14970](https://github.com/matrix-org/synapse/issues/14970))
+- Document how to handle Dependabot pull requests. ([\#14916](https://github.com/matrix-org/synapse/issues/14916))
+- Fix typo in release script. ([\#14920](https://github.com/matrix-org/synapse/issues/14920))
+- Update build system requirements to allow building with poetry-core 1.5.0. ([\#14949](https://github.com/matrix-org/synapse/issues/14949), [\#15019](https://github.com/matrix-org/synapse/issues/15019))
+- Add an [lnav](https://lnav.org) config file for Synapse logs to `/contrib/lnav`. ([\#14953](https://github.com/matrix-org/synapse/issues/14953))
+- Faster joins: Refactor internal handling of servers in room to never store an empty list. ([\#14954](https://github.com/matrix-org/synapse/issues/14954))
+- Faster joins: tag `v2/send_join/` requests to indicate if they served a partial join response. ([\#14950](https://github.com/matrix-org/synapse/issues/14950))
+- Allow running `cargo` without the `extension-module` option. ([\#14965](https://github.com/matrix-org/synapse/issues/14965))
+- Preparatory work for adding a denormalised event stream ordering column in the future. Contributed by Nick @ Beeper (@fizzadar). ([\#14979](https://github.com/matrix-org/synapse/issues/14979), [9cd7610](https://github.com/matrix-org/synapse/commit/9cd7610f86ab5051c9365dd38d1eec405a5f8ca6), [f10caa7](https://github.com/matrix-org/synapse/commit/f10caa73eee0caa91cf373966104d1ededae2aee); see [\#15014](https://github.com/matrix-org/synapse/issues/15014))
+- Add tests for `_flatten_dict`. ([\#14981](https://github.com/matrix-org/synapse/issues/14981), [\#15002](https://github.com/matrix-org/synapse/issues/15002))
+
+<details><summary>Dependabot updates</summary>
+
+- Bump dtolnay/rust-toolchain from e645b0cf01249a964ec099494d38d2da0f0b349f to 9cd00a88a73addc8617065438eff914dd08d0955. ([\#14968](https://github.com/matrix-org/synapse/issues/14968))
+- Bump docker/build-push-action from 3 to 4. ([\#14952](https://github.com/matrix-org/synapse/issues/14952))
+- Bump ijson from 3.1.4 to 3.2.0.post0. ([\#14935](https://github.com/matrix-org/synapse/issues/14935))
+- Bump types-pyyaml from 6.0.12.2 to 6.0.12.3. ([\#14936](https://github.com/matrix-org/synapse/issues/14936))
+- Bump types-jsonschema from 4.17.0.2 to 4.17.0.3. ([\#14937](https://github.com/matrix-org/synapse/issues/14937))
+- Bump types-pillow from 9.4.0.3 to 9.4.0.5. ([\#14938](https://github.com/matrix-org/synapse/issues/14938))
+- Bump hiredis from 2.0.0 to 2.1.1. ([\#14939](https://github.com/matrix-org/synapse/issues/14939))
+- Bump hiredis from 2.1.1 to 2.2.1. ([\#14993](https://github.com/matrix-org/synapse/issues/14993))
+- Bump types-setuptools from 65.6.0.3 to 67.1.0.0. ([\#14994](https://github.com/matrix-org/synapse/issues/14994))
+- Bump prometheus-client from 0.15.0 to 0.16.0. ([\#14995](https://github.com/matrix-org/synapse/issues/14995))
+- Bump anyhow from 1.0.68 to 1.0.69. ([\#14996](https://github.com/matrix-org/synapse/issues/14996))
+- Bump serde_json from 1.0.91 to 1.0.92. ([\#14997](https://github.com/matrix-org/synapse/issues/14997))
+- Bump isort from 5.11.4 to 5.11.5. ([\#14998](https://github.com/matrix-org/synapse/issues/14998))
+- Bump phonenumbers from 8.13.4 to 8.13.5. ([\#14999](https://github.com/matrix-org/synapse/issues/14999))
+</details>
+
 Synapse 1.76.0 (2023-01-31)
 ===========================
 
diff --git a/changelog.d/14823.feature b/changelog.d/14823.feature
deleted file mode 100644
index 8293e99eff..0000000000
--- a/changelog.d/14823.feature
+++ /dev/null
@@ -1 +0,0 @@
-Experimental support for [MSC3952](https://github.com/matrix-org/matrix-spec-proposals/pull/3952): intentional mentions.
diff --git a/changelog.d/14858.misc b/changelog.d/14858.misc
deleted file mode 100644
index c48f40cd38..0000000000
--- a/changelog.d/14858.misc
+++ /dev/null
@@ -1 +0,0 @@
-Run the integration test suites with the asyncio reactor enabled in CI.
diff --git a/changelog.d/14866.bugfix b/changelog.d/14866.bugfix
deleted file mode 100644
index 540f918cbd..0000000000
--- a/changelog.d/14866.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse 1.53.0 where `next_batch` tokens from `/sync` could not be used with the `/relations` endpoint.
diff --git a/changelog.d/14879.misc b/changelog.d/14879.misc
deleted file mode 100644
index d44571b731..0000000000
--- a/changelog.d/14879.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints.
diff --git a/changelog.d/14880.bugfix b/changelog.d/14880.bugfix
deleted file mode 100644
index e56c567082..0000000000
--- a/changelog.d/14880.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug when using the `send_local_online_presence_to` module API.
diff --git a/changelog.d/14886.misc b/changelog.d/14886.misc
deleted file mode 100644
index 9f5384e60e..0000000000
--- a/changelog.d/14886.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints.
\ No newline at end of file
diff --git a/changelog.d/14887.misc b/changelog.d/14887.misc
deleted file mode 100644
index 9f5384e60e..0000000000
--- a/changelog.d/14887.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints.
\ No newline at end of file
diff --git a/changelog.d/14894.feature b/changelog.d/14894.feature
deleted file mode 100644
index d22741d079..0000000000
--- a/changelog.d/14894.feature
+++ /dev/null
@@ -1 +0,0 @@
-Adds profile information, devices and connections to the user data export via command line.
\ No newline at end of file
diff --git a/changelog.d/14904.misc b/changelog.d/14904.misc
deleted file mode 100644
index d44571b731..0000000000
--- a/changelog.d/14904.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints.
diff --git a/changelog.d/14908.misc b/changelog.d/14908.misc
deleted file mode 100644
index 3657623602..0000000000
--- a/changelog.d/14908.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve performance of `/sync` in a few situations.
diff --git a/changelog.d/14915.bugfix b/changelog.d/14915.bugfix
deleted file mode 100644
index 4969e5450c..0000000000
--- a/changelog.d/14915.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse 1.70.0 where the background updates to add non-thread unique indexes on receipts could fail when upgrading from 1.67.0 or earlier.
diff --git a/changelog.d/14916.misc b/changelog.d/14916.misc
deleted file mode 100644
index 59914d4b8a..0000000000
--- a/changelog.d/14916.misc
+++ /dev/null
@@ -1 +0,0 @@
-Document how to handle Dependabot pull requests.
diff --git a/changelog.d/14920.misc b/changelog.d/14920.misc
deleted file mode 100644
index 7988897d39..0000000000
--- a/changelog.d/14920.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix typo in release script.
diff --git a/changelog.d/14922.misc b/changelog.d/14922.misc
deleted file mode 100644
index 2cc3614dfd..0000000000
--- a/changelog.d/14922.misc
+++ /dev/null
@@ -1 +0,0 @@
-Use `StrCollection` to avoid potential bugs with `Collection[str]`.
diff --git a/changelog.d/14926.bugfix b/changelog.d/14926.bugfix
deleted file mode 100644
index f1f34cd6ba..0000000000
--- a/changelog.d/14926.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a regression introduced in Synapse 1.69.0 which can result in database corruption when database migrations are interrupted on sqlite.
diff --git a/changelog.d/14927.misc b/changelog.d/14927.misc
deleted file mode 100644
index 9f5384e60e..0000000000
--- a/changelog.d/14927.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints.
\ No newline at end of file
diff --git a/changelog.d/14935.misc b/changelog.d/14935.misc
deleted file mode 100644
index 0ad74b90eb..0000000000
--- a/changelog.d/14935.misc
+++ /dev/null
@@ -1 +0,0 @@
-Bump ijson from 3.1.4 to 3.2.0.post0.
diff --git a/changelog.d/14936.misc b/changelog.d/14936.misc
deleted file mode 100644
index bd5001173f..0000000000
--- a/changelog.d/14936.misc
+++ /dev/null
@@ -1 +0,0 @@
-Bump types-pyyaml from 6.0.12.2 to 6.0.12.3.
diff --git a/changelog.d/14937.misc b/changelog.d/14937.misc
deleted file mode 100644
index 061568f010..0000000000
--- a/changelog.d/14937.misc
+++ /dev/null
@@ -1 +0,0 @@
-Bump types-jsonschema from 4.17.0.2 to 4.17.0.3.
diff --git a/changelog.d/14938.misc b/changelog.d/14938.misc
deleted file mode 100644
index f2fbabe8bb..0000000000
--- a/changelog.d/14938.misc
+++ /dev/null
@@ -1 +0,0 @@
-Bump types-pillow from 9.4.0.3 to 9.4.0.5.
diff --git a/changelog.d/14939.misc b/changelog.d/14939.misc
deleted file mode 100644
index 236826e441..0000000000
--- a/changelog.d/14939.misc
+++ /dev/null
@@ -1 +0,0 @@
-Bump hiredis from 2.0.0 to 2.1.1.
diff --git a/changelog.d/14942.bugfix b/changelog.d/14942.bugfix
deleted file mode 100644
index a3ca3eb7e9..0000000000
--- a/changelog.d/14942.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse 1.68.0 where we were unable to service remote joins in rooms with `@room` notification levels set to `null` in their (malformed) power levels.
diff --git a/changelog.d/14943.feature b/changelog.d/14943.feature
deleted file mode 100644
index 8293e99eff..0000000000
--- a/changelog.d/14943.feature
+++ /dev/null
@@ -1 +0,0 @@
-Experimental support for [MSC3952](https://github.com/matrix-org/matrix-spec-proposals/pull/3952): intentional mentions.
diff --git a/changelog.d/14944.bugfix b/changelog.d/14944.bugfix
deleted file mode 100644
index 5fe1fb322b..0000000000
--- a/changelog.d/14944.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse v1.64 where boolean power levels were erroneously permitted in [v10 rooms](https://spec.matrix.org/v1.5/rooms/v10/).
diff --git a/changelog.d/14945.misc b/changelog.d/14945.misc
deleted file mode 100644
index 654174f9a8..0000000000
--- a/changelog.d/14945.misc
+++ /dev/null
@@ -1 +0,0 @@
-Fix various long-standing bugs in Synapse's config, event and request handling where booleans were unintentionally accepted where an integer was expected.
diff --git a/changelog.d/14947.bugfix b/changelog.d/14947.bugfix
deleted file mode 100644
index b9e768c44c..0000000000
--- a/changelog.d/14947.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a long-standing bug where sending messages on servers with presence enabled would spam "Re-starting finished log context" log lines.
diff --git a/changelog.d/14949.misc b/changelog.d/14949.misc
deleted file mode 100644
index 793a78a5dd..0000000000
--- a/changelog.d/14949.misc
+++ /dev/null
@@ -1 +0,0 @@
-Update build system requirements to allow building with poetry-core==1.5.0.
diff --git a/changelog.d/14950.misc b/changelog.d/14950.misc
deleted file mode 100644
index 6602776b3f..0000000000
--- a/changelog.d/14950.misc
+++ /dev/null
@@ -1 +0,0 @@
-Faster joins: tag `v2/send_join/` requests to indicate if they served a partial join response.
diff --git a/changelog.d/14952.misc b/changelog.d/14952.misc
deleted file mode 100644
index 4add8446d2..0000000000
--- a/changelog.d/14952.misc
+++ /dev/null
@@ -1 +0,0 @@
-Bump docker/build-push-action from 3 to 4.
diff --git a/changelog.d/14953.misc b/changelog.d/14953.misc
deleted file mode 100644
index 1741e1627c..0000000000
--- a/changelog.d/14953.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add an [lnav](https://lnav.org) config file for Synapse logs to `/contrib/lnav`.
diff --git a/changelog.d/14954.misc b/changelog.d/14954.misc
deleted file mode 100644
index b86b6bf01e..0000000000
--- a/changelog.d/14954.misc
+++ /dev/null
@@ -1 +0,0 @@
-Faster room joins: Refactor internal handling of servers in room to never store an empty list.
diff --git a/changelog.d/14956.misc b/changelog.d/14956.misc
deleted file mode 100644
index 9f5384e60e..0000000000
--- a/changelog.d/14956.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add missing type hints.
\ No newline at end of file
diff --git a/changelog.d/14957.feature b/changelog.d/14957.feature
deleted file mode 100644
index 8293e99eff..0000000000
--- a/changelog.d/14957.feature
+++ /dev/null
@@ -1 +0,0 @@
-Experimental support for [MSC3952](https://github.com/matrix-org/matrix-spec-proposals/pull/3952): intentional mentions.
diff --git a/changelog.d/14958.feature b/changelog.d/14958.feature
deleted file mode 100644
index 8293e99eff..0000000000
--- a/changelog.d/14958.feature
+++ /dev/null
@@ -1 +0,0 @@
-Experimental support for [MSC3952](https://github.com/matrix-org/matrix-spec-proposals/pull/3952): intentional mentions.
diff --git a/changelog.d/14960.feature b/changelog.d/14960.feature
deleted file mode 100644
index b9bb331273..0000000000
--- a/changelog.d/14960.feature
+++ /dev/null
@@ -1 +0,0 @@
-Experimental support to suppress notifications from message edits ([MSC3958](https://github.com/matrix-org/matrix-spec-proposals/pull/3958)).
diff --git a/changelog.d/14962.feature b/changelog.d/14962.feature
deleted file mode 100644
index 38f26012f2..0000000000
--- a/changelog.d/14962.feature
+++ /dev/null
@@ -1 +0,0 @@
-Improve performance when joining or sending an event large rooms.
diff --git a/changelog.d/14965.misc b/changelog.d/14965.misc
deleted file mode 100644
index 3ae0537d96..0000000000
--- a/changelog.d/14965.misc
+++ /dev/null
@@ -1 +0,0 @@
-Allow running `cargo` without the `extension-module` option.
diff --git a/changelog.d/14968.misc b/changelog.d/14968.misc
deleted file mode 100644
index a96c977f3b..0000000000
--- a/changelog.d/14968.misc
+++ /dev/null
@@ -1 +0,0 @@
-Bump dtolnay/rust-toolchain from e645b0cf01249a964ec099494d38d2da0f0b349f to 9cd00a88a73addc8617065438eff914dd08d0955.
diff --git a/changelog.d/14970.misc b/changelog.d/14970.misc
deleted file mode 100644
index 3657623602..0000000000
--- a/changelog.d/14970.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve performance of `/sync` in a few situations.
diff --git a/changelog.d/14971.misc b/changelog.d/14971.misc
deleted file mode 100644
index 130045a123..0000000000
--- a/changelog.d/14971.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve performance of joining and leaving large rooms with many local users.
diff --git a/changelog.d/14976.bugfix b/changelog.d/14976.bugfix
deleted file mode 100644
index 0cde046c0e..0000000000
--- a/changelog.d/14976.bugfix
+++ /dev/null
@@ -1 +0,0 @@
-Fix a bug introduced in Synapse 1.68.0 where logging from the Rust module was not properly logged.
diff --git a/changelog.d/14979.misc b/changelog.d/14979.misc
deleted file mode 100644
index c09911e48d..0000000000
--- a/changelog.d/14979.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add denormalised event stream ordering column to membership state tables for future use. Contributed by Nick @ Beeper (@fizzadar).
diff --git a/changelog.d/14981.misc b/changelog.d/14981.misc
deleted file mode 100644
index 68ac8335fc..0000000000
--- a/changelog.d/14981.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add tests for `_flatten_dict`.
diff --git a/changelog.d/14983.misc b/changelog.d/14983.misc
deleted file mode 100644
index 93ceaeafc9..0000000000
--- a/changelog.d/14983.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve type hints.
diff --git a/changelog.d/14984.misc b/changelog.d/14984.misc
deleted file mode 100644
index 93ceaeafc9..0000000000
--- a/changelog.d/14984.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve type hints.
diff --git a/changelog.d/14985.misc b/changelog.d/14985.misc
deleted file mode 100644
index 93ceaeafc9..0000000000
--- a/changelog.d/14985.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve type hints.
diff --git a/changelog.d/14987.misc b/changelog.d/14987.misc
deleted file mode 100644
index 93ceaeafc9..0000000000
--- a/changelog.d/14987.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve type hints.
diff --git a/changelog.d/14988.misc b/changelog.d/14988.misc
deleted file mode 100644
index 93ceaeafc9..0000000000
--- a/changelog.d/14988.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve type hints.
diff --git a/changelog.d/14990.misc b/changelog.d/14990.misc
deleted file mode 100644
index 93ceaeafc9..0000000000
--- a/changelog.d/14990.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve type hints.
diff --git a/changelog.d/14991.misc b/changelog.d/14991.misc
deleted file mode 100644
index 93ceaeafc9..0000000000
--- a/changelog.d/14991.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve type hints.
diff --git a/changelog.d/14992.misc b/changelog.d/14992.misc
deleted file mode 100644
index 93ceaeafc9..0000000000
--- a/changelog.d/14992.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve type hints.
diff --git a/changelog.d/14993.misc b/changelog.d/14993.misc
deleted file mode 100644
index 77f3528e2b..0000000000
--- a/changelog.d/14993.misc
+++ /dev/null
@@ -1 +0,0 @@
-Bump hiredis from 2.1.1 to 2.2.1.
diff --git a/changelog.d/14994.misc b/changelog.d/14994.misc
deleted file mode 100644
index 7ca29f1ca9..0000000000
--- a/changelog.d/14994.misc
+++ /dev/null
@@ -1 +0,0 @@
-Bump types-setuptools from 65.6.0.3 to 67.1.0.0.
diff --git a/changelog.d/14995.misc b/changelog.d/14995.misc
deleted file mode 100644
index 44af2821a6..0000000000
--- a/changelog.d/14995.misc
+++ /dev/null
@@ -1 +0,0 @@
-Bump prometheus-client from 0.15.0 to 0.16.0.
diff --git a/changelog.d/14996.misc b/changelog.d/14996.misc
deleted file mode 100644
index 7ccef81e82..0000000000
--- a/changelog.d/14996.misc
+++ /dev/null
@@ -1 +0,0 @@
-Bump anyhow from 1.0.68 to 1.0.69.
diff --git a/changelog.d/14997.misc b/changelog.d/14997.misc
deleted file mode 100644
index 2ae4582dab..0000000000
--- a/changelog.d/14997.misc
+++ /dev/null
@@ -1 +0,0 @@
-Bump serde_json from 1.0.91 to 1.0.92.
diff --git a/changelog.d/14998.misc b/changelog.d/14998.misc
deleted file mode 100644
index f191ae22ac..0000000000
--- a/changelog.d/14998.misc
+++ /dev/null
@@ -1 +0,0 @@
-Bump isort from 5.11.4 to 5.11.5.
diff --git a/changelog.d/14999.misc b/changelog.d/14999.misc
deleted file mode 100644
index f03f9239e8..0000000000
--- a/changelog.d/14999.misc
+++ /dev/null
@@ -1 +0,0 @@
-Bump phonenumbers from 8.13.4 to 8.13.5.
diff --git a/changelog.d/15002.misc b/changelog.d/15002.misc
deleted file mode 100644
index 68ac8335fc..0000000000
--- a/changelog.d/15002.misc
+++ /dev/null
@@ -1 +0,0 @@
-Add tests for `_flatten_dict`.
diff --git a/changelog.d/15007.misc b/changelog.d/15007.misc
deleted file mode 100644
index 93ceaeafc9..0000000000
--- a/changelog.d/15007.misc
+++ /dev/null
@@ -1 +0,0 @@
-Improve type hints.
diff --git a/debian/changelog b/debian/changelog
index c678ae6c5c..becc41c121 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+matrix-synapse-py3 (1.77.0~rc1) stable; urgency=medium
+
+  * New Synapse release 1.77.0rc1.
+
+ -- Synapse Packaging team <packages@matrix.org>  Tue, 07 Feb 2023 13:45:14 +0000
+
 matrix-synapse-py3 (1.76.0) stable; urgency=medium
 
   * New Synapse release 1.76.0.
diff --git a/pyproject.toml b/pyproject.toml
index 12734dec71..1e59706104 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -89,7 +89,7 @@ manifest-path = "rust/Cargo.toml"
 
 [tool.poetry]
 name = "matrix-synapse"
-version = "1.76.0"
+version = "1.77.0rc1"
 description = "Homeserver for the Matrix decentralised comms protocol"
 authors = ["Matrix.org Team and Contributors <packages@matrix.org>"]
 license = "Apache-2.0"
diff --git a/rust/src/push/base_rules.rs b/rust/src/push/base_rules.rs
index e9af26dd4f..97d0a0a7e2 100644
--- a/rust/src/push/base_rules.rs
+++ b/rust/src/push/base_rules.rs
@@ -76,7 +76,7 @@ pub const BASE_APPEND_OVERRIDE_RULES: &[PushRule] = &[
                 pattern_type: None,
             },
         ))]),
-        actions: Cow::Borrowed(&[Action::DontNotify]),
+        actions: Cow::Borrowed(&[]),
         default: true,
         default_enabled: true,
     },
diff --git a/synapse/storage/databases/main/events.py b/synapse/storage/databases/main/events.py
index b6cce0a7cc..1536937b67 100644
--- a/synapse/storage/databases/main/events.py
+++ b/synapse/storage/databases/main/events.py
@@ -1147,15 +1147,11 @@ class PersistEventsStore:
                 # been inserted into room_memberships.
                 txn.execute_batch(
                     """INSERT INTO current_state_events
-                        (room_id, type, state_key, event_id, membership, event_stream_ordering)
-                    VALUES (
-                        ?, ?, ?, ?,
-                        (SELECT membership FROM room_memberships WHERE event_id = ?),
-                        (SELECT stream_ordering FROM events WHERE event_id = ?)
-                    )
+                        (room_id, type, state_key, event_id, membership)
+                    VALUES (?, ?, ?, ?, (SELECT membership FROM room_memberships WHERE event_id = ?))
                     """,
                     [
-                        (room_id, key[0], key[1], ev_id, ev_id, ev_id)
+                        (room_id, key[0], key[1], ev_id, ev_id)
                         for key, ev_id in to_insert.items()
                     ],
                 )
@@ -1182,15 +1178,11 @@ class PersistEventsStore:
             if to_insert:
                 txn.execute_batch(
                     """INSERT INTO local_current_membership
-                        (room_id, user_id, event_id, membership, event_stream_ordering)
-                    VALUES (
-                        ?, ?, ?,
-                        (SELECT membership FROM room_memberships WHERE event_id = ?),
-                        (SELECT stream_ordering FROM events WHERE event_id = ?)
-                    )
+                        (room_id, user_id, event_id, membership)
+                    VALUES (?, ?, ?, (SELECT membership FROM room_memberships WHERE event_id = ?))
                     """,
                     [
-                        (room_id, key[1], ev_id, ev_id, ev_id)
+                        (room_id, key[1], ev_id, ev_id)
                         for key, ev_id in to_insert.items()
                         if key[0] == EventTypes.Member and self.is_mine_id(key[1])
                     ],
@@ -1798,7 +1790,6 @@ class PersistEventsStore:
             table="room_memberships",
             keys=(
                 "event_id",
-                "event_stream_ordering",
                 "user_id",
                 "sender",
                 "room_id",
@@ -1809,7 +1800,6 @@ class PersistEventsStore:
             values=[
                 (
                     event.event_id,
-                    event.internal_metadata.stream_ordering,
                     event.state_key,
                     event.user_id,
                     event.room_id,
@@ -1842,7 +1832,6 @@ class PersistEventsStore:
                     keyvalues={"room_id": event.room_id, "user_id": event.state_key},
                     values={
                         "event_id": event.event_id,
-                        "event_stream_ordering": event.internal_metadata.stream_ordering,
                         "membership": event.membership,
                     },
                 )
diff --git a/synapse/storage/databases/main/events_bg_updates.py b/synapse/storage/databases/main/events_bg_updates.py
index 0e81d38cca..b9d3c36d60 100644
--- a/synapse/storage/databases/main/events_bg_updates.py
+++ b/synapse/storage/databases/main/events_bg_updates.py
@@ -17,7 +17,7 @@ from typing import TYPE_CHECKING, Dict, List, Optional, Sequence, Set, Tuple, ca
 
 import attr
 
-from synapse.api.constants import EventContentFields, EventTypes, RelationTypes
+from synapse.api.constants import EventContentFields, RelationTypes
 from synapse.api.room_versions import KNOWN_ROOM_VERSIONS
 from synapse.events import make_event_from_dict
 from synapse.storage._base import SQLBaseStore, db_to_json, make_in_list_sql_clause
@@ -71,10 +71,6 @@ class _BackgroundUpdates:
 
     EVENTS_JUMP_TO_DATE_INDEX = "events_jump_to_date_index"
 
-    POPULATE_MEMBERSHIP_EVENT_STREAM_ORDERING = (
-        "populate_membership_event_stream_ordering"
-    )
-
 
 @attr.s(slots=True, frozen=True, auto_attribs=True)
 class _CalculateChainCover:
@@ -104,10 +100,6 @@ class EventsBackgroundUpdatesStore(SQLBaseStore):
         super().__init__(database, db_conn, hs)
 
         self.db_pool.updates.register_background_update_handler(
-            _BackgroundUpdates.POPULATE_MEMBERSHIP_EVENT_STREAM_ORDERING,
-            self._populate_membership_event_stream_ordering,
-        )
-        self.db_pool.updates.register_background_update_handler(
             _BackgroundUpdates.EVENT_ORIGIN_SERVER_TS_NAME,
             self._background_reindex_origin_server_ts,
         )
@@ -1506,97 +1498,3 @@ class EventsBackgroundUpdatesStore(SQLBaseStore):
             )
 
         return batch_size
-
-    async def _populate_membership_event_stream_ordering(
-        self, progress: JsonDict, batch_size: int
-    ) -> int:
-        def _populate_membership_event_stream_ordering(
-            txn: LoggingTransaction,
-        ) -> bool:
-
-            if "max_stream_ordering" in progress:
-                max_stream_ordering = progress["max_stream_ordering"]
-            else:
-                txn.execute("SELECT max(stream_ordering) FROM events")
-                res = txn.fetchone()
-                if res is None or res[0] is None:
-                    return True
-                else:
-                    max_stream_ordering = res[0]
-
-            start = progress.get("stream_ordering", 0)
-            stop = start + batch_size
-
-            sql = f"""
-                SELECT room_id, event_id, stream_ordering
-                FROM events
-                WHERE
-                    type = '{EventTypes.Member}'
-                    AND stream_ordering >= ?
-                    AND stream_ordering < ?
-            """
-            txn.execute(sql, (start, stop))
-
-            rows: List[Tuple[str, str, int]] = cast(
-                List[Tuple[str, str, int]], txn.fetchall()
-            )
-
-            event_ids: List[Tuple[str]] = []
-            event_stream_orderings: List[Tuple[int]] = []
-
-            for _, event_id, event_stream_ordering in rows:
-                event_ids.append((event_id,))
-                event_stream_orderings.append((event_stream_ordering,))
-
-            self.db_pool.simple_update_many_txn(
-                txn,
-                table="current_state_events",
-                key_names=("event_id",),
-                key_values=event_ids,
-                value_names=("event_stream_ordering",),
-                value_values=event_stream_orderings,
-            )
-
-            self.db_pool.simple_update_many_txn(
-                txn,
-                table="room_memberships",
-                key_names=("event_id",),
-                key_values=event_ids,
-                value_names=("event_stream_ordering",),
-                value_values=event_stream_orderings,
-            )
-
-            # NOTE: local_current_membership has no index on event_id, so only
-            # the room ID here will reduce the query rows read.
-            for room_id, event_id, event_stream_ordering in rows:
-                txn.execute(
-                    """
-                        UPDATE local_current_membership
-                        SET event_stream_ordering = ?
-                        WHERE room_id = ? AND event_id = ?
-                    """,
-                    (event_stream_ordering, room_id, event_id),
-                )
-
-            self.db_pool.updates._background_update_progress_txn(
-                txn,
-                _BackgroundUpdates.POPULATE_MEMBERSHIP_EVENT_STREAM_ORDERING,
-                {
-                    "stream_ordering": stop,
-                    "max_stream_ordering": max_stream_ordering,
-                },
-            )
-
-            return stop > max_stream_ordering
-
-        finished = await self.db_pool.runInteraction(
-            "_populate_membership_event_stream_ordering",
-            _populate_membership_event_stream_ordering,
-        )
-
-        if finished:
-            await self.db_pool.updates._end_background_update(
-                _BackgroundUpdates.POPULATE_MEMBERSHIP_EVENT_STREAM_ORDERING
-            )
-
-        return batch_size
diff --git a/synapse/storage/schema/main/delta/73/26membership_tables_event_stream_ordering.sql b/synapse/storage/schema/main/delta/73/26membership_tables_event_stream_ordering.sql
deleted file mode 100644
index 7c30a67fc4..0000000000
--- a/synapse/storage/schema/main/delta/73/26membership_tables_event_stream_ordering.sql
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright 2022 Beeper
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-ALTER TABLE current_state_events ADD COLUMN event_stream_ordering BIGINT;
-ALTER TABLE local_current_membership ADD COLUMN event_stream_ordering BIGINT;
-ALTER TABLE room_memberships ADD COLUMN event_stream_ordering BIGINT;
-
-INSERT INTO background_updates (update_name, progress_json) VALUES
-  ('populate_membership_event_stream_ordering', '{}');