Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MSC2285: Private read receipts #2285

Merged
merged 30 commits into from
Jul 17, 2022
Merged

Conversation

turt2live
Copy link
Member

@turt2live turt2live commented Sep 6, 2019

@turt2live turt2live added proposal A matrix spec change proposal proposal-in-review labels Sep 6, 2019
@turt2live turt2live changed the title Hidden read receipts MSC2285: Hidden read receipts Sep 6, 2019
@turt2live

This comment was marked as outdated.

@ara4n ara4n self-requested a review September 6, 2019 17:13
Copy link
Member

@ara4n ara4n left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

jevolk added a commit to jevolk/charybdis that referenced this pull request Sep 6, 2019
jevolk added a commit to jevolk/charybdis that referenced this pull request Sep 6, 2019
Copy link

@joepie91 joepie91 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On a HS that doesn't implement this MSC (yet), if a user were to 'disable' read receipts (ie. tell their client to make them hidden), it would silently fail to do as the user requested, because the HS would not recognize the flag.

This should probably at least be listed under the security considerations as a 'fail open' case, or ideally be resolved - maybe through a feature flag of some sort that explicitly indicates to the client that this feature is supported? Or if this will be a required part of the spec in a next version of the protocol, the spec should probably clearly indicate that this feature only exists since that particular version (so that clients know not to offer the feature on lower protocol versions).

Edit: Not really a 'nit', I suppose. Edited accordingly.

@turt2live
Copy link
Member Author

@joepie91 in general, please use line comments so conversation isn't lost. However, I hope i can respond in one comment here:

This is already partially identified in the security considerations section (if you swap out "ignore" for "unaware", at least). The expectation is that this lands in a version of the specification, which is where the MUST takes effect - servers would be non-compliant if they ignored the flag and advertised that they supported the version.

@ara4n
Copy link
Member

ara4n commented Sep 9, 2019

@mscbot fcp merge

@mscbot

This comment has been minimized.

@mscbot mscbot added proposed-final-comment-period Currently awaiting signoff of a majority of team members in order to enter the final comment period. disposition-merge labels Sep 9, 2019
@joepie91
Copy link

joepie91 commented Sep 10, 2019

@turt2live I was hoping that the 'review' feature would produce a thread like a line comment would (since this is a general comment, not tied to a specific line), but apparently not :)

Given that it's a MUST, I would propose explicitly adding a note to the spec that says "this flag did not exist before version X of the spec, and all read receipts are assumed to be visible there", so that clients which implement multiple spec versions (retroactively) can take this into account in how they design their UI.

I'm not sure whether such an "add note to the spec" point would be part of the MSC itself, or tracked separately.

@turt2live
Copy link
Member Author

It would be done at spec PR time - MSCs generally don't try and influence the exact wording of the spec given they are more informal documents than the formal spec.

@turt2live turt2live added this to Review stages in Client-server r0.6 proposals Sep 10, 2019
@turt2live
Copy link
Member Author

@mscbot concern There should be an account data config option for this so clients can honour it always.

@turt2live
Copy link
Member Author

I'm cancelling FCP on this because I don't think it's ready for that yet, and I want to add a few more things to it:

@mscbot fcp cancel

@mscbot
Copy link
Collaborator

mscbot commented Sep 24, 2019

@turt2live proposal cancelled.

@mscbot mscbot removed proposed-final-comment-period Currently awaiting signoff of a majority of team members in order to enter the final comment period. disposition-merge labels Sep 24, 2019
@turt2live turt2live changed the title MSC2285: Hidden read receipts [WIP] MSC2285: Hidden read receipts Sep 24, 2019
@turt2live turt2live self-assigned this Sep 24, 2019
@turt2live turt2live added the kind:core MSC which is critical to the protocol's success label Apr 20, 2020
@turt2live turt2live added the spec-pr-missing Proposal has been implemented and is being used in the wild but hasn't yet been added to the spec label Jul 17, 2022
@turt2live turt2live moved this from In FCP to Done to some definition in Spec Core Team Backlog Jul 17, 2022
turt2live added a commit that referenced this pull request Jul 18, 2022
* What if we let people hide their read receipts?

* Add unstable prefix

* Update proposals/2285-hidden-read-receipts.md

Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Use a separate `receiptType` for hidden read receipts  (#3750)

* Update the way MSC2285 works

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Update proposals/2285-hidden-read-receipts.md

Co-authored-by: Travis Ralston <travpc@gmail.com>

* Clarify notification behaviour and other things

Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>

* Mention adding `m.fully_read` to `/receipt`

* Rename MSC to `Private read receipts`

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Apply suggestions from review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Apply suggestions from review

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Remove trailing comma

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Apply suggestions from review

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Apply suggestions from review

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* `r0` -> `v3`

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Describe how to determine server support while stable

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Be more precise about the failure mode

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Improve wording

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Improve wording

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Improve wording

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Be more explicit

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Be more explicit around server support

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Simplify text

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Be more explicit about detecting server support

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add note about consistency

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Clarify how exactly to detect support

* Try to fix clarity around precedence

* Be clearer about alternatives

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Add sentence about `/receipt` federation

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Be more explicit about adding `m.read.private` to `/receipt`

Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>

* Fix wrong RR type

Co-authored-by: Kévin Commaille <76261501+zecakeh@users.noreply.github.com>

Co-authored-by: Šimon Brandner <simon.bra.ag@gmail.com>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: Kévin Commaille <76261501+zecakeh@users.noreply.github.com>
@turt2live turt2live self-assigned this Aug 3, 2022
Fizzadar added a commit to beeper/synapse-legacy-fork that referenced this pull request Aug 25, 2022
Synapse 1.65.0 (2022-08-16)
===========================

No significant changes since 1.65.0rc2.

Synapse 1.65.0rc2 (2022-08-11)
==============================

Internal Changes
----------------

- Revert 'Remove the unspecced `room_id` field in the `/hierarchy` response. ([\matrix-org#13365](matrix-org#13365))' to give more time for clients to update. ([\matrix-org#13501](matrix-org#13501))

Synapse 1.65.0rc1 (2022-08-09)
==============================

Features
--------

- Add support for stable prefixes for [MSC2285 (private read receipts)](matrix-org/matrix-spec-proposals#2285). ([\matrix-org#13273](matrix-org#13273))
- Add new unstable error codes `ORG.MATRIX.MSC3848.ALREADY_JOINED`, `ORG.MATRIX.MSC3848.NOT_JOINED`, and `ORG.MATRIX.MSC3848.INSUFFICIENT_POWER` described in [MSC3848](matrix-org/matrix-spec-proposals#3848). ([\matrix-org#13343](matrix-org#13343))
- Use stable prefixes for [MSC3827](matrix-org/matrix-spec-proposals#3827). ([\matrix-org#13370](matrix-org#13370))
- Add a new module API method to translate a room alias into a room ID. ([\matrix-org#13428](matrix-org#13428))
- Add a new module API method to create a room. ([\matrix-org#13429](matrix-org#13429))
- Add remote join capability to the module API's `update_room_membership` method (in a backwards compatible manner). ([\matrix-org#13441](matrix-org#13441))

Bugfixes
--------

- Update the version of the LDAP3 auth provider module included in the `matrixdotorg/synapse` DockerHub images and the Debian packages hosted on packages.matrix.org to 0.2.2. This version fixes a regression in the module. ([\matrix-org#13470](matrix-org#13470))
- Fix a bug introduced in Synapse v1.41.0 where the `/hierarchy` API returned non-standard information (a `room_id` field under each entry in `children_state`). ([\matrix-org#13365](matrix-org#13365))
- Fix a bug introduced in Synapse 0.24.0 that would respond with the wrong error status code to `/joined_members` requests when the requester is not a current member of the room. Contributed by @andrewdoh. ([\matrix-org#13374](matrix-org#13374))
- Fix bug in handling of typing events for appservices. Contributed by Nick @ Beeper (@Fizzadar). ([\matrix-org#13392](matrix-org#13392))
- Fix a bug introduced in Synapse 1.57.0 where rooms listed in `exclude_rooms_from_sync` in the configuration file would not be properly excluded from incremental syncs. ([\matrix-org#13408](matrix-org#13408))
- Fix a bug in the experimental faster-room-joins support which could cause it to get stuck in an infinite loop. ([\matrix-org#13353](matrix-org#13353))
- Faster room joins: fix a bug which caused rejected events to become un-rejected during state syncing. ([\matrix-org#13413](matrix-org#13413))
- Faster room joins: fix error when running out of servers to sync partial state with, so that Synapse raises the intended error instead. ([\matrix-org#13432](matrix-org#13432))

Updates to the Docker image
---------------------------

- Make Docker images build on armv7 by installing cryptography dependencies in the 'requirements' stage. Contributed by Jasper Spaans. ([\matrix-org#13372](matrix-org#13372))

Improved Documentation
----------------------

- Update the 'registration tokens' page to acknowledge that the relevant MSC was merged into version 1.2 of the Matrix specification. Contributed by @moan0s. ([\matrix-org#11897](matrix-org#11897))
- Document which HTTP resources support gzip compression. ([\matrix-org#13221](matrix-org#13221))
- Add steps describing how to elevate an existing user to administrator by manipulating the database. ([\matrix-org#13230](matrix-org#13230))
- Fix wrong headline for `url_preview_accept_language` in documentation. ([\matrix-org#13437](matrix-org#13437))
- Remove redundant 'Contents' section from the Configuration Manual. Contributed by @dklimpel. ([\matrix-org#13438](matrix-org#13438))
- Update documentation for config setting `macaroon_secret_key`. ([\matrix-org#13443](matrix-org#13443))
- Update outdated information on `sso_mapping_providers` documentation. ([\matrix-org#13449](matrix-org#13449))
- Fix example code in module documentation of `password_auth_provider_callbacks`. ([\matrix-org#13450](matrix-org#13450))
- Make the configuration for the cache clearer. ([\matrix-org#13481](matrix-org#13481))

Internal Changes
----------------

- Extend the release script to automatically push a new SyTest branch, rather than having that be a manual process. ([\matrix-org#12978](matrix-org#12978))
- Make minor clarifications to the error messages given when we fail to join a room via any server. ([\matrix-org#13160](matrix-org#13160))
- Enable Complement CI tests in the 'latest deps' test run. ([\matrix-org#13213](matrix-org#13213))
- Fix long-standing bugged logic which was never hit in `get_pdu` asking every remote destination even after it finds an event. ([\matrix-org#13346](matrix-org#13346))
- Faster room joins: avoid blocking when pulling events with partially missing prev events. ([\matrix-org#13355](matrix-org#13355))
- Instrument `/messages` for understandable traces in Jaeger. ([\matrix-org#13368](matrix-org#13368))
- Remove an unused argument to `get_relations_for_event`. ([\matrix-org#13383](matrix-org#13383))
- Add a `merge-back` command to the release script, which automates merging the correct branches after a release. ([\matrix-org#13393](matrix-org#13393))
- Adding missing type hints to tests. ([\matrix-org#13397](matrix-org#13397))
- Faster Room Joins: don't leave a stuck room partial state flag if the join fails. ([\matrix-org#13403](matrix-org#13403))
- Refactor `_resolve_state_at_missing_prevs` to compute an `EventContext` instead. ([\matrix-org#13404](matrix-org#13404), [\matrix-org#13431](matrix-org#13431))
- Faster Room Joins: prevent Synapse from answering federated join requests for a room which it has not fully joined yet. ([\matrix-org#13416](matrix-org#13416))
- Re-enable running Complement tests against Synapse with workers. ([\matrix-org#13420](matrix-org#13420))
- Prevent unnecessary lookups to any external `get_event` cache. Contributed by Nick @ Beeper (@Fizzadar). ([\matrix-org#13435](matrix-org#13435))
- Add some tracing to give more insight into local room joins. ([\matrix-org#13439](matrix-org#13439))
- Rename class `RateLimitConfig` to `RatelimitSettings` and `FederationRateLimitConfig` to `FederationRatelimitSettings`. ([\matrix-org#13442](matrix-org#13442))
- Add some comments about how event push actions are stored. ([\matrix-org#13445](matrix-org#13445), [\matrix-org#13455](matrix-org#13455))
- Improve rebuild speed for the "synapse-workers" docker image. ([\matrix-org#13447](matrix-org#13447))
- Fix `@tag_args` being off-by-one with the arguments when tagging a span (tracing). ([\matrix-org#13452](matrix-org#13452))
- Update type of `EventContext.rejected`. ([\matrix-org#13460](matrix-org#13460))
- Use literals in place of `HTTPStatus` constants in tests. ([\matrix-org#13463](matrix-org#13463), [\matrix-org#13469](matrix-org#13469))
- Correct a misnamed argument in state res v2 internals. ([\matrix-org#13467](matrix-org#13467))
@turt2live
Copy link
Member Author

Spec PR: matrix-org/matrix-spec#1216

@turt2live turt2live added spec-pr-in-review A proposal which has been PR'd against the spec and is in review and removed spec-pr-missing Proposal has been implemented and is being used in the wild but hasn't yet been added to the spec labels Aug 25, 2022
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Sep 4, 2022
packaging changes:

summary of upstream changes:

Synapse 1.65.0 (2022-08-16)
===========================

Features
--------

- Add support for stable prefixes for [MSC2285 (private read receipts)](matrix-org/matrix-spec-proposals#2285). ([\#13273](matrix-org/synapse#13273))

- Add new unstable error codes `ORG.MATRIX.MSC3848.ALREADY_JOINED`,
  `ORG.MATRIX.MSC3848.NOT_JOINED`, and
  `ORG.MATRIX.MSC3848.INSUFFICIENT_POWER` described in
  [MSC3848](matrix-org/matrix-spec-proposals#3848).
  ([\#13343](matrix-org/synapse#13343))

- Use stable prefixes for
  [MSC3827](matrix-org/matrix-spec-proposals#3827).
  ([\#13370](matrix-org/synapse#13370))

- Add a new module API method to translate a room alias into a room
  ID. ([\#13428](matrix-org/synapse#13428))

- Add a new module API method to create a
  room. ([\#13429](matrix-org/synapse#13429))

- Add remote join capability to the module API's
  `update_room_membership` method (in a backwards compatible
  manner). ([\#13441](matrix-org/synapse#13441))
@turt2live
Copy link
Member Author

Merged 🎉

@turt2live turt2live added merged A proposal whose PR has merged into the spec! and removed spec-pr-in-review A proposal which has been PR'd against the spec and is in review labels Sep 12, 2022
@Bugsbane
Copy link

Do you know if there's any issue to watch, regarding getting this MSC supported in Elerment (Android/iOS/web)?

@SimonBrandner
Copy link
Contributor

Do you know if there's any issue to watch, regarding getting this MSC supported in Element (Android/iOS/web)?

It's already implemented in Element Web/Desktop, for Android and iOS: element-hq/element-android#2436 and element-hq/element-ios#4646 respectively

@Bugsbane
Copy link

Oh, freaking sweet! This feature was the last blocker before rolling out my Synapse server. Super happy it's already in Element, too!

Fizzadar added a commit to beeper/synapse-legacy-fork that referenced this pull request Sep 15, 2022
Synapse 1.67.0 (2022-09-13)
===========================

This release removes using the deprecated direct TCP replication configuration
for workers. Server admins should use Redis instead. See the [upgrade
notes](https://matrix-org.github.io/synapse/v1.67/upgrade.html#upgrading-to-v1670).

The minimum version of `poetry` supported for managing source checkouts is now
1.2.0.

**Notice:** from the next major release (1.68.0) installing Synapse from a source
checkout will require a recent Rust compiler. Those using packages or
`pip install matrix-synapse` will not be affected. See the [upgrade
notes](https://matrix-org.github.io/synapse/v1.67/upgrade.html#upgrading-to-v1670).

**Notice:** from the next major release (1.68.0), running Synapse with a SQLite
database will require SQLite version 3.27.0 or higher. (The [current minimum
 version is SQLite 3.22.0](https://github.com/matrix-org/synapse/blob/release-v1.67/synapse/storage/engines/sqlite.py#L69-L78).)
See [matrix-org#12983](matrix-org#12983) and the [upgrade notes](https://matrix-org.github.io/synapse/v1.67/upgrade.html#upgrading-to-v1670) for more details.

No significant changes since 1.67.0rc1.

Synapse 1.67.0rc1 (2022-09-06)
==============================

Features
--------

- Support setting the registration shared secret in a file, via a new `registration_shared_secret_path` configuration option. ([\matrix-org#13614](matrix-org#13614))
- Change the default startup behaviour so that any missing "additional" configuration files (signing key, etc) are generated automatically. ([\matrix-org#13615](matrix-org#13615))
- Improve performance of sending messages in rooms with thousands of local users. ([\matrix-org#13634](matrix-org#13634))

Bugfixes
--------

- Fix a bug introduced in Synapse 1.13 where the [List Rooms admin API](https://matrix-org.github.io/synapse/develop/admin_api/rooms.html#list-room-api) would return integers instead of booleans for the `federatable` and `public` fields when using a Sqlite database. ([\matrix-org#13509](matrix-org#13509))
- Fix bug that user cannot `/forget` rooms after the last member has left the room. ([\matrix-org#13546](matrix-org#13546))
- Faster Room Joins: fix `/make_knock` blocking indefinitely when the room in question is a partial-stated room. ([\matrix-org#13583](matrix-org#13583))
- Fix loading the current stream position behind the actual position. ([\matrix-org#13585](matrix-org#13585))
- Fix a longstanding bug in `register_new_matrix_user` which meant it was always necessary to explicitly give a server URL. ([\matrix-org#13616](matrix-org#13616))
- Fix the running of [MSC1763](matrix-org/matrix-spec-proposals#1763) retention purge_jobs in deployments with background jobs running on a worker by forcing them back onto the main worker. Contributed by Brad @ Beeper. ([\matrix-org#13632](matrix-org#13632))
- Fix a long-standing bug that downloaded media for URL previews was not deleted while database background updates were running. ([\matrix-org#13657](matrix-org#13657))
- Fix [MSC3030](matrix-org/matrix-spec-proposals#3030) `/timestamp_to_event` endpoint to return the correct next event when the events have the same timestamp. ([\matrix-org#13658](matrix-org#13658))
- Fix bug where we wedge media plugins if clients disconnect early. Introduced in v1.22.0. ([\matrix-org#13660](matrix-org#13660))
- Fix a long-standing bug which meant that keys for unwhitelisted servers were not returned by `/_matrix/key/v2/query`. ([\matrix-org#13683](matrix-org#13683))
- Fix a bug introduced in Synapse v1.20.0 that would cause the unstable unread counts from [MSC2654](matrix-org/matrix-spec-proposals#2654) to be calculated even if the feature is disabled. ([\matrix-org#13694](matrix-org#13694))

Updates to the Docker image
---------------------------

- Update docker image to use a stable version of poetry. ([\matrix-org#13688](matrix-org#13688))

Improved Documentation
----------------------

- Improve the description of the ["chain cover index"](https://matrix-org.github.io/synapse/latest/auth_chain_difference_algorithm.html) used internally by Synapse. ([\matrix-org#13602](matrix-org#13602))
- Document how ["monthly active users"](https://matrix-org.github.io/synapse/latest/usage/administration/monthly_active_users.html) is calculated and used. ([\matrix-org#13617](matrix-org#13617))
- Improve documentation around user registration. ([\matrix-org#13640](matrix-org#13640))
- Remove documentation of legacy `frontend_proxy` worker app. ([\matrix-org#13645](matrix-org#13645))
- Clarify documentation that HTTP replication traffic can be protected with a shared secret. ([\matrix-org#13656](matrix-org#13656))
- Remove unintentional colons from [config manual](https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html) headers. ([\matrix-org#13665](matrix-org#13665))
- Update docs to make enabling metrics more clear. ([\matrix-org#13678](matrix-org#13678))
- Clarify `(room_id, event_id)` global uniqueness and how we should scope our database schemas. ([\matrix-org#13701](matrix-org#13701))

Deprecations and Removals
-------------------------

- Drop support for calling `/_matrix/client/v3/rooms/{roomId}/invite` without an `id_access_token`, which was not permitted by the spec. Contributed by @Vetchu. ([\matrix-org#13241](matrix-org#13241))
- Remove redundant `_get_joined_users_from_context` cache. Contributed by Nick @ Beeper (@Fizzadar). ([\matrix-org#13569](matrix-org#13569))
- Remove the ability to use direct TCP replication with workers. Direct TCP replication was deprecated in Synapse v1.18.0. Workers now require using Redis. ([\matrix-org#13647](matrix-org#13647))
- Remove support for unstable [private read receipts](matrix-org/matrix-spec-proposals#2285). ([\matrix-org#13653](matrix-org#13653), [\matrix-org#13692](matrix-org#13692))

Internal Changes
----------------

- Extend the release script to wait for GitHub Actions to finish and to be usable as a guide for the whole process. ([\matrix-org#13483](matrix-org#13483))
- Add experimental configuration option to allow disabling legacy Prometheus metric names. ([\matrix-org#13540](matrix-org#13540))
- Cache user IDs instead of profiles to reduce cache memory usage. Contributed by Nick @ Beeper (@Fizzadar). ([\matrix-org#13573](matrix-org#13573), [\matrix-org#13600](matrix-org#13600))
- Optimize how Synapse calculates domains to fetch from during backfill. ([\matrix-org#13575](matrix-org#13575))
- Comment about a better future where we can get the state diff between two events. ([\matrix-org#13586](matrix-org#13586))
- Instrument `_check_sigs_and_hash_and_fetch` to trace time spent in child concurrent calls for understandable traces in Jaeger. ([\matrix-org#13588](matrix-org#13588))
- Improve performance of `@cachedList`. ([\matrix-org#13591](matrix-org#13591))
- Minor speed up of fetching large numbers of push rules. ([\matrix-org#13592](matrix-org#13592))
- Optimise push action fetching queries. Contributed by Nick @ Beeper (@Fizzadar). ([\matrix-org#13597](matrix-org#13597))
- Rename `event_map` to `unpersisted_events` when computing the auth differences. ([\matrix-org#13603](matrix-org#13603))
- Refactor `get_users_in_room(room_id)` mis-use with dedicated `get_current_hosts_in_room(room_id)` function. ([\matrix-org#13605](matrix-org#13605))
- Use dedicated `get_local_users_in_room(room_id)` function to find local users when calculating `join_authorised_via_users_server` of a `/make_join` request. ([\matrix-org#13606](matrix-org#13606))
- Refactor `get_users_in_room(room_id)` mis-use to lookup single local user with dedicated `check_local_user_in_room(...)` function. ([\matrix-org#13608](matrix-org#13608))
- Drop unused column `application_services_state.last_txn`. ([\matrix-org#13627](matrix-org#13627))
- Improve readability of Complement CI logs by printing failure results last. ([\matrix-org#13639](matrix-org#13639))
- Generalise the `@cancellable` annotation so it can be used on functions other than just servlet methods. ([\matrix-org#13662](matrix-org#13662))
- Introduce a `CommonUsageMetrics` class to share some usage metrics between the Prometheus exporter and the phone home stats. ([\matrix-org#13671](matrix-org#13671))
- Add some logging to help track down matrix-org#13444. ([\matrix-org#13679](matrix-org#13679))
- Update poetry lock file for v1.2.0. ([\matrix-org#13689](matrix-org#13689))
- Add cache to `is_partial_state_room`. ([\matrix-org#13693](matrix-org#13693))
- Update the Grafana dashboard that is included with Synapse in the `contrib` directory. ([\matrix-org#13697](matrix-org#13697))
- Only run trial CI on all python versions on non-PRs. ([\matrix-org#13698](matrix-org#13698))
- Fix typechecking with latest types-jsonschema. ([\matrix-org#13712](matrix-org#13712))
- Reduce number of CI checks we run for PRs. ([\matrix-org#13713](matrix-org#13713))

# -----BEGIN PGP SIGNATURE-----
#
# iQFEBAABCgAuFiEEBTGR3/RnAzBGUif3pULk7RsPrAkFAmMgR2QQHGVyaWtAbWF0
# cml4Lm9yZwAKCRClQuTtGw+sCfG7B/94PwW1ChsaI8hkz/3e+93PEl/mNJ6YFaEB
# 5pP4Dh/0dipP/iKbpgNuj5xz/JFnIi8D49A8sKNnku3jk0/8AZHgqDiBgOkrN76z
# Y3awo5Q9ag4xww/105V3bhdnX1NrX8Avf6F2jchDv6/9q8wQHGBPg6DMgfZ/m/BL
# SB4dypbbNpgLykuwtWxx6YMUYH+trsXJOn/MoAqld3QcZsqkDR25wXCt9+Dr+6AT
# dPd/czi8kV8ruU59tf2K5HB7XKzBW9S3Qb3dJJmGOTTJ7ccUkN/XuTwqnII950Mo
# bSlMXjY2hqk8rKUNhGZpi9bqUkwNhMgOkZl9A0Y1XtsXx6yjy0T/
# =zSGi
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue Sep 13 10:03:32 2022 BST
# gpg:                using RSA key 053191DFF4670330465227F7A542E4ED1B0FAC09
# gpg:                issuer "erik@matrix.org"
# gpg: Can't check signature: No public key

# Conflicts:
#	synapse/config/experimental.py
#	synapse/push/bulk_push_rule_evaluator.py
#	synapse/storage/databases/main/event_push_actions.py
#	synapse/util/caches/descriptors.py
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Oct 6, 2022
Synapse 1.67.0 (2022-09-13)
===========================

This release removes using the deprecated direct TCP replication configuration
for workers. Server admins should use Redis instead. See the [upgrade
notes](https://matrix-org.github.io/synapse/v1.67/upgrade.html#upgrading-to-v1670).

The minimum version of `poetry` supported for managing source checkouts is now
1.2.0.  [[pkgsrc does not seem to "manage source checkouts"]]

Features
--------

- Support setting the registration shared secret in a file, via a new
  `registration_shared_secret_path` configuration
  option.

- Change the default startup behaviour so that any missing
  "additional" configuration files (signing key, etc) are generated
  automatically.

- Improve performance of sending messages in rooms with thousands of
  local.


Deprecations and Removals
-------------------------

- Drop support for calling `/_matrix/client/v3/rooms/{roomId}/invite`
  without an `id_access_token`, which was not permitted by the
  spec. Contributed by @Vetchu.

- Remove redundant `_get_joined_users_from_context` cache. Contributed
  by Nick @ Beeper (@Fizzadar).

- Remove the ability to use direct TCP replication with
  workers. Direct TCP replication was deprecated in Synapse
  v1.18.0. Workers now require using Redis.

- Remove support for unstable [private read
  receipts](matrix-org/matrix-spec-proposals#2285).
benkuly added a commit to benkuly/trixnity that referenced this pull request Nov 2, 2022
…c-proposals#2285).

Make `m.fully_read` optional on `/read_markers`, as per [MSC2285](matrix-org/matrix-spec-proposals#2285).
Allow `m.fully_read` markers to be set from `/receipts`, as per [MSC2285](matrix-org/matrix-spec-proposals#2285).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client-server Client-Server API kind:core MSC which is critical to the protocol's success merged A proposal whose PR has merged into the spec! proposal A matrix spec change proposal
Projects
Archived in project
Spec Core Team Backlog
  
Done to some definition
Development

Successfully merging this pull request may close these issues.

None yet