matrix.org/content/blog/2018/05/2018-05-18-synapse-0-29-1.md

98 lines
24 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.29.1 Released!"
path = "/blog/2018/05/18/synapse-0-29-1"
[taxonomies]
author = ["Neil Johnson"]
category = ["Releases"]
+++
It's release time people, not to be outdone by our friends on the <a href="https://medium.com/@RiotChat/stickers-are-here-introducing-riot-im-0-15-for-web-desktop-284c32b93acc">Riot web team</a>, Synapse v0.29.1 lands today.
v0.29.1 contains an officially supported docker image (many thanks to the contribution from <a href="https://github.com/kaiyou">@kaiyou</a>), continued progress towards Python 3 (thanks to <a class="user-mention" href="https://github.com/NotAFile" data-hovercard-user-id="5447747" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@NotAFile</a>) - as well as a heap of refactorings and bug fixes.
Something worth noting is a potentially breaking change in the error code that /login returns in the Client Server API. Details follow, but the change closes a gap between Synapse behaviour and the spec.
We'd like to give huge thanks to Silvio Fricke and Andreas Peters for writing and maintaining <a href="https://github.com/AVENTER-UG/docker-matrix">Synapse's first Dockerfile</a>, as well as <a href="https://github.com/allmende/docker-synapse">allmende</a>, <a href="https://github.com/jcgruenhage/docker-synapse">jcgruenhage</a>, <a href="https://github.com/ptman/synapse-docker">ptman</a>, and <a href="https://github.com/ilianaw/dockerfiles/tree/master/synapse">ilianaw</a> for theirs!  The new Dockerfile from kaiyou has ended up being merged into the <a href="https://github.com/matrix-org/synapse/tree/master/contrib/docker">main synapse tree</a> and we're going to try to maintain it going forwards, but folks should use whichever one they prefer.
You can pick it up from <a href="https://github.com/matrix-org/synapse/releases/tag/v0.29.1">https://github.com/matrix-org/synapse/releases/tag/v0.29.1</a> and thanks to everyone who tested the release candidate.
## Changes in synapse v0.29.1 (2018-05-17)
Changes:
<ul>
<li>Update docker documentation (PR <a href="https://github.com/matrix-org/synapse/pull/3222">#3222</a>)</li>
</ul>
### Changes in synapse v0.29.0 (2018-05-16)
No changes since v0.29.0-rc1
### Changes in synapse v0.29.0-rc1 (2018-05-14)
Potentially breaking change:
<ul>
<li>Make Client-Server API return 401 for invalid token (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3161" data-error-text="Failed to load issue title" data-id="319022836" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3161">#3161</a>).This changes the Client-server spec to return a 401 error code instead of 403 when the access token is unrecognised. This is the behaviour required by the specification, but some clients may be relying on the old, incorrect behaviour.Thanks to <a class="user-mention" href="https://github.com/NotAFile" data-hovercard-user-id="5447747" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@NotAFile</a> for fixing this.</li>
</ul>
Features:
<ul>
<li>Add a Dockerfile for synapse (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2846" data-error-text="Failed to load issue title" data-id="294138160" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2846">#2846</a>) Thanks to <a class="user-mention" href="https://github.com/kaiyou" data-hovercard-user-id="847861" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@kaiyou</a>!</li>
</ul>
Changes - General:
<ul>
<li>nuke-room-from-db.sh: added postgresql option and help (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/2337" data-error-text="Failed to load issue title" data-id="240936932" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/2337">#2337</a>) Thanks to <a class="user-mention" href="https://github.com/rubo77" data-hovercard-user-id="1591563" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@rubo77</a>!</li>
<li>Part user from rooms on account deactivate (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3201" data-error-text="Failed to load issue title" data-id="321584384" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3201">#3201</a>)</li>
<li>Make 'unexpected logging context' into warnings (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3007" data-error-text="Failed to load issue title" data-id="305674363" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3007">#3007</a>)</li>
<li>Set Server header in SynapseRequest (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3208" data-error-text="Failed to load issue title" data-id="322021667" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3208">#3208</a>)</li>
<li>remove duplicates from groups tables (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3129" data-error-text="Failed to load issue title" data-id="317640994" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3129">#3129</a>)</li>
<li>Improve exception handling for background processes (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3138" data-error-text="Failed to load issue title" data-id="318353806" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3138">#3138</a>)</li>
<li>Add missing consumeErrors to improve exception handling (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3139" data-error-text="Failed to load issue title" data-id="318354891" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3139">#3139</a>)</li>
<li>reraise exceptions more carefully (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3142" data-error-text="Failed to load issue title" data-id="318362067" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3142">#3142</a>)</li>
<li>Remove redundant call to preserve_fn (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3143" data-error-text="Failed to load issue title" data-id="318369685" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3143">#3143</a>)</li>
<li>Trap exceptions thrown within run_in_background (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3144" data-error-text="Failed to load issue title" data-id="318372621" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3144">#3144</a>)</li>
</ul>
Changes - Refactors:
<ul>
<li>Refactor /context to reuse pagination storage functions (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3193" data-error-text="Failed to load issue title" data-id="321240389" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3193">#3193</a>)</li>
<li>Refactor recent events func to use pagination func (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3195" data-error-text="Failed to load issue title" data-id="321511701" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3195">#3195</a>)</li>
<li>Refactor pagination DB API to return concrete type (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3196" data-error-text="Failed to load issue title" data-id="321514152" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3196">#3196</a>)</li>
<li>Refactor get_recent_events_for_room return type (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3198" data-error-text="Failed to load issue title" data-id="321524525" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3198">#3198</a>)</li>
<li>Refactor sync APIs to reuse pagination API (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3199" data-error-text="Failed to load issue title" data-id="321556855" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3199">#3199</a>)</li>
<li>Remove unused code path from member change DB func (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3200" data-error-text="Failed to load issue title" data-id="321572270" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3200">#3200</a>)</li>
<li>Refactor request handling wrappers (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3203" data-error-text="Failed to load issue title" data-id="321896316" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3203">#3203</a>)</li>
<li>transaction_id, destination defined twice (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3209" data-error-text="Failed to load issue title" data-id="322050253" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3209">#3209</a>) Thanks to <a class="user-mention" href="https://github.com/damir-manapov" data-hovercard-user-id="84543" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@damir-manapov</a>!</li>
<li>Refactor event storage to prepare for changes in state calculations (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3141" data-error-text="Failed to load issue title" data-id="318360848" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3141">#3141</a>)</li>
<li>Set Server header in SynapseRequest (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3208" data-error-text="Failed to load issue title" data-id="322021667" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3208">#3208</a>)</li>
<li>Use deferred.addTimeout instead of time_bound_deferred (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3127" data-error-text="Failed to load issue title" data-id="316624675" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3127">#3127</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3178" data-error-text="Failed to load issue title" data-id="319723346" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3178">#3178</a>)</li>
<li>Use run_in_background in preference to preserve_fn (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3140" data-error-text="Failed to load issue title" data-id="318358846" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3140">#3140</a>)</li>
</ul>
Changes - Python 3 migration:
<ul>
<li>Construct HMAC as bytes on py3 (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3156" data-error-text="Failed to load issue title" data-id="318672814" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3156">#3156</a>) Thanks to <a class="user-mention" href="https://github.com/NotAFile" data-hovercard-user-id="5447747" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@NotAFile</a>!</li>
<li>run config tests on py3 (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3159" data-error-text="Failed to load issue title" data-id="318819505" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3159">#3159</a>) Thanks to <a class="user-mention" href="https://github.com/NotAFile" data-hovercard-user-id="5447747" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@NotAFile</a>!</li>
<li>Open certificate files as bytes (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3084" data-error-text="Failed to load issue title" data-id="312978895" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3084">#3084</a>) Thanks to <a class="user-mention" href="https://github.com/NotAFile" data-hovercard-user-id="5447747" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@NotAFile</a>!</li>
<li>Open config file in non-bytes mode (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3085" data-error-text="Failed to load issue title" data-id="312979176" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3085">#3085</a>) Thanks to <a class="user-mention" href="https://github.com/NotAFile" data-hovercard-user-id="5447747" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@NotAFile</a>!</li>
<li>Make event properties raise AttributeError instead (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3102" data-error-text="Failed to load issue title" data-id="314438601" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3102">#3102</a>) Thanks to <a class="user-mention" href="https://github.com/NotAFile" data-hovercard-user-id="5447747" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@NotAFile</a>!</li>
<li>Use six.moves.urlparse (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3108" data-error-text="Failed to load issue title" data-id="314444112" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3108">#3108</a>) Thanks to <a class="user-mention" href="https://github.com/NotAFile" data-hovercard-user-id="5447747" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@NotAFile</a>!</li>
<li>Add py3 tests to tox with folders that work (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3145" data-error-text="Failed to load issue title" data-id="318431714" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3145">#3145</a>) Thanks to <a class="user-mention" href="https://github.com/NotAFile" data-hovercard-user-id="5447747" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@NotAFile</a>!</li>
<li>Don't yield in list comprehensions (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3150" data-error-text="Failed to load issue title" data-id="318628803" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3150">#3150</a>) Thanks to <a class="user-mention" href="https://github.com/NotAFile" data-hovercard-user-id="5447747" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@NotAFile</a>!</li>
<li>Move more xrange to six (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3151" data-error-text="Failed to load issue title" data-id="318628945" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3151">#3151</a>) Thanks to <a class="user-mention" href="https://github.com/NotAFile" data-hovercard-user-id="5447747" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@NotAFile</a>!</li>
<li>make imports local (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3152" data-error-text="Failed to load issue title" data-id="318629082" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3152">#3152</a>) Thanks to <a class="user-mention" href="https://github.com/NotAFile" data-hovercard-user-id="5447747" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@NotAFile</a>!</li>
<li>move httplib import to six (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3153" data-error-text="Failed to load issue title" data-id="318629172" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3153">#3153</a>) Thanks to <a class="user-mention" href="https://github.com/NotAFile" data-hovercard-user-id="5447747" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@NotAFile</a>!</li>
<li>Replace stringIO imports with six (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3154" data-error-text="Failed to load issue title" data-id="318629362" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3154">#3154</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3168" data-error-text="Failed to load issue title" data-id="319453092" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3168">#3168</a>) Thanks to <a class="user-mention" href="https://github.com/NotAFile" data-hovercard-user-id="5447747" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@NotAFile</a>!</li>
<li>more bytes strings (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3155" data-error-text="Failed to load issue title" data-id="318672504" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3155">#3155</a>) Thanks to <a class="user-mention" href="https://github.com/NotAFile" data-hovercard-user-id="5447747" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@NotAFile</a>!</li>
</ul>
Bug Fixes:
<ul>
<li>synapse fails to start under Twisted &gt;= 18.4 (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3157" data-error-text="Failed to load issue title" data-id="318721696" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3157">#3157</a>) Thanks to <a class="user-mention" href="https://github.com/Half-Shot" data-hovercard-user-id="2072976" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@Half-Shot</a>!</li>
<li>Fix a class of logcontext leaks (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3170" data-error-text="Failed to load issue title" data-id="319506071" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3170">#3170</a>)</li>
<li>Fix a couple of logcontext leaks in unit tests (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3172" data-error-text="Failed to load issue title" data-id="319584239" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3172">#3172</a>)</li>
<li>Fix logcontext leak in media repo (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3174" data-error-text="Failed to load issue title" data-id="319596214" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3174">#3174</a>)</li>
<li>Escape label values in prometheus metrics (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3175" data-error-text="Failed to load issue title" data-id="319611493" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3175">#3175</a>, <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3186" data-error-text="Failed to load issue title" data-id="319955083" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3186">#3186</a>)</li>
<li>Fix 'Unhandled Error' logs with Twisted 18.4 (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3182" data-error-text="Failed to load issue title" data-id="319867481" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3182">#3182</a>) Thanks to <a class="user-mention" href="https://github.com/Half-Shot" data-hovercard-user-id="2072976" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@Half-Shot</a>!</li>
<li>Fix logcontext leaks in rate limiter (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3183" data-error-text="Failed to load issue title" data-id="319883299" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3183">#3183</a>)</li>
<li>notifications: Convert next_token to string according to the spec (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3190" data-error-text="Failed to load issue title" data-id="320496620" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3190">#3190</a>) Thanks to <a class="user-mention" href="https://github.com/mujx" data-hovercard-user-id="6430350" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@mujx</a>!</li>
<li>nuke-room-from-db.sh: fix deletion from search table (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3194" data-error-text="Failed to load issue title" data-id="321366575" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3194">#3194</a>) Thanks to <a class="user-mention" href="https://github.com/rubo77" data-hovercard-user-id="1591563" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@rubo77</a>!</li>
<li>add guard for None on purge_history api (PR <a class="issue-link js-issue-link" href="https://github.com/matrix-org/synapse/pull/3160" data-error-text="Failed to load issue title" data-id="318873877" data-permission-text="Issue title is private" data-url="https://github.com/matrix-org/synapse/issues/3160">#3160</a>) Thanks to <a class="user-mention" href="https://github.com/krombel" data-hovercard-user-id="11167142" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" aria-describedby="hovercard-aria-description">@krombel</a>!</li>
</ul>