Prechádzať zdrojové kódy

Merge branch 'develop' into shay/rework_module

H. Shay 1 rok pred
rodič
commit
7fc487421f
100 zmenil súbory, kde vykonal 183 pridanie a 74 odobranie
  1. 15 0
      .ci/scripts/calculate_jobs.py
  2. 5 1
      .git-blame-ignore-revs
  3. 1 1
      .github/workflows/docs-pr-netlify.yaml
  4. 2 2
      .github/workflows/docs-pr.yaml
  5. 3 3
      .github/workflows/latest_deps.yml
  6. 1 1
      .github/workflows/push_complement_image.yml
  7. 12 10
      .github/workflows/tests.yml
  8. 1 1
      .github/workflows/triage-incoming.yml
  9. 3 3
      .github/workflows/twisted_trunk.yml
  10. 98 1
      CHANGES.md
  11. 2 2
      Cargo.lock
  12. 0 1
      changelog.d/13755.misc
  13. 0 1
      changelog.d/13779.bugfix
  14. 1 0
      changelog.d/14026.doc
  15. 1 0
      changelog.d/14101.misc
  16. 0 1
      changelog.d/14605.bugfix
  17. 0 1
      changelog.d/14606.misc
  18. 0 1
      changelog.d/14675.misc
  19. 0 1
      changelog.d/14742.misc
  20. 0 1
      changelog.d/14834.misc
  21. 0 1
      changelog.d/14840.misc
  22. 1 0
      changelog.d/14869.bugfix
  23. 1 0
      changelog.d/14918.misc
  24. 0 1
      changelog.d/14929.misc
  25. 0 1
      changelog.d/14959.doc
  26. 0 1
      changelog.d/14964.feature
  27. 0 1
      changelog.d/14973.misc
  28. 0 1
      changelog.d/14977.misc
  29. 0 1
      changelog.d/14980.misc
  30. 0 1
      changelog.d/14982.misc
  31. 0 1
      changelog.d/15004.feature
  32. 0 1
      changelog.d/15020.misc
  33. 0 1
      changelog.d/15022.doc
  34. 0 1
      changelog.d/15026.misc
  35. 0 1
      changelog.d/15027.misc
  36. 0 1
      changelog.d/15028.misc
  37. 0 1
      changelog.d/15031.misc
  38. 0 1
      changelog.d/15033.misc
  39. 0 1
      changelog.d/15034.feature
  40. 0 1
      changelog.d/15035.misc
  41. 0 1
      changelog.d/15038.bugfix
  42. 0 1
      changelog.d/15040.misc
  43. 0 1
      changelog.d/15041.misc
  44. 0 1
      changelog.d/15042.feature
  45. 0 1
      changelog.d/15043.misc
  46. 1 0
      changelog.d/15044.feature
  47. 0 1
      changelog.d/15045.feature
  48. 0 1
      changelog.d/15047.misc
  49. 1 0
      changelog.d/15051.misc
  50. 0 1
      changelog.d/15053.misc
  51. 0 1
      changelog.d/15054.misc
  52. 0 1
      changelog.d/15059.misc
  53. 0 1
      changelog.d/15060.misc
  54. 0 1
      changelog.d/15061.misc
  55. 0 1
      changelog.d/15062.misc
  56. 0 1
      changelog.d/15063.misc
  57. 0 1
      changelog.d/15064.misc
  58. 0 1
      changelog.d/15065.misc
  59. 0 1
      changelog.d/15068.bugfix
  60. 0 1
      changelog.d/15069.misc
  61. 0 1
      changelog.d/15070.misc
  62. 1 0
      changelog.d/15071.doc
  63. 0 1
      changelog.d/15072.misc
  64. 0 1
      changelog.d/15073.feature
  65. 0 1
      changelog.d/15074.bugfix
  66. 0 2
      changelog.d/15075.feature
  67. 1 0
      changelog.d/15077.feature
  68. 1 0
      changelog.d/15088.bugfix
  69. 1 0
      changelog.d/15092.bugfix
  70. 1 0
      changelog.d/15093.bugfix
  71. 1 0
      changelog.d/15095.misc
  72. 1 0
      changelog.d/15103.misc
  73. 1 0
      changelog.d/15107.feature
  74. 1 0
      changelog.d/15112.doc
  75. 1 0
      changelog.d/15116.feature
  76. 1 0
      changelog.d/15133.feature
  77. 1 0
      changelog.d/15134.feature
  78. 1 0
      changelog.d/15135.misc
  79. 1 0
      changelog.d/15137.removal
  80. 1 0
      changelog.d/15138.misc
  81. 1 0
      changelog.d/15139.doc
  82. 1 0
      changelog.d/15143.misc
  83. 1 0
      changelog.d/15146.misc
  84. 1 0
      changelog.d/15148.doc
  85. 1 0
      changelog.d/15152.misc
  86. 1 0
      changelog.d/15154.misc
  87. 1 0
      changelog.d/15155.misc
  88. 1 0
      changelog.d/15156.misc
  89. 1 0
      changelog.d/15157.misc
  90. 1 0
      changelog.d/15158.misc
  91. 1 0
      changelog.d/15159.misc
  92. 1 0
      changelog.d/15160.misc
  93. 1 0
      changelog.d/15163.bugfix
  94. 0 0
      changelog.d/15164.misc
  95. 1 0
      changelog.d/15165.misc
  96. 1 0
      changelog.d/15167.misc
  97. 1 0
      changelog.d/15168.doc
  98. 1 0
      changelog.d/15172.feature
  99. 1 0
      changelog.d/15174.bugfix
  100. 1 0
      changelog.d/15175.misc

+ 15 - 0
.ci/scripts/calculate_jobs.py

@@ -109,11 +109,26 @@ sytest_tests = [
         "postgres": "multi-postgres",
         "workers": "workers",
     },
+    {
+        "sytest-tag": "focal",
+        "postgres": "multi-postgres",
+        "workers": "workers",
+        "reactor": "asyncio",
+    },
 ]
 
 if not IS_PR:
     sytest_tests.extend(
         [
+            {
+                "sytest-tag": "focal",
+                "reactor": "asyncio",
+            },
+            {
+                "sytest-tag": "focal",
+                "postgres": "postgres",
+                "reactor": "asyncio",
+            },
             {
                 "sytest-tag": "testing",
                 "postgres": "postgres",

+ 5 - 1
.git-blame-ignore-revs

@@ -21,4 +21,8 @@ aff1eb7c671b0a3813407321d2702ec46c71fa56
 0a00b7ff14890987f09112a2ae696c61001e6cf1
 
 # Convert tests/rest/admin/test_room.py to unix file endings (#7953).
-c4268e3da64f1abb5b31deaeb5769adb6510c0a7
+c4268e3da64f1abb5b31deaeb5769adb6510c0a7
+
+# Update black to 23.1.0 (#15103)
+9bb2eac71962970d02842bca441f4bcdbbf93a11
+

+ 1 - 1
.github/workflows/docs-pr-netlify.yaml

@@ -14,7 +14,7 @@ jobs:
       # There's a 'download artifact' action, but it hasn't been updated for the workflow_run action
       # (https://github.com/actions/download-artifact/issues/60) so instead we get this mess:
       - name: 📥 Download artifact
-        uses: dawidd6/action-download-artifact@bd10f381a96414ce2b13a11bfa89902ba7cea07f # v2.24.3
+        uses: dawidd6/action-download-artifact@5e780fc7bbd0cac69fc73271ed86edf5dcb72d67 # v2.26.0
         with:
           workflow: docs-pr.yaml
           run_id: ${{ github.event.workflow_run.id }}

+ 2 - 2
.github/workflows/docs-pr.yaml

@@ -12,7 +12,7 @@ jobs:
     name: GitHub Pages
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
 
       - name: Setup mdbook
         uses: peaceiris/actions-mdbook@adeb05db28a0c0004681db83893d56c0388ea9ea # v1.2.0
@@ -39,7 +39,7 @@ jobs:
     name: Check links in documentation
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v2
+      - uses: actions/checkout@v3
 
       - name: Setup mdbook
         uses: peaceiris/actions-mdbook@adeb05db28a0c0004681db83893d56c0388ea9ea # v1.2.0

+ 3 - 3
.github/workflows/latest_deps.yml

@@ -27,7 +27,7 @@ jobs:
     steps:
       - uses: actions/checkout@v3
       - name: Install Rust
-        uses: dtolnay/rust-toolchain@25dc93b901a87e864900a8aec6c12e9aa794c0c3
+        uses: dtolnay/rust-toolchain@e12eda571dc9a5ee5d58eecf4738ec291c66f295
         with:
           toolchain: stable
       - uses: Swatinem/rust-cache@v2
@@ -61,7 +61,7 @@ jobs:
       - uses: actions/checkout@v3
 
       - name: Install Rust
-        uses: dtolnay/rust-toolchain@25dc93b901a87e864900a8aec6c12e9aa794c0c3
+        uses: dtolnay/rust-toolchain@e12eda571dc9a5ee5d58eecf4738ec291c66f295
         with:
           toolchain: stable
       - uses: Swatinem/rust-cache@v2
@@ -134,7 +134,7 @@ jobs:
       - uses: actions/checkout@v3
 
       - name: Install Rust
-        uses: dtolnay/rust-toolchain@25dc93b901a87e864900a8aec6c12e9aa794c0c3
+        uses: dtolnay/rust-toolchain@e12eda571dc9a5ee5d58eecf4738ec291c66f295
         with:
           toolchain: stable
       - uses: Swatinem/rust-cache@v2

+ 1 - 1
.github/workflows/push_complement_image.yml

@@ -48,7 +48,7 @@ jobs:
         with:
           ref: master
       - name: Login to registry
-        uses: docker/login-action@v1
+        uses: docker/login-action@v2
         with:
           registry: ghcr.io
           username: ${{ github.actor }}

+ 12 - 10
.github/workflows/tests.yml

@@ -112,7 +112,7 @@ jobs:
         # There don't seem to be versioned releases of this action per se: for each rust
         # version there is a branch which gets constantly rebased on top of master.
         # We pin to a specific commit for paranoia's sake.
-        uses: dtolnay/rust-toolchain@25dc93b901a87e864900a8aec6c12e9aa794c0c3
+        uses: dtolnay/rust-toolchain@e12eda571dc9a5ee5d58eecf4738ec291c66f295
         with:
             toolchain: 1.58.1
             components: clippy
@@ -134,7 +134,7 @@ jobs:
         # There don't seem to be versioned releases of this action per se: for each rust
         # version there is a branch which gets constantly rebased on top of master.
         # We pin to a specific commit for paranoia's sake.
-        uses: dtolnay/rust-toolchain@25dc93b901a87e864900a8aec6c12e9aa794c0c3
+        uses: dtolnay/rust-toolchain@e12eda571dc9a5ee5d58eecf4738ec291c66f295
         with:
             toolchain: nightly-2022-12-01
             components: clippy
@@ -154,9 +154,10 @@ jobs:
         # There don't seem to be versioned releases of this action per se: for each rust
         # version there is a branch which gets constantly rebased on top of master.
         # We pin to a specific commit for paranoia's sake.
-        uses: dtolnay/rust-toolchain@25dc93b901a87e864900a8aec6c12e9aa794c0c3
+        uses: dtolnay/rust-toolchain@e12eda571dc9a5ee5d58eecf4738ec291c66f295
         with:
-          toolchain: 1.58.1
+          # We use nightly so that it correctly groups together imports
+          toolchain: nightly-2022-12-01
           components: rustfmt
       - uses: Swatinem/rust-cache@v2
 
@@ -221,7 +222,7 @@ jobs:
         # There don't seem to be versioned releases of this action per se: for each rust
         # version there is a branch which gets constantly rebased on top of master.
         # We pin to a specific commit for paranoia's sake.
-        uses: dtolnay/rust-toolchain@25dc93b901a87e864900a8aec6c12e9aa794c0c3
+        uses: dtolnay/rust-toolchain@e12eda571dc9a5ee5d58eecf4738ec291c66f295
         with:
             toolchain: 1.58.1
       - uses: Swatinem/rust-cache@v2
@@ -266,7 +267,7 @@ jobs:
         # There don't seem to be versioned releases of this action per se: for each rust
         # version there is a branch which gets constantly rebased on top of master.
         # We pin to a specific commit for paranoia's sake.
-        uses: dtolnay/rust-toolchain@25dc93b901a87e864900a8aec6c12e9aa794c0c3
+        uses: dtolnay/rust-toolchain@e12eda571dc9a5ee5d58eecf4738ec291c66f295
         with:
             toolchain: 1.58.1
       - uses: Swatinem/rust-cache@v2
@@ -368,6 +369,7 @@ jobs:
         SYTEST_BRANCH: ${{ github.head_ref }}
         POSTGRES: ${{ matrix.job.postgres && 1}}
         MULTI_POSTGRES: ${{ (matrix.job.postgres == 'multi-postgres') && 1}}
+        ASYNCIO_REACTOR: ${{ (matrix.job.reactor == 'asyncio') && 1 }}
         WORKERS: ${{ matrix.job.workers && 1 }}
         BLACKLIST: ${{ matrix.job.workers && 'synapse-blacklist-with-workers' }}
         TOP: ${{ github.workspace }}
@@ -386,7 +388,7 @@ jobs:
         # There don't seem to be versioned releases of this action per se: for each rust
         # version there is a branch which gets constantly rebased on top of master.
         # We pin to a specific commit for paranoia's sake.
-        uses: dtolnay/rust-toolchain@25dc93b901a87e864900a8aec6c12e9aa794c0c3
+        uses: dtolnay/rust-toolchain@e12eda571dc9a5ee5d58eecf4738ec291c66f295
         with:
             toolchain: 1.58.1
       - uses: Swatinem/rust-cache@v2
@@ -531,7 +533,7 @@ jobs:
         # There don't seem to be versioned releases of this action per se: for each rust
         # version there is a branch which gets constantly rebased on top of master.
         # We pin to a specific commit for paranoia's sake.
-        uses: dtolnay/rust-toolchain@25dc93b901a87e864900a8aec6c12e9aa794c0c3
+        uses: dtolnay/rust-toolchain@e12eda571dc9a5ee5d58eecf4738ec291c66f295
         with:
             toolchain: 1.58.1
       - uses: Swatinem/rust-cache@v2
@@ -562,7 +564,7 @@ jobs:
         # There don't seem to be versioned releases of this action per se: for each rust
         # version there is a branch which gets constantly rebased on top of master.
         # We pin to a specific commit for paranoia's sake.
-        uses: dtolnay/rust-toolchain@25dc93b901a87e864900a8aec6c12e9aa794c0c3
+        uses: dtolnay/rust-toolchain@e12eda571dc9a5ee5d58eecf4738ec291c66f295
         with:
             toolchain: 1.58.1
       - uses: Swatinem/rust-cache@v2
@@ -585,7 +587,7 @@ jobs:
         # There don't seem to be versioned releases of this action per se: for each rust
         # version there is a branch which gets constantly rebased on top of master.
         # We pin to a specific commit for paranoia's sake.
-        uses: dtolnay/rust-toolchain@25dc93b901a87e864900a8aec6c12e9aa794c0c3
+        uses: dtolnay/rust-toolchain@e12eda571dc9a5ee5d58eecf4738ec291c66f295
         with:
             toolchain: nightly-2022-12-01
       - uses: Swatinem/rust-cache@v2

+ 1 - 1
.github/workflows/triage-incoming.yml

@@ -6,7 +6,7 @@ on:
 
 jobs:
   triage:
-    uses: matrix-org/backend-meta/.github/workflows/triage-incoming.yml@v1
+    uses: matrix-org/backend-meta/.github/workflows/triage-incoming.yml@v2
     with: 
       project_id: 'PVT_kwDOAIB0Bs4AFDdZ'
       content_id: ${{ github.event.issue.node_id }}

+ 3 - 3
.github/workflows/twisted_trunk.yml

@@ -18,7 +18,7 @@ jobs:
       - uses: actions/checkout@v3
 
       - name: Install Rust
-        uses: dtolnay/rust-toolchain@25dc93b901a87e864900a8aec6c12e9aa794c0c3
+        uses: dtolnay/rust-toolchain@e12eda571dc9a5ee5d58eecf4738ec291c66f295
         with:
           toolchain: stable
       - uses: Swatinem/rust-cache@v2
@@ -43,7 +43,7 @@ jobs:
       - run: sudo apt-get -qq install xmlsec1
 
       - name: Install Rust
-        uses: dtolnay/rust-toolchain@25dc93b901a87e864900a8aec6c12e9aa794c0c3
+        uses: dtolnay/rust-toolchain@e12eda571dc9a5ee5d58eecf4738ec291c66f295
         with:
           toolchain: stable
       - uses: Swatinem/rust-cache@v2
@@ -82,7 +82,7 @@ jobs:
       - uses: actions/checkout@v3
 
       - name: Install Rust
-        uses: dtolnay/rust-toolchain@25dc93b901a87e864900a8aec6c12e9aa794c0c3
+        uses: dtolnay/rust-toolchain@e12eda571dc9a5ee5d58eecf4738ec291c66f295
         with:
           toolchain: stable
       - uses: Swatinem/rust-cache@v2

+ 98 - 1
CHANGES.md

@@ -1,3 +1,100 @@
+Synapse 1.78.0 (2023-02-28)
+===========================
+
+Bugfixes
+--------
+
+- Fix a bug introduced in Synapse 1.76 where 5s delays would occasionally occur in deployments using workers. ([\#15150](https://github.com/matrix-org/synapse/issues/15150))
+
+
+Synapse 1.78.0rc1 (2023-02-21)
+==============================
+
+Features
+--------
+
+- Implement the experimental `exact_event_match` push rule condition from [MSC3758](https://github.com/matrix-org/matrix-spec-proposals/pull/3758). ([\#14964](https://github.com/matrix-org/synapse/issues/14964))
+- Add account data to the command line [user data export tool](https://matrix-org.github.io/synapse/v1.78/usage/administration/admin_faq.html#how-can-i-export-user-data). ([\#14969](https://github.com/matrix-org/synapse/issues/14969))
+- Implement [MSC3873](https://github.com/matrix-org/matrix-spec-proposals/pull/3873) to disambiguate push rule keys with dots in them. ([\#15004](https://github.com/matrix-org/synapse/issues/15004))
+- Allow Synapse to use a specific Redis [logical database](https://redis.io/commands/select/) in worker-mode deployments. ([\#15034](https://github.com/matrix-org/synapse/issues/15034))
+- Tag opentracing spans for federation requests with the name of the worker serving the request. ([\#15042](https://github.com/matrix-org/synapse/issues/15042))
+- Implement the experimental `exact_event_property_contains` push rule condition from [MSC3966](https://github.com/matrix-org/matrix-spec-proposals/pull/3966). ([\#15045](https://github.com/matrix-org/synapse/issues/15045))
+- Remove spurious `dont_notify` action from the defaults for the `.m.rule.reaction` pushrule. ([\#15073](https://github.com/matrix-org/synapse/issues/15073))
+- Update the error code returned when user sends a duplicate annotation. ([\#15075](https://github.com/matrix-org/synapse/issues/15075))
+
+
+Bugfixes
+--------
+
+- Prevent clients from reporting nonexistent events. ([\#13779](https://github.com/matrix-org/synapse/issues/13779))
+- Return spec-compliant JSON errors when unknown endpoints are requested. ([\#14605](https://github.com/matrix-org/synapse/issues/14605))
+- Fix a long-standing bug where the room aliases returned could be corrupted. ([\#15038](https://github.com/matrix-org/synapse/issues/15038))
+- Fix a bug introduced in Synapse 1.76.0 where partially-joined rooms could not be deleted using the [purge room API](https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#delete-room-api). ([\#15068](https://github.com/matrix-org/synapse/issues/15068))
+- Fix a long-standing bug where federated joins would fail if the first server in the list of servers to try is not in the room. ([\#15074](https://github.com/matrix-org/synapse/issues/15074))
+- Fix a bug introduced in Synapse v1.74.0 where searching with colons when using ICU for search term tokenisation would fail with an error. ([\#15079](https://github.com/matrix-org/synapse/issues/15079))
+- Reduce the likelihood of a rare race condition where rejoining a restricted room over federation would fail. ([\#15080](https://github.com/matrix-org/synapse/issues/15080))
+- Fix a bug introduced in Synapse 1.76 where workers would fail to start if the `health` listener was configured. ([\#15096](https://github.com/matrix-org/synapse/issues/15096))
+- Fix a bug introduced in Synapse 1.75 where the [portdb script](https://matrix-org.github.io/synapse/release-v1.78/postgres.html#porting-from-sqlite) would fail to run after a room had been faster-joined. ([\#15108](https://github.com/matrix-org/synapse/issues/15108))
+
+
+Improved Documentation
+----------------------
+
+- Document how to start Synapse with Poetry. Contributed by @thezaidbintariq. ([\#14892](https://github.com/matrix-org/synapse/issues/14892), [\#15022](https://github.com/matrix-org/synapse/issues/15022))
+- Update delegation documentation to clarify that SRV DNS delegation does not eliminate all needs to serve files from .well-known locations. Contributed by @williamkray. ([\#14959](https://github.com/matrix-org/synapse/issues/14959))
+- Fix a mistake in registration_shared_secret_path docs. ([\#15078](https://github.com/matrix-org/synapse/issues/15078))
+- Refer to a more recent blog post on the [Database Maintenance Tools](https://matrix-org.github.io/synapse/latest/usage/administration/database_maintenance_tools.html) page. Contributed by @jahway603. ([\#15083](https://github.com/matrix-org/synapse/issues/15083))
+
+
+Internal Changes
+----------------
+
+- Re-type hint some collections as read-only. ([\#13755](https://github.com/matrix-org/synapse/issues/13755))
+- Faster joins: don't stall when another user joins during a partial-state room resync. ([\#14606](https://github.com/matrix-org/synapse/issues/14606))
+- Add a class `UnpersistedEventContext` to allow for the batching up of storing state groups. ([\#14675](https://github.com/matrix-org/synapse/issues/14675))
+- Add a check to ensure that locked dependencies have source distributions available. ([\#14742](https://github.com/matrix-org/synapse/issues/14742))
+- Tweak comment on `_is_local_room_accessible` as part of room visibility in `/hierarchy` to clarify the condition for a room being visible. ([\#14834](https://github.com/matrix-org/synapse/issues/14834))
+- Prevent `WARNING: there is already a transaction in progress` lines appearing in PostgreSQL's logs on some occasions. ([\#14840](https://github.com/matrix-org/synapse/issues/14840))
+- Use `StrCollection` to avoid potential bugs with `Collection[str]`. ([\#14929](https://github.com/matrix-org/synapse/issues/14929))
+- Improve performance of `/sync` in a few situations. ([\#14973](https://github.com/matrix-org/synapse/issues/14973))
+- Limit concurrent event creation for a room to avoid state resolution when sending bursts of events to a local room. ([\#14977](https://github.com/matrix-org/synapse/issues/14977))
+- Skip calculating unread push actions in /sync when enable_push is false. ([\#14980](https://github.com/matrix-org/synapse/issues/14980))
+- Add a schema dump symlinks inside `contrib`, to make it easier for IDEs to interrogate Synapse's database schema. ([\#14982](https://github.com/matrix-org/synapse/issues/14982))
+- Improve type hints. ([\#15008](https://github.com/matrix-org/synapse/issues/15008), [\#15026](https://github.com/matrix-org/synapse/issues/15026), [\#15027](https://github.com/matrix-org/synapse/issues/15027), [\#15028](https://github.com/matrix-org/synapse/issues/15028), [\#15031](https://github.com/matrix-org/synapse/issues/15031), [\#15035](https://github.com/matrix-org/synapse/issues/15035), [\#15052](https://github.com/matrix-org/synapse/issues/15052), [\#15072](https://github.com/matrix-org/synapse/issues/15072), [\#15084](https://github.com/matrix-org/synapse/issues/15084))
+- Update [MSC3952](https://github.com/matrix-org/matrix-spec-proposals/pull/3952) support based on changes to the MSC. ([\#15037](https://github.com/matrix-org/synapse/issues/15037))
+- Avoid mutating a cached value in `get_user_devices_from_cache`. ([\#15040](https://github.com/matrix-org/synapse/issues/15040))
+- Fix a rare exception in logs on start up. ([\#15041](https://github.com/matrix-org/synapse/issues/15041))
+- Update pyo3-log to v0.8.1. ([\#15043](https://github.com/matrix-org/synapse/issues/15043))
+- Avoid mutating cached values in `_generate_sync_entry_for_account_data`. ([\#15047](https://github.com/matrix-org/synapse/issues/15047))
+- Refactor arguments of `try_unbind_threepid` and `_try_unbind_threepid_with_id_server` to not use dictionaries. ([\#15053](https://github.com/matrix-org/synapse/issues/15053))
+- Merge debug logging from the hotfixes branch. ([\#15054](https://github.com/matrix-org/synapse/issues/15054))
+- Faster joins: omit device list updates originating from partial state rooms in /sync responses without lazy loading of members enabled. ([\#15069](https://github.com/matrix-org/synapse/issues/15069))
+- Fix clashing database transaction name. ([\#15070](https://github.com/matrix-org/synapse/issues/15070))
+- Upper-bound frozendict dependency. This works around us being unable to test installing our wheels against Python 3.11 in CI. ([\#15114](https://github.com/matrix-org/synapse/issues/15114))
+- Tweak logging for when a worker waits for its view of a replication stream to catch up. ([\#15120](https://github.com/matrix-org/synapse/issues/15120))
+
+<details><summary>Locked dependency updates</summary>
+
+- Bump bleach from 5.0.1 to 6.0.0. ([\#15059](https://github.com/matrix-org/synapse/issues/15059))
+- Bump cryptography from 38.0.4 to 39.0.1. ([\#15020](https://github.com/matrix-org/synapse/issues/15020))
+- Bump ruff version from 0.0.230 to 0.0.237. ([\#15033](https://github.com/matrix-org/synapse/issues/15033))
+- Bump dtolnay/rust-toolchain from 9cd00a88a73addc8617065438eff914dd08d0955 to 25dc93b901a87e864900a8aec6c12e9aa794c0c3. ([\#15060](https://github.com/matrix-org/synapse/issues/15060))
+- Bump systemd-python from 234 to 235. ([\#15061](https://github.com/matrix-org/synapse/issues/15061))
+- Bump serde_json from 1.0.92 to 1.0.93. ([\#15062](https://github.com/matrix-org/synapse/issues/15062))
+- Bump types-requests from 2.28.11.8 to 2.28.11.12. ([\#15063](https://github.com/matrix-org/synapse/issues/15063))
+- Bump types-pillow from 9.4.0.5 to 9.4.0.10. ([\#15064](https://github.com/matrix-org/synapse/issues/15064))
+- Bump sentry-sdk from 1.13.0 to 1.15.0. ([\#15065](https://github.com/matrix-org/synapse/issues/15065))
+- Bump types-jsonschema from 4.17.0.3 to 4.17.0.5. ([\#15099](https://github.com/matrix-org/synapse/issues/15099))
+- Bump types-bleach from 5.0.3.1 to 6.0.0.0. ([\#15100](https://github.com/matrix-org/synapse/issues/15100))
+- Bump dtolnay/rust-toolchain from 25dc93b901a87e864900a8aec6c12e9aa794c0c3 to e12eda571dc9a5ee5d58eecf4738ec291c66f295. ([\#15101](https://github.com/matrix-org/synapse/issues/15101))
+- Bump dawidd6/action-download-artifact from 2.24.3 to 2.25.0. ([\#15102](https://github.com/matrix-org/synapse/issues/15102))
+- Bump types-pillow from 9.4.0.10 to 9.4.0.13. ([\#15104](https://github.com/matrix-org/synapse/issues/15104))
+- Bump types-setuptools from 67.1.0.0 to 67.3.0.1. ([\#15105](https://github.com/matrix-org/synapse/issues/15105))
+
+
+</details>
+
+
 Synapse 1.77.0 (2023-02-14)
 ===========================
 
@@ -63,7 +160,7 @@ Internal Changes
 - 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>
+<details><summary>Locked dependency 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))

+ 2 - 2
Cargo.lock

@@ -343,9 +343,9 @@ dependencies = [
 
 [[package]]
 name = "serde_json"
-version = "1.0.93"
+version = "1.0.94"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76"
+checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea"
 dependencies = [
  "itoa",
  "ryu",

+ 0 - 1
changelog.d/13755.misc

@@ -1 +0,0 @@
-Re-type hint some collections as read-only.

+ 0 - 1
changelog.d/13779.bugfix

@@ -1 +0,0 @@
-Prevent clients from reporting nonexistent events.

+ 1 - 0
changelog.d/14026.doc

@@ -0,0 +1 @@
+Document how to use caches in a module.

+ 1 - 0
changelog.d/14101.misc

@@ -0,0 +1 @@
+Run the integration test suites with the asyncio reactor enabled in CI.

+ 0 - 1
changelog.d/14605.bugfix

@@ -1 +0,0 @@
-Return spec-compliant JSON errors when unknown endpoints are requested.

+ 0 - 1
changelog.d/14606.misc

@@ -1 +0,0 @@
-Faster joins: don't stall when another user joins during a fast join resync.

+ 0 - 1
changelog.d/14675.misc

@@ -1 +0,0 @@
-Add a class UnpersistedEventContext to allow for the batching up of storing state groups.

+ 0 - 1
changelog.d/14742.misc

@@ -1 +0,0 @@
-Add check to ensure locked dependencies have source distributions available.

+ 0 - 1
changelog.d/14834.misc

@@ -1 +0,0 @@
-Tweak comment on `_is_local_room_accessible` as part of room visibility in `/hierarchy` to clarify the condition for a room being visible.

+ 0 - 1
changelog.d/14840.misc

@@ -1 +0,0 @@
-Prevent "WARNING:  there is already a transaction in progress" lines appearing in PostgreSQL's logs on some occasions.

+ 1 - 0
changelog.d/14869.bugfix

@@ -0,0 +1 @@
+Fix a bug introduced in v1.75.0rc1 that caused experimental support for deleting account data to raise an internal server error while using an account data writer worker.

+ 1 - 0
changelog.d/14918.misc

@@ -0,0 +1 @@
+Batch up storing state groups when creating a new room.

+ 0 - 1
changelog.d/14929.misc

@@ -1 +0,0 @@
-Use `StrCollection` to avoid potential bugs with `Collection[str]`.

+ 0 - 1
changelog.d/14959.doc

@@ -1 +0,0 @@
-Update delegation documentation to clarify that SRV DNS delegation does not eliminate all needs to serve files from .well-known locations. Contributed by @williamkray.

+ 0 - 1
changelog.d/14964.feature

@@ -1 +0,0 @@
-Implement the experimental `exact_event_match` push rule condition from [MSC3758](https://github.com/matrix-org/matrix-spec-proposals/pull/3758).

+ 0 - 1
changelog.d/14973.misc

@@ -1 +0,0 @@
-Improve performance of `/sync` in a few situations.

+ 0 - 1
changelog.d/14977.misc

@@ -1 +0,0 @@
-Limit concurrent event creation for a room to avoid state resolution when sending bursts of events to a local room.

+ 0 - 1
changelog.d/14980.misc

@@ -1 +0,0 @@
-Skip calculating unread push actions in /sync when enable_push is false.

+ 0 - 1
changelog.d/14982.misc

@@ -1 +0,0 @@
-Add a schema dump symlinks inside `contrib`, to make it easier for IDEs to interrogate Synapse's database schema.

+ 0 - 1
changelog.d/15004.feature

@@ -1 +0,0 @@
-Implement [MSC3873](https://github.com/matrix-org/matrix-spec-proposals/pull/3873) to unambiguate push rule keys with dots in them.

+ 0 - 1
changelog.d/15020.misc

@@ -1 +0,0 @@
-Bump cryptography from 38.0.4 to 39.0.1.

+ 0 - 1
changelog.d/15022.doc

@@ -1 +0,0 @@
-Document how to start Synapse in the contributing guide.

+ 0 - 1
changelog.d/15026.misc

@@ -1 +0,0 @@
-Improve type hints.

+ 0 - 1
changelog.d/15027.misc

@@ -1 +0,0 @@
-Improve type hints.

+ 0 - 1
changelog.d/15028.misc

@@ -1 +0,0 @@
-Improve type hints.

+ 0 - 1
changelog.d/15031.misc

@@ -1 +0,0 @@
-Improve type hints.

+ 0 - 1
changelog.d/15033.misc

@@ -1 +0,0 @@
-Bump ruff version from 0.0.230 to 0.0.237.

+ 0 - 1
changelog.d/15034.feature

@@ -1 +0,0 @@
-Allow Synapse to use a specific Redis [logical database](https://redis.io/commands/select/) in worker-mode deployments.

+ 0 - 1
changelog.d/15035.misc

@@ -1 +0,0 @@
-Improve type hints.

+ 0 - 1
changelog.d/15038.bugfix

@@ -1 +0,0 @@
-Fix a long-standing bug where the room aliases returned could be corrupted.

+ 0 - 1
changelog.d/15040.misc

@@ -1 +0,0 @@
-Avoid mutating a cached value in `get_user_devices_from_cache`.

+ 0 - 1
changelog.d/15041.misc

@@ -1 +0,0 @@
-Fix a rare exception in logs on start up.

+ 0 - 1
changelog.d/15042.feature

@@ -1 +0,0 @@
-Tag opentracing spans for federation requests with the name of the worker serving the request.

+ 0 - 1
changelog.d/15043.misc

@@ -1 +0,0 @@
-Update pyo3-log to v0.8.1.

+ 1 - 0
changelog.d/15044.feature

@@ -0,0 +1 @@
+Add two new Third Party Rules module API callbacks: [`on_add_user_third_party_identifier`](https://matrix-org.github.io/synapse/v1.79/modules/third_party_rules_callbacks.html#on_add_user_third_party_identifier) and [`on_remove_user_third_party_identifier`](https://matrix-org.github.io/synapse/v1.79/modules/third_party_rules_callbacks.html#on_remove_user_third_party_identifier).

+ 0 - 1
changelog.d/15045.feature

@@ -1 +0,0 @@
-Experimental support for [MSC3966](https://github.com/matrix-org/matrix-spec-proposals/pull/3966): the `exact_event_property_contains` push rule condition.

+ 0 - 1
changelog.d/15047.misc

@@ -1 +0,0 @@
-Avoid mutating cached values in `_generate_sync_entry_for_account_data`.

+ 1 - 0
changelog.d/15051.misc

@@ -0,0 +1 @@
+Update [MSC3952](https://github.com/matrix-org/matrix-spec-proposals/pull/3952) support based on changes to the MSC.

+ 0 - 1
changelog.d/15053.misc

@@ -1 +0,0 @@
-Refactor arguments of `try_unbind_threepid` and `_try_unbind_threepid_with_id_server` to not use dictionaries.

+ 0 - 1
changelog.d/15054.misc

@@ -1 +0,0 @@
-Merge debug logging from the hotfixes branch.

+ 0 - 1
changelog.d/15059.misc

@@ -1 +0,0 @@
-Bump bleach from 5.0.1 to 6.0.0.

+ 0 - 1
changelog.d/15060.misc

@@ -1 +0,0 @@
-Bump dtolnay/rust-toolchain from 9cd00a88a73addc8617065438eff914dd08d0955 to 25dc93b901a87e864900a8aec6c12e9aa794c0c3.

+ 0 - 1
changelog.d/15061.misc

@@ -1 +0,0 @@
-Bump systemd-python from 234 to 235.

+ 0 - 1
changelog.d/15062.misc

@@ -1 +0,0 @@
-Bump serde_json from 1.0.92 to 1.0.93.

+ 0 - 1
changelog.d/15063.misc

@@ -1 +0,0 @@
-Bump types-requests from 2.28.11.8 to 2.28.11.12.

+ 0 - 1
changelog.d/15064.misc

@@ -1 +0,0 @@
-Bump types-pillow from 9.4.0.5 to 9.4.0.10.

+ 0 - 1
changelog.d/15065.misc

@@ -1 +0,0 @@
-Bump sentry-sdk from 1.13.0 to 1.15.0.

+ 0 - 1
changelog.d/15068.bugfix

@@ -1 +0,0 @@
-Fix a bug introduced in Synapse 1.76.0 where partially-joined rooms could not be deleted using the [purge room API](https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#delete-room-api).

+ 0 - 1
changelog.d/15069.misc

@@ -1 +0,0 @@
-Faster joins: omit device list updates originating from partial state rooms in /sync responses without lazy loading of members enabled.

+ 0 - 1
changelog.d/15070.misc

@@ -1 +0,0 @@
-Fix clashing database transaction name.

+ 1 - 0
changelog.d/15071.doc

@@ -0,0 +1 @@
+Clarify which worker processes the ThirdPartyRules' [`on_new_event`](https://matrix-org.github.io/synapse/v1.78/modules/third_party_rules_callbacks.html#on_new_event) module API callback runs on.

+ 0 - 1
changelog.d/15072.misc

@@ -1 +0,0 @@
-Improve type hints.

+ 0 - 1
changelog.d/15073.feature

@@ -1 +0,0 @@
-Remove spurious `dont_notify` action from the defaults for the `.m.rule.reaction` pushrule.

+ 0 - 1
changelog.d/15074.bugfix

@@ -1 +0,0 @@
-Fix a long-standing bug where federated joins would fail if the first server in the list of servers to try is not in the room.

+ 0 - 2
changelog.d/15075.feature

@@ -1,2 +0,0 @@
-Update the error code returned when user sends a duplicate annotation.
-

+ 1 - 0
changelog.d/15077.feature

@@ -0,0 +1 @@
+Experimental support for MSC3967 to not require UIA for setting up cross-signing on first use.

+ 1 - 0
changelog.d/15088.bugfix

@@ -0,0 +1 @@
+Fix a long-standing bug where Synapse handled an unspecced field on push rules.

+ 1 - 0
changelog.d/15092.bugfix

@@ -0,0 +1 @@
+Fix a long-standing bug where a URL preview would break if the discovered oEmbed failed to download.

+ 1 - 0
changelog.d/15093.bugfix

@@ -0,0 +1 @@
+Remove the unspecced `room_alias` field from the [`/createRoom`](https://spec.matrix.org/v1.6/client-server-api/#post_matrixclientv3createroom) response.

+ 1 - 0
changelog.d/15095.misc

@@ -0,0 +1 @@
+Refactor writing json data in `FileExfiltrationWriter`.

+ 1 - 0
changelog.d/15103.misc

@@ -0,0 +1 @@
+Bump black from 22.12.0 to 23.1.0.

+ 1 - 0
changelog.d/15107.feature

@@ -0,0 +1 @@
+Add media information to the command line [user data export tool](https://matrix-org.github.io/synapse/v1.79/usage/administration/admin_faq.html#how-can-i-export-user-data).

+ 1 - 0
changelog.d/15112.doc

@@ -0,0 +1 @@
+Document using [Shibboleth](https://www.shibboleth.net/) as an OpenID Provider.

+ 1 - 0
changelog.d/15116.feature

@@ -0,0 +1 @@
+Add an [admin API](https://matrix-org.github.io/synapse/latest/usage/administration/admin_api/index.html) to delete a [specific event report](https://spec.matrix.org/v1.6/client-server-api/#reporting-content).

+ 1 - 0
changelog.d/15133.feature

@@ -0,0 +1 @@
+Add support for knocking to workers.

+ 1 - 0
changelog.d/15134.feature

@@ -0,0 +1 @@
+Allow use of the `/filter` Client-Server APIs on workers.

+ 1 - 0
changelog.d/15135.misc

@@ -0,0 +1 @@
+Tighten the login ratelimit defaults.

+ 1 - 0
changelog.d/15137.removal

@@ -0,0 +1 @@
+Remove the undocumented and unspecced `type` parameter to the `/thumbnail` endpoint.

+ 1 - 0
changelog.d/15138.misc

@@ -0,0 +1 @@
+Fix a typo in an experimental config setting.

+ 1 - 0
changelog.d/15139.doc

@@ -0,0 +1 @@
+Correct reference to `federation_verify_certificates` in configuration documentation.

+ 1 - 0
changelog.d/15143.misc

@@ -0,0 +1 @@
+Fix a long-standing bug where the user directory search was not case-insensitive for accented characters.

+ 1 - 0
changelog.d/15146.misc

@@ -0,0 +1 @@
+Refactor the media modules.

+ 1 - 0
changelog.d/15148.doc

@@ -0,0 +1 @@
+Correct small documentation errors in some `MatrixFederationHttpClient` methods.

+ 1 - 0
changelog.d/15152.misc

@@ -0,0 +1 @@
+Bump dawidd6/action-download-artifact from 2.25.0 to 2.26.0.

+ 1 - 0
changelog.d/15154.misc

@@ -0,0 +1 @@
+Bump docker/login-action from 1 to 2.

+ 1 - 0
changelog.d/15155.misc

@@ -0,0 +1 @@
+Bump actions/checkout from 2 to 3.

+ 1 - 0
changelog.d/15156.misc

@@ -0,0 +1 @@
+Bump matrix-org/backend-meta from 1 to 2.

+ 1 - 0
changelog.d/15157.misc

@@ -0,0 +1 @@
+Bump typing-extensions from 4.4.0 to 4.5.0.

+ 1 - 0
changelog.d/15158.misc

@@ -0,0 +1 @@
+Bump types-opentracing from 2.4.10.1 to 2.4.10.3.

+ 1 - 0
changelog.d/15159.misc

@@ -0,0 +1 @@
+Bump ruff from 0.0.237 to 0.0.252.

+ 1 - 0
changelog.d/15160.misc

@@ -0,0 +1 @@
+Bump types-setuptools from 67.3.0.1 to 67.4.0.3.

+ 1 - 0
changelog.d/15163.bugfix

@@ -0,0 +1 @@
+Fix a long-standing bug where an initial sync would not respond to changes to the list of ignored users if there was an initial sync cached.

+ 0 - 0
changelog.d/15008.misc → changelog.d/15164.misc


+ 1 - 0
changelog.d/15165.misc

@@ -0,0 +1 @@
+Move `get_event_report` and `get_event_reports_paginate` from `RoomStore` to `RoomWorkerStore`.

+ 1 - 0
changelog.d/15167.misc

@@ -0,0 +1 @@
+Remove dangling reference to being a reference implementation in docstring.

+ 1 - 0
changelog.d/15168.doc

@@ -0,0 +1 @@
+Correct the description of the behavior of `registration_shared_secret_path` on startup.

+ 1 - 0
changelog.d/15172.feature

@@ -0,0 +1 @@
+Remove support for server-side aggregation of reactions.

+ 1 - 0
changelog.d/15174.bugfix

@@ -0,0 +1 @@
+Add the `transaction_id` in the events included in many endpoints responses.

+ 1 - 0
changelog.d/15175.misc

@@ -0,0 +1 @@
+Refactor the media modules.

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov