166 lines
11 KiB
Markdown
166 lines
11 KiB
Markdown
+++
|
||
title = "Matrix v1.8 release"
|
||
date = "2023-08-23T16:25:37Z"
|
||
path = "/blog/2023/08/23/matrix-v1.8-release"
|
||
|
||
[taxonomies]
|
||
author = ["Travis Ralston"]
|
||
category = ["Releases", "Spec"]
|
||
+++
|
||
|
||
Hey all,
|
||
|
||
[Matrix 1.8](https://spec.matrix.org/v1.8/) is out now! The last release, [Matrix 1.7](https://matrix.org/blog/2023/05/25/matrix-v-1-7-release/), 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 [MSC3995](https://github.com/matrix-org/matrix-spec-proposals/pull/3995)-related MSCs from that original plan, but made an effort to get the other stuff looked at as well.
|
||
|
||
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 :)
|
||
|
||
|
||
## Room version 11
|
||
|
||
Matrix 1.8 features a [new room version](https://spec.matrix.org/v1.8/rooms/v11/)! 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.
|
||
|
||
Specified originally as [MSC3820](https://github.com/matrix-org/matrix-spec-proposals/pull/3820), v11 introduces the following changes:
|
||
|
||
|
||
|
||
* [MSC2174](https://github.com/matrix-org/matrix-spec-proposals/pull/2174) - Move `redacts` to the `content` of `m.room.redaction` events.
|
||
* [MSC2175](https://github.com/matrix-org/matrix-spec-proposals/pull/2175) - Remove `creator` from `m.room.create` events (use `sender` instead).
|
||
* [MSC3989](https://github.com/matrix-org/matrix-spec-proposals/pull/3989) - Remove `origin` from events.
|
||
* [MSC2176](https://github.com/matrix-org/matrix-spec-proposals/pull/2176), [MSC3821](https://github.com/matrix-org/matrix-spec-proposals/pull/3821) - General updates to redaction algorithm.
|
||
|
||
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 [IETF Internet-Draft](https://datatracker.ietf.org/doc/html/draft-ralston-mimi-linearized-matrix-03) and [MSC3995](https://github.com/matrix-org/matrix-spec-proposals/pull/3995)).
|
||
|
||
In future room versions the cleanup effort will continue, alongside additional features for supporting the IETF use cases. Watch this space for updates.
|
||
|
||
|
||
## Upcoming in Matrix 1.9
|
||
|
||
We’re continuing the trend of planning ahead and have the following themes planned for work in Matrix 1.9:
|
||
|
||
|
||
|
||
* Anything required by the MIMI/IETF efforts we’re undertaking. This currently includes:
|
||
* Extensible Events
|
||
* Role-Based Access Control (RBAC; new MSC expected)
|
||
* Next generation of Linearized Matrix (already)
|
||
* [MSC4044](https://github.com/matrix-org/matrix-spec-proposals/pull/4044) and [MSC4045](https://github.com/matrix-org/matrix-spec-proposals/pull/4045)
|
||
* Binary-encoded events (maybe, but probable)
|
||
* Canonical DMs (maybe)
|
||
* Sending events as rooms/servers instead of just users (maybe)
|
||
* Further room version cleanup as needed
|
||
* Merging [MSC3939](https://github.com/matrix-org/matrix-spec-proposals/pull/3939).
|
||
* Accepting a combination of [MSC2545](https://github.com/matrix-org/matrix-spec-proposals/pull/2545), [MSC1951](https://github.com/matrix-org/matrix-spec-proposals/pull/1951), [MSC3892](https://github.com/matrix-org/matrix-spec-proposals/pull/3892), and [MSC4027](https://github.com/matrix-org/matrix-spec-proposals/pull/4027). This may involve creating a new MSC to cover the functionality of each, plus the needful for IETF and Extensible Events efforts.
|
||
* Merging [MSC3391](https://github.com/matrix-org/matrix-spec-proposals/pull/3391) (time permitting).
|
||
|
||
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 :)
|
||
|
||
|
||
## The full changelog
|
||
|
||
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.
|
||
|
||
|
||
### Client-Server API
|
||
|
||
**Backwards Compatible Changes**
|
||
|
||
- Require callers to be joined to the room to report its events, as per [MSC2249](https://github.com/matrix-org/matrix-spec-proposals/pull/2249). ([#1517](https://github.com/matrix-org/matrix-spec/issues/1517))
|
||
|
||
**Spec Clarifications**
|
||
|
||
- Fix missing `type` property in the JSON schema definition of the `m.reaction` event. Contributed by @chebureki. ([#1552](https://github.com/matrix-org/matrix-spec/issues/1552))
|
||
- Make sure examples types match schema in definitions. ([#1563](https://github.com/matrix-org/matrix-spec/issues/1563))
|
||
- Allow `null` in `room_types` in `POST /publicRooms` endpoints schemas. ([#1564](https://github.com/matrix-org/matrix-spec/issues/1564))
|
||
- Fix broken header formatting. Contributed by @midnightveil. ([#1578](https://github.com/matrix-org/matrix-spec/issues/1578))
|
||
- Render binary request and response bodies. ([#1579](https://github.com/matrix-org/matrix-spec/issues/1579))
|
||
- Fix description of MAC calculation in SAS verification. ([#1590](https://github.com/matrix-org/matrix-spec/issues/1590))
|
||
- Update link to SAS emoji definition data. ([#1593](https://github.com/matrix-org/matrix-spec/issues/1593))
|
||
- Fix various typos throughout the specification. ([#1597](https://github.com/matrix-org/matrix-spec/issues/1597))
|
||
|
||
|
||
### Server-Server API
|
||
|
||
**Deprecations**
|
||
|
||
- Deprecate `matrix` SRV lookup steps during server discovery, as per [MSC4040](https://github.com/matrix-org/matrix-spec-proposals/pull/4040). ([#1624](https://github.com/matrix-org/matrix-spec/issues/1624))
|
||
|
||
**Backwards Compatible Changes**
|
||
|
||
- Add `matrix-fed` SRV lookup steps to server discovery, as per [MSC4040](https://github.com/matrix-org/matrix-spec-proposals/pull/4040). ([#1624](https://github.com/matrix-org/matrix-spec/issues/1624))
|
||
|
||
**Spec Clarifications**
|
||
|
||
- Document why `/state_ids` can respond with a 404. ([#1521](https://github.com/matrix-org/matrix-spec/issues/1521))
|
||
- Fix response definition for `POST /_matrix/federation/v1/user/keys/claim`. ([#1559](https://github.com/matrix-org/matrix-spec/issues/1559))
|
||
- Fix examples in server keys definition. ([#1560](https://github.com/matrix-org/matrix-spec/issues/1560))
|
||
- Make sure examples types match schema in definitions. ([#1563](https://github.com/matrix-org/matrix-spec/issues/1563))
|
||
- Allow `null` in `room_types` in `POST /publicRooms` endpoints schemas. ([#1564](https://github.com/matrix-org/matrix-spec/issues/1564))
|
||
- Fix broken header formatting. Contributed by @midnightveil. ([#1578](https://github.com/matrix-org/matrix-spec/issues/1578))
|
||
- Remove spurious mention of a "default port" with respect to SRV record lookup. ([#1615](https://github.com/matrix-org/matrix-spec/issues/1615))
|
||
- Switch to ordered list for server name resolution steps. ([#1623](https://github.com/matrix-org/matrix-spec/issues/1623))
|
||
|
||
|
||
### Application Service API
|
||
|
||
**Spec Clarifications**
|
||
|
||
- Fix type of custom `fields` in thirdparty lookup queries. ([#1584](https://github.com/matrix-org/matrix-spec/issues/1584))
|
||
|
||
|
||
### Identity Service API
|
||
|
||
**Spec Clarifications**
|
||
|
||
- Make sure examples types match schema in definitions. ([#1563](https://github.com/matrix-org/matrix-spec/issues/1563))
|
||
|
||
|
||
### Push Gateway API
|
||
|
||
No significant changes.
|
||
|
||
|
||
### Room Versions
|
||
|
||
**Backwards Compatible Changes**
|
||
|
||
- Add room version 11 as per [MSC3820](https://github.com/matrix-org/matrix-spec-proposals/pull/3820). ([#1604](https://github.com/matrix-org/matrix-spec/issues/1604))
|
||
- Move `redacts` from top level to `content` on `m.room.redaction` events in room version 11, as per [MSC2174](https://github.com/matrix-org/matrix-spec-proposals/pull/2174). ([#1604](https://github.com/matrix-org/matrix-spec/issues/1604))
|
||
- Remove `creator` from `m.room.creator` events in room version 11, as per [MSC2175](https://github.com/matrix-org/matrix-spec-proposals/pull/2175). ([#1604](https://github.com/matrix-org/matrix-spec/issues/1604))
|
||
- Remove remaining usage of `origin` from events in room version 11, as per [MSC3989](https://github.com/matrix-org/matrix-spec-proposals/pull/3989). ([#1604](https://github.com/matrix-org/matrix-spec/issues/1604))
|
||
- Update the redaction rules in room version 11, as per [MSC2176](https://github.com/matrix-org/matrix-spec-proposals/pull/2176) and [MSC3821](https://github.com/matrix-org/matrix-spec-proposals/pull/3821). ([#1604](https://github.com/matrix-org/matrix-spec/issues/1604))
|
||
|
||
|
||
### Appendices
|
||
|
||
**Backwards Compatible Changes**
|
||
|
||
- Allow `+` in Matrix IDs, as per [MSC4009](https://github.com/matrix-org/matrix-spec-proposals/pull/4009). ([#1583](https://github.com/matrix-org/matrix-spec/issues/1583))
|
||
|
||
**Spec Clarifications**
|
||
|
||
- Clarify spec re canonical JSON to handle negative-zero; also, give an example of negative-zero and a large power of ten. ([#1573](https://github.com/matrix-org/matrix-spec/issues/1573))
|
||
|
||
|
||
### Internal Changes/Tooling
|
||
|
||
**Backwards Compatible Changes**
|
||
|
||
- Upgrade Swagger data to OpenAPI 3.1. ([#1310](https://github.com/matrix-org/matrix-spec/issues/1310))
|
||
- Create `@matrix-org/spec` npm package to ship the SAS Emoji data definitions & translations. ([#1620](https://github.com/matrix-org/matrix-spec/issues/1620))
|
||
|
||
**Spec Clarifications**
|
||
|
||
- Update the CI to validate the file extension of changelog entries. ([#1542](https://github.com/matrix-org/matrix-spec/issues/1542))
|
||
- Disclosure sections now only display their title when collapsed. ([#1549](https://github.com/matrix-org/matrix-spec/issues/1549))
|
||
- Fix the sidebar in recent versions of Hugo. ([#1551](https://github.com/matrix-org/matrix-spec/issues/1551))
|
||
- Bump jsonschema to validate JSON Schemas against Draft 2020-12. ([#1556](https://github.com/matrix-org/matrix-spec/issues/1556))
|
||
- Use Redocly CLI to validate OpenAPI definitions. ([#1558](https://github.com/matrix-org/matrix-spec/issues/1558))
|
||
- Use tag name as the OpenAPI definition version. ([#1561](https://github.com/matrix-org/matrix-spec/issues/1561))
|
||
- Make sure version in `x-changedInMatrixVersion` is a string. ([#1562](https://github.com/matrix-org/matrix-spec/issues/1562))
|
||
- Clarify usage of ABNF for grammar in the documentation style guide. ([#1582](https://github.com/matrix-org/matrix-spec/issues/1582))
|
||
- Remove unnecessary `oneOf`s in JSON schemas. ([#1585](https://github.com/matrix-org/matrix-spec/issues/1585))
|
||
- Update the version of Hugo used to render the spec to v0.113.0. ([#1591](https://github.com/matrix-org/matrix-spec/issues/1591))
|
||
- Fix rendered changelog with new version of towncrier. ([#1598](https://github.com/matrix-org/matrix-spec/issues/1598))
|
||
- Improve the layout of tables on desktop displays. Contributed by Martin Fischer. ([#1601](https://github.com/matrix-org/matrix-spec/issues/1601))
|
||
|