This repository has been archived by the owner on Apr 26, 2024. It is now read-only.
v1.25.0rc1
Pre-release
Pre-release
v1.25.0rc1: Synapse 1.25.0rc1 (2021-01-06)
Removal warning
The old Purge Room API and Shutdown Room API are deprecated and will be removed in a future release. They will be replaced by the Delete Room API.
POST /_synapse/admin/v1/rooms/<room_id>/delete
replaces POST /_synapse/admin/v1/purge_room
and POST /_synapse/admin/v1/shutdown_room/<room_id>
.
Features
- Add an admin API that lets server admins get power in rooms in which local users have power. (#8756)
- Add optional HTTP authentication to replication endpoints. (#8853)
- Improve the error messages printed as a result of configuration problems for extension modules. (#8874)
- Add the number of local devices to Room Details Admin API. Contributed by @dklimpel. (#8886)
- Add
X-Robots-Tag
header to stop web crawlers from indexing media. Contributed by Aaron Raimist. (#8887) - Spam-checkers may now define their methods as
async
. (#8890) - Add support for allowing users to pick their own user ID during a single-sign-on login. (#8897, #8900, #8911, #8938, #8941, #8942, #8951)
- Add an
email.invite_client_location
configuration option to send a web client location to the invite endpoint on the identity server which allows customisation of the email template. (#8930) - The search term in the list room and list user Admin APIs is now treated as case-insensitive. (#8931)
- Apply an IP range blacklist to push and key revocation requests. (#8821, #8870, #8954)
- Add an option to allow re-use of user-interactive authentication sessions for a period of time. (#8970)
- Allow running the redact endpoint on workers. (#8994)
Bugfixes
- Fix bug where we might not correctly calculate the current state for rooms with multiple extremities. (#8827)
- Fix a long-standing bug in the register admin endpoint (
/_synapse/admin/v1/register
) when themac
field was not provided. The endpoint now properly returns a 400 error. Contributed by @edwargix. (#8837) - Fix a long-standing bug on Synapse instances supporting Single-Sign-On, where users would be prompted to enter their password to confirm certain actions, even though they have not set a password. (#8858)
- Fix a longstanding bug where a 500 error would be returned if the
Content-Length
header was not provided to the upload media resource. (#8862) - Add additional validation to pusher URLs to be compliant with the specification. (#8865)
- Fix the error code that is returned when a user tries to register on a homeserver on which new-user registration has been disabled. (#8867)
- Fix a bug where
PUT /_synapse/admin/v2/users/<user_id>
failed to create a new user whenavatar_url
is specified. Bug introduced in Synapse v1.9.0. (#8872) - Fix a 500 error when attempting to preview an empty HTML file. (#8883)
- Fix occasional deadlock when handling SIGHUP. (#8918)
- Fix login API to not ratelimit application services that have ratelimiting disabled. (#8920)
- Fix bug where we ratelimited auto joining of rooms on registration (using
auto_join_rooms
config). (#8921) - Fix a bug where deactivated users appeared in the user directory when their profile information was updated. (#8933, #8964)
- Fix bug introduced in Synapse v1.24.0 which would cause an exception on startup if both
enabled
andlocaldb_enabled
were set toFalse
in thepassword_config
setting of the configuration file. (#8937) - Fix a bug where 500 errors would be returned if the
m.room_history_visibility
event had invalid content. (#8945) - Fix a bug causing common English words to not be considered for a user directory search. (#8959)
- Fix bug where application services couldn't register new ghost users if the server had reached its MAU limit. (#8962)
- Fix a long-standing bug where a
m.image
event without aurl
would cause errors on push. (#8965) - Fix a small bug in v2 state resolution algorithm, which could also cause performance issues for rooms with large numbers of power levels. (#8971)
- Add validation to the
sendToDevice
API to raise a missing parameters error instead of a 500 error. (#8975) - Add validation of group IDs to raise a 400 error instead of a 500 eror. (#8977)
Improved Documentation
- Fix the "Event persist rate" section of the included grafana dashboard by adding missing prometheus rules. (#8802)
- Combine related media admin API docs. (#8839)
- Fix an error in the documentation for the SAML username mapping provider. (#8873)
- Clarify comments around template directories in
sample_config.yaml
. (#8891) - Moved instructions for database setup, adjusted heading levels and improved syntax highlighting in INSTALL.md. Contributed by fossterer. (#8987)
- Update the example value of
group_creation_prefix
in the sample configuration. (#8992) - Link the Synapse developer room to the development section in the docs. (#9002)
Deprecations and Removals
- Deprecate Shutdown Room and Purge Room Admin APIs. (#8829)
Internal Changes
- Properly store the mapping of external ID to Matrix ID for CAS users. (#8856, #8958)
- Remove some unnecessary stubbing from unit tests. (#8861)
- Remove unused
FakeResponse
class from unit tests. (#8864) - Pass
room_id
toget_auth_chain_difference
. (#8879) - Add type hints to push module. (#8880, #8882, #8901, #8940, #8943, #9020)
- Simplify logic for handling user-interactive-auth via single-sign-on servers. (#8881)
- Skip the SAML tests if the requirements (
pysaml2
andxmlsec1
) aren't available. (#8905) - Fix multiarch docker image builds. (#8906)
- Don't publish
latest
docker image until all archs are built. (#8909) - Various clean-ups to the structured logging and logging context code. (#8916, #8935)
- Automatically drop stale forward-extremities under some specific conditions. (#8929)
- Refactor test utilities for injecting HTTP requests. (#8946)
- Add a maximum size of 50 kilobytes to .well-known lookups. (#8950)
- Fix bug in
generate_log_config
script which made it write empty files. (#8952) - Clean up tox.ini file; disable coverage checking for non-test runs. (#8963)
- Add type hints to the admin and room list handlers. (#8973)
- Add type hints to the receipts and user directory handlers. (#8976)
- Drop the unused
local_invites
table. (#8979) - Add type hints to the base storage code. (#8980)
- Support using PyJWT v2.0.0 in the test suite. (#8986)
- Fix
tests.federation.transport.RoomDirectoryFederationTests
and ensure it runs in CI. (#8998) - Add type hints to the crypto module. (#8999)