Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
Merge tag 'v1.44.0rc1' into develop
Browse files Browse the repository at this point in the history
Synapse 1.44.0rc1 (2021-09-29)
==============================

Features
--------

- Only allow the
[MSC2716](matrix-org/matrix-spec-proposals#2716)
`/batch_send?chunk_id=xxx` endpoint to connect to an already existing
insertion event.
([\#10776](#10776))
- Improve oEmbed URL previews by processing the author name, photo, and
video information.
([\#10814](#10814),
[\#10819](#10819))
- Speed up responding with large JSON objects to requests.
([\#10868](#10868),
[\#10905](#10905))
- Add a `user_may_create_room_with_invites` spam checker callback to
allow modules to allow or deny a room creation request based on the
invites and/or 3PID invites it includes.
([\#10898](#10898))

Bugfixes
--------

- Fix a long-standing bug that caused an `AssertionError` when purging
history in certain rooms. Contributed by @Kokokokoka.
([\#10690](#10690))
- Fix a long-standing bug which caused deactivated users that were later
reactivated to be missing from the user directory.
([\#10782](#10782))
- Fix a long-standing bug that caused unbanning a user by sending a
membership event to fail. Contributed by @aaronraimist.
([\#10807](#10807))
- Fix a long-standing bug where logging contexts would go missing when
federation requests time out.
([\#10810](#10810))
- Fix a long-standing bug causing an error in the deprecated
`/initialSync` endpoint when using the undocumented `from` and `to`
parameters.
([\#10827](#10827))
- Fix a bug causing the `remove_stale_pushers` background job to
repeatedly fail and log errors. This bug affected Synapse servers that
had been upgraded from version 1.28 or older and are using SQLite.
([\#10843](#10843))
- Fix a long-standing bug in Unicode support of the room search admin
API breaking search for rooms with non-ASCII characters.
([\#10859](#10859))
- Fix a bug introduced in Synapse 1.37.0 which caused `knock` membership
events which we sent to remote servers to be incorrectly stored in the
local database.
([\#10873](#10873))
- Fix invalidating one-time key count cache after claiming keys. The bug
was introduced in Synapse v1.41.0. Contributed by Tulir at Beeper.
([\#10875](#10875))
- Fix a long-standing bug causing application service users to be
subject to MAU blocking if the MAU limit had been reached, even if
configured not to be blocked.
([\#10881](#10881))
- Fix a long-standing bug which could cause events pulled over
federation to be incorrectly rejected.
([\#10907](#10907))
- Fix a long-standing bug causing URL cache files to be stored in
storage providers. Server admins may safely delete the `url_cache/` and
`url_cache_thumbnails/` directories from any configured storage
providers to reclaim space.
([\#10911](#10911))
- Fix a long-standing bug leading to race conditions when creating media
store and config directories.
([\#10913](#10913))

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

- Fix some crashes in the Module API example code, by adding JSON
encoding/decoding.
([\#10845](#10845))
- Add developer documentation about experimental configuration flags.
([\#10865](#10865))
- Properly remove deleted files from GitHub pages when generating the
documentation.
([\#10869](#10869))

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

- Fix GitHub Actions config so we can run sytest on synapse from
parallel branches.
([\#10659](#10659))
- Split out
[MSC2716](matrix-org/matrix-spec-proposals#2716) meta
events to their own fields in the `/batch_send` response.
([\#10777](#10777))
- Add missing type hints to REST servlets.
([\#10785](#10785),
[\#10817](#10817))
- Simplify the internal logic which maintains the user directory
database tables.
([\#10796](#10796))
- Use direct references to config flags.
([\#10812](#10812),
[\#10885](#10885),
[\#10893](#10893),
[\#10897](#10897))
- Specify the type of token in generic "Invalid token" error messages.
([\#10815](#10815))
- Make `StateFilter` frozen so it is hashable.
([\#10816](#10816))
- Fix a long-standing bug where an `m.room.message` event containing a
null byte would cause an internal server error.
([\#10820](#10820))
- Add type hints to the state database.
([\#10823](#10823))
- Opt out of cache expiry for `get_users_who_share_room_with_user`, to
hopefully improve `/sync` performance when you
haven't synced recently.
([\#10826](#10826))
- Track cache eviction rates more finely in Prometheus's monitoring.
([\#10829](#10829))
- Add missing type hints to `synapse.handlers`.
([\#10831](#10831),
[\#10856](#10856))
- Extend the Module API to let plug-ins check whether an ID is local and
to access IP + User Agent data.
([\#10833](#10833))
- Factor out PNG image data to a constant to be used in several tests.
([\#10834](#10834))
- Add a test to ensure state events sent by modules get persisted
correctly.
([\#10835](#10835))
- Rename [MSC2716](matrix-org/matrix-spec-proposals#2716)
fields and event types from `chunk` to `batch` to match the
`/batch_send` endpoint.
([\#10838](#10838))
- Rename [MSC2716](matrix-org/matrix-spec-proposals#2716)
`/batch_send` query parameter from `?prev_event` to more obvious usage
with `?prev_event_id`.
([\#10839](#10839))
- Add type hints to `synapse.http.site`.
([\#10867](#10867))
- Include outlier status when we log V2 or V3 events.
([\#10879](#10879))
- Break down Grafana's cache expiry time series based on reason for
eviction, c.f.
[\#10829](#10829).
([\#10880](#10880))
- Clean up some of the federation event authentication code for clarity.
([\#10883](#10883),
[\#10884](#10884),
[\#10896](#10896),
[\#10901](#10901))
- Allow the `.` and `~` characters when creating registration tokens as
per the change to
[MSC3231](matrix-org/matrix-spec-proposals#3231).
([\#10887](#10887))
- Clean up some unnecessary parentheses in places around the codebase.
([\#10889](#10889))
- Improve type hinting in the user directory code.
([\#10891](#10891))
- Update development testing script `test_postgresql.sh` to use a
supported Python version and make re-runs quicker.
([\#10906](#10906))
- Document and summarize changes in schema version `61` – `64`.
([\#10917](#10917))
- Update release script to sign the newly created git tags.
([\#10925](#10925))
- Fix Debian builds due to `dh-virtualenv` no longer being able to build
their docs.
([\#10931](#10931))

F124520CEEE062448FE1C8442D2EFA2F32FBE047
<olivier@librepush.net>" [ultimate]
  • Loading branch information
reivilibre committed Sep 29, 2021
2 parents 176aa55 + 13032b6 commit a19aa8b
Show file tree
Hide file tree
Showing 62 changed files with 90 additions and 63 deletions.
72 changes: 72 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,75 @@
Synapse 1.44.0rc1 (2021-09-29)
==============================

Features
--------

- Only allow the [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send?chunk_id=xxx` endpoint to connect to an already existing insertion event. ([\#10776](https://github.com/matrix-org/synapse/issues/10776))
- Improve oEmbed URL previews by processing the author name, photo, and video information. ([\#10814](https://github.com/matrix-org/synapse/issues/10814), [\#10819](https://github.com/matrix-org/synapse/issues/10819))
- Speed up responding with large JSON objects to requests. ([\#10868](https://github.com/matrix-org/synapse/issues/10868), [\#10905](https://github.com/matrix-org/synapse/issues/10905))
- Add a `user_may_create_room_with_invites` spam checker callback to allow modules to allow or deny a room creation request based on the invites and/or 3PID invites it includes. ([\#10898](https://github.com/matrix-org/synapse/issues/10898))


Bugfixes
--------

- Fix a long-standing bug that caused an `AssertionError` when purging history in certain rooms. Contributed by @Kokokokoka. ([\#10690](https://github.com/matrix-org/synapse/issues/10690))
- Fix a long-standing bug which caused deactivated users that were later reactivated to be missing from the user directory. ([\#10782](https://github.com/matrix-org/synapse/issues/10782))
- Fix a long-standing bug that caused unbanning a user by sending a membership event to fail. Contributed by @aaronraimist. ([\#10807](https://github.com/matrix-org/synapse/issues/10807))
- Fix a long-standing bug where logging contexts would go missing when federation requests time out. ([\#10810](https://github.com/matrix-org/synapse/issues/10810))
- Fix a long-standing bug causing an error in the deprecated `/initialSync` endpoint when using the undocumented `from` and `to` parameters. ([\#10827](https://github.com/matrix-org/synapse/issues/10827))
- Fix a bug causing the `remove_stale_pushers` background job to repeatedly fail and log errors. This bug affected Synapse servers that had been upgraded from version 1.28 or older and are using SQLite. ([\#10843](https://github.com/matrix-org/synapse/issues/10843))
- Fix a long-standing bug in Unicode support of the room search admin API breaking search for rooms with non-ASCII characters. ([\#10859](https://github.com/matrix-org/synapse/issues/10859))
- Fix a bug introduced in Synapse 1.37.0 which caused `knock` membership events which we sent to remote servers to be incorrectly stored in the local database. ([\#10873](https://github.com/matrix-org/synapse/issues/10873))
- Fix invalidating one-time key count cache after claiming keys. The bug was introduced in Synapse v1.41.0. Contributed by Tulir at Beeper. ([\#10875](https://github.com/matrix-org/synapse/issues/10875))
- Fix a long-standing bug causing application service users to be subject to MAU blocking if the MAU limit had been reached, even if configured not to be blocked. ([\#10881](https://github.com/matrix-org/synapse/issues/10881))
- Fix a long-standing bug which could cause events pulled over federation to be incorrectly rejected. ([\#10907](https://github.com/matrix-org/synapse/issues/10907))
- Fix a long-standing bug causing URL cache files to be stored in storage providers. Server admins may safely delete the `url_cache/` and `url_cache_thumbnails/` directories from any configured storage providers to reclaim space. ([\#10911](https://github.com/matrix-org/synapse/issues/10911))
- Fix a long-standing bug leading to race conditions when creating media store and config directories. ([\#10913](https://github.com/matrix-org/synapse/issues/10913))


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

- Fix some crashes in the Module API example code, by adding JSON encoding/decoding. ([\#10845](https://github.com/matrix-org/synapse/issues/10845))
- Add developer documentation about experimental configuration flags. ([\#10865](https://github.com/matrix-org/synapse/issues/10865))
- Properly remove deleted files from GitHub pages when generating the documentation. ([\#10869](https://github.com/matrix-org/synapse/issues/10869))


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

- Fix GitHub Actions config so we can run sytest on synapse from parallel branches. ([\#10659](https://github.com/matrix-org/synapse/issues/10659))
- Split out [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) meta events to their own fields in the `/batch_send` response. ([\#10777](https://github.com/matrix-org/synapse/issues/10777))
- Add missing type hints to REST servlets. ([\#10785](https://github.com/matrix-org/synapse/issues/10785), [\#10817](https://github.com/matrix-org/synapse/issues/10817))
- Simplify the internal logic which maintains the user directory database tables. ([\#10796](https://github.com/matrix-org/synapse/issues/10796))
- Use direct references to config flags. ([\#10812](https://github.com/matrix-org/synapse/issues/10812), [\#10885](https://github.com/matrix-org/synapse/issues/10885), [\#10893](https://github.com/matrix-org/synapse/issues/10893), [\#10897](https://github.com/matrix-org/synapse/issues/10897))
- Specify the type of token in generic "Invalid token" error messages. ([\#10815](https://github.com/matrix-org/synapse/issues/10815))
- Make `StateFilter` frozen so it is hashable. ([\#10816](https://github.com/matrix-org/synapse/issues/10816))
- Fix a long-standing bug where an `m.room.message` event containing a null byte would cause an internal server error. ([\#10820](https://github.com/matrix-org/synapse/issues/10820))
- Add type hints to the state database. ([\#10823](https://github.com/matrix-org/synapse/issues/10823))
- Opt out of cache expiry for `get_users_who_share_room_with_user`, to hopefully improve `/sync` performance when you
haven't synced recently. ([\#10826](https://github.com/matrix-org/synapse/issues/10826))
- Track cache eviction rates more finely in Prometheus's monitoring. ([\#10829](https://github.com/matrix-org/synapse/issues/10829))
- Add missing type hints to `synapse.handlers`. ([\#10831](https://github.com/matrix-org/synapse/issues/10831), [\#10856](https://github.com/matrix-org/synapse/issues/10856))
- Extend the Module API to let plug-ins check whether an ID is local and to access IP + User Agent data. ([\#10833](https://github.com/matrix-org/synapse/issues/10833))
- Factor out PNG image data to a constant to be used in several tests. ([\#10834](https://github.com/matrix-org/synapse/issues/10834))
- Add a test to ensure state events sent by modules get persisted correctly. ([\#10835](https://github.com/matrix-org/synapse/issues/10835))
- Rename [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) fields and event types from `chunk` to `batch` to match the `/batch_send` endpoint. ([\#10838](https://github.com/matrix-org/synapse/issues/10838))
- Rename [MSC2716](https://github.com/matrix-org/matrix-doc/pull/2716) `/batch_send` query parameter from `?prev_event` to more obvious usage with `?prev_event_id`. ([\#10839](https://github.com/matrix-org/synapse/issues/10839))
- Add type hints to `synapse.http.site`. ([\#10867](https://github.com/matrix-org/synapse/issues/10867))
- Include outlier status when we log V2 or V3 events. ([\#10879](https://github.com/matrix-org/synapse/issues/10879))
- Break down Grafana's cache expiry time series based on reason for eviction, c.f. [\#10829](https://github.com/matrix-org/synapse/issues/10829). ([\#10880](https://github.com/matrix-org/synapse/issues/10880))
- Clean up some of the federation event authentication code for clarity. ([\#10883](https://github.com/matrix-org/synapse/issues/10883), [\#10884](https://github.com/matrix-org/synapse/issues/10884), [\#10896](https://github.com/matrix-org/synapse/issues/10896), [\#10901](https://github.com/matrix-org/synapse/issues/10901))
- Allow the `.` and `~` characters when creating registration tokens as per the change to [MSC3231](https://github.com/matrix-org/matrix-doc/pull/3231). ([\#10887](https://github.com/matrix-org/synapse/issues/10887))
- Clean up some unnecessary parentheses in places around the codebase. ([\#10889](https://github.com/matrix-org/synapse/issues/10889))
- Improve type hinting in the user directory code. ([\#10891](https://github.com/matrix-org/synapse/issues/10891))
- Update development testing script `test_postgresql.sh` to use a supported Python version and make re-runs quicker. ([\#10906](https://github.com/matrix-org/synapse/issues/10906))
- Document and summarize changes in schema version `61` – `64`. ([\#10917](https://github.com/matrix-org/synapse/issues/10917))
- Update release script to sign the newly created git tags. ([\#10925](https://github.com/matrix-org/synapse/issues/10925))
- Fix Debian builds due to `dh-virtualenv` no longer being able to build their docs. ([\#10931](https://github.com/matrix-org/synapse/issues/10931))


Synapse 1.43.0 (2021-09-21)
===========================

Expand Down
1 change: 0 additions & 1 deletion changelog.d/10659.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10690.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10776.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10777.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10782.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10785.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10796.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10807.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10810.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10812.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10814.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10815.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10816.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10817.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10819.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10820.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10823.misc

This file was deleted.

2 changes: 0 additions & 2 deletions changelog.d/10826.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10827.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10829.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10831.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10833.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10834.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10835.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10838.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10839.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10843.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10845.doc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10856.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10859.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10865.doc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10867.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10868.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10869.doc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10873.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10875.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10879.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10880.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10881.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10883.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10884.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10885.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10887.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10889.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10891.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10893.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10896.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10897.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10898.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10901.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10905.feature

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10906.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10907.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10911.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10913.bugfix

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10917.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10925.misc

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/10931.bugfix

This file was deleted.

6 changes: 6 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
matrix-synapse-py3 (1.44.0~rc1) stable; urgency=medium

* New synapse release 1.44.0~rc1.

-- Synapse Packaging team <packages@matrix.org> Tue, 28 Sep 2021 13:41:28 +0100

matrix-synapse-py3 (1.43.0) stable; urgency=medium

* New synapse release 1.43.0.
Expand Down
2 changes: 1 addition & 1 deletion synapse/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
except ImportError:
pass

__version__ = "1.43.0"
__version__ = "1.44.0rc1"

if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)):
# We import here so that we don't have to install a bunch of deps when
Expand Down
14 changes: 11 additions & 3 deletions synapse/http/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -561,9 +561,17 @@ def __init__(
self._iterator = iterator
self._paused = False

# Register the producer and start producing data.
self._request.registerProducer(self, True)
self.resumeProducing()
try:
self._request.registerProducer(self, True)
except RuntimeError as e:
logger.info("Connection disconnected before response was written: %r", e)

# We drop our references to data we'll not use.
self._request = None
self._iterator = iter(())
else:
# Start producing if `registerProducer` was successful
self.resumeProducing()

def _send_data(self, data: List[bytes]) -> None:
"""
Expand Down

0 comments on commit a19aa8b

Please sign in to comment.