Synapse 0.99.3 (2019-04-01) No significant changes. Synapse 0.99.3rc1 (2019-03-27) Features The user directory has been rewritten to make it faster, with less chance of falling behind on a large server. (#4537, #4846, #4864, #4887, #4900, #4944) Add configurable rate limiting to the /register endpoint. (#4735, #4804) Move server key queries to federation reader. (#4757) Add support for /account/3pid REST endpoint to client_reader worker. (#4759) Add an endpoint to the admin API for querying the server version. Contributed by Joseph Weston. (#4772) Include a default configuration file in the 'docs' directory. (#4791, #4801) Synapse is now permissive about trailing slashes on some of its federation endpoints, allowing zero or more to be present. (#4793) Add support for /keys/query and /keys/changes REST endpoints to client_reader worker. (#4796) Add checks to incoming events over federation for events evading auth (aka "soft fail"). (#4814) Add configurable rate limiting to the /login endpoint. (#4821, #4865) Remove trailing slashes from certain outbound federation requests. Retry if receiving a 404. Context: #3622. (#4840) Allow passing --daemonize flags to workers in the same way as with master. (#4853) Batch up outgoing read-receipts to reduce federation traffic. (#4890, #4927) Add option to disable searching the user directory. (#4895) Add option to disable searching of local and remote public room lists. (#4896) Add ability for password providers to login/register a user via 3PID (email, phone). (#4931) Bugfixes Fix a bug where media with spaces in the name would get a corrupted name. (#2090) Fix attempting to paginate in rooms where server cannot see any events, to avoid unnecessarily pulling in lots of redacted events. (#4699) 'event_id' is now a required parameter in federated state requests, as per the matrix spec. (#4740) Fix tightloop over connecting to replication server. (#4749) Fix parsing of Content-Disposition headers on remote media requests and URL previews. (#4763) Fix incorrect log about not persisting duplicate state event. (#4776) Fix v4v6 option in HAProxy example config. Contributed by Flakebi. (#4790) Handle batch updates in worker replication protocol. (#4792) Fix bug where we didn't correctly throttle sending of USER_IP commands over replication. (#4818) Fix potential race in handling missing updates in device list updates. (#4829) Fix bug where synapse expected an un-specced prev_state field on state events. (#4837) Transfer a user's notification settings (push rules) on room upgrade. (#4838) fix test_auto_create_auto_join_where_no_consent. (#4886) Fix a bug where hs_disabled_message was sometimes not correctly enforced. (#4888) Fix bug in shutdown room admin API where it would fail if a user in the room hadn't consented to the privacy policy. (#4904) Fix bug where blocked world-readable rooms were still peekable. (#4908) Internal Changes Add a systemd setup that supports synapse workers. Contributed by Luca Corbatto. (#4662) Change from TravisCI to Buildkite for CI. (#4752) When presence is disabled don't send over replication. (#4757) Minor docstring fixes for MatrixFederationAgent. (#4765) Optimise EDU transmission for the federation_sender worker. (#4770) Update test_typing to use HomeserverTestCase. (#4771) Update URLs for riot.im icons and logos in the default notification templates. (#4779) Removed unnecessary $ from some federation endpoint path regexes. (#4794) Remove link to deleted title in README. (#4795) Clean up read-receipt handling. (#4797) Add some debug about processing read receipts. (#4798) Clean up some replication code. (#4799) Add some docstrings. (#4815) Add debug logger to try and track down #4422. (#4816) Make shutdown API send explanation message to room after users have been forced joined. (#4817) Update example_log_config.yaml. (#4820) Document the generate option for the docker image. (#4824) Fix check-newsfragment for debian-only changes. (#4825) Add some debug logging for device list updates to help with #4828. (#4828) Improve federation documentation, specifically .well-known support. Many thanks to @vaab. (#4832) Disable captcha registration by default in unit tests. (#4839) Add stuff back to the .gitignore. (#4843) Clarify what registration_shared_secret allows for. (#4844) Correctly log expected errors when fetching server keys. (#4847) Update install docs to explicitly state a full-chain (not just the top-level) TLS certificate must be provided to Synapse. This caused some people's Synapse ports to appear correct in a browser but still (rightfully so) upset the federation tester. (#4849) Move client read-receipt processing to federation sender worker. (#4852) Refactor federation TransactionQueue. (#4855) Comment out most options in the generated config. (#4863) Fix yaml library warnings by using safe_load. (#4869) Update Apache setup to remove location syntax. Thanks to @cwmke! (#4870) Reinstate test case that runs unit tests against oldest supported dependencies. (#4879) Update link to federation docs. (#4881) fix test_auto_create_auto_join_where_no_consent. (#4886) Use a regular HomeServerConfig object for unit tests rater than a Mock. (#4889) Add some notes about tuning postgres for larger deployments. (#4895) Add a config option for torture-testing worker replication. (#4902) Log requests which are simulated by the unit tests. (#4905) Allow newsfragments to end with exclamation marks. Exciting! (#4912) Refactor some more tests to use HomeserverTestCase. (#4913) Refactor out the state deltas portion of the user directory store and handler. (#4917) Fix nginx example in ACME doc. (#4923) Use an explicit dbname for postgres connections in the tests. (#4928) Fix ClientReplicationStreamProtocol.__str__(). (#4929)