<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>Matrix.org - Spec</title>
    <subtitle>The Matrix.org Foundation</subtitle>
    <link href="https://f297f985.matrix-website.pages.dev/category/spec/atom.xml" rel="self" type="application/atom+xml"/>
    <link href="https://f297f985.matrix-website.pages.dev"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2023-11-29T17:44:27+00:00</updated>
    <id>https://f297f985.matrix-website.pages.dev/category/spec/atom.xml</id>
    
    
    
<entry xml:lang="en">
    <title>Matrix v1.9 release</title>
    <published>2023-11-29T17:44:27+00:00</published>
    <updated>2023-11-29T17:44:27+00:00</updated>
    <author>
      <name>
            Travis Ralston
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2023/11/29/matrix-v1.9-release/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2023/11/29/matrix-v1.9-release/</id>
    <content type="html">&lt;p&gt;Hey all,&lt;&#x2F;p&gt;
&lt;p&gt;We’ve just pushed out &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.9&#x2F;&quot;&gt;Matrix 1.9&lt;&#x2F;a&gt;! Our last release was &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;08&#x2F;23&#x2F;matrix-v1.8-release&#x2F;&quot;&gt;Matrix 1.8&lt;&#x2F;a&gt; and brought us a whole new room version. Matrix 1.9 continues a theme of an &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2022&#x2F;11&#x2F;17&#x2F;matrix-v-1-5-release&#x2F;&quot;&gt;annual maintenance release&lt;&#x2F;a&gt;, bringing with it mostly clarifications and bug fixes.&lt;&#x2F;p&gt;
&lt;p&gt;Today’s release sees just 1 MSC formally merged to the specification, though this is expected for a maintenance release. For the last 2 months (and beyond), we have largely been focused on changes which haven’t settled enough to be MSCs yet, such as interactions with the More Instant Messaging Interoperability (MIMI) working group at the IETF.&lt;&#x2F;p&gt;
&lt;p&gt;This post covers a lot of what we’ve been up to for the last few months, and what we expect to get done for the Matrix 1.10 release cycle. As always, the full changelog for Matrix 1.9 is at the bottom of the post :)&lt;&#x2F;p&gt;
&lt;h2 id=&quot;messaging-interoperability&quot;&gt;Messaging interoperability&lt;&#x2F;h2&gt;
&lt;p&gt;One of the major features of Matrix is its ability to connect multitudes of messaging providers with a common communications fabric - a feature that is extremely useful in light of the EU’s Digital Markets Act (DMA) which requires gatekeepers to interoperate with other messaging providers.&lt;&#x2F;p&gt;
&lt;p&gt;We’ve been working with the MIMI working group at the IETF to establish a federation protocol for DMA-style messaging alongside our own experiments like &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3995&quot;&gt;MSC3995: Linearized Matrix&lt;&#x2F;a&gt;. The proposed protocol for MIMI is based upon the Linearized Matrix work, but is primarily designed for an MLS-centric environment.&lt;&#x2F;p&gt;
&lt;p&gt;Discussions and experiments will continue over the next several months, and you can read all about our progress so far in &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;11&#x2F;10&#x2F;this-week-in-matrix-2023-11-10&#x2F;#dept-of-spec-scroll&quot;&gt;TWIM 2023-11-10&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;custom-emoji-stickers&quot;&gt;Custom emoji&#x2F;stickers&lt;&#x2F;h2&gt;
&lt;p&gt;We mentioned in Matrix 1.8’s release that we’d be taking a look at &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2545&quot;&gt;MSC2545&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;1951&quot;&gt;MSC1951&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4027&quot;&gt;MSC4027&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3892&quot;&gt;MSC3892&lt;&#x2F;a&gt; - a family of MSCs collectively called “custom emoji&#x2F;stickers”. Our review started relatively late in the Matrix 1.9 release cycle (sorry), and we started thinking about interactions with &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3916&quot;&gt;MSC3916&lt;&#x2F;a&gt;&#x2F;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3911&quot;&gt;MSC3911&lt;&#x2F;a&gt; where media is linked to a specific event.&lt;&#x2F;p&gt;
&lt;p&gt;We haven’t had a chance to really dig into the specific possible concerns on these two features overlapping, but do welcome feedback and suggestions for what might impact custom emoji&#x2F;stickers over on our &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1679&quot;&gt;dedicated tracking issue&lt;&#x2F;a&gt;. We’ll continue working through the problem space in the Matrix 1.10 release cycle, and hope to get both linked media and custom emoji&#x2F;stickers up for FCP.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;upcoming-in-matrix-1-10&quot;&gt;Upcoming in Matrix 1.10&lt;&#x2F;h2&gt;
&lt;p&gt;With each release we aim to have a plan for what the next release will look like, giving us a direction or theme to follow. Noting that the next release cycle has a lot of holidays (and FOSDEM) in it, we’ve got an initial list of things to look at, grouped by theme:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Authenticated media
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3916&quot;&gt;MSC3916&lt;&#x2F;a&gt; - Authentication for media&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3911&quot;&gt;MSC3911&lt;&#x2F;a&gt; - Linking media to events&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Custom emoji&#x2F;stickers
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2545&quot;&gt;MSC2545&lt;&#x2F;a&gt; - Image packs&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;1951&quot;&gt;MSC1951&lt;&#x2F;a&gt; - Different style of image packs&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4027&quot;&gt;MSC4027&lt;&#x2F;a&gt; - Images in reactions&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3892&quot;&gt;MSC3892&lt;&#x2F;a&gt; - Encrypted emotes&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4074&quot;&gt;MSC4074&lt;&#x2F;a&gt; - Server-side annotation aggregation&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;issues&#x2F;4048&quot;&gt;MSC4048&lt;&#x2F;a&gt; - Authenticated key backup&lt;&#x2F;li&gt;
&lt;li&gt;Extensible Events
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3954&quot;&gt;MSC3954&lt;&#x2F;a&gt; - Text emotes&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3955&quot;&gt;MSC3955&lt;&#x2F;a&gt; - Replacement for notice messages&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3551&quot;&gt;MSC3551&lt;&#x2F;a&gt; - Files&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3552&quot;&gt;MSC3552&lt;&#x2F;a&gt; - Images and Stickers&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3553&quot;&gt;MSC3553&lt;&#x2F;a&gt; - Videos&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3927&quot;&gt;MSC3927&lt;&#x2F;a&gt; - Audio&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Encrypted Appservices
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2409&quot;&gt;MSC2409&lt;&#x2F;a&gt; - Sending EDUs to appservices&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3202&quot;&gt;MSC3202&lt;&#x2F;a&gt; - Encrypted appservices&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2702&quot;&gt;MSC2702&lt;&#x2F;a&gt; - Content-Disposition semantics for media&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3939&quot;&gt;MSC3939&lt;&#x2F;a&gt; - Account locking&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;This list is &lt;strong&gt;not&lt;&#x2F;strong&gt; final and will be iterated upon over the next couple of weeks. If you’ve got an MSC to add or remove, let us know in the &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#sct-office:matrix.org&quot;&gt;SCT Office&lt;&#x2F;a&gt; on Matrix. For all of the MSCs above, we aim to get them to a FCP-accepted state at a minimum, and merged to the spec if time permits (and makes sense - looking at you, Extensible Events).&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-full-changelog&quot;&gt;The full changelog&lt;&#x2F;h2&gt;
&lt;p&gt;Matrix 1.9 is a relatively light maintenance release, but it still has a changelog! Read on for full details.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;client-server-api&quot;&gt;Client-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add the &lt;code&gt;m.rule.suppress_edits&lt;&#x2F;code&gt; default push rule, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3958&quot;&gt;MSC3958&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1617&quot;&gt;#1617&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fix &lt;code&gt;m.call.negotiate&lt;&#x2F;code&gt; schema and example. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1546&quot;&gt;#1546&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that the &lt;code&gt;via&lt;&#x2F;code&gt; property is required for &lt;code&gt;m.space.parent&lt;&#x2F;code&gt; and &lt;code&gt;m.space.child&lt;&#x2F;code&gt; as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;1772&quot;&gt;MSC1772&lt;&#x2F;a&gt;. Contributed by @PaarthShah. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1618&quot;&gt;#1618&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add a note to the &lt;code&gt;&#x2F;publicRooms&lt;&#x2F;code&gt; API that the server name is case sensitive. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1638&quot;&gt;#1638&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that an &lt;code&gt;m.room.name&lt;&#x2F;code&gt; event with an absent &lt;code&gt;name&lt;&#x2F;code&gt; field is not expected behavior. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1639&quot;&gt;#1639&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix schemas used for account data and presence events in &lt;code&gt;GET &#x2F;initialSync&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1647&quot;&gt;#1647&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1658&quot;&gt;#1658&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1661&quot;&gt;#1661&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1665&quot;&gt;#1665&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix &lt;code&gt;.m.rule.suppress_notices&lt;&#x2F;code&gt; push rule not being valid JSON. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1671&quot;&gt;#1671&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add missing properties for &lt;code&gt;event_property_is&lt;&#x2F;code&gt; and &lt;code&gt;event_property_contains&lt;&#x2F;code&gt; push conditions to &lt;code&gt;PushConditions&lt;&#x2F;code&gt; object. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1673&quot;&gt;#1673&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Indicate that fallback keys should have a &lt;code&gt;fallback&lt;&#x2F;code&gt; property set to &lt;code&gt;true&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1676&quot;&gt;#1676&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that thread roots are not considered within the thread. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1677&quot;&gt;#1677&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;server-server-api&quot;&gt;Server-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fix schema of &lt;code&gt;m.receipt&lt;&#x2F;code&gt; EDU. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1636&quot;&gt;#1636&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1661&quot;&gt;#1661&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that federation requests for non-local users are invalid. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1672&quot;&gt;#1672&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;application-service-api&quot;&gt;Application Service API&lt;&#x2F;h3&gt;
&lt;p&gt;No significant changes.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;identity-service-api&quot;&gt;Identity Service API&lt;&#x2F;h3&gt;
&lt;p&gt;No significant changes.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;push-gateway-api&quot;&gt;Push Gateway API&lt;&#x2F;h3&gt;
&lt;p&gt;No significant changes.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;room-versions&quot;&gt;Room Versions&lt;&#x2F;h3&gt;
&lt;p&gt;No significant changes.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;appendices&quot;&gt;Appendices&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Clarify timestamp specification with respect to leap seconds. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1627&quot;&gt;#1627&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1652&quot;&gt;#1652&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;internal-changes-tooling&quot;&gt;Internal Changes&#x2F;Tooling&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add more CI checks for OpenAPI definitions and JSON Schemas. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1656&quot;&gt;#1656&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Generate server-server OpenAPI definition. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1657&quot;&gt;#1657&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Replace all mentions of Swagger by OpenAPI. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1633&quot;&gt;#1633&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix enum types in JSON schemas. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1634&quot;&gt;#1634&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix schema of &lt;code&gt;m.mentions&lt;&#x2F;code&gt; object. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1635&quot;&gt;#1635&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix rendering of &lt;code&gt;m.receipt&lt;&#x2F;code&gt; event in Client-Server API. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1637&quot;&gt;#1637&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove required &lt;code&gt;fieldname&lt;&#x2F;code&gt; in appservice Protocol definition. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1646&quot;&gt;#1646&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix github action workflow responsible for releasing of @matrix-org&#x2F;spec package. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1648&quot;&gt;#1648&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Upgrade GitHub actions. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1660&quot;&gt;#1660&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
</entry>

    
<entry xml:lang="en">
    <title>Matrix v1.8 release</title>
    <published>2023-08-23T16:25:37+00:00</published>
    <updated>2023-08-23T16:25:37+00:00</updated>
    <author>
      <name>
            Travis Ralston
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2023/08/23/matrix-v1.8-release/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2023/08/23/matrix-v1.8-release/</id>
    <content type="html">&lt;p&gt;Hey all,&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.8&#x2F;&quot;&gt;Matrix 1.8&lt;&#x2F;a&gt; is out now! The last release, &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;05&#x2F;25&#x2F;matrix-v-1-7-release&#x2F;&quot;&gt;Matrix 1.7&lt;&#x2F;a&gt;, was full of features and laid out a plan for what Matrix 1.8 was expected to become. We spent most of our time focusing on the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3995&quot;&gt;MSC3995&lt;&#x2F;a&gt;-related MSCs from that original plan, but made an effort to get the other stuff looked at as well.&lt;&#x2F;p&gt;
&lt;p&gt;With this release we see a total of 9 MSCs achieve their formally adopted status. The full changelog at the bottom has all the details, but please read on for what’s new in room version 11, and Matrix 1.9’s roadmap :)&lt;&#x2F;p&gt;
&lt;h2 id=&quot;room-version-11&quot;&gt;Room version 11&lt;&#x2F;h2&gt;
&lt;p&gt;Matrix 1.8 features a &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.8&#x2F;rooms&#x2F;v11&#x2F;&quot;&gt;new room version&lt;&#x2F;a&gt;! Normally a room version wouldn’t have a particular theme, but for v11 we aimed to clean up the different algorithms and event format details. After 10 prior room versions there were some artifacts of the past sticking around (but not causing problems necessarily) - many of them are cleaned up here.&lt;&#x2F;p&gt;
&lt;p&gt;Specified originally as &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3820&quot;&gt;MSC3820&lt;&#x2F;a&gt;, v11 introduces the following changes:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2174&quot;&gt;MSC2174&lt;&#x2F;a&gt; - Move &lt;code&gt;redacts&lt;&#x2F;code&gt; to the &lt;code&gt;content&lt;&#x2F;code&gt; of &lt;code&gt;m.room.redaction&lt;&#x2F;code&gt; events.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2175&quot;&gt;MSC2175&lt;&#x2F;a&gt; - Remove &lt;code&gt;creator&lt;&#x2F;code&gt; from &lt;code&gt;m.room.create&lt;&#x2F;code&gt; events (use &lt;code&gt;sender&lt;&#x2F;code&gt; instead).&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3989&quot;&gt;MSC3989&lt;&#x2F;a&gt; - Remove &lt;code&gt;origin&lt;&#x2F;code&gt; from events.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2176&quot;&gt;MSC2176&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3821&quot;&gt;MSC3821&lt;&#x2F;a&gt; - General updates to redaction algorithm.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Alongside being a cleanup room version, v11 is the initial base we used for our efforts in the IETF world. It provides an easier starting point for new server implementations, particularly when paired with Linearized Matrix (described as both an &lt;a href=&quot;https:&#x2F;&#x2F;datatracker.ietf.org&#x2F;doc&#x2F;html&#x2F;draft-ralston-mimi-linearized-matrix-03&quot;&gt;IETF Internet-Draft&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3995&quot;&gt;MSC3995&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;In future room versions the cleanup effort will continue, alongside additional features for supporting the IETF use cases. Watch this space for updates.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;upcoming-in-matrix-1-9&quot;&gt;Upcoming in Matrix 1.9&lt;&#x2F;h2&gt;
&lt;p&gt;We’re continuing the trend of planning ahead and have the following themes planned for work in Matrix 1.9:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Anything required by the MIMI&#x2F;IETF efforts we’re undertaking. This currently includes:
&lt;ul&gt;
&lt;li&gt;Extensible Events&lt;&#x2F;li&gt;
&lt;li&gt;Role-Based Access Control (RBAC; new MSC expected)&lt;&#x2F;li&gt;
&lt;li&gt;Next generation of Linearized Matrix (already)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4044&quot;&gt;MSC4044&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4045&quot;&gt;MSC4045&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Binary-encoded events (maybe, but probable)&lt;&#x2F;li&gt;
&lt;li&gt;Canonical DMs (maybe)&lt;&#x2F;li&gt;
&lt;li&gt;Sending events as rooms&#x2F;servers instead of just users (maybe)&lt;&#x2F;li&gt;
&lt;li&gt;Further room version cleanup as needed&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;Merging &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3939&quot;&gt;MSC3939&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Accepting a combination of &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2545&quot;&gt;MSC2545&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;1951&quot;&gt;MSC1951&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3892&quot;&gt;MSC3892&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4027&quot;&gt;MSC4027&lt;&#x2F;a&gt;. This may involve creating a new MSC to cover the functionality of each, plus the needful for IETF and Extensible Events efforts.&lt;&#x2F;li&gt;
&lt;li&gt;Merging &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3391&quot;&gt;MSC3391&lt;&#x2F;a&gt; (time permitting).&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;A lot of this stuff might take the shape of opening MSCs or thinking about the problems, but we’re also very optimistic about getting them through FCP before November 2023. Watch this space for updates :)&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-full-changelog&quot;&gt;The full changelog&lt;&#x2F;h2&gt;
&lt;p&gt;There’s so many more things than what we covered in this blog post - flip through the changelog below for a full idea of what’s landed.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;client-server-api&quot;&gt;Client-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Require callers to be joined to the room to report its events, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2249&quot;&gt;MSC2249&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1517&quot;&gt;#1517&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fix missing &lt;code&gt;type&lt;&#x2F;code&gt; property in the JSON schema definition of the &lt;code&gt;m.reaction&lt;&#x2F;code&gt; event.  Contributed by @chebureki. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1552&quot;&gt;#1552&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Make sure examples types match schema in definitions. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1563&quot;&gt;#1563&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Allow &lt;code&gt;null&lt;&#x2F;code&gt; in &lt;code&gt;room_types&lt;&#x2F;code&gt; in &lt;code&gt;POST &#x2F;publicRooms&lt;&#x2F;code&gt; endpoints schemas. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1564&quot;&gt;#1564&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix broken header formatting. Contributed by @midnightveil. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1578&quot;&gt;#1578&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Render binary request and response bodies. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1579&quot;&gt;#1579&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix description of MAC calculation in SAS verification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1590&quot;&gt;#1590&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Update link to SAS emoji definition data. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1593&quot;&gt;#1593&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1597&quot;&gt;#1597&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;server-server-api&quot;&gt;Server-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Deprecations&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Deprecate &lt;code&gt;matrix&lt;&#x2F;code&gt; SRV lookup steps during server discovery, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4040&quot;&gt;MSC4040&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1624&quot;&gt;#1624&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;matrix-fed&lt;&#x2F;code&gt; SRV lookup steps to server discovery, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4040&quot;&gt;MSC4040&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1624&quot;&gt;#1624&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Document why &lt;code&gt;&#x2F;state_ids&lt;&#x2F;code&gt; can respond with a 404. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1521&quot;&gt;#1521&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix response definition for &lt;code&gt;POST &#x2F;_matrix&#x2F;federation&#x2F;v1&#x2F;user&#x2F;keys&#x2F;claim&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1559&quot;&gt;#1559&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix examples in server keys definition. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1560&quot;&gt;#1560&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Make sure examples types match schema in definitions. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1563&quot;&gt;#1563&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Allow &lt;code&gt;null&lt;&#x2F;code&gt; in &lt;code&gt;room_types&lt;&#x2F;code&gt; in &lt;code&gt;POST &#x2F;publicRooms&lt;&#x2F;code&gt; endpoints schemas. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1564&quot;&gt;#1564&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix broken header formatting. Contributed by @midnightveil. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1578&quot;&gt;#1578&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove spurious mention of a &amp;quot;default port&amp;quot; with respect to SRV record lookup. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1615&quot;&gt;#1615&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Switch to ordered list for server name resolution steps. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1623&quot;&gt;#1623&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;application-service-api&quot;&gt;Application Service API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fix type of custom &lt;code&gt;fields&lt;&#x2F;code&gt; in thirdparty lookup queries. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1584&quot;&gt;#1584&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;identity-service-api&quot;&gt;Identity Service API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Make sure examples types match schema in definitions. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1563&quot;&gt;#1563&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;push-gateway-api&quot;&gt;Push Gateway API&lt;&#x2F;h3&gt;
&lt;p&gt;No significant changes.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;room-versions&quot;&gt;Room Versions&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add room version 11 as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3820&quot;&gt;MSC3820&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1604&quot;&gt;#1604&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Move &lt;code&gt;redacts&lt;&#x2F;code&gt; from top level to &lt;code&gt;content&lt;&#x2F;code&gt; on &lt;code&gt;m.room.redaction&lt;&#x2F;code&gt; events in room version 11, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2174&quot;&gt;MSC2174&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1604&quot;&gt;#1604&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove &lt;code&gt;creator&lt;&#x2F;code&gt; from &lt;code&gt;m.room.creator&lt;&#x2F;code&gt; events in room version 11, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2175&quot;&gt;MSC2175&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1604&quot;&gt;#1604&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove remaining usage of &lt;code&gt;origin&lt;&#x2F;code&gt; from events in room version 11, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3989&quot;&gt;MSC3989&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1604&quot;&gt;#1604&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Update the redaction rules in room version 11, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2176&quot;&gt;MSC2176&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3821&quot;&gt;MSC3821&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1604&quot;&gt;#1604&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;appendices&quot;&gt;Appendices&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Allow &lt;code&gt;+&lt;&#x2F;code&gt; in Matrix IDs, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4009&quot;&gt;MSC4009&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1583&quot;&gt;#1583&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Clarify spec re canonical JSON to handle negative-zero; also, give an example of negative-zero and a large power of ten. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1573&quot;&gt;#1573&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;internal-changes-tooling&quot;&gt;Internal Changes&#x2F;Tooling&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Upgrade Swagger data to OpenAPI 3.1. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1310&quot;&gt;#1310&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Create &lt;code&gt;@matrix-org&#x2F;spec&lt;&#x2F;code&gt; npm package to ship the SAS Emoji data definitions &amp;amp; translations. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1620&quot;&gt;#1620&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Update the CI to validate the file extension of changelog entries. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1542&quot;&gt;#1542&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Disclosure sections now only display their title when collapsed. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1549&quot;&gt;#1549&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix the sidebar in recent versions of Hugo. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1551&quot;&gt;#1551&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Bump jsonschema to validate JSON Schemas against Draft 2020-12. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1556&quot;&gt;#1556&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Use Redocly CLI to validate OpenAPI definitions. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1558&quot;&gt;#1558&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Use tag name as the OpenAPI definition version. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1561&quot;&gt;#1561&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Make sure version in &lt;code&gt;x-changedInMatrixVersion&lt;&#x2F;code&gt; is a string. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1562&quot;&gt;#1562&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify usage of ABNF for grammar in the documentation style guide. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1582&quot;&gt;#1582&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove unnecessary &lt;code&gt;oneOf&lt;&#x2F;code&gt;s in JSON schemas. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1585&quot;&gt;#1585&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Update the version of Hugo used to render the spec to v0.113.0. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1591&quot;&gt;#1591&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix rendered changelog with new version of towncrier. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1598&quot;&gt;#1598&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Improve the layout of tables on desktop displays. Contributed by Martin Fischer. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1601&quot;&gt;#1601&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
</entry>

    
<entry xml:lang="en">
    <title>Matrix v1.7 release</title>
    <published>2023-05-25T18:56:10+00:00</published>
    <updated>2023-05-25T18:56:10+00:00</updated>
    <author>
      <name>
            Travis Ralston
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2023/05/25/matrix-v-1-7-release/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2023/05/25/matrix-v-1-7-release/</id>
    <content type="html">&lt;p&gt;Hey all,&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.7&#x2F;&quot;&gt;Matrix 1.7&lt;&#x2F;a&gt; has just been released! The last spec release was &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;02&#x2F;14&#x2F;matrix-v-1-6-release&quot;&gt;about 3 months ago&lt;&#x2F;a&gt;, keeping us on track for regular quarterly releases. Unlike Matrix 1.6 though, today’s release is packed with plenty of features, some of which we’d like to call out here. Not all implementations will have support for these features yet though, and that’s okay (expected, even).&lt;&#x2F;p&gt;
&lt;p&gt;Adding support for a spec release can be a significant body of work. Instead of implementations having everything ready for spec release day, the idea is that they gain support over the next few months. If you’re able, please help those projects get v1.7’s features.&lt;&#x2F;p&gt;
&lt;p&gt;Today, we see 15 MSCs achieve their formally adopted status. All of them bring forward some much-needed features to Matrix, and a few highlights are below. Read on to the full changelog for a complete overview, and for a sneak peak at what the Spec Core Team (SCT) is planning to look at for v1.8 👀&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;finally-improvements-to-media-in-matrix&quot;&gt;🖼️ Finally, improvements to media in Matrix&lt;&#x2F;h2&gt;
&lt;p&gt;The media repo has been largely unchanged since it was first released in 2015 as &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;historical&#x2F;r0.0.0&#x2F;client_server.html#id25&quot;&gt;r0.0.0&lt;&#x2F;a&gt; - the only change being the addition of URL previews in &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;historical&#x2F;client_server&#x2F;r0.3.0.html#id67&quot;&gt;r0.3.0&lt;&#x2F;a&gt; (released in 2017). Thankfully, the folks over at &lt;a href=&quot;https:&#x2F;&#x2F;www.beeper.com&#x2F;&quot;&gt;Beeper&lt;&#x2F;a&gt; have been busy changing this situation!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3860&quot;&gt;MSC3860&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2246&quot;&gt;MSC2246&lt;&#x2F;a&gt; are both available as of today in the spec, improving how much bandwidth media repos need to offer and fixing a long-standing issue where uploading large files can be a challenge. MSC3860, specified &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.7&#x2F;client-server-api&#x2F;#get_matrixmediav3downloadservernamemediaid&quot;&gt;here&lt;&#x2F;a&gt; as &lt;code&gt;allow_redirect&lt;&#x2F;code&gt;, allows clients to opt-in to HTTP redirects on downloads, avoiding slowdowns from the server having to proxy and move the media twice. It’s particularly useful if your server uses a CDN like S3 to host media - just tell clients to go grab media directly from S3 instead.&lt;&#x2F;p&gt;
&lt;p&gt;Meanwhile, MSC2246 (largely specified &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.7&#x2F;client-server-api&#x2F;#post_matrixmediav1create&quot;&gt;here&lt;&#x2F;a&gt;) gives clients an ability to upload their media after sending the associated event. The MSC was originally designed with bridges in mind, where message order and delays are very perceivable problems for users, however clients like Element X are thinking about using the feature to improve local echo on uploads as well. We’re excited to see uploads finally be reliable, and non-blocking for the conversation flow!&lt;&#x2F;p&gt;
&lt;p&gt;History would indicate that we’ve got several years to go before the next major improvement to media, but we’re looking to change that: &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3916&quot;&gt;MSC3916: Authentication for media&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;4016&quot;&gt;MSC4016: Streaming E2EE file transfers&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3870&quot;&gt;MSC3870: Upload direct to URL&lt;&#x2F;a&gt; are all fairly promising MSCs we’re planning to take a look at in the next year or so.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;sparkling-heart-reactions-are-here&quot;&gt;💖 Reactions are here&lt;&#x2F;h2&gt;
&lt;p&gt;Reactions have actually been in use for quite some time already, but the MSC struggled to make it into the spec formally. With Matrix 1.7 though, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2677&quot;&gt;MSC2677&lt;&#x2F;a&gt; is &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.7&#x2F;client-server-api&#x2F;#event-annotations-and-reactions&quot;&gt;merged&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;MSC2677 was the last part of the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;1849&quot;&gt;MSC1849&lt;&#x2F;a&gt; saga, with &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2674&quot;&gt;MSC2674&lt;&#x2F;a&gt; (relationships) and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2675&quot;&gt;MSC2675&lt;&#x2F;a&gt; (server-side aggregation) landing in Matrix 1.3, and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2676&quot;&gt;MSC2676&lt;&#x2F;a&gt; (edits) landing in Matrix 1.4 back in September 2022. There’s still some work to be done in this area though, and certainly some quality of life improvements asking to be written up as MSCs - watch this space for progress on those fronts.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;tada-achievement-first-msc-merged&quot;&gt;🎉 Achievement: First MSC merged&lt;&#x2F;h2&gt;
&lt;p&gt;One of the best parts about writing an MSC is eventually seeing it released in the spec, and these folks saw their MSCs reach this milestone for the first time. Congratulations everyone, and please keep them coming!&lt;&#x2F;p&gt;
&lt;p&gt;In no particular order:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;benkuly&quot;&gt;benkuly&lt;&#x2F;a&gt; with &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3925&quot;&gt;MSC3925&lt;&#x2F;a&gt; (their first ever MSC!).&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Fizzadar&quot;&gt;Fizzadar&lt;&#x2F;a&gt; with &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3758&quot;&gt;MSC3758&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3860&quot;&gt;MSC3860&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;hughns&quot;&gt;hughns&lt;&#x2F;a&gt; with &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3970&quot;&gt;MSC3970&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3882&quot;&gt;MSC3882&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Johennes&quot;&gt;Johennes&lt;&#x2F;a&gt; with &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3873&quot;&gt;MSC3873&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Anyone can contribute MSCs, improving the whole of Matrix for everyone. If you have an idea (or bugfix), check out the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals#matrix-specification-proposals&quot;&gt;guidelines&lt;&#x2F;a&gt; and let us know if you run into any questions in &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#matrix-spec:matrix.org&quot;&gt;#matrix-spec:matrix.org&lt;&#x2F;a&gt; on Matrix - we’re always happy to help.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;soon-early-considerations-for-matrix-1-8&quot;&gt;🔜 Early considerations for Matrix 1.8&lt;&#x2F;h2&gt;
&lt;p&gt;The SCT aims to cut a release in the middle of each calendar quarter, largely to avoid most conflicts with regional holidays, and since Matrix 1.1 the releases have been getting less and less organic. Instead of looking at MSCs whenever they’re raised, the SCT has been aiming to hear about which MSCs will need looking at. This is a very subtle difference, but one that dramatically changes how the quarterly releases are structured.&lt;&#x2F;p&gt;
&lt;p&gt;With each spec release, the SCT has slowly been working towards a place where the majority of MSC work is thought about in advance, and Matrix 1.8 is another milestone along this journey. Over the next couple weeks we’ll be working on a roadmap based on the MSCs that are raised to us in the &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#sct-office:matrix.org&quot;&gt;SCT Office room&lt;&#x2F;a&gt; on Matrix, starting with the ideas we raised ourselves earlier in the year.&lt;&#x2F;p&gt;
&lt;p&gt;As of writing, our current plan for Matrix 1.8 includes:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Further work on adopting OIDC (namely progress on &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3824&quot;&gt;MSC3824&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2965&quot;&gt;MSC2965&lt;&#x2F;a&gt;, and other similar proposals).&lt;&#x2F;li&gt;
&lt;li&gt;Pushing the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3995&quot;&gt;MSC3995&lt;&#x2F;a&gt; suite of MSCs towards acceptance&#x2F;merge status.&lt;&#x2F;li&gt;
&lt;li&gt;Continuing the improvements of VoIP (MatrixRTC) as we work towards &lt;a href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2023&#x2F;schedule&#x2F;event&#x2F;matrix20&#x2F;&quot;&gt;Matrix 2.0&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Various improvements to event relationships, such as &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3981&quot;&gt;MSC3981&lt;&#x2F;a&gt;, and push in general, such as &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3958&quot;&gt;MSC3958&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3391&quot;&gt;MSC3391&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;While this doesn’t represent a commitment to have these MSCs merged, these are the areas that the SCT is likely to be thinking about for the next 3ish months. If you have MSCs that might be possible to merge before roughly August, let us know in the &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#sct-office:matrix.org&quot;&gt;SCT Office room&lt;&#x2F;a&gt; (even if those MSCs aren’t on-theme with the above - we still want to hear about them!).&lt;&#x2F;p&gt;
&lt;p&gt;Critically, our release planning does not just include MSCs that are on track for being merged. We are also aiming to track that a given MSC needs technical review (for example), or that it might be receiving attention external to the SCT (such as implementation). We’d love to hear what you’re working on so we can start bringing those MSCs to the top of the list - let us know in the &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#sct-office:matrix.org&quot;&gt;SCT Office room&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;As is the theme for this section, if you have any questions about what the release process looks like (or where a given MSC currently sits in the roadmap), let us know in the &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#sct-office:matrix.org&quot;&gt;SCT Office room&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-full-changelog&quot;&gt;The full changelog&lt;&#x2F;h2&gt;
&lt;p&gt;There’s so many more things than what we covered in this blog post - flip through the changelog below for a full idea of what’s landed. Special thanks to &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;MichaelKohler&quot;&gt;MichaelKohler&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;zecakeh&quot;&gt;zecakeh&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Cadair&quot;&gt;Cadair&lt;&#x2F;a&gt; for contributing clarification &amp;amp; bug fix PRs in this release - we greatly appreciate it!&lt;&#x2F;p&gt;
&lt;!-- Intentionally blank line to ensure headers work in the concatenated changelog --&gt;
&lt;h3 id=&quot;client-server-api&quot;&gt;Client-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;New Endpoints&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;&#x2F;client-server-api&#x2F;#post_matrixmediav1create&quot;&gt;&lt;code&gt;POST &#x2F;_matrix&#x2F;media&#x2F;v1&#x2F;create&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1499&quot;&gt;#1499&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;&#x2F;client-server-api&#x2F;#put_matrixmediav3uploadservernamemediaid&quot;&gt;&lt;code&gt;PUT &#x2F;_matrix&#x2F;media&#x2F;v3&#x2F;upload&#x2F;{serverName}&#x2F;{mediaId}&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1499&quot;&gt;#1499&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;&#x2F;client-server-api&#x2F;#post_matrixclientv1loginget_token&quot;&gt;&lt;code&gt;POST &#x2F;_matrix&#x2F;client&#x2F;v1&#x2F;login&#x2F;get_token&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1530&quot;&gt;#1530&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Changes to the server-side aggregation of &lt;code&gt;m.replace&lt;&#x2F;code&gt; (edit) events, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3925&quot;&gt;MSC3925&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1440&quot;&gt;#1440&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1525&quot;&gt;#1525&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add new push rule conditions &lt;code&gt;event_property_is&lt;&#x2F;code&gt; and &lt;code&gt;event_property_contains&lt;&#x2F;code&gt;, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3758&quot;&gt;MSC3758&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3966&quot;&gt;MSC3966&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1464&quot;&gt;#1464&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;m.annotation&lt;&#x2F;code&gt; relations (reactions), as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2677&quot;&gt;MSC2677&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1475&quot;&gt;#1475&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1531&quot;&gt;#1531&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Support asynchronous media uploads, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2246&quot;&gt;MSC2246&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1499&quot;&gt;#1499&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1510&quot;&gt;#1510&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Document the &lt;code&gt;m.mentions&lt;&#x2F;code&gt; property; the &lt;code&gt;.m.rule.is_user_mention&lt;&#x2F;code&gt; and &lt;code&gt;.m.rule.is_room_mention&lt;&#x2F;code&gt; push rules; and other notification behaviour, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3952&quot;&gt;MSC3952&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1508&quot;&gt;#1508&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Improve VoIP signaling, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2746&quot;&gt;MSC2746&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1511&quot;&gt;#1511&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1540&quot;&gt;#1540&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Update the scope of transaction IDs, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3970&quot;&gt;MSC3970&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1526&quot;&gt;#1526&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add an ability to redirect media downloads, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3860&quot;&gt;MSC3860&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1529&quot;&gt;#1529&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add an ability to use an existing session to log in another, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3882&quot;&gt;MSC3882&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1530&quot;&gt;#1530&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Clarify the sections of the specification concerning aggregation of child events. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1424&quot;&gt;#1424&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1432&quot;&gt;#1432&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1442&quot;&gt;#1442&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1447&quot;&gt;#1447&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1455&quot;&gt;#1455&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1465&quot;&gt;#1465&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1500&quot;&gt;#1500&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1509&quot;&gt;#1509&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that reply chain fallback for threads might not be present. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1439&quot;&gt;#1439&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify what event property the content-specific push rules match against. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1441&quot;&gt;#1441&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the semantics that make requests idempotent. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1449&quot;&gt;#1449&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Improve documentation of how clients use push rules. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1461&quot;&gt;#1461&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that servers should enforce a default &lt;code&gt;limit&lt;&#x2F;code&gt; on a filter if one is not specified. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1463&quot;&gt;#1463&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Disambiguate using property names with dots in them during push rule processing, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3873&quot;&gt;MSC3873&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3980&quot;&gt;MSC3980&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1464&quot;&gt;#1464&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix phrasing &amp;amp; typography in the registration endpoint description. Contributed by @HarHarLinks. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1474&quot;&gt;#1474&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove outdated text saying that &lt;code&gt;state_default&lt;&#x2F;code&gt; is 0 if there is no &lt;code&gt;m.room.power_levels&lt;&#x2F;code&gt; event in a room. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1479&quot;&gt;#1479&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove fictitious &lt;code&gt;token&lt;&#x2F;code&gt; parameter on &lt;code&gt;&#x2F;keys&#x2F;query&lt;&#x2F;code&gt; endpoint. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1485&quot;&gt;#1485&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix rendering of properties with a list of types. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1487&quot;&gt;#1487&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify parts of the cross-signing signature upload request. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1495&quot;&gt;#1495&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove the &lt;code&gt;dont_notify&lt;&#x2F;code&gt; and &lt;code&gt;coalesce&lt;&#x2F;code&gt; push rule actions, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3987&quot;&gt;MSC3987&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1501&quot;&gt;#1501&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify &lt;code&gt;m.location&lt;&#x2F;code&gt; scheme by partially reverting &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;commit&#x2F;f1f32d3a15c325ee8aa9d2c6bafd96c38069bb53&quot;&gt;f1f32d3&lt;&#x2F;a&gt;. Contributed by @HarHarLinks. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1507&quot;&gt;#1507&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add missing &lt;code&gt;knock_restricted&lt;&#x2F;code&gt; join rule to the &lt;code&gt;m.room.join_rules&lt;&#x2F;code&gt; schema. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1535&quot;&gt;#1535&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;server-server-api&quot;&gt;Server-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1431&quot;&gt;#1431&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1447&quot;&gt;#1447&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1466&quot;&gt;#1466&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1518&quot;&gt;#1518&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix PDU examples by removing invalid OpenAPI reference to &lt;code&gt;examples&#x2F;minimal_pdu.json&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1454&quot;&gt;#1454&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove leftover &lt;code&gt;{key_id}&lt;&#x2F;code&gt; from &lt;code&gt;&#x2F;_matrix&#x2F;key&#x2F;v2&#x2F;server&#x2F;&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1473&quot;&gt;#1473&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove extraneous &lt;code&gt;age_ts&lt;&#x2F;code&gt; field from the reference hash calculation section. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1536&quot;&gt;#1536&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;application-service-api&quot;&gt;Application Service API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;New Endpoints&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;&#x2F;application-service-api&#x2F;#post_matrixappv1ping&quot;&gt;&lt;code&gt;POST &#x2F;_matrix&#x2F;app&#x2F;v1&#x2F;ping&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1516&quot;&gt;#1516&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;&#x2F;application-service-api&#x2F;#post_matrixclientv1appserviceappserviceidping&quot;&gt;&lt;code&gt;POST &#x2F;_matrix&#x2F;client&#x2F;v1&#x2F;appservice&#x2F;{appserviceId}&#x2F;ping&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1516&quot;&gt;#1516&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add homeserver-&amp;gt;appservice ping mechanism, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2659&quot;&gt;MSC2659&lt;&#x2F;a&gt;. Contributed by @tulir at @beeper. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1516&quot;&gt;#1516&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1541&quot;&gt;#1541&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1447&quot;&gt;#1447&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;identity-service-api&quot;&gt;Identity Service API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Corrections to the response format of &lt;code&gt;&#x2F;_matrix&#x2F;identity&#x2F;v2&#x2F;store-invite&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1486&quot;&gt;#1486&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;push-gateway-api&quot;&gt;Push Gateway API&lt;&#x2F;h3&gt;
&lt;p&gt;No significant changes.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;room-versions&quot;&gt;Room Versions&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Clarifications of event ID formats in early room versions (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1484&quot;&gt;#1484&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;appendices&quot;&gt;Appendices&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Clarify that the term &amp;quot;Canonical JSON&amp;quot; is a specific thing within the Matrix specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1468&quot;&gt;#1468&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove references to groups. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1483&quot;&gt;#1483&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarifications of event ID formats in early room versions. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1484&quot;&gt;#1484&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;internal-changes-tooling&quot;&gt;Internal Changes&#x2F;Tooling&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Update references to Inter font. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1444&quot;&gt;#1444&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Endpoint disclosures now hide everything but the URL. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1446&quot;&gt;#1446&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Wrap $ref in allOf where other attributes are present, to improve OpenAPI compliance. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1457&quot;&gt;#1457&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Minor cleanups to the GitHub Actions workflows (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1476&quot;&gt;#1476&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix generation of anchors for additional properties. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1488&quot;&gt;#1488&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1534&quot;&gt;#1534&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Document more of the spec release timeline&#x2F;process. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1538&quot;&gt;#1538&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
</entry>

    
<entry xml:lang="en">
    <title>Matrix v1.6 release</title>
    <published>2023-02-14T17:04:46+00:00</published>
    <updated>2023-02-14T17:04:46+00:00</updated>
    <author>
      <name>
            Travis Ralston
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2023/02/14/matrix-v-1-6-release/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2023/02/14/matrix-v-1-6-release/</id>
    <content type="html">&lt;p&gt;Hey all,&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.6&#x2F;&quot;&gt;Matrix 1.6&lt;&#x2F;a&gt; is out there! Like Matrix 1.5 &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2022&#x2F;11&#x2F;17&#x2F;matrix-v-1-5-release&quot;&gt;back in November&lt;&#x2F;a&gt;, this release is largely a maintenance update. Matrix 1.1 through 1.4 have been relatively major upgrades, so a little time between features doesn’t feel like a bad idea :)&lt;&#x2F;p&gt;
&lt;p&gt;As with all spec releases, we encourage implementations to gradually update over the next few months rather than have support for everything on release day - please be kind to the projects you use, and help them gain support if able.&lt;&#x2F;p&gt;
&lt;p&gt;Matrix 1.6 sees just 7 MSCs get merged, though this is to be expected from a maintenance release. Check out &lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=eUPJ9zFV5IE&quot;&gt;Matthew’s Matrix 2.0 talk&lt;&#x2F;a&gt; at FOSDEM for an idea of what’s expected over the next few releases.&lt;&#x2F;p&gt;
&lt;p&gt;We’ve covered a couple of the MSCs below, but read on to the full changelog for the full picture.&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;&lt;h2 id=&quot;msc3030-jump-to-date-api&quot;&gt;MSC3030: Jump to date API&lt;&#x2F;h2&gt;
&lt;p&gt;_It’s here! The time machine we’ve been waiting for! _&lt;&#x2F;p&gt;
&lt;p&gt;Primarily part of the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vector-im&#x2F;roadmap&#x2F;issues&#x2F;26&quot;&gt;Gitter feature parity project&lt;&#x2F;a&gt; (congratulations to the team &lt;a href=&quot;https:&#x2F;&#x2F;blog.gitter.im&#x2F;2023&#x2F;02&#x2F;13&#x2F;gitter-has-fully-migrated-to-matrix&#x2F;&quot;&gt;going all-in on Matrix&lt;&#x2F;a&gt;, by the way) to drive the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-public-archive&quot;&gt;Matrix Public Archive&lt;&#x2F;a&gt;, the &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.6&#x2F;client-server-api&#x2F;#get_matrixclientv1roomsroomidtimestamp_to_event&quot;&gt;new API&lt;&#x2F;a&gt; gives clients the ability to jump back in time to a nearby event. Being able to find something that was posted on a given day&#x2F;week, but not being sure of which keywords to look for is a major usability improvement - many thanks to the Gitter team for making Matrix better!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;msc3706-faster-joins-part-1&quot;&gt;MSC3706: Faster joins (part 1)&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;em&gt;Matrix is going voom&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2023&#x2F;01&#x2F;31&#x2F;synapse-1-76-released&quot;&gt;Synapse 1.76&lt;&#x2F;a&gt; enabled faster joins by default, and while there’s a lot of Python going into making joins as fast as possible, the specification side is a relatively small change at the moment: &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.6&#x2F;server-server-api&#x2F;#put_matrixfederationv2send_joinroomideventid&quot;&gt;just don’t send as many events during joins&lt;&#x2F;a&gt; (&lt;code&gt;omit_members&lt;&#x2F;code&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;There’s potentially more work on the horizon for making faster joins even faster and more robust, and some of that might involve spec work: keep an eye on Synapse releases and &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;category&#x2F;this-week-in-matrix&quot;&gt;TWIM&lt;&#x2F;a&gt; for updates as we make our way to faster joins in Matrix 2.0 :)&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-full-changelog&quot;&gt;The full changelog&lt;&#x2F;h2&gt;
&lt;p&gt;MSCs are how the spec changes in the way it does - adding, fixing, and maintaining features for the whole ecosystem to use. Check out the full changelog below, and the &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;proposals&#x2F;&quot;&gt;Spec Change Proposals&lt;&#x2F;a&gt; page for more information on how these MSCs got merged (hint: they submitted a proposal, which anyone can do - take a look at the &lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=SFkZz60RRfc&quot;&gt;Matrix Live episode&lt;&#x2F;a&gt; where Matthew covers the proposal process).&lt;&#x2F;p&gt;
&lt;!-- Intentionally blank line to ensure headers work in the concatenated changelog --&gt;
&lt;h3 id=&quot;client-server-api&quot;&gt;Client-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add information on standard error responses for unknown endpoints&#x2F;methods, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3743&quot;&gt;MSC3743&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1347&quot;&gt;#1347&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;&#x2F;rooms&#x2F;&amp;lt;roomID&amp;gt;&#x2F;timestamp_to_event&lt;&#x2F;code&gt; endpoint, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3030&quot;&gt;MSC3030&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1366&quot;&gt;#1366&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Define &lt;code&gt;hkdf-hmac-sha256.v2&lt;&#x2F;code&gt; MAC method for SAS verification, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3783&quot;&gt;MSC3783&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1412&quot;&gt;#1412&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Clarify the power levels integer range. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1169&quot;&gt;#1169&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1355&quot;&gt;#1355&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that &lt;code&gt;&#x2F;context&lt;&#x2F;code&gt; always returns &lt;code&gt;event&lt;&#x2F;code&gt; even if &lt;code&gt;limit&lt;&#x2F;code&gt; is zero. Contributed by @sumnerevans at @beeper. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1239&quot;&gt;#1239&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify what fields are required when deleting a pusher (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1321&quot;&gt;#1321&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Improve the presentation of push rule kinds and actions. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1348&quot;&gt;#1348&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add missing description to m.call.answer schema. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1353&quot;&gt;#1353&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1363&quot;&gt;#1363&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify parts of the end-to-end encryption sections. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1381&quot;&gt;#1381&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Move login API definitions to the right heading. Contributed by @HarHarLinks. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1382&quot;&gt;#1382&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify which events will be included in Stripped State. Contributed by @andybalaam. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1409&quot;&gt;#1409&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add links to the spec for the definition of 3PID &lt;code&gt;medium&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1417&quot;&gt;#1417&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Correct the order of the default override pushrules in the spec. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1421&quot;&gt;#1421&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Improve distinction between tags and their attributes in the rich text section. Contributed by Nico. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1433&quot;&gt;#1433&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;server-server-api&quot;&gt;Server-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Breaking Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Remove &lt;code&gt;keyId&lt;&#x2F;code&gt; from the server &lt;code&gt;&#x2F;keys&lt;&#x2F;code&gt; endpoints, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3938&quot;&gt;MSC3938&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1350&quot;&gt;#1350&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add information on standard error responses for unknown endpoints&#x2F;methods, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3743&quot;&gt;MSC3743&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1347&quot;&gt;#1347&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;&#x2F;timestamp_to_event&#x2F;&amp;lt;roomID&amp;gt;&lt;&#x2F;code&gt; endpoint, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3030&quot;&gt;MSC3030&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1366&quot;&gt;#1366&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Extend &lt;code&gt;&#x2F;_matrix&#x2F;federation&#x2F;v2&#x2F;send_join&lt;&#x2F;code&gt; to allow omitting membership events, per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3706&quot;&gt;MSC3706&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1393&quot;&gt;#1393&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1398&quot;&gt;#1398&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Note that &lt;code&gt;&#x2F;_matrix&#x2F;federation&#x2F;v2&#x2F;send_join&lt;&#x2F;code&gt; should include heroes for nameless rooms, even when allowed to omit membership events, per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3943&quot;&gt;MSC3943&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1425&quot;&gt;#1425&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Include examples inline instead of using a reference for invite endpoint definitions. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1349&quot;&gt;#1349&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix &lt;code&gt;POST _matrix&#x2F;federation&#x2F;v1&#x2F;user&#x2F;keys&#x2F;claim&lt;&#x2F;code&gt; response schema. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1351&quot;&gt;#1351&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Correct the default invite level definition in the &amp;quot;Checks performed on receipt of a PDU&amp;quot; section. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1371&quot;&gt;#1371&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that CNAMEs are permissible for server names. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1376&quot;&gt;#1376&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix &lt;code&gt;edu_type&lt;&#x2F;code&gt; in EDU examples. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1383&quot;&gt;#1383&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;application-service-api&quot;&gt;Application Service API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add information on standard error responses for unknown endpoints&#x2F;methods, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3743&quot;&gt;MSC3743&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1347&quot;&gt;#1347&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;identity-service-api&quot;&gt;Identity Service API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add information on standard error responses for unknown endpoints&#x2F;methods, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3743&quot;&gt;MSC3743&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1347&quot;&gt;#1347&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;push-gateway-api&quot;&gt;Push Gateway API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add information on standard error responses for unknown endpoints&#x2F;methods, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3743&quot;&gt;MSC3743&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1347&quot;&gt;#1347&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;room-versions&quot;&gt;Room Versions&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Update the default room version to 10, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3904&quot;&gt;MSC3904&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1397&quot;&gt;#1397&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Clarify the grammar for room versions. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1422&quot;&gt;#1422&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1423&quot;&gt;#1423&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;appendices&quot;&gt;Appendices&lt;&#x2F;h3&gt;
&lt;p&gt;No significant changes.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;internal-changes-tooling&quot;&gt;Internal Changes&#x2F;Tooling&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add link to the unstable spec to the README. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1357&quot;&gt;#1357&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Improve safety of the proposals retrieval script in the event of failure. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1368&quot;&gt;#1368&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Rename &lt;code&gt;&amp;lt;content&amp;gt;&lt;&#x2F;code&gt; to &lt;code&gt;content&lt;&#x2F;code&gt; in the OpenAPI files for content uploads. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1370&quot;&gt;#1370&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Stop autogenerating examples where we already have an example. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1384&quot;&gt;#1384&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Improve formatting of definitions in the Push Notifications section. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1415&quot;&gt;#1415&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
</entry>

    
<entry xml:lang="en">
    <title>Matrix v1.5 release</title>
    <published>2022-11-17T16:56:36+00:00</published>
    <updated>2022-11-17T16:44:47+00:00</updated>
    <author>
      <name>
            Travis Ralston
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2022/11/17/matrix-v-1-5-release/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2022/11/17/matrix-v-1-5-release/</id>
    <content type="html">&lt;p&gt;Hey all,&lt;&#x2F;p&gt;
&lt;p&gt;We’ve just released &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.5&quot;&gt;Matrix 1.5&lt;&#x2F;a&gt;, a largely maintenance update for the spec. We intentionally haven’t landed any major features in this release as Matrix 1.4, &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2022&#x2F;09&#x2F;29&#x2F;matrix-v-1-4-release&quot;&gt;just shy of 2 months ago&lt;&#x2F;a&gt;, had introduced fairly large features for clients and servers to consider. As with all spec releases, we encourage implementations to gradually update over the next few months rather than expect them to have support for everything on release day.&lt;&#x2F;p&gt;
&lt;p&gt;Matrix 1.5 sees just 2 MSCs get merged, though this is to be expected from a maintenance release. We expect that the next release (in Q1 2023) will have a few more exciting features to it :)&lt;&#x2F;p&gt;
&lt;p&gt;We’ve covered both MSCs below, but read on to the full changelog for the full picture.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;msc3267-reference-relations&quot;&gt;MSC3267: Reference relations&lt;&#x2F;h2&gt;
&lt;p&gt;Already supported implicitly by the spec up until now, &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.5&#x2F;client-server-api&#x2F;#reference-relations&quot;&gt;reference relations&lt;&#x2F;a&gt; are a way to simply reference another event. Usually these sorts of relations are used for events which need to be related to each other, but a dedicated relationship type doesn’t make a lot of sense.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.5&#x2F;client-server-api&#x2F;#key-verification-framework&quot;&gt;In-room verification&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3381&quot;&gt;MSC3381: Polls&lt;&#x2F;a&gt; are examples of how these relations get used.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;msc3905-clarify-appservice-interest-in-user-ids&quot;&gt;MSC3905: Clarify appservice interest in user IDs&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3905&quot;&gt;MSC3905&lt;&#x2F;a&gt; fixes an issue in the specification where appservices (usually bridges) specifying a users regex without homeserver domain would end up receiving far more event traffic than they would have intended. With the MSC, appservices are now only considered interested in “local” users, regardless of how vague their users namespace is.&lt;&#x2F;p&gt;
&lt;p&gt;Overall this should have no effect on most bridges&#x2F;appservices, however if an appservice in the wild really does need to listen to all users on all homeservers, it can specify a non-exclusive namespace on all rooms instead.&lt;&#x2F;p&gt;
&lt;p&gt;While writing this MSC into the spec we took some time to clarify the appservice registration requirements more generally: check them out &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.5&#x2F;application-service-api&#x2F;#registration&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-full-changelog&quot;&gt;The full changelog&lt;&#x2F;h2&gt;
&lt;p&gt;MSCs are how the spec changes in the way it does - adding, fixing, and maintaining features for the whole ecosystem to use. Check out the full changelog below, and the &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;proposals&#x2F;&quot;&gt;Spec Change Proposals&lt;&#x2F;a&gt; page for more information on how these MSCs got merged (hint: they submitted a proposal, which anyone can do - take a look at the &lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=SFkZz60RRfc&quot;&gt;Matrix Live episode&lt;&#x2F;a&gt; where Matthew covers the proposal process).&lt;&#x2F;p&gt;
&lt;h3 id=&quot;client-server-api&quot;&gt;Client-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;m.reference&lt;&#x2F;code&gt; relations, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3267&quot;&gt;MSC3267&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1206&quot;&gt;#1206&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add missing documentation for &lt;code&gt;m.key.verification.request&lt;&#x2F;code&gt; msgtype for in-room verification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1271&quot;&gt;#1271&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1260&quot;&gt;#1260&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1265&quot;&gt;#1265&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1276&quot;&gt;#1276&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix naming of &lt;code&gt;device_one_time_keys_count&lt;&#x2F;code&gt; in &lt;code&gt;&#x2F;sync&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1266&quot;&gt;#1266&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Improve display of event subtypes. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1283&quot;&gt;#1283&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Improve documentation about ephemeral events. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1284&quot;&gt;#1284&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Define a 400 response from &lt;code&gt;&#x2F;_matrix&#x2F;client&#x2F;v3&#x2F;directory&#x2F;rooms&#x2F;{roomAlias}&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1286&quot;&gt;#1286&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify parts of the end-to-end encryption sections. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1294&quot;&gt;#1294&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1345&quot;&gt;#1345&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Various clarifications throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1306&quot;&gt;#1306&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Replace &lt;code&gt;set_sound&lt;&#x2F;code&gt; push rule action by &lt;code&gt;set_tweak&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1318&quot;&gt;#1318&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the behavior of &lt;code&gt;PUT &#x2F;_matrix&#x2F;client&#x2F;v3&#x2F;pushrules&#x2F;{scope}&#x2F;{kind}&#x2F;{ruleId}&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1319&quot;&gt;#1319&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that &lt;code&gt;.m.rule.master&lt;&#x2F;code&gt; has a higher priority than any push rule. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1320&quot;&gt;#1320&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Require request field &lt;code&gt;refresh_token&lt;&#x2F;code&gt; at endpoint &lt;code&gt;POST &#x2F;_matrix&#x2F;client&#x2F;v3&#x2F;refresh&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1323&quot;&gt;#1323&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix a number of broken links in the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1330&quot;&gt;#1330&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add example read receipt to &lt;code&gt;GET &#x2F;_matrix&#x2F;client&#x2F;v3&#x2F;sync&lt;&#x2F;code&gt; response example. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1341&quot;&gt;#1341&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;server-server-api&quot;&gt;Server-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fix a number of broken links in the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1330&quot;&gt;#1330&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;application-service-api&quot;&gt;Application Service API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Clarify that application services can only register an interest in local users, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;issues&#x2F;3905&quot;&gt;MSC3905&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1305&quot;&gt;#1305&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;identity-service-api&quot;&gt;Identity Service API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fix a number of broken links in the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1330&quot;&gt;#1330&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;push-gateway-api&quot;&gt;Push Gateway API&lt;&#x2F;h3&gt;
&lt;p&gt;No significant changes.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;room-versions&quot;&gt;Room Versions&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Reword the event auth rules to clarify that users cannot demote other users with the same power level. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1269&quot;&gt;#1269&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Various clarifications to the text on event authorisation rules. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1270&quot;&gt;#1270&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix a number of broken links in the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1330&quot;&gt;#1330&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;appendices&quot;&gt;Appendices&lt;&#x2F;h3&gt;
&lt;p&gt;No significant changes.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;internal-changes-tooling&quot;&gt;Internal Changes&#x2F;Tooling&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Update docsy theme to v0.5.0 + matrix.org modifications (https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;docsy&#x2F;commit&#x2F;a0032f8db919a6c67ba6cdef2c455f105b6272a2). (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1295&quot;&gt;#1295&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Improve error messages emitted by &lt;code&gt;resolve-additional-types&lt;&#x2F;code&gt; template. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1303&quot;&gt;#1303&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix link to API viewer. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1308&quot;&gt;#1308&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Stop rendering the subsections of the Client-Server API and Room Versions specs as their own separate pages. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1317&quot;&gt;#1317&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Use a link checker to ensure that we do not have broken links. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1329&quot;&gt;#1329&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1338&quot;&gt;#1338&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Update instructions to preview Swagger definitions. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1331&quot;&gt;#1331&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Make definition anchors more unique. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1339&quot;&gt;#1339&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Generate the unstable changelogs with towncrier, for consistency. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1340&quot;&gt;#1340&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Update CONTRIBUTING.md to mention that non-content changes to this repo should have an &amp;quot;internal&amp;quot; changelog entry. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1342&quot;&gt;#1342&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Update module summary table with new modules: Event Replacements, Threading and Reference Relations. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1344&quot;&gt;#1344&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Disable RSS generation for the spec. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1346&quot;&gt;#1346&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
</entry>

    
<entry xml:lang="en">
    <title>Matrix v1.4 release</title>
    <published>2022-09-29T15:30:32+00:00</published>
    <updated>2022-09-29T15:30:32+00:00</updated>
    <author>
      <name>
            Travis Ralston
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2022/09/29/matrix-v-1-4-release/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2022/09/29/matrix-v-1-4-release/</id>
    <content type="html">&lt;p&gt;Hey all,&lt;&#x2F;p&gt;
&lt;p&gt;It’s finally here: &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.4&#x2F;client-server-api&#x2F;#threading&quot;&gt;threads&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.4&#x2F;client-server-api&#x2F;#event-replacements&quot;&gt;edits&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.4&#x2F;client-server-api&#x2F;#private-read-receipts&quot;&gt;private read receipts&lt;&#x2F;a&gt;. v1.4 has been a little later than usual in the quarter because we wanted to make sure we nailed down all the core MSCs for threads before publishing the spec itself, but we’ve done that now and we’re excited about it.&lt;&#x2F;p&gt;
&lt;span id=&quot;continue-reading&quot;&gt;&lt;&#x2F;span&gt;
&lt;p&gt;Matrix 1.3 was &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2022&#x2F;06&#x2F;16&#x2F;matrix-v-1-3-release&quot;&gt;just over 3 months ago&lt;&#x2F;a&gt;, though with the relatively large features there and the colossal implementation effort of v1.4 we’re not expecting everyone to have implementations on day 1. Instead, as with all spec releases, we encourage implementations to gradually update over the next few months. We’re additionally planning to make v1.5 (Q4 2022) more of a maintenance update to help make the backlog a bit easier on everyone, though we might prioritize a couple cool features in there too :)&lt;&#x2F;p&gt;
&lt;p&gt;Matrix 1.4 sees 14 MSCs get merged, but we can’t possibly go into detail on them all here. We’ve instead focused on the 3 major features we’re excited about - check out the changelog at the end for the full picture.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;threads&quot;&gt;🧵 Threads&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.4&#x2F;client-server-api&#x2F;#threading&quot;&gt;Threads&lt;&#x2F;a&gt;, a critical feature in terms of parity with other chat systems, have landed thanks to a whopping 6 MSCs: &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3440&quot;&gt;MSC3440&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3816&quot;&gt;MSC3816&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3856&quot;&gt;MSC3856&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3715&quot;&gt;MSC3715&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3771&quot;&gt;MSC3771&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3773&quot;&gt;MSC3773&lt;&#x2F;a&gt;. It’s been a lot of iteration on the reference implementations to get threads this far, and we’re excited to see how the client implementations evolve to provide more structured and less noisy communication for everyone - keep us updated with &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;category&#x2F;this-week-in-matrix&quot;&gt;TWIM&lt;&#x2F;a&gt; posts, please!&lt;&#x2F;p&gt;
&lt;p&gt;Threads have involved changes to event relationships (which were &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2022&#x2F;06&#x2F;16&#x2F;matrix-v-1-3-release#aggregations-and-the-relationships-made-along-the-way&quot;&gt;fixed in v1.3&lt;&#x2F;a&gt;), read receipts, and notification counts, resulting in several different models and ways of solving the problem. We think we’ve reached a point that works for conversational threads, though there’s work on the horizon for threads-only rooms, Twitter-style free-form threads, etc to cover more needs of users.&lt;&#x2F;p&gt;
&lt;p&gt;Currently, the demonstration implementation of threads in Synapse and Element is working its way out of the proof-of-concept and beta stages (which were sufficient to validate the MSCs) and are on their way to exiting beta. Keep an eye on the respective blogs for news about production-ready threads!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;memo-edits&quot;&gt;📝 Edits&lt;&#x2F;h2&gt;
&lt;p&gt;Similar to reactions, err, &lt;em&gt;&lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2022&#x2F;06&#x2F;16&#x2F;matrix-v-1-3-release#aggregations-and-the-relationships-made-along-the-way&quot;&gt;aggregations&lt;&#x2F;a&gt;&lt;&#x2F;em&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2676&quot;&gt;MSC2676&lt;&#x2F;a&gt; and its predecessors have been around for a long while. Edits have existed in the Element clients seemingly forever, and other clients have had troubles trying to implement the same feature: with it now in the spec, it should be a lot easier to bring edits into clients.&lt;&#x2F;p&gt;
&lt;p&gt;For edits, we’ve taken the route of making the MSC match reality, for better or worse. MSCs which improve or add functionality to the system are very much welcome - &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;proposals&#x2F;&quot;&gt;writing an MSC&lt;&#x2F;a&gt; is relatively easy and helps the whole community.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;busts-in-silhouette-private-read-receipts&quot;&gt;👥 Private read receipts&lt;&#x2F;h2&gt;
&lt;p&gt;Not everyone wants to broadcast that they’ve read a message, but also with read receipts tied into notifications those same people also probably don’t want stuck notifications. To address the problem, we’ve added a new &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.4&#x2F;client-server-api&#x2F;#private-read-receipts&quot;&gt;m.read.private receipt type&lt;&#x2F;a&gt; which behaves exactly like m.read, but is only visible to you.&lt;&#x2F;p&gt;
&lt;p&gt;We still have a rework of the notifications system in our long-term plan, but this should hopefully cover the privacy concerns for the time being :)&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-full-changelog&quot;&gt;The full changelog&lt;&#x2F;h2&gt;
&lt;p&gt;MSCs are how the spec changes in the way it does - adding, fixing, and maintaining features for the whole ecosystem to use. The blog post can’t cover them all, but that doesn’t make them any less important! Check out the full changelog below, and the &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;proposals&#x2F;&quot;&gt;Spec Change Proposals&lt;&#x2F;a&gt; page for more information on how these MSCs got merged (hint: they submitted a proposal, which anyone can do - take a look at the &lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=SFkZz60RRfc&quot;&gt;Matrix Live episode&lt;&#x2F;a&gt; where Matthew covers the proposal process).&lt;&#x2F;p&gt;
&lt;h3 id=&quot;client-server-api&quot;&gt;Client-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Removed Endpoints&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Remove unused policy room sharing mechanism, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3844&quot;&gt;MSC3844&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1196&quot;&gt;#1196&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add a &lt;code&gt;.m.rule.room.server_acl&lt;&#x2F;code&gt; push rule to match &lt;code&gt;m.room.server_acl&lt;&#x2F;code&gt; events, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3786&quot;&gt;MSC3786&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1190&quot;&gt;#1190&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1201&quot;&gt;#1201&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;Cross-Origin-Resource-Policy&lt;&#x2F;code&gt; (CORP) headers to media repository, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3828&quot;&gt;MSC3828&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1197&quot;&gt;#1197&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Copy a room&#x27;s &lt;code&gt;type&lt;&#x2F;code&gt; when upgrading it, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3818&quot;&gt;MSC3818&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1198&quot;&gt;#1198&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;room_types&lt;&#x2F;code&gt; filter and &lt;code&gt;room_type&lt;&#x2F;code&gt; response to &lt;code&gt;&#x2F;publicRooms&lt;&#x2F;code&gt;, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3827&quot;&gt;MSC3827&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1199&quot;&gt;#1199&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;m.replace&lt;&#x2F;code&gt; relations (event edits), as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2676&quot;&gt;MSC2676&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1211&quot;&gt;#1211&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;m.read.private&lt;&#x2F;code&gt; receipts, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2285&quot;&gt;MSC2285&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1216&quot;&gt;#1216&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Make &lt;code&gt;m.fully_read&lt;&#x2F;code&gt; optional on &lt;code&gt;&#x2F;read_markers&lt;&#x2F;code&gt;, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2285&quot;&gt;MSC2285&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1216&quot;&gt;#1216&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Allow &lt;code&gt;m.fully_read&lt;&#x2F;code&gt; markers to be set from &lt;code&gt;&#x2F;receipts&lt;&#x2F;code&gt;, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2285&quot;&gt;MSC2285&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1216&quot;&gt;#1216&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add threading via &lt;code&gt;m.thread&lt;&#x2F;code&gt; relations, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3440&quot;&gt;MSC3440&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3816&quot;&gt;MSC3816&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3856&quot;&gt;MSC3856&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3715&quot;&gt;MSC3715&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1254&quot;&gt;#1254&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add per-thread notifications and read receipts, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3771&quot;&gt;MSC3771&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3773&quot;&gt;MSC3773&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1255&quot;&gt;#1255&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Mention that the &lt;code&gt;&#x2F;rooms&#x2F;{roomId}&#x2F;invite&lt;&#x2F;code&gt; endpoint will return a 200 response if the user is already invited to the room. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1084&quot;&gt;#1084&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1135&quot;&gt;#1135&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1161&quot;&gt;#1161&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1164&quot;&gt;#1164&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1170&quot;&gt;#1170&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1180&quot;&gt;#1180&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1215&quot;&gt;#1215&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1238&quot;&gt;#1238&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1243&quot;&gt;#1243&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Describe return codes for account data endpoints, and clarify that per-room data does not inherit from the global data. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1155&quot;&gt;#1155&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that policy rule globs work like ACL globs. Contributed by Nico. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1165&quot;&gt;#1165&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the format of some structures in the End-to-end encryption module. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1166&quot;&gt;#1166&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add HTML anchors for object definitions in the formatted specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1174&quot;&gt;#1174&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Tweak the styling of &lt;code&gt;&amp;lt;code&amp;gt;&lt;&#x2F;code&gt; snippets in tables rendered from OpenAPI definitions. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1179&quot;&gt;#1179&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Update &amp;quot;API Standards&amp;quot; section to clarify how JSON is used. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1185&quot;&gt;#1185&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that the &amp;quot;device_id&amp;quot;, &amp;quot;user_id&amp;quot; and &amp;quot;access_token&amp;quot; fields are required in the response body of &lt;code&gt;POST &#x2F;_matrix&#x2F;client&#x2F;v3&#x2F;login&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1210&quot;&gt;#1210&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Reinforce the relationship of refreshed access tokens to transaction IDs. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1236&quot;&gt;#1236&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify enum values by separating possible values with commas. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1240&quot;&gt;#1240&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;server-server-api&quot;&gt;Server-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add per-thread notifications and read receipts, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3771&quot;&gt;MSC3771&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3773&quot;&gt;MSC3773&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1255&quot;&gt;#1255&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add HTML anchors for object definitions in the formatted specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1174&quot;&gt;#1174&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Tweak the styling of &lt;code&gt;&amp;lt;code&amp;gt;&lt;&#x2F;code&gt; snippets in tables rendered from OpenAPI definitions. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1179&quot;&gt;#1179&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Update &amp;quot;API Standards&amp;quot; section to clarify how JSON is used. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1185&quot;&gt;#1185&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;application-service-api&quot;&gt;Application Service API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Breaking Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Replace homeserver authorization approach with an &lt;code&gt;Authorization&lt;&#x2F;code&gt; header instead of &lt;code&gt;access_token&lt;&#x2F;code&gt; when talking to the application service, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2832&quot;&gt;MSC2832&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1200&quot;&gt;#1200&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add HTML anchors for object definitions in the formatted specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1174&quot;&gt;#1174&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;identity-service-api&quot;&gt;Identity Service API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add HTML anchors for object definitions in the formatted specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1174&quot;&gt;#1174&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Update &amp;quot;API Standards&amp;quot; section to clarify how JSON is used. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1185&quot;&gt;#1185&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;push-gateway-api&quot;&gt;Push Gateway API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add HTML anchors for object definitions in the formatted specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1174&quot;&gt;#1174&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;room-versions&quot;&gt;Room Versions&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;For room versions 1 through 10, clarify that events with rejected &lt;code&gt;auth_events&lt;&#x2F;code&gt; must be rejected. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1137&quot;&gt;#1137&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;For room versions 2–10: correct a mistaken clarification to the state resolution algorithm. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1158&quot;&gt;#1158&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;For room versions 7 through 10: Clarify that &lt;code&gt;invite-&amp;gt;knock&lt;&#x2F;code&gt; is actually a legal transition. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1175&quot;&gt;#1175&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;appendices&quot;&gt;Appendices&lt;&#x2F;h3&gt;
&lt;p&gt;No significant changes.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;internal-changes-tooling&quot;&gt;Internal Changes&#x2F;Tooling&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add internal changes changelog section. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1194&quot;&gt;#1194&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Render HTML anchors for object definition tables. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1191&quot;&gt;#1191&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Give rendered-data sections a background and some padding. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1195&quot;&gt;#1195&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix rendering of shortcodes within the client-server API. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1205&quot;&gt;#1205&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix the spacing of mapping types generated from the OpenAPI spec. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1230&quot;&gt;#1230&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
</entry>

    
<entry xml:lang="en">
    <title>Matrix v1.3 release</title>
    <published>2022-06-16T17:16:38+00:00</published>
    <updated>2022-06-15T22:00:58+00:00</updated>
    <author>
      <name>
            Travis Ralston
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2022/06/16/matrix-v-1-3-release/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2022/06/16/matrix-v-1-3-release/</id>
    <content type="html">&lt;p&gt;Hey all,&lt;&#x2F;p&gt;
&lt;p&gt;It’s another quarter and therefore &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.3&#x2F;&quot;&gt;another spec release&lt;&#x2F;a&gt;! Matrix 1.2 was &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2022&#x2F;02&#x2F;02&#x2F;matrix-v-1-2-release&quot;&gt;released&lt;&#x2F;a&gt; back in February, and while a bit late in the quarter this time around we’ve still got some exciting additions coming to you in this release.&lt;&#x2F;p&gt;
&lt;p&gt;Like last time, the speed of these releases might feel a bit quick for developers: fret not if you’re still working on v1.1 or v1.2 implementations. We’re not expecting that implementations update as soon as a new spec release is published, but rather that the ecosystem gradually update over the course of the next few months. Implementations should be aiming for as close to realtime as they can get though, particularly considering v1.4 is expected to have some large features (more on that later on).&lt;&#x2F;p&gt;
&lt;p&gt;Matrix 1.3 sees 14 MSCs get merged, but we can’t possibly go into detail on them all here. We’ve picked some notable highlights and recommend the full changelog at the bottom for a complete idea of what’s been going on.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;aggregations-and-the-relationships-made-along-the-way&quot;&gt;Aggregations and the relationships made along the way&lt;&#x2F;h2&gt;
&lt;p&gt;It’s no secret that &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;1849&quot;&gt;MSC1849&lt;&#x2F;a&gt;-style server-side aggregation of related messages have been in the review backlog for a while. We ended up splitting &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;1849&quot;&gt;MSC1849&lt;&#x2F;a&gt; down into more reviewable chunks like &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2675&quot;&gt;MSC2675&lt;&#x2F;a&gt;, allowing us to finally land the first pieces into Matrix 1.3 today.&lt;&#x2F;p&gt;
&lt;p&gt;In the spec there aren’t currently any defined relationships which make use of aggregations or even the &lt;code&gt;rel_type&lt;&#x2F;code&gt; described by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2674&quot;&gt;MSC2674&lt;&#x2F;a&gt;, but we do expect that v1.4 of the spec will have support for at least threads (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3440&quot;&gt;MSC3440&lt;&#x2F;a&gt;) and edits (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2676&quot;&gt;MSC2676&lt;&#x2F;a&gt;), filling the gap. For now, we’ve decided that holding aggregations back until v1.4 doesn’t make a lot of sense, so we have launched them into the world as-is for custom relations or for clients &amp;amp; servers to prepare for what’s expected to be coming in v1.4 of the spec.&lt;&#x2F;p&gt;
&lt;p&gt;To further prepare for threads, we’ve also removed some restrictions of rich replies through &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3676&quot;&gt;MSC3676&lt;&#x2F;a&gt;, thus allowing replies to be constructed with non-text messages like images. Check out the &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.3&#x2F;client-server-api&#x2F;#rich-replies&quot;&gt;new rich replies module&lt;&#x2F;a&gt; for more information.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;join-if-you-can-or-just-knock&quot;&gt;Join if you can, or just knock&lt;&#x2F;h2&gt;
&lt;p&gt;When we launched restricted rooms in Matrix 1.2 we &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2022&#x2F;02&#x2F;02&#x2F;matrix-v-1-2-release#public-but-not-too-public-join-rules&quot;&gt;noted&lt;&#x2F;a&gt; that we forgot to handle a case where someone might want to support &lt;em&gt;both&lt;&#x2F;em&gt; knocking and restricted rooms at the same time. We’ve fixed that with a stop-gap join rule from &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3787&quot;&gt;MSC3787&lt;&#x2F;a&gt; in &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.3&#x2F;rooms&#x2F;v10&#x2F;&quot;&gt;room version 10&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The new &lt;code&gt;knock_restricted&lt;&#x2F;code&gt; join rule allows the room to keep its desire to be restricted whilst also allowing members who do not meet the criteria to knock on the room instead. We’ll likely expand on this sort of mixing of join rules in proposals like &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3386&quot;&gt;MSC3386&lt;&#x2F;a&gt; down the line, however for now this should cover the gap in support. Next up: figuring out how to make encrypted room history available to these new joiners in a safe way.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;a-thread-for-next-time&quot;&gt;A thread for next time&lt;&#x2F;h2&gt;
&lt;p&gt;Originally planned for this release, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3440&quot;&gt;MSC3440&lt;&#x2F;a&gt;-style threads are anticipated to be ready for v1.4 (next quarter) with support for notifications and, of course, a whole new way to communicate in a room.&lt;&#x2F;p&gt;
&lt;p&gt;Threads are one of the more complicated features we’ve tried to land in recent history as it has a large impact on a wide variety of the spec: everything from event relationships (fixed in this release) to read receipts to push notifications needs to be worked out to build a system that not only users can understand, but also the developers trying to build it. With this massive surface area we just weren’t comfortable with adding threads to v1.3 as-is, given problems like notifications aren’t yet fully solved.&lt;&#x2F;p&gt;
&lt;p&gt;Alongside threads, we also anticipate that &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2676&quot;&gt;MSC2676&lt;&#x2F;a&gt;-style message editing will be landing in v1.4, finally specifying how to update an event’s contents without having to redact &amp;amp; re-send. Although message editing has been supported for a long time in some clients, we&#x27;re excited that it will finally become part of the official specification, meaning it can be implemented more widely. Messaging clients are encouraged to give the proposal an early read and possibly even attempt implementation if not already done to help us ensure the system is in a reasonable state for inclusion in the spec, though we do note that feature requests for edits will likely be deferred to a future MSC.&lt;&#x2F;p&gt;
&lt;p&gt;Keep an eye on &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;category&#x2F;this-week-in-matrix&quot;&gt;This Week In Matrix&lt;&#x2F;a&gt; for updates on what v1.4 is expected to include, and how things are progressing.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-full-changelog&quot;&gt;The full changelog&lt;&#x2F;h2&gt;
&lt;p&gt;MSCs are how the spec changes in the way it does - adding, fixing, and maintaining features for the whole ecosystem to use. The blog post can’t cover them all, but that doesn’t make them any less important! Check out the full changelog below, and the &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;unstable&#x2F;proposals&#x2F;&quot;&gt;Spec Change Proposals&lt;&#x2F;a&gt; page for more information on how these MSCs got merged (hint: they submitted a proposal, which anyone can do - take a look at the &lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=SFkZz60RRfc&quot;&gt;Matrix Live episode&lt;&#x2F;a&gt; where Matthew covers the proposal process).&lt;&#x2F;p&gt;
&lt;h3 id=&quot;client-server-api&quot;&gt;Client-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Deprecations&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Deprecate the &lt;code&gt;sender_key&lt;&#x2F;code&gt; and &lt;code&gt;device_id&lt;&#x2F;code&gt; on &lt;code&gt;m.megolm.v1.aes-sha2&lt;&#x2F;code&gt; events, and the &lt;code&gt;sender_key&lt;&#x2F;code&gt; on &lt;code&gt;m.room_key_request&lt;&#x2F;code&gt; to-device messages, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3700&quot;&gt;MSC3700&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1101&quot;&gt;#1101&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Make &lt;code&gt;from&lt;&#x2F;code&gt; optional on &lt;code&gt;GET &#x2F;_matrix&#x2F;client&#x2F;v3&#x2F;messages&lt;&#x2F;code&gt; to allow requesting events from the start or end of the room history, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3567&quot;&gt;MSC3567&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1002&quot;&gt;#1002&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add refresh tokens, per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2918&quot;&gt;MSC2918&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1056&quot;&gt;#1056&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1113&quot;&gt;#1113&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Relax the restrictions on Rich Replies, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3676&quot;&gt;MSC3676&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1062&quot;&gt;#1062&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Describe a structured system for event relationships, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2674&quot;&gt;MSC2674&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1062&quot;&gt;#1062&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Describe how relationships between events can be &amp;quot;aggregated&amp;quot;, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;2675&quot;&gt;MSC2675&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3666&quot;&gt;MSC3666&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1062&quot;&gt;#1062&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add support for a new &lt;code&gt;knock_restricted&lt;&#x2F;code&gt; join rule in supported room versions, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3787&quot;&gt;MSC3787&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1099&quot;&gt;#1099&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Clarify that the url field in &lt;code&gt;m.room.avatar&lt;&#x2F;code&gt; events is not required. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;987&quot;&gt;#987&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that the &lt;code&gt;type&lt;&#x2F;code&gt; in user-interactive authentication can be omitted. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;989&quot;&gt;#989&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Adjust the OpenAPI specification so that the type &lt;code&gt;Flow information&lt;&#x2F;code&gt; is explicitly defined when the client-server API is rendered. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1003&quot;&gt;#1003&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Correct the default value for &lt;code&gt;invite&lt;&#x2F;code&gt; where it is not specified in an &lt;code&gt;m.room.power_levels&lt;&#x2F;code&gt; event. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1021&quot;&gt;#1021&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Update various links which pointed to the old &lt;code&gt;matrix-doc&lt;&#x2F;code&gt; github repository. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1032&quot;&gt;#1032&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Removed &lt;code&gt;m.room.message.feedback&lt;&#x2F;code&gt; per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3582&quot;&gt;MSC3582&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1035&quot;&gt;#1035&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1051&quot;&gt;#1051&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1054&quot;&gt;#1054&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1059&quot;&gt;#1059&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1081&quot;&gt;#1081&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1097&quot;&gt;#1097&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1110&quot;&gt;#1110&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1115&quot;&gt;#1115&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1126&quot;&gt;#1126&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1127&quot;&gt;#1127&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1128&quot;&gt;#1128&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1129&quot;&gt;#1129&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;issues&#x2F;3681&quot;&gt;#3681&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;issues&#x2F;3708&quot;&gt;#3708&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that state keys starting with &lt;code&gt;@&lt;&#x2F;code&gt; are in fact reserved. Regressed from &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3658&quot;&gt;#3658&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1100&quot;&gt;#1100&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove unenforced size limit on the &lt;code&gt;name&lt;&#x2F;code&gt; field of &lt;code&gt;m.room.name&lt;&#x2F;code&gt; events. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;issues&#x2F;3669&quot;&gt;#3669&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove erroneous &lt;code&gt;room_id&lt;&#x2F;code&gt; field from examples of &lt;code&gt;m.read&lt;&#x2F;code&gt;, &lt;code&gt;m.typing&lt;&#x2F;code&gt; in &lt;code&gt;&#x2F;sync&lt;&#x2F;code&gt; and &lt;code&gt;m.fully_read&lt;&#x2F;code&gt; in room account data. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;issues&#x2F;3679&quot;&gt;#3679&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the behaviour of &lt;code&gt;event_match&lt;&#x2F;code&gt; in push rule conditions. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;issues&#x2F;3690&quot;&gt;#3690&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix incorrectly referenced &lt;code&gt;m.login.appservice&lt;&#x2F;code&gt; login identifier, instead using &lt;code&gt;m.login.application_service&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;issues&#x2F;3711&quot;&gt;#3711&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix membership state transitions to denote that &lt;code&gt;invite-&amp;gt;knock&lt;&#x2F;code&gt; and &lt;code&gt;external-&amp;gt;leave&lt;&#x2F;code&gt; are valid transitions. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;issues&#x2F;3730&quot;&gt;#3730&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;server-server-api&quot;&gt;Server-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add a &lt;code&gt;destination&lt;&#x2F;code&gt; property to the Authorization header, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3383&quot;&gt;MSC3383&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1067&quot;&gt;#1067&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Remove largely unused &lt;code&gt;origin&lt;&#x2F;code&gt; field from PDUs. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;998&quot;&gt;#998&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Update various links which pointed to the old &lt;code&gt;matrix-doc&lt;&#x2F;code&gt; github repository. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1032&quot;&gt;#1032&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the format for the Authorization header. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1038&quot;&gt;#1038&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1067&quot;&gt;#1067&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify what a &amp;quot;valid event&amp;quot; means when performing checks on a received PDU. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1045&quot;&gt;#1045&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that &lt;code&gt;valid_until_ts&lt;&#x2F;code&gt; is in milliseconds, like other timestamps used in Matrix. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1055&quot;&gt;#1055&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that checks on PDUs should refer to the state &lt;em&gt;before&lt;&#x2F;em&gt; an event. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1070&quot;&gt;#1070&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the historical handling of non-integer power levels. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1099&quot;&gt;#1099&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1110&quot;&gt;#1110&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Correct misleading text for &lt;code&gt;&#x2F;send_join&lt;&#x2F;code&gt; response. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;issues&#x2F;3703&quot;&gt;#3703&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that the &lt;code&gt;content&lt;&#x2F;code&gt; for &lt;code&gt;X-Matrix&lt;&#x2F;code&gt; signature validation is the parsed JSON body. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;issues&#x2F;3727&quot;&gt;#3727&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;application-service-api&quot;&gt;Application Service API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add timestamp massaging as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3316&quot;&gt;MSC3316&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1094&quot;&gt;#1094&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;identity-service-api&quot;&gt;Identity Service API&lt;&#x2F;h3&gt;
&lt;p&gt;No significant changes.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;push-gateway-api&quot;&gt;Push Gateway API&lt;&#x2F;h3&gt;
&lt;p&gt;No significant changes.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;room-versions&quot;&gt;Room Versions&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add room version 10 as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3604&quot;&gt;MSC3604&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1099&quot;&gt;#1099&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Enforce integer power levels in room version 10 as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3667&quot;&gt;MSC3667&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1099&quot;&gt;#1099&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add a &lt;code&gt;knock_restricted&lt;&#x2F;code&gt; join rule supported by room version 10 as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3787&quot;&gt;MSC3787&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1099&quot;&gt;#1099&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Update the default room version to 9 as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3589&quot;&gt;MSC3589&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;issues&#x2F;3739&quot;&gt;#3739&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Improve readability and understanding of the state resolution algorithms. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1037&quot;&gt;#1037&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1042&quot;&gt;#1042&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1043&quot;&gt;#1043&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1120&quot;&gt;#1120&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Improve readability of the authorization rules. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1050&quot;&gt;#1050&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;For room versions 8, 9, and 10: clarify which homeserver is required to sign the join event. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1093&quot;&gt;#1093&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that room versions 1 through 9 accept stringy power levels, as noted by &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;pull&#x2F;3667&quot;&gt;MSC3667&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1099&quot;&gt;#1099&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;For all room versions: Add &lt;code&gt;m.federate&lt;&#x2F;code&gt; to the authorization rules, as originally intended. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1103&quot;&gt;#1103&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;For room versions 2 through 10: More explicitly define the mainline of a power event and the mainline ordering of other events. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec&#x2F;issues&#x2F;1107&quot;&gt;#1107&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;For room versions 7, 8, 9, and 10: fix join membership authorization rules when &lt;code&gt;join_rule&lt;&#x2F;code&gt; is &lt;code&gt;knock&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-spec-proposals&#x2F;issues&#x2F;3737&quot;&gt;#3737&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;appendices&quot;&gt;Appendices&lt;&#x2F;h3&gt;
&lt;p&gt;No significant changes.&lt;&#x2F;p&gt;
</content>
</entry>

    
<entry xml:lang="en">
    <title>Matrix v1.2 release</title>
    <published>2022-02-02T18:57:31+00:00</published>
    <updated>2022-02-02T18:57:31+00:00</updated>
    <author>
      <name>
            Travis Ralston
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2022/02/02/matrix-v-1-2-release/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2022/02/02/matrix-v-1-2-release/</id>
    <content type="html">&lt;p&gt;Hey all,&lt;&#x2F;p&gt;
&lt;p&gt;Welcome to the second installment of our quarterly spec releases. If it feels like it hasn’t been long since our last release, you’re not alone! Our &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2021&#x2F;11&#x2F;09&#x2F;matrix-v-1-1-release&quot;&gt;last release&lt;&#x2F;a&gt; was just 3 months ago, introducing the new platform and world we build within.&lt;&#x2F;p&gt;
&lt;p&gt;This improvement in speed might seem &lt;em&gt;too&lt;&#x2F;em&gt; fast, but fret not: implementations are not expected to update as soon as the new spec is published. Rather, it is more realistic to expect that the ecosystem gradually update over the course of the following few months&#x2F;year. Particularly after the massive release that was v1.1.&lt;&#x2F;p&gt;
&lt;p&gt;So, what’s new in v1.2? With 18 MSCs merged there’s a lot to cover - we’ve picked some notable highlights and recommend the full changelog at the bottom for a complete idea of what’s been going on.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;rearchitecting-with-spaces&quot;&gt;Rearchitecting with Spaces&lt;&#x2F;h2&gt;
&lt;p&gt;Spaces launched into beta &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2021&#x2F;05&#x2F;17&#x2F;the-matrix-space-beta&quot;&gt;last May&lt;&#x2F;a&gt;, redefining how we can use rooms on Matrix to represent different data structures. Described mostly as &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;1772&quot;&gt;MSC1772&lt;&#x2F;a&gt;, Spaces are simply rooms with a specific &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.2&#x2F;client-server-api&#x2F;#rooms-1&quot;&gt;type in their m.room.create event&lt;&#x2F;a&gt;. With state events being used to define which other rooms (meaning Spaces too) are part of that Space, the possibilities for tree-like structured data become endless.&lt;&#x2F;p&gt;
&lt;p&gt;There’s still quite a lot of work to do in the Spaces space (hah), though we’re excited to see it all land. For instance, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3216&quot;&gt;MSC3216&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2962&quot;&gt;MSC2962&lt;&#x2F;a&gt; target power level syncing, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3219&quot;&gt;MSC3219&lt;&#x2F;a&gt; aims for flair, and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3089&quot;&gt;MSC3089&lt;&#x2F;a&gt; looks at file structures using Spaces. We might even be able to replace the public room directory with a server-wide space, making writing clients a little bit easier.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;public-but-not-too-public-join-rules&quot;&gt;Public, but not &lt;em&gt;too&lt;&#x2F;em&gt; public, join rules&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.2&#x2F;client-server-api&#x2F;#restricted-rooms&quot;&gt;Restricted rooms&lt;&#x2F;a&gt; are new in this release from &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3083&quot;&gt;MSC3083&lt;&#x2F;a&gt;. In these rooms (&lt;em&gt;and therefore Spaces too!&lt;&#x2F;em&gt;), the join rules can be configured such that a member of another room can join without needing an invite. In a typical setup, this means that a Space could be set as invite-only, but all the rooms and Spaces underneath that Space could allow joins for members of the parent Space. When someone wishes to explore the universe you’ve laid out in your Space they can simply join the interesting rooms without having to ask for invites &lt;em&gt;constantly&lt;&#x2F;em&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;This feature changes how membership events are authorized, so is only available in room versions 8 and 9 (both introduced in this release). Room version 9 fixes a relatively rare bug from version 8, so we’d recommend using v9 if you’re planning an upgrade for this functionality.&lt;&#x2F;p&gt;
&lt;p&gt;Further work in this area involves figuring out how to keep membership lists perfectly in sync between the rooms, which is currently done by external tooling. For example, evicting someone from the parent Space could (optionally) evict the user from all the subsequent rooms and Spaces too.&lt;&#x2F;p&gt;
&lt;p&gt;We also need to figure out how to support both knocking and restricted rooms at the same time (oops). &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3613&quot;&gt;MSC3613&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3386&quot;&gt;MSC3386&lt;&#x2F;a&gt; both tackle this problem in different ways and timescales.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;matrix-a-uri&quot;&gt;Matrix: A URI&lt;&#x2F;h2&gt;
&lt;p&gt;A massive shoutout goes to kitsune and the whole community for working on &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2312&quot;&gt;MSC2312&lt;&#x2F;a&gt;, giving us a URI we can pass around outside of Matrix to bring us back in. The early work on this &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;455&quot;&gt;dates all the way back to 2014&lt;&#x2F;a&gt;, the very beginning of Matrix’s development, and has since been &lt;a href=&quot;https:&#x2F;&#x2F;www.iana.org&#x2F;assignments&#x2F;uri-schemes&#x2F;prov&#x2F;matrix&quot;&gt;marked Provisional&lt;&#x2F;a&gt; by the IANA.&lt;&#x2F;p&gt;
&lt;p&gt;The full spec is available &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.2&#x2F;appendices&#x2F;#uris&quot;&gt;here&lt;&#x2F;a&gt; - feel free to discuss it at &lt;a href=&quot;matrix:r&#x2F;matrix-spec:matrix.org&quot;&gt;matrix:r&#x2F;matrix-spec:matrix.org&lt;&#x2F;a&gt; ;)&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-full-changelog&quot;&gt;The full changelog&lt;&#x2F;h2&gt;
&lt;p&gt;MSCs are how the spec changes in the way it does - adding, fixing, and maintaining features for the whole ecosystem to use. The blog post can’t cover them all, but that doesn’t make them any less important! Check out the full changelog below, and the &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;unstable&#x2F;proposals&#x2F;&quot;&gt;Spec Change Proposals&lt;&#x2F;a&gt; page for more information on how these MSCs got merged (hint: they submitted a proposal, which anyone can do - take a look at the &lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=SFkZz60RRfc&quot;&gt;Matrix Live episode&lt;&#x2F;a&gt; where Matthew covers the proposal process).&lt;&#x2F;p&gt;
&lt;h3 id=&quot;client-server-api&quot;&gt;Client-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Breaking Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;code&gt;prev_content&lt;&#x2F;code&gt; field is now returned inside the &lt;code&gt;unsigned&lt;&#x2F;code&gt; property of events, rather than at the top level, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3442&quot;&gt;MSC3442&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3524&quot;&gt;#3524&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;The &lt;code&gt;aliases&lt;&#x2F;code&gt; property from the chunks returned by &lt;code&gt;&#x2F;publicRooms&lt;&#x2F;code&gt;, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2432&quot;&gt;MSC2432&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3624&quot;&gt;#3624&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;New Endpoints&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add the Space Hierarchy API (&lt;code&gt;GET &#x2F;_matrix&#x2F;client&#x2F;v1&#x2F;rooms&#x2F;{roomId}&#x2F;hierarchy&lt;&#x2F;code&gt;) as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2946&quot;&gt;MSC2946&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3610&quot;&gt;#3610&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;&#x2F;_matrix&#x2F;client&#x2F;v1&#x2F;register&#x2F;m.login.registration_token&#x2F;validity&lt;&#x2F;code&gt; as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3231&quot;&gt;MSC3231&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3616&quot;&gt;#3616&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Extend &lt;code&gt;&#x2F;_matrix&#x2F;client&#x2F;r0&#x2F;login&lt;&#x2F;code&gt; to accept a &lt;code&gt;m.login.appservice&lt;&#x2F;code&gt;, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2778&quot;&gt;MSC2778&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3324&quot;&gt;#3324&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add support for &lt;code&gt;restricted&lt;&#x2F;code&gt; rooms as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3083&quot;&gt;MSC3083&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3289&quot;&gt;MSC3289&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3375&quot;&gt;MSC3375&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3387&quot;&gt;#3387&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;is_guest&lt;&#x2F;code&gt; to &lt;code&gt;&#x2F;account&#x2F;whoami&lt;&#x2F;code&gt; as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3069&quot;&gt;MSC3069&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3605&quot;&gt;#3605&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Expand guest access to sending any room event and state event as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3419&quot;&gt;MSC3419&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3605&quot;&gt;#3605&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add Spaces and room types as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;1772&quot;&gt;MSC1772&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2946&quot;&gt;MSC2946&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3610&quot;&gt;#3610&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add new &lt;code&gt;m.set_displayname&lt;&#x2F;code&gt;, &lt;code&gt;m.set_avatar_url&lt;&#x2F;code&gt;, and &lt;code&gt;m.3pid_changes&lt;&#x2F;code&gt; capabilities as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3283&quot;&gt;MSC3283&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3614&quot;&gt;#3614&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add support for fallback keys (optional keys used once one-time keys run out), as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2732&quot;&gt;MSC2732&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3615&quot;&gt;#3615&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add token-authenticated registration support as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3231&quot;&gt;MSC3231&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3616&quot;&gt;#3616&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Make &lt;code&gt;AesHmacSha2KeyDescription&lt;&#x2F;code&gt; consistent with &lt;code&gt;KeyDescription&lt;&#x2F;code&gt; in marking &lt;code&gt;name&lt;&#x2F;code&gt; as optional. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3481&quot;&gt;#3481&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3482&quot;&gt;#3482&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3495&quot;&gt;#3495&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3509&quot;&gt;#3509&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3535&quot;&gt;#3535&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3591&quot;&gt;#3591&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3601&quot;&gt;#3601&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3611&quot;&gt;#3611&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3671&quot;&gt;#3671&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3680&quot;&gt;#3680&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Explicitly mention RFC5870 in the definition of &lt;code&gt;m.location&lt;&#x2F;code&gt; events (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3492&quot;&gt;#3492&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;403 M_FORBIDDEN&lt;&#x2F;code&gt; error code to &lt;code&gt;&#x2F;profile&#x2F;{userId}&lt;&#x2F;code&gt; as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3550&quot;&gt;MSC3550&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3530&quot;&gt;#3530&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the description of the &lt;code&gt;&#x2F;sync&lt;&#x2F;code&gt; API, including a fix to an ASCII art diagram. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3543&quot;&gt;#3543&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that &lt;code&gt;base_url&lt;&#x2F;code&gt; in client &lt;code&gt;well_known&lt;&#x2F;code&gt; may or may not include trailing slash. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3562&quot;&gt;#3562&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify which signature to check when decrypting &lt;code&gt;m.olm.v1.curve25519-aes-sha2&lt;&#x2F;code&gt; messages. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3573&quot;&gt;#3573&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify what &amp;quot;Stripped State&amp;quot; is and what purpose it serves, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3173&quot;&gt;MSC3173&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3606&quot;&gt;#3606&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify how to interpret missing one-time key counts. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3636&quot;&gt;#3636&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Correct the schema for the responses  for various API endpoints. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3650&quot;&gt;#3650&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that group mentions are no longer in the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3652&quot;&gt;#3652&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Distinguish between &amp;quot;federation&amp;quot; event format as exchanged by the Federation API, and the &amp;quot;client&amp;quot; event formats as used in the client-server and AS APIs. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3658&quot;&gt;#3658&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix the rendering of the responses for various API endpoints. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3674&quot;&gt;#3674&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;server-server-api&quot;&gt;Server-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;New Endpoints&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add the Space Hierarchy API (&lt;code&gt;GET &#x2F;_matrix&#x2F;federation&#x2F;v1&#x2F;hierarchy&#x2F;{roomId}&lt;&#x2F;code&gt;) as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2946&quot;&gt;MSC2946&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3610&quot;&gt;#3610&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3660&quot;&gt;#3660&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add support for &lt;code&gt;restricted&lt;&#x2F;code&gt; rooms as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3083&quot;&gt;MSC3083&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3289&quot;&gt;MSC3289&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3375&quot;&gt;MSC3375&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3387&quot;&gt;#3387&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3527&quot;&gt;#3527&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that &lt;code&gt;GET &#x2F;_matrix&#x2F;federation&#x2F;v1&#x2F;event_auth&#x2F;{roomId}&#x2F;{eventId}&lt;&#x2F;code&gt; does &lt;em&gt;not&lt;&#x2F;em&gt; return the auth chain for the full state of the room. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3583&quot;&gt;#3583&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix the rendering of the responses for various API endpoints. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3674&quot;&gt;#3674&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;application-service-api&quot;&gt;Application Service API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Distinguish between &amp;quot;federation&amp;quot; event format as exchanged by the Federation API, and the &amp;quot;client&amp;quot; event formats as used in the client-server and AS APIs. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3658&quot;&gt;#3658&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix the rendering of the responses for various API endpoints. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3674&quot;&gt;#3674&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Correct the documentation for the response value for &lt;code&gt;GET &#x2F;_matrix&#x2F;app&#x2F;v1&#x2F;thirdparty&#x2F;protocol&#x2F;{protocol}&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3675&quot;&gt;#3675&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;identity-service-api&quot;&gt;Identity Service API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add the &lt;code&gt;room_type&lt;&#x2F;code&gt; to stored invites as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3288&quot;&gt;MSC3288&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3610&quot;&gt;#3610&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fix the rendering of the responses for various API endpoints. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3674&quot;&gt;#3674&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;push-gateway-api&quot;&gt;Push Gateway API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fix the rendering of the responses for various API endpoints. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3674&quot;&gt;#3674&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;room-versions&quot;&gt;Room Versions&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add Room Version 8 as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3289&quot;&gt;MSC3289&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3387&quot;&gt;#3387&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add Room Version 9 as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3375&quot;&gt;MSC3375&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3387&quot;&gt;#3387&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fully specify room versions to indicate what exactly is carried over from parent versions. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3432&quot;&gt;#3432&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3661&quot;&gt;#3661&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarifications to sections on event IDs and event formats. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3501&quot;&gt;#3501&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove a number of fields which were incorrectly shown to form part of the &lt;code&gt;unsigned&lt;&#x2F;code&gt; data of a Federation PDU. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3522&quot;&gt;#3522&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix heading order of room version specifications to be consistent. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3683&quot;&gt;#3683&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add missing &amp;quot;Signing key validity period&amp;quot; section to room version 6. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3683&quot;&gt;#3683&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix auth rules to allow membership of &lt;code&gt;knock&lt;&#x2F;code&gt; -&amp;gt; &lt;code&gt;leave&lt;&#x2F;code&gt; in v7, v8, and v9. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3694&quot;&gt;#3694&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;appendices&quot;&gt;Appendices&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Describe &amp;quot;Common Namespaced Identifier Grammar&amp;quot; as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2758&quot;&gt;MSC2758&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3171&quot;&gt;#3171&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Describe the &lt;code&gt;matrix:&lt;&#x2F;code&gt; URI scheme as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2312&quot;&gt;MSC2312&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3608&quot;&gt;#3608&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
</entry>

    
<entry xml:lang="en">
    <title>Matrix v1.1 release</title>
    <published>2021-11-09T21:28:29+00:00</published>
    <updated>2021-11-09T16:06:10+00:00</updated>
    <author>
      <name>
            Travis Ralston
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2021/11/09/matrix-v1-1-release/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2021/11/09/matrix-v1-1-release/</id>
    <content type="html">&lt;p&gt;Hey all,&lt;&#x2F;p&gt;
&lt;p&gt;Once again it&#x27;s been &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2020&#x2F;05&#x2F;27&#x2F;room-version-6-client-server-r-0-6-1-and-federation-r-0-1-4-spec-releases&quot;&gt;a little while&lt;&#x2F;a&gt; since we&#x27;ve done a spec release (sorry; we&#x27;re aiming for quarterly releases from here on out), but this time we have some pretty big news: we&#x27;ve got an &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&quot;&gt;all-new spec platform&lt;&#x2F;a&gt; and a new versioning scheme. The new spec platform has been needed for a long time to make better sense of what Matrix is, and as part of getting that out the door we reduced the number of &amp;quot;Matrix versions&amp;quot; to just one.&lt;&#x2F;p&gt;
&lt;p&gt;Huge thanks to Will Bamberg for building it out for us, anoa for working out the deployment details, and everyone for testing it all. They talk at length about what this specification even is and about the platform itself on &lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=gsdMgXug7u8&quot;&gt;Matrix Live S6E19&lt;&#x2F;a&gt;. It&#x27;s the single greatest improvement to the spec we&#x27;ve seen to date.&lt;&#x2F;p&gt;
&lt;p&gt;The new versioning scheme presents the whole specification as a single document, making it easier to check compatibility between implementations and the spec itself. Previously, a grid would have to be drawn to show whether Server-Server r0.1.4 is compatible with Client-Server r0.6.1 - while obvious at release time, the historical context gets lost quite easily. Now, with a single version number, the entire specification is compatible across a single version number: servers implementing Matrix 1.1 will be compatible with clients implementing v1.1, and vice versa. For the specification itself, this means we no longer have to carefully point and update links between the APIs, as they&#x27;ll instead be versioned together.&lt;&#x2F;p&gt;
&lt;p&gt;Changing the versioning of the specification does have an impact on the Client-Server API in particular, however. You may have noticed that Client-Server APIs are currently versioned at &amp;quot;r0&amp;quot;. By removing rX.Y.Z versioning, all of the endpoints suddenly don&#x27;t have a version to reference. All endpoints across the specification are now versioned individually to allow for breaking changes at the endpoint level. They no longer require the whole specification to be listed as a breaking change: a v1 endpoint can get additions&#x2F;changes which are backwards compatible, but if we need to change format (for example) then it&#x27;ll get bumped up to v2, leaving v1 in its last known state.&lt;&#x2F;p&gt;
&lt;p&gt;For the Client-Server API, a slight complication is that v1 and v2 (alpha) are already versions familiar to those that have been around for a while - to avoid confusing those people, existing Client-Server API endpoints will start at v3. New endpoints introduced after v1.1 will start at v1 instead.&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s been well over a year since the last release, which means there&#x27;s a whole lot of features and changes to cover. Here we&#x27;ll try to cover the things most clients&#x2F;servers will have to worry about, but we do still recommend reading through the changelog included below. Overall, 28 MSCs have been merged through this release, but some have had to be excluded in the interest of getting the spec release out there. Many of them are expected to be in the next anticipated release (which should hopefully be next quarter).&lt;&#x2F;p&gt;
&lt;h2 id=&quot;clients-there-s-a-lot-of-stuff&quot;&gt;Clients: There&#x27;s a lot of stuff&lt;&#x2F;h2&gt;
&lt;p&gt;In Matrix 1.1, client developers get all sorts of new features to play with. Clients which support end-to-end encryption should explore &lt;strong&gt;&lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.1&#x2F;client-server-api&#x2F;#server-side-key-backups&quot;&gt;key backups&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt;, &lt;strong&gt;&lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.1&#x2F;client-server-api&#x2F;#cross-signing&quot;&gt;cross-signing&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt;, &lt;strong&gt;&lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.1&#x2F;client-server-api&#x2F;#secrets&quot;&gt;SSSS&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt;, and &lt;strong&gt;&lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.1&#x2F;client-server-api&#x2F;#key-verification-framework&quot;&gt;breaking changes to verification&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt;. Quite a lot of this stuff has existed for a while, but has made it into the specification formally now. As an added bonus, the emoji for SAS verification &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;tree&#x2F;master&#x2F;data-definitions&quot;&gt;have been translated&lt;&#x2F;a&gt; (&lt;a href=&quot;https:&#x2F;&#x2F;translate.element.io&#x2F;projects&#x2F;matrix-doc&#x2F;sas-emoji-v1&#x2F;&quot;&gt;contribute here&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;Knocking has also landed in the spec (thanks Sorunome for leading the charge on this!), opening up the ability for rooms to optionally allow people to request invites to join. This can be helpful for semi-private rooms where it can be easier to approve&#x2F;deny requests compared to finding someone&#x27;s MXID and manually inviting them. This does require a &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.1&#x2F;rooms&#x2F;v7&#x2F;&quot;&gt;v7 room&lt;&#x2F;a&gt; to work, however.&lt;&#x2F;p&gt;
&lt;p&gt;Thanks again to Sorunome, &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.1&#x2F;client-server-api&#x2F;#spoiler-messages&quot;&gt;Message Spoilers&lt;&#x2F;a&gt; have been officially included in Matrix. People can now safely discuss the ending to the latest movie without being banned for spoilers. Though, as a new feature, there&#x27;s a chance that the spoiler text still gets included in the message: clients should update as soon as possible to avoid their users accidentally getting banned for spoiling the conclusion to the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;1772&quot;&gt;Spaces saga&lt;&#x2F;a&gt; ;)&lt;&#x2F;p&gt;
&lt;p&gt;There&#x27;s a few other smaller improvements&#x2F;additions, and of course the regular &amp;quot;various clarifications and bug fixes&amp;quot; to take a look at. For a sample checklist, check out &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vector-im&#x2F;element-web&#x2F;issues&#x2F;16876&quot;&gt;element-web&#x27;s issue&lt;&#x2F;a&gt; on the subject.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;servers-knock-knock-it-s-a-new-room-version&quot;&gt;Servers: Knock knock, it&#x27;s a new room version&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.1&#x2F;rooms&#x2F;v7&#x2F;&quot;&gt;Room version 7&lt;&#x2F;a&gt; has landed, bringing forth the ability for users to knock on rooms (requesting an invite to join). The changes are largely scoped to using the reserved keywords for join rules and membership, and are described through the auth rules. Thankfully, the changes over v6 are minimally invasive so should be quick to implement.&lt;&#x2F;p&gt;
&lt;p&gt;Additionally, the &lt;a href=&quot;https:&#x2F;&#x2F;spec.matrix.org&#x2F;v1.1&#x2F;server-server-api&#x2F;#end-to-end-encryption&quot;&gt;cross-signing bits&lt;&#x2F;a&gt; have been included in the API responses and EDU definitions. &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2020&#x2F;05&#x2F;06&#x2F;cross-signing-and-end-to-end-encryption-by-default-is-here&quot;&gt;Matthew&#x27;s blog post&lt;&#x2F;a&gt; from last year (it really has been that long...) describes cross-signing and the history of its implementation.&lt;&#x2F;p&gt;
&lt;p&gt;As per usual, there&#x27;s also various specification errors corrected to aid understanding. &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;synapse&#x2F;issues&#x2F;11079&quot;&gt;Synapse has an exhaustive issue&lt;&#x2F;a&gt; to detail what servers might need to do.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;em&gt;PS: Room versions 8 and 9 are also out there, but will be included in a future spec release.&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-full-changelog&quot;&gt;The full changelog&lt;&#x2F;h2&gt;
&lt;p&gt;We haven&#x27;t mentioned identity servers, bridges, etc in this post but they have changes too! Below is the whole changelog, the entire year and a bit of it. Thank you to everyone who has submitted MSCs, and congratulations on getting them released. If we forgot yours, please mention it in &lt;a href=&quot;https:&#x2F;&#x2F;matrix.to&#x2F;#&#x2F;#matrix-spec:matrix.org&quot;&gt;#matrix-spec:matrix.org&lt;&#x2F;a&gt; so we can apologize and correct.&lt;&#x2F;p&gt;
&lt;p&gt;PS: The MSC process is how changes to Matrix are made, and you (yes, you) can propose those changes too. Check out the &lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=SFkZz60RRfc&quot;&gt;Matrix Live episode&lt;&#x2F;a&gt; where Matthew talks about how this process works, and how we avoid blocking clients from implementing their proposals behind the relatively slow spec release cycles.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;client-server-api&quot;&gt;Client-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Breaking Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Document &lt;code&gt;curve25519-hkdf-sha256&lt;&#x2F;code&gt; key agreement method for SAS verification, and deprecate old method as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2630&quot;&gt;MSC2630&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2687&quot;&gt;#2687&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;m.key.verification.ready&lt;&#x2F;code&gt; and &lt;code&gt;m.key.verification.done&lt;&#x2F;code&gt; to key verification framework as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2366&quot;&gt;MSC2366&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3139&quot;&gt;#3139&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Deprecations&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Deprecate starting verifications that don&#x27;t start with &lt;code&gt;m.key.verification.request&lt;&#x2F;code&gt; as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;3122&quot;&gt;MSC3122&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3199&quot;&gt;#3199&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;New Endpoints&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add key backup (&lt;code&gt;&#x2F;room_keys&#x2F;*&lt;&#x2F;code&gt;) endpoints as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;1219&quot;&gt;MSC1219&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2387&quot;&gt;#2387&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2639&quot;&gt;#2639&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;POST &#x2F;keys&#x2F;device_signing&#x2F;upload&lt;&#x2F;code&gt; and &lt;code&gt;POST &#x2F;keys&#x2F;signatures&#x2F;upload&lt;&#x2F;code&gt; as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;1756&quot;&gt;MSC1756&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2536&quot;&gt;#2536&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;&#x2F;knock&lt;&#x2F;code&gt; endpoint as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2403&quot;&gt;MSC2403&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3154&quot;&gt;#3154&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;&#x2F;login&#x2F;sso&#x2F;redirect&#x2F;{idpId}&lt;&#x2F;code&gt; as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2858&quot;&gt;MSC2858&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3163&quot;&gt;#3163&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Removed Endpoints&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Remove unimplemented &lt;code&gt;m.login.oauth2&lt;&#x2F;code&gt; and &lt;code&gt;m.login.token&lt;&#x2F;code&gt; user-interactive authentication mechanisms as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2610&quot;&gt;MSC2610&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2611&quot;&gt;MSC2611&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2609&quot;&gt;#2609&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Document how clients can advise recipients that it is withholding decryption keys as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2399&quot;&gt;MSC2399&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2399&quot;&gt;#2399&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add cross-signing properties to the response of &lt;code&gt;POST &#x2F;keys&#x2F;query&lt;&#x2F;code&gt; as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;1756&quot;&gt;MSC1756&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2536&quot;&gt;#2536&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Document Secure Secret Storage and Sharing as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;1946&quot;&gt;MSC1946&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2472&quot;&gt;MSC2472&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2597&quot;&gt;#2597&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add a &lt;code&gt;device_id&lt;&#x2F;code&gt; parameter to login fallback as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2604&quot;&gt;MSC2604&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2709&quot;&gt;#2709&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Added a common set of translations for SAS Emoji. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2728&quot;&gt;#2728&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Added support for &lt;code&gt;reason&lt;&#x2F;code&gt; on all membership events and related endpoints as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2367&quot;&gt;MSC2367&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2795&quot;&gt;#2795&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add a 404 &lt;code&gt;M_NOT_FOUND&lt;&#x2F;code&gt; error to push rule endpoints as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2663&quot;&gt;MSC2663&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2796&quot;&gt;#2796&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Make &lt;code&gt;reason&lt;&#x2F;code&gt; and &lt;code&gt;score&lt;&#x2F;code&gt; parameters optional in the content reporting API as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2414&quot;&gt;MSC2414&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2807&quot;&gt;#2807&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Allow guests to get the list of members for a room as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2689&quot;&gt;MSC2689&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2808&quot;&gt;#2808&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add support for spoilers as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2010&quot;&gt;MSC2010&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2557&quot;&gt;MSC2557&lt;&#x2F;a&gt;, and &lt;code&gt;color&lt;&#x2F;code&gt; attribute as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2422&quot;&gt;MSC2422&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3098&quot;&gt;#3098&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;&amp;lt;details&amp;gt;&lt;&#x2F;code&gt; and &lt;code&gt;&amp;lt;summary&amp;gt;&lt;&#x2F;code&gt; to the suggested HTML subset as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2184&quot;&gt;MSC2184&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3100&quot;&gt;#3100&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add key verification using in-room messages as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2241&quot;&gt;MSC2241&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3139&quot;&gt;#3139&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3150&quot;&gt;#3150&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add information about using SSSS for cross-signing and key backup. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3147&quot;&gt;#3147&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add key verification method using QR codes as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;1544&quot;&gt;MSC1544&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3149&quot;&gt;#3149&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Document how clients can simplify usage of Secure Secret Storage as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2874&quot;&gt;MSC2874&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3151&quot;&gt;#3151&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add support for knocking, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2403&quot;&gt;MSC2403&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3154&quot;&gt;#3154&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3254&quot;&gt;#3254&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Multiple SSO providers are possible through &lt;code&gt;m.login.sso&lt;&#x2F;code&gt; as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2858&quot;&gt;MSC2858&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3163&quot;&gt;#3163&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;device_id&lt;&#x2F;code&gt; to &lt;code&gt;&#x2F;account&#x2F;whoami&lt;&#x2F;code&gt; response as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2033&quot;&gt;MSC2033&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3166&quot;&gt;#3166&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Downgrade identity server discovery failures to &lt;code&gt;FAIL_PROMPT&lt;&#x2F;code&gt; as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2284&quot;&gt;MSC2284&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3169&quot;&gt;#3169&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Re-version all endpoints to be &lt;code&gt;v3&lt;&#x2F;code&gt; as a starting point instead of &lt;code&gt;r0&lt;&#x2F;code&gt; as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2844&quot;&gt;MSC2844&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3421&quot;&gt;#3421&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fix issues with &lt;code&gt;age&lt;&#x2F;code&gt; and &lt;code&gt;unsigned&lt;&#x2F;code&gt; being shown in the wrong places. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2591&quot;&gt;#2591&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix definitions for room version capabilities. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2592&quot;&gt;#2592&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2594&quot;&gt;#2594&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2599&quot;&gt;#2599&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2809&quot;&gt;#2809&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2878&quot;&gt;#2878&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2885&quot;&gt;#2885&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2888&quot;&gt;#2888&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3116&quot;&gt;#3116&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3339&quot;&gt;#3339&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify link to OpenID Connect specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2605&quot;&gt;#2605&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the behaviour of SSO login and UI-Auth. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2608&quot;&gt;#2608&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove spurious &lt;code&gt;room_id&lt;&#x2F;code&gt; from &lt;code&gt;&#x2F;sync&lt;&#x2F;code&gt; examples. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2629&quot;&gt;#2629&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Reorganize information in Push Notifications module for clarity. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2634&quot;&gt;#2634&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Improve consistency and clarity of event schema &lt;code&gt;title&lt;&#x2F;code&gt;s. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2647&quot;&gt;#2647&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix schema issues in &lt;code&gt;m.key.verification.accept&lt;&#x2F;code&gt; and secret storage. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2653&quot;&gt;#2653&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Reword &amp;quot;UI Authorization&amp;quot; to &amp;quot;User-Interactive Authentication&amp;quot; to be more clear. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2667&quot;&gt;#2667&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix schemas for push rule actions to represent their alternative object form. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2669&quot;&gt;#2669&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix usage of &lt;code&gt;highlight&lt;&#x2F;code&gt; tweak for consistency. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2670&quot;&gt;#2670&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the behaviour of &lt;code&gt;state&lt;&#x2F;code&gt; for &lt;code&gt;&#x2F;sync&lt;&#x2F;code&gt; with lazy-loading. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2754&quot;&gt;#2754&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify description of &lt;code&gt;m.room.redaction&lt;&#x2F;code&gt; event. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2814&quot;&gt;#2814&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Mark &lt;code&gt;messages&lt;&#x2F;code&gt; as a required JSON body field in &lt;code&gt;PUT &#x2F;_matrix&#x2F;client&#x2F;r0&#x2F;sendToDevice&#x2F;{eventType}&#x2F;{txnId}&lt;&#x2F;code&gt; calls. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2928&quot;&gt;#2928&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Correct examples of &lt;code&gt;client_secret&lt;&#x2F;code&gt; request body parameters so that they do not include invalid characters. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2985&quot;&gt;#2985&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix example MXC URI for &lt;code&gt;m.presence&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3091&quot;&gt;#3091&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that event bodies are untrusted, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2801&quot;&gt;MSC2801&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3099&quot;&gt;#3099&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix the maximum event size restriction (65535 bytes -&amp;gt; 65536). (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3127&quot;&gt;#3127&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Update &lt;code&gt;Access-Control-Allow-Headers&lt;&#x2F;code&gt; recommendation to fit CORS specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3225&quot;&gt;#3225&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Explicitly state that &lt;code&gt;replacement_room&lt;&#x2F;code&gt; is a room ID in &lt;code&gt;m.room.tombstone&lt;&#x2F;code&gt; events. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3233&quot;&gt;#3233&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that all request bodies are required. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3238&quot;&gt;#3238&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3332&quot;&gt;#3332&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add missing titles to some scheams. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3330&quot;&gt;#3330&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add User-Interactive Authentication fields to cross-signing APIs as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;1756&quot;&gt;MSC1756&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3331&quot;&gt;#3331&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Mention that a canonical alias event should be added when a room is created with an alias. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3337&quot;&gt;#3337&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add an &#x27;API conventions&#x27; section to the Appendices. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3350&quot;&gt;#3350&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the documentation around the pagination tokens used by &lt;code&gt;&#x2F;sync&lt;&#x2F;code&gt;, &lt;code&gt;&#x2F;rooms&#x2F;{room_id}&#x2F;messages&lt;&#x2F;code&gt;, &lt;code&gt;&#x2F;initialSync&lt;&#x2F;code&gt;, &lt;code&gt;&#x2F;rooms&#x2F;{room_id}&#x2F;initialSync&lt;&#x2F;code&gt;, and &lt;code&gt;&#x2F;notifications&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3353&quot;&gt;#3353&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove the inaccurate &#x27;Pagination&#x27; section. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3366&quot;&gt;#3366&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify how &lt;code&gt;redacted_because&lt;&#x2F;code&gt; is meant to work. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3411&quot;&gt;#3411&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove extraneous &lt;code&gt;mimetype&lt;&#x2F;code&gt; from &lt;code&gt;EncryptedFile&lt;&#x2F;code&gt; examples, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2582&quot;&gt;MSC2582&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3412&quot;&gt;#3412&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Describe how &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2844&quot;&gt;MSC2844&lt;&#x2F;a&gt; affects the &lt;code&gt;&#x2F;versions&lt;&#x2F;code&gt; endpoint. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3420&quot;&gt;#3420&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix documentation errors around &lt;code&gt;threepid_creds&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3471&quot;&gt;#3471&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;server-server-api&quot;&gt;Server-Server API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;New Endpoints&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;&#x2F;make_knock&lt;&#x2F;code&gt; and &lt;code&gt;&#x2F;send_knock&lt;&#x2F;code&gt; endpoints as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2403&quot;&gt;MSC2403&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3154&quot;&gt;#3154&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Backwards Compatible Changes&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add cross-signing information to &lt;code&gt;GET &#x2F;user&#x2F;keys&lt;&#x2F;code&gt; and &lt;code&gt;GET &#x2F;user&#x2F;devices&#x2F;{userId}&lt;&#x2F;code&gt;, &lt;code&gt;m.device_list_update&lt;&#x2F;code&gt; EDU, and a new &lt;code&gt;m.signing_key_update&lt;&#x2F;code&gt; EDU as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;1756&quot;&gt;MSC1756&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2536&quot;&gt;#2536&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add support for knocking, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2403&quot;&gt;MSC2403&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3154&quot;&gt;#3154&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Specify that &lt;code&gt;GET &#x2F;_matrix&#x2F;federation&#x2F;v1&#x2F;make_join&#x2F;{roomId}&#x2F;{userId}&lt;&#x2F;code&gt; can return a 404 if the room is unknown. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2688&quot;&gt;#2688&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2888&quot;&gt;#2888&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3116&quot;&gt;#3116&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3128&quot;&gt;#3128&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3207&quot;&gt;#3207&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Correct the &lt;code&gt;&#x2F;_matrix&#x2F;federation&#x2F;v1&#x2F;user&#x2F;devices&#x2F;{userId}&lt;&#x2F;code&gt; response which actually returns &lt;code&gt;&amp;quot;self_signing_key&amp;quot;&lt;&#x2F;code&gt; instead of &lt;code&gt;&amp;quot;self_signing_keys&amp;quot;&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3312&quot;&gt;#3312&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Explain the reasons why &lt;code&gt;&amp;lt;hostname&amp;gt;&lt;&#x2F;code&gt; TLS certificate is needed rather than &lt;code&gt;&amp;lt;delegated_hostname&amp;gt;&lt;&#x2F;code&gt; for SRV delegation. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3322&quot;&gt;#3322&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Tweak the example PDU diagram to better demonstrate situations with multiple &lt;code&gt;prev_events&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3340&quot;&gt;#3340&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;application-service-api&quot;&gt;Application Service API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2888&quot;&gt;#2888&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;identity-service-api&quot;&gt;Identity Service API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;New Endpoints&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;GET &#x2F;_matrix&#x2F;identity&#x2F;versions&lt;&#x2F;code&gt; API as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2320&quot;&gt;MSC2320&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3101&quot;&gt;#3101&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Removed Endpoints&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The v1 identity service API has been removed in favour of the v2 API, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2713&quot;&gt;MSC2713&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3170&quot;&gt;#3170&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fix various typos throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2888&quot;&gt;#2888&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that some identifiers must be case folded prior to processing, as per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2265&quot;&gt;MSC2265&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3167&quot;&gt;#3167&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3176&quot;&gt;#3176&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Describe how &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2844&quot;&gt;MSC2844&lt;&#x2F;a&gt; affects the &lt;code&gt;&#x2F;versions&lt;&#x2F;code&gt; endpoint. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;3459&quot;&gt;#3459&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;push-gateway-api&quot;&gt;Push Gateway API&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;strong&gt;Spec Clarifications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Clarify where to get information about the various parameter values for the notify endpoint. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2763&quot;&gt;#2763&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
</entry>

    
<entry xml:lang="en">
    <title>Room Version 6, Client-Server r0.6.1, and Federation r0.1.4 spec releases</title>
    <published>2020-05-27T00:00:00+00:00</published>
    <updated>2020-05-27T00:00:00+00:00</updated>
    <author>
      <name>
            Travis Ralston
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2020/05/27/room-version-6-client-server-r0-6-1-and-federation-r0-1-4-spec-releases/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2020/05/27/room-version-6-client-server-r0-6-1-and-federation-r0-1-4-spec-releases/</id>
    <content type="html">&lt;h2 id=&quot;room-version-6-client-server-r0-6-1-and-federation-r0-1-4-spec-releases&quot;&gt;Room Version 6, Client-Server r0.6.1, and Federation r0.1.4 spec releases&lt;&#x2F;h2&gt;
&lt;p&gt;Hey all,&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s been &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2019&#x2F;11&#x2F;08&#x2F;client-server-r-0-6-0-and-identity-service-r-0-3-0-releases&quot;&gt;a little while&lt;&#x2F;a&gt; since we&#x27;ve done a spec release, so here we are with &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;docs&#x2F;spec&#x2F;rooms&#x2F;v6&quot;&gt;Room Version 6&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;docs&#x2F;spec&#x2F;client_server&#x2F;r0.6.1&quot;&gt;Client-Server r0.6.1&lt;&#x2F;a&gt;, and &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;docs&#x2F;spec&#x2F;server_server&#x2F;r0.1.4&quot;&gt;Federation r0.1.4&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Room Version 6 (and the associated Federation r0.1.4 release) is largely something for implementations to worry about. It contains new event authorisation rules, changes to the redaction algorithm, and stricter compliance for JSON.&lt;&#x2F;p&gt;
&lt;p&gt;Client-Server r0.6.1 contains a number of clarifications as well as SSO support for authorisation, &amp;quot;soft logout&amp;quot; to avoid needlessly destroying e2e history, and new ways to publish aliases within rooms.&lt;&#x2F;p&gt;
&lt;p&gt;If you&#x27;re wondering where all the E2E-by-default related MSCs are - we&#x27;re doing final iterations based on the real-world feedback from the E2E-by-default launch a few weeks ago, and they are then expected to land in the upcoming Client-Server r0.7.&lt;&#x2F;p&gt;
&lt;p&gt;Here&#x27;s all the MSCs that got merged since the last release:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2240&quot;&gt;MSC2240&lt;&#x2F;a&gt;: Room version 6&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2457&quot;&gt;MSC2457&lt;&#x2F;a&gt;: Invalidating devices during password modification&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2454&quot;&gt;MSC2454&lt;&#x2F;a&gt;: Support UI auth for SSO&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2451&quot;&gt;MSC2451&lt;&#x2F;a&gt;: Remove &lt;code&gt;query_auth&lt;&#x2F;code&gt; federation endpoint&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2432&quot;&gt;MSC2432&lt;&#x2F;a&gt;: Updated semantics for publishing room aliases&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2324&quot;&gt;MSC2324&lt;&#x2F;a&gt;: Facilitating early releases of software dependent on spec&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2313&quot;&gt;MSC2313&lt;&#x2F;a&gt;: Moderation policies as rooms&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;1466&quot;&gt;MSC1466&lt;&#x2F;a&gt;: Soft Logout&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2540&quot;&gt;MSC2540&lt;&#x2F;a&gt;: Stricter event validation: JSON compliance&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2209&quot;&gt;MSC2209&lt;&#x2F;a&gt;: Alter auth rules to check notifications in m.room.power_levels&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;1802&quot;&gt;MSC1802&lt;&#x2F;a&gt;: Remove the &#x27;200&#x27; value from some federation responses&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;client-server-r0-6-1-changelog&quot;&gt;Client-Server r0.6.1 changelog&lt;&#x2F;h3&gt;
&lt;h4 id=&quot;new-endpoints&quot;&gt;New Endpoints&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;code&gt;&#x2F;rooms&#x2F;{roomId}&#x2F;aliases&lt;&#x2F;code&gt; for retrieving local aliases for a room. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2562&quot;&gt;#2562&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;backwards-compatible-changes&quot;&gt;Backwards Compatible Changes&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;Added data structures for defining moderation policies in rooms per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2313&quot;&gt;MSC2313&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2434&quot;&gt;#2434&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Optionally invalidate other access tokens during password modification per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2457&quot;&gt;MSC2457&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2523&quot;&gt;#2523&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add User-Interactive Authentication for SSO-backed homeserver per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2454&quot;&gt;MSC2454&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2532&quot;&gt;#2532&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add soft-logout support per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;1466&quot;&gt;MSC1466&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2546&quot;&gt;#2546&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Replaced legacy room alias handling with a more sustainable solution per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2432&quot;&gt;MSC2432&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2562&quot;&gt;#2562&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;spec-clarifications&quot;&gt;Spec Clarifications&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;List available enum values for the room versions capability. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2245&quot;&gt;#2245&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix various spelling errors throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2351&quot;&gt;#2351&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2415&quot;&gt;#2415&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2453&quot;&gt;#2453&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2524&quot;&gt;#2524&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2553&quot;&gt;#2553&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2569&quot;&gt;#2569&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Minor clarifications to token-based User-Interactive Authentication. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2369&quot;&gt;#2369&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Minor clarification for what the user directory searches. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2381&quot;&gt;#2381&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix key export format example to match the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2430&quot;&gt;#2430&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the IV data type for encrypted files. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2492&quot;&gt;#2492&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix the &lt;code&gt;.m.rule.contains_user_name&lt;&#x2F;code&gt; default push rule to set the highlight tweak. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2519&quot;&gt;#2519&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that an &lt;code&gt;event_id&lt;&#x2F;code&gt; is returned when sending events. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2525&quot;&gt;#2525&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix some numbers in the specification to match their explanation text. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2554&quot;&gt;#2554&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Move redaction algorithm into the room version specifications. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2563&quot;&gt;#2563&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify signature object structures for encryption. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2566&quot;&gt;#2566&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify which events are created as part of &lt;code&gt;&#x2F;createRoom&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2571&quot;&gt;#2571&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove claims that the homeserver is exclusively responsible for profile information in membership events. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2574&quot;&gt;#2574&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;server-server-federation-r0-1-4-changelog&quot;&gt;Server-Server (Federation) r0.1.4 changelog&lt;&#x2F;h3&gt;
&lt;h4 id=&quot;new-endpoints-1&quot;&gt;New Endpoints&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;Add new &lt;code&gt;POST &#x2F;publicRooms&lt;&#x2F;code&gt; endpoint for filtering the room directory. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2305&quot;&gt;#2305&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add new v2 &lt;code&gt;&#x2F;send_join&lt;&#x2F;code&gt; and &lt;code&gt;&#x2F;send_leave&lt;&#x2F;code&gt; endpoints per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;1802&quot;&gt;MSC1802&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2547&quot;&gt;#2547&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;removed-endpoints&quot;&gt;Removed Endpoints&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;Remove the unused &lt;code&gt;query_auth&lt;&#x2F;code&gt; API per &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2451&quot;&gt;MSC2451&lt;&#x2F;a&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2470&quot;&gt;#2470&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h4 id=&quot;spec-clarifications-1&quot;&gt;Spec Clarifications&lt;&#x2F;h4&gt;
&lt;ul&gt;
&lt;li&gt;Move auth event selection to a more obvious location. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2392&quot;&gt;#2392&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix typo in Request Authentication python example. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2510&quot;&gt;#2510&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify which fields are required on the key server endpoints. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2527&quot;&gt;#2527&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the limits of &lt;code&gt;prev_events&lt;&#x2F;code&gt; and &lt;code&gt;auth_events&lt;&#x2F;code&gt; for PDUs. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2538&quot;&gt;#2538&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify which events are targeted by backfill. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2559&quot;&gt;#2559&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix the response format of the &lt;code&gt;&#x2F;send&lt;&#x2F;code&gt; endpoint. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2560&quot;&gt;#2560&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify signature object structures for encryption. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2566&quot;&gt;#2566&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the server names to use when signing requests. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2570&quot;&gt;#2570&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the state&#x2F;auth chain requirements for &lt;code&gt;&#x2F;send_join&lt;&#x2F;code&gt;. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2575&quot;&gt;#2575&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix various spelling errors throughout the specification. (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2577&quot;&gt;#2577&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
</entry>

    
<entry xml:lang="en">
    <title>Client-server r0.6.0 and Identity Service r0.3.0 releases</title>
    <published>2019-11-08T00:00:00+00:00</published>
    <updated>2019-11-08T00:00:00+00:00</updated>
    <author>
      <name>
            Travis Ralston
          </name>
    </author>
    <link rel="alternate" href="https://f297f985.matrix-website.pages.dev/blog/2019/11/08/client-server-r0-6-0-and-identity-service-r0-3-0-releases/" type="text/html"/>
    <id>https://f297f985.matrix-website.pages.dev/blog/2019/11/08/client-server-r0-6-0-and-identity-service-r0-3-0-releases/</id>
    <content type="html">&lt;p&gt;Hey all,&lt;&#x2F;p&gt;
&lt;p&gt;For the last several months the team has been working on &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2019&#x2F;06&#x2F;30&#x2F;tightening-up-privacy-in-matrix&quot;&gt;tightening up privacy in Matrix&lt;&#x2F;a&gt;, and with the &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;blog&#x2F;2019&#x2F;09&#x2F;27&#x2F;privacy-improvements-in-synapse-1-4-and-riot-1-4&quot;&gt;1.4 release of Synapse and Riot&lt;&#x2F;a&gt; quite a lot has been done in the area. One of the remaining pieces was to release all the specification changes to help other client&#x2F;server implementations achieve the same goals, and now we&#x27;ve done that.&lt;&#x2F;p&gt;
&lt;p&gt;The &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;docs&#x2F;spec&#x2F;client_server&#x2F;r0.6.0&quot;&gt;Client-Server r0.6.0&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;matrix.org&#x2F;docs&#x2F;spec&#x2F;identity_service&#x2F;r0.3.0&quot;&gt;Identity Service r0.3.0&lt;&#x2F;a&gt; spec releases both cover the privacy improvements added through a number of MSCs in the last few months. Of particular note is that identity servers are now expected to support terms of service endpoints, which requires authentication that clients might need to worry about - check the spec changelogs for details.&lt;&#x2F;p&gt;
&lt;p&gt;The full changelog for the Client-Server r0.6.0 release is:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Breaking Changes&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;id_access_token&lt;&#x2F;code&gt; as a required request parameter to a few
endpoints which require an &lt;code&gt;id_server&lt;&#x2F;code&gt; parameter as part of
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;pull&#x2F;2140&quot;&gt;MSC2140&lt;&#x2F;a&gt;.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2255&quot;&gt;#2255&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;New Endpoints&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;POST &#x2F;account&#x2F;3pid&#x2F;unbind&lt;&#x2F;code&gt; for removing a 3PID from an identity
server.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2282&quot;&gt;#2282&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Backwards Compatible Changes&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;M_USER_DEACTIVATED&lt;&#x2F;code&gt; error code.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2234&quot;&gt;#2234&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove &lt;code&gt;bind_msisdn&lt;&#x2F;code&gt; and &lt;code&gt;bind_email&lt;&#x2F;code&gt; from &lt;code&gt;&#x2F;register&lt;&#x2F;code&gt; now that the
identity server&#x27;s bind endpoint requires authentication.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2279&quot;&gt;#2279&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;m.identity_server&lt;&#x2F;code&gt; account data for tracking the user&#x27;s
preferred identity server.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2281&quot;&gt;#2281&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Deprecate &lt;code&gt;id_server&lt;&#x2F;code&gt; and make it optional in several places.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2310&quot;&gt;#2310&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Spec Clarifications&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add missing format fields to &lt;code&gt;m.room.message$m.notice&lt;&#x2F;code&gt; schema.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2125&quot;&gt;#2125&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Remove &amp;quot;required&amp;quot; designation from the &lt;code&gt;url&lt;&#x2F;code&gt; field of certain
&lt;code&gt;m.room.message&lt;&#x2F;code&gt; msgtypes.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2129&quot;&gt;#2129&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix various typos throughout the specification.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2131&quot;&gt;#2131&lt;&#x2F;a&gt;,
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2136&quot;&gt;#2136&lt;&#x2F;a&gt;,
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2148&quot;&gt;#2148&lt;&#x2F;a&gt;,
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2215&quot;&gt;#2215&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the distinction between &lt;code&gt;m.key.verification.start&lt;&#x2F;code&gt; and its
&lt;code&gt;m.sas.v1&lt;&#x2F;code&gt; variant.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2132&quot;&gt;#2132&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix link to Olm signing specification.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2133&quot;&gt;#2133&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the conditions for the &lt;code&gt;.m.rule.room_one_to_one&lt;&#x2F;code&gt; push rule.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2152&quot;&gt;#2152&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the encryption algorithms supported by the device of the
device keys example.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2157&quot;&gt;#2157&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that &lt;code&gt;&#x2F;rooms&#x2F;:roomId&#x2F;event&#x2F;:eventId&lt;&#x2F;code&gt; returns a Matrix error.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2204&quot;&gt;#2204&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add a missing &lt;code&gt;state_key&lt;&#x2F;code&gt; check on &lt;code&gt;.m.rule.tombstone&lt;&#x2F;code&gt;.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2223&quot;&gt;#2223&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fix the &lt;code&gt;m.room_key_request&lt;&#x2F;code&gt; &lt;code&gt;action&lt;&#x2F;code&gt; value, setting it from
&lt;code&gt;cancel_request&lt;&#x2F;code&gt; to &lt;code&gt;request_cancellation&lt;&#x2F;code&gt;.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2247&quot;&gt;#2247&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that the &lt;code&gt;submit_url&lt;&#x2F;code&gt; field is without authentication.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2341&quot;&gt;#2341&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify the expected phone number format.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2342&quot;&gt;#2342&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify that clients should consider not requesting URL previews in
encrypted rooms.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2343&quot;&gt;#2343&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add missing information on how filters are meant to work with
&lt;code&gt;&#x2F;context&lt;&#x2F;code&gt;.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2344&quot;&gt;#2344&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Clarify what the keys are for rooms in &lt;code&gt;&#x2F;sync&lt;&#x2F;code&gt;.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2345&quot;&gt;#2345&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;The full changelog for the Identity Service r0.3.0 release is:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;New Endpoints&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Add &lt;code&gt;&#x2F;account&lt;&#x2F;code&gt;, &lt;code&gt;&#x2F;account&#x2F;register&lt;&#x2F;code&gt;, and &lt;code&gt;&#x2F;account&#x2F;logout&lt;&#x2F;code&gt; to
authenticate with the identity server.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2255&quot;&gt;#2255&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add endpoints for accepting and handling terms of service.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2258&quot;&gt;#2258&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Add &lt;code&gt;&#x2F;hash_details&lt;&#x2F;code&gt; and a new &lt;code&gt;&#x2F;lookup&lt;&#x2F;code&gt; endpoint for performing
hashed association lookups.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2287&quot;&gt;#2287&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Backwards Compatible Changes&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Deprecate the v1 API in favour of an authenticated v2 API.
(&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;matrix-org&#x2F;matrix-doc&#x2F;issues&#x2F;2254&quot;&gt;#2254&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</content>
</entry>

    
</feed>
