matrix.org/content/blog/2018/03/2018-03-26-synapse-0-27-2-r...

100 lines
32 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

+++
title = "Synapse 0.27 released!"
path = "/blog/2018/03/26/synapse-0-27-2-released"
[taxonomies]
author = ["Neil Johnson"]
category = ["Releases"]
+++
<p class="release-title text-normal">We released Synapse v0.27.2 today (the first stable release in the 0.27.x series) - it contains loads of work since Synapse v0.26 back in January.  The main highlights are:</p>
<ul>
<li class="release-title text-normal">All the perf improvements which we've been landing as we race to keep the matrix.org homeserver in the face of ever-expanding traffic levels over the last few months</li>
<li class="release-title text-normal">Support for custom storage providers for media repository.</li>
<li class="release-title text-normal">Ability to limit the email addresses allowed to register on your HS, and ability to limit the homeservers your homeserver is allowed to federate with</li>
<li class="release-title text-normal">All new purge API - letting you purge history by date as well as by event (and having a nice new async way of doing it)</li>
<li class="release-title text-normal">Make search work again!!! (by switching from GIST to GIN indexes)</li>
</ul>
And a few release notes worth calling out:
<ul>
<li>The common case for running Synapse is not to run separate workers, but for those that do, be aware that synctl no longer starts the main synapse when using <code>-a</code> option with workers. A new worker file should be added with <code>worker_app: synapse.app.homeserver</code>.</li>
<li>This release also begins the process of renaming a number of the metrics reported to prometheus. See <code>docs/metrics-howto.rst </code>
Note that the v0.28.0 release will remove the deprecated metric names.</li>
</ul>
As always, you can get it from <a href="https://github.com/matrix-org/synapse/releases/tag/v0.27.2">https://github.com/matrix-org/synapse/releases/tag/v0.27.2</a>
thanks for flying Matrix!
### Changes in synapse v0.27.2 (2018-03-26)
Bug fixes:
<ul>
<li>Fix bug which broke TCP replication between workers (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3015" data-error-text="Failed to load issue title" data-id="306553712" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3015">#3015</a>)</li>
</ul>
### Changes in synapse v0.27.1 (2018-03-26)
Meta release as v0.27.0 temporarily pointed to the wrong commit
### Changes in synapse v0.27.0 (2018-03-26)
No changes since v0.27.0-rc2
### Changes in synapse v0.27.0-rc2 (2018-03-19)
Pulls in v0.26.1
Bug fixes:
<ul>
<li>Fix bug introduced in v0.27.0-rc1 that causes much increased memory usage in state cache (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3005" data-error-text="Failed to load issue title" data-id="305611773" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3005">#3005</a>)</li>
</ul>
### Changes in synapse v0.27.0-rc1 (2018-03-14)
The common case for running Synapse is not to run separate workers, but for those that do, be aware that synctl no longer starts the main synapse when using <code>-a</code> option with workers. A new worker file should be added with <code>worker_app: synapse.app.homeserver</code>.
This release also begins the process of renaming a number of the metrics
reported to prometheus. See <code>docs/metrics-howto.rst &lt;docs/metrics-howto.rst#block-and-response-metrics-renamed-for-0-27-0&gt;</code>_.
Note that the v0.28.0 release will remove the deprecated metric names.
Features:
<ul>
<li>Add ability for ASes to override message send time (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2754" data-error-text="Failed to load issue title" data-id="286084501" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2754">#2754</a>)</li>
<li>Add support for custom storage providers for media repository (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2867" data-error-text="Failed to load issue title" data-id="297143892" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2867">#2867</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2777" data-error-text="Failed to load issue title" data-id="288157999" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2777">#2777</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2783" data-error-text="Failed to load issue title" data-id="288569577" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2783">#2783</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2789" data-error-text="Failed to load issue title" data-id="288869854" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2789">#2789</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2791" data-error-text="Failed to load issue title" data-id="288934607" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2791">#2791</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2804" data-error-text="Failed to load issue title" data-id="289336063" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2804">#2804</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2812" data-error-text="Failed to load issue title" data-id="289647722" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2812">#2812</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2814" data-error-text="Failed to load issue title" data-id="290067094" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2814">#2814</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2857" data-error-text="Failed to load issue title" data-id="295139747" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2857">#2857</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2868" data-error-text="Failed to load issue title" data-id="297189465" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2868">#2868</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2767" data-error-text="Failed to load issue title" data-id="287142685" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2767">#2767</a>)</li>
<li>Add purge API features, see <code>docs/admin_api/purge_history_api.rst &lt;docs/admin_api/purge_history_api.rst&gt;</code>_ for full details (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2858" data-error-text="Failed to load issue title" data-id="295623787" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2858">#2858</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2867" data-error-text="Failed to load issue title" data-id="297143892" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2867">#2867</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2882" data-error-text="Failed to load issue title" data-id="297795332" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2882">#2882</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2946" data-error-text="Failed to load issue title" data-id="302323973" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2946">#2946</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2962" data-error-text="Failed to load issue title" data-id="303453845" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2962">#2962</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2943" data-error-text="Failed to load issue title" data-id="302274834" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2943">#2943</a>)</li>
<li>Add support for whitelisting 3PIDs that users can register. (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2813" data-error-text="Failed to load issue title" data-id="289822303" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2813">#2813</a>)</li>
<li>Add <code>/room/{'{'}id{'}'}/event/{'{'}id{'}'}</code> API (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2766" data-error-text="Failed to load issue title" data-id="287111856" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2766">#2766</a>)</li>
<li>Add an admin API to get all the media in a room (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2818" data-error-text="Failed to load issue title" data-id="290248966" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2818">#2818</a>) Thanks to <a class="user-mention" href="https://github.com/turt2live" data-hovercard-user-id="1190097">@turt2live</a>!</li>
<li>Add <code>federation_domain_whitelist</code> option (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2820" data-error-text="Failed to load issue title" data-id="290431422" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2820">#2820</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2821" data-error-text="Failed to load issue title" data-id="290535583" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2821">#2821</a>)</li>
</ul>
Changes:
<ul>
<li>Continue to factor out processing from main process and into worker processes. See updated <code>docs/workers.rst &lt;docs/metrics-howto.rst&gt;</code>_ (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2892" data-error-text="Failed to load issue title" data-id="298561185" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2892">#2892</a> - <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2904" data-error-text="Failed to load issue title" data-id="299011997" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2904">#2904</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2913" data-error-text="Failed to load issue title" data-id="300641311" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2913">#2913</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2920" data-error-text="Failed to load issue title" data-id="301369053" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2920">#2920</a> - <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2926" data-error-text="Failed to load issue title" data-id="301430108" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2926">#2926</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2947" data-error-text="Failed to load issue title" data-id="302345912" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2947">#2947</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2847" data-error-text="Failed to load issue title" data-id="294445742" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2847">#2847</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2854" data-error-text="Failed to load issue title" data-id="294788458" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2854">#2854</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2872" data-error-text="Failed to load issue title" data-id="297406819" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2872">#2872</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2873" data-error-text="Failed to load issue title" data-id="297453720" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2873">#2873</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2874" data-error-text="Failed to load issue title" data-id="297495962" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2874">#2874</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2928" data-error-text="Failed to load issue title" data-id="301499498" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2928">#2928</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2929" data-error-text="Failed to load issue title" data-id="301509586" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2929">#2929</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2934" data-error-text="Failed to load issue title" data-id="301790132" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2934">#2934</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2856" data-error-text="Failed to load issue title" data-id="295084944" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2856">#2856</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2976" data-error-text="Failed to load issue title" data-id="304706297" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2976">#2976</a> - <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2984" data-error-text="Failed to load issue title" data-id="304740825" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2984">#2984</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2987" data-error-text="Failed to load issue title" data-id="304821270" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2987">#2987</a> - <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2989" data-error-text="Failed to load issue title" data-id="304866716" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2989">#2989</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2991" data-error-text="Failed to load issue title" data-id="304872444" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2991">#2991</a> - <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2993" data-error-text="Failed to load issue title" data-id="304884837" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2993">#2993</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2995" data-error-text="Failed to load issue title" data-id="305183031" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2995">#2995</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2784" data-error-text="Failed to load issue title" data-id="288646985" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2784">#2784</a>)</li>
<li>Ensure state cache is used when persisting events (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2864" data-error-text="Failed to load issue title" data-id="296733137" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2864">#2864</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2871" data-error-text="Failed to load issue title" data-id="297402993" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2871">#2871</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2802" data-error-text="Failed to load issue title" data-id="289312790" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2802">#2802</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2835" data-error-text="Failed to load issue title" data-id="292486340" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2835">#2835</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2836" data-error-text="Failed to load issue title" data-id="292488546" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2836">#2836</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2841" data-error-text="Failed to load issue title" data-id="293319852" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2841">#2841</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2842" data-error-text="Failed to load issue title" data-id="293516371" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2842">#2842</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2849" data-error-text="Failed to load issue title" data-id="294454677" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2849">#2849</a>)</li>
<li>Change the default config to bind on both IPv4 and IPv6 on all platforms (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2435" data-error-text="Failed to load issue title" data-id="254819246" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2435">#2435</a>) Thanks to <a class="user-mention" href="https://github.com/silkeh" data-hovercard-user-id="5798032">@silkeh</a>!</li>
<li>No longer require a specific version of saml2 (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2695" data-error-text="Failed to load issue title" data-id="275301530" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2695">#2695</a>) Thanks to <a class="user-mention" href="https://github.com/okurz" data-hovercard-user-id="1693432">@okurz</a>!</li>
<li>Remove <code>verbosity</code>/<code>log_file</code> from generated config (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2755" data-error-text="Failed to load issue title" data-id="286276436" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2755">#2755</a>)</li>
<li>Add and improve metrics and logging (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2770" data-error-text="Failed to load issue title" data-id="287188683" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2770">#2770</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2778" data-error-text="Failed to load issue title" data-id="288278959" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2778">#2778</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2785" data-error-text="Failed to load issue title" data-id="288661455" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2785">#2785</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2786" data-error-text="Failed to load issue title" data-id="288673610" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2786">#2786</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2787" data-error-text="Failed to load issue title" data-id="288680996" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2787">#2787</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2793" data-error-text="Failed to load issue title" data-id="288990634" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2793">#2793</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2794" data-error-text="Failed to load issue title" data-id="288990935" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2794">#2794</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2795" data-error-text="Failed to load issue title" data-id="288991781" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2795">#2795</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2809" data-error-text="Failed to load issue title" data-id="289596655" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2809">#2809</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2810" data-error-text="Failed to load issue title" data-id="289611347" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2810">#2810</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2833" data-error-text="Failed to load issue title" data-id="292478167" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2833">#2833</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2834" data-error-text="Failed to load issue title" data-id="292485874" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2834">#2834</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2844" data-error-text="Failed to load issue title" data-id="293722386" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2844">#2844</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2965" data-error-text="Failed to load issue title" data-id="303899583" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2965">#2965</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2927" data-error-text="Failed to load issue title" data-id="301458883" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2927">#2927</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2975" data-error-text="Failed to load issue title" data-id="304696133" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2975">#2975</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2790" data-error-text="Failed to load issue title" data-id="288882318" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2790">#2790</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2796" data-error-text="Failed to load issue title" data-id="289002187" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2796">#2796</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2838" data-error-text="Failed to load issue title" data-id="292878012" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2838">#2838</a>)</li>
<li>When using synctl with workers, don't start the main synapse automatically (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2774" data-error-text="Failed to load issue title" data-id="287752976" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2774">#2774</a>)</li>
<li>Minor performance improvements (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2773" data-error-text="Failed to load issue title" data-id="287525837" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2773">#2773</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2792" data-error-text="Failed to load issue title" data-id="288956339" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2792">#2792</a>)</li>
<li>Use a connection pool for non-federation outbound connections (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2817" data-error-text="Failed to load issue title" data-id="290150012" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2817">#2817</a>)</li>
<li>Make it possible to run unit tests against postgres (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2829" data-error-text="Failed to load issue title" data-id="291766061" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2829">#2829</a>)</li>
<li>Update pynacl dependency to 1.2.1 or higher (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2888" data-error-text="Failed to load issue title" data-id="298077542" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2888">#2888</a>) Thanks to <a class="user-mention" href="https://github.com/bachp" data-hovercard-user-id="333807">@bachp</a>!</li>
<li>Remove ability for AS users to call /events and /sync (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2948" data-error-text="Failed to load issue title" data-id="302351006" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2948">#2948</a>)</li>
<li>Use bcrypt.checkpw (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2949" data-error-text="Failed to load issue title" data-id="302378538" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2949">#2949</a>) Thanks to <a class="user-mention" href="https://github.com/krombel" data-hovercard-user-id="11167142">@krombel</a>!</li>
</ul>
Bug fixes:
<ul>
<li>Fix broken <code>ldap_config</code> config option (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2683" data-error-text="Failed to load issue title" data-id="274548585" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2683">#2683</a>) Thanks to <a class="user-mention" href="https://github.com/seckrv" data-hovercard-user-id="33725786">@seckrv</a>!</li>
<li>Fix error message when user is not allowed to unban (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2761" data-error-text="Failed to load issue title" data-id="286627895" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2761">#2761</a>) Thanks to <a class="user-mention" href="https://github.com/turt2live" data-hovercard-user-id="1190097">@turt2live</a>!</li>
<li>Fix publicised groups GET API (singular) over federation (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2772" data-error-text="Failed to load issue title" data-id="287465272" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2772">#2772</a>)</li>
<li>Fix user directory when using <code>user_directory_search_all_users</code> config option (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2803" data-error-text="Failed to load issue title" data-id="289317809" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2803">#2803</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2831" data-error-text="Failed to load issue title" data-id="291766486" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2831">#2831</a>)</li>
<li>Fix error on <code>/publicRooms</code> when no rooms exist (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2827" data-error-text="Failed to load issue title" data-id="291754519" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2827">#2827</a>)</li>
<li>Fix bug in quarantine_media (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2837" data-error-text="Failed to load issue title" data-id="292821166" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2837">#2837</a>)</li>
<li>Fix url_previews when no Content-Type is returned from URL (PR <a class="issue-link js-issue-link tooltipped tooltipped-ne" href="https://github.com/matrix-org/synapse/pull/2845" data-error-text="Failed to load issue title" data-id="293737258" data-permission-text="Issue title is private">#2845</a>)</li>
<li>Fix rare race in sync API when joining room (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2944" data-error-text="Failed to load issue title" data-id="302277324" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2944">#2944</a>)</li>
<li>Fix slow event search, switch back from GIST to GIN indexes (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2769" data-error-text="Failed to load issue title" data-id="287153610" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2769">#2769</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2848" data-error-text="Failed to load issue title" data-id="294449553" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2848">#2848</a>)</li>
</ul>