0.99.4 is a maintenance release collecting together all of the bug fixes and performance improvements over the past few weeks, additionally there is further support for the upcoming 1.0 release (more info coming soon). One thing worth calling out is how many community contributions have made their way into 0.99.4, take a look at the change log for details, but many thanks to everyone submitting PRs, keep them coming!
Add systemd-python to the optional dependencies to enable logging to the systemd journal. Install with pip install matrix-synapse[systemd]. (#4339)
Add a default .m.rule.tombstone push rule. (#4867)
Add ability for password provider modules to bind email addresses to users upon registration. (#4947)
Implementation of MSC1711 including config options for requiring valid TLS certificates for federation traffic, the ability to disable TLS validation for specific domains, and the ability to specify your own list of CA certificates. (#4967)
Remove presence list support as per MSC 1819. (#4989)
Reduce CPU usage starting pushers during start up. (#4991)
Configure the example systemd units to have a log identifier of matrix-synapse
instead of the executable name, python.
Contributed by Christoph Müller. (#5023)
Add support for handling /versions, /voip and /push_rules client endpoints to client_reader worker. (#5063, #5065, #5070)
Add an configuration option to require authentication on /publicRooms and /profile endpoints. (#5083)
Move admin APIs to /_synapse/admin/v1. (The old paths are retained for backwards-compatibility, for now). (#5119)
Implement an admin API for sending server notices. Many thanks to @krombel who provided a foundation for this work. (#5121, #5142)
Bugfixes
Avoid redundant URL encoding of redirect URL for SSO login in the fallback login page. Fixes a regression introduced in #4220. Contributed by Marcel Fabian Krüger ("zaugin"). (#4555)
Fix bug where presence updates were sent to all servers in a room when a new server joined, rather than to just the new server. (#4942, #5103)
Fix sync bug which made accepting invites unreliable in worker-mode synapses. (#4955, #4956)
start.sh: Fix the --no-rate-limit option for messages and make it bypass rate limit on registration and login too. (#4981)
Prevent the ability to kick users from a room they aren't in. (#4999)
Fix issue #4596 so synapse_port_db script works with --curses option on Python 3. Contributed by Anders Jensen-Waud [email protected]. (#5003)
Clients timing out/disappearing while downloading from the media repository will now no longer log a spurious "Producer was not unregistered" message. (#5009)
Fix "cannot import name execute_batch" error with postgres. (#5032)
Run black to clean up formatting on synapse/storage/roommember.py and synapse/storage/events.py. (#4959)
Remove log line for password via the admin API. (#4965)
Fix typo in TLS filenames in docker/README.md. Also add the '-p' commandline option to the 'docker run' example. Contributed by Jurrie Overgoor. (#4968)