Added
- New datastore option to ignore Redis cache when downloading media served by a
publicBaseUrl
. This can help ensure more requests get redirected to the CDN. HEAD /download
is now supported, as per MSC4120.- S3 datastores can now specify a
prefixLength
to improve S3 performance on some providers. Seeconfig.sample.yaml
for details. - Add
multipartUploads
flag for running MMR against unsupported S3 providers. Seeconfig.sample.yaml
for details. - A new "leaky bucket" rate limit algorithm has been applied to downloads. See
rateLimit.buckets
inconfig.sample.yaml
for details. - Add support for MSC3916: Authentication for media.
- To enable full support, use
signingKeyPath
in your config. Seeconfig.sample.yaml
for details. - Server operators should point
/_matrix/client/v1/media/*
and/_matrix/federation/v1/media/*
at MMR.
- To enable full support, use
Changed
- The leaky bucket rate limiting introduced above is turned on by default. Administrators are encouraged to review the default settings and adjust as needed.
Fixed
- Metrics for redirected and HTML requests are tracked.
- Fixed more issues relating to non-dimensional media being thumbnailed (
invalid image size: 0x0
errors). - Long-running purge requests no longer fail when the requesting client times out. They are continued in the background.
- Purging old media has been fixed to actually identify old media.
- JPEG thumbnails will now use sensible extensions.
- Fixed directory permissions when exporting MMR to Synapse.
- In some rare cases, memory usage may have leaked due to thumbnail error handling. This has been fixed.
- Synapse signing keys with blank lines can now be decoded/combined with other keys.