Features
--------

- Support profile API endpoints on workers
([\#3659](https://github.com/matrix-org/synapse/issues/3659))
- Server notices for resource limit blocking
([\#3680](https://github.com/matrix-org/synapse/issues/3680))
- Allow guests to use /rooms/:roomId/event/:eventId
([\#3724](https://github.com/matrix-org/synapse/issues/3724))
- Add mau_trial_days config param, so that users only get counted as MAU
after N days.
([\#3749](https://github.com/matrix-org/synapse/issues/3749))
- Require twisted 17.1 or later (fixes
[#3741](https://github.com/matrix-org/synapse/issues/3741)).
([\#3751](https://github.com/matrix-org/synapse/issues/3751))

Bugfixes
--------

- Fix error collecting prometheus metrics when run on dedicated thread
due to threading concurrency issues
([\#3722](https://github.com/matrix-org/synapse/issues/3722))
- Fix bug where we resent "limit exceeded" server notices repeatedly
([\#3747](https://github.com/matrix-org/synapse/issues/3747))
- Fix bug where we broke sync when using limit_usage_by_mau but hadn't
configured server notices
([\#3753](https://github.com/matrix-org/synapse/issues/3753))
- Fix 'federation_domain_whitelist' such that an empty list correctly
blocks all outbound federation traffic
([\#3754](https://github.com/matrix-org/synapse/issues/3754))
- Fix tagging of server notice rooms
([\#3755](https://github.com/matrix-org/synapse/issues/3755),
[\#3756](https://github.com/matrix-org/synapse/issues/3756))
- Fix 'admin_uri' config variable and error parameter to be
'admin_contact' to match the spec.
([\#3758](https://github.com/matrix-org/synapse/issues/3758))
- Don't return non-LL-member state in incremental sync state blocks
([\#3760](https://github.com/matrix-org/synapse/issues/3760))
- Fix bug in sending presence over federation
([\#3768](https://github.com/matrix-org/synapse/issues/3768))
- Fix bug where preserved threepid user comes to sign up and server is
mau blocked
([\#3777](https://github.com/matrix-org/synapse/issues/3777))

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

- Removed the link to the unmaintained matrix-synapse-auto-deploy
project from the readme.
([\#3378](https://github.com/matrix-org/synapse/issues/3378))
- Refactor state module to support multiple room versions
([\#3673](https://github.com/matrix-org/synapse/issues/3673))
- The synapse.storage module has been ported to Python 3.
([\#3725](https://github.com/matrix-org/synapse/issues/3725))
- Split the state_group_cache into member and non-member state events
(and so speed up LL /sync)
([\#3726](https://github.com/matrix-org/synapse/issues/3726))
- Log failure to authenticate remote servers as warnings (without stack
traces) ([\#3727](https://github.com/matrix-org/synapse/issues/3727))
- The CONTRIBUTING guidelines have been updated to mention our use of
Markdown and that .misc files have content.
([\#3730](https://github.com/matrix-org/synapse/issues/3730))
- Reference the need for an HTTP replication port when using the
federation_reader worker
([\#3734](https://github.com/matrix-org/synapse/issues/3734))
- Fix minor spelling error in federation client documentation.
([\#3735](https://github.com/matrix-org/synapse/issues/3735))
- Remove redundant state resolution function
([\#3737](https://github.com/matrix-org/synapse/issues/3737))
- The test suite now passes on PostgreSQL.
([\#3740](https://github.com/matrix-org/synapse/issues/3740))
- Fix MAU cache invalidation due to missing yield
([\#3746](https://github.com/matrix-org/synapse/issues/3746))
- Make sure that we close db connections opened during init
([\#3764](https://github.com/matrix-org/synapse/issues/3764))
This tag has no release notes.