That's right folks Synapse 1.5.0 is here and ready to make your life just a little bit better.
First things first, this release includes a security fix (#6262, below). Administrators are encouraged to upgrade as soon as possible.
Aside from that, the main thing you'll notice in 1.5.0 is a massive performance improvement to the room directory, which means that servers with large directories to scan will return much more quickly. This is especially true for matrix.org but all servers will benefit.
Another key win is finally fixing some bugs in the sqlite -> postgres migrator script. Sqlite mode is there strictly for testing purposes and should never be used in a production setting let alone a federating homeserver. So if you are currently using Sqlite now is the time to migrate. What's more the script is now in CI so it can't easily break in the future (with apologies to anyone bitten by the old script...).
A final final point, we have some preparatory work for e2ee cross signing, the overall feature is not ready for release just yet but we are getting really close. Watch this space.
CAS login now provides a default display name for users if a displayname_attribute is set in the configuration file. (#6114)
Reject all pending invites for a user during deactivation. (#6125)
Add config option to suppress client side resource limit alerting. (#6173)
Bugfixes
Return an HTTP 404 instead of 400 when requesting a filter by ID that is unknown to the server. Thanks to @krombel for contributing this! (#2380)
Fix a bug where users could be invited twice to the same group. (#3436)
Fix /createRoom failing with badly-formatted MXIDs in the invitee list. Thanks to @wener291! (#4088)
Make the synapse_port_db script create the right indexes on a new PostgreSQL database. (#6102, #6178, #6243)
Fix bug when uploading a large file: Synapse responds with M_UNKNOWN while it should be M_TOO_LARGE according to spec. Contributed by Anshul Angaria. (#6109)
Fix user push rules being deleted from a room when it is upgraded. (#6144)
Don't 500 when trying to exchange a revoked 3PID invite. (#6147)
Fix transferring notifications and tags when joining an upgraded room that is new to your server. (#6155)
Fix bug where guest account registration can wedge after restart. (#6161)
Fix monthly active user reaping when reserved users are specified. (#6168)
Fix /federation/v1/state endpoint not supporting newer room versions. (#6170)
Fix bug where we were updating censored events as bytes rather than text, occaisonally causing invalid JSON being inserted breaking APIs that attempted to fetch such events. (#6186)
Fix occasional missed updates in the room and user directories. (#6187)
Fix tracing of non-JSON APIs, /media, /key etc. (#6195)
Fix bug where presence would not get timed out correctly if a synchrotron worker is used and restarted. (#6212)
synapse_port_db: Add 2 additional BOOLEAN_COLUMNS to be able to convert from database schema v56. (#6216)
Fix a bug where the Synapse demo script blacklisted ::1 (ipv6 localhost) from receiving federation traffic. (#6229)
Updates to the Docker image
Fix logging getting lost for the docker image. (#6197)
Internal Changes
Update user_filters table to have a unique index, and non-null columns. Thanks to @pik for contributing this. (#1172, #6175, #6184)
Allow devices to be marked as hidden, for use by features such as cross-signing.
This adds a new field with a default value to the devices field in the database,
and so the database upgrade may take a long time depending on how many devices
are in the database. (#5759)
Move lookup-related functions from RoomMemberHandler to IdentityHandler. (#5978)
Improve performance of the public room list directory. (#6019, #6152, #6153, #6154)
Edit header dicts docstrings in SimpleHttpClient to note that str or bytes can be passed as header keys. (#6077)
Add snapcraft packaging information. Contributed by @devec0. (#6084, #6191)
Kill off half-implemented password-reset via sms. (#6101)
Remove get_user_by_req opentracing span and add some tags. (#6108)