matrix.org/content/blog/2023/11/2023-11-29-matrix-v1.9-rele...

144 lines
9.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

+++
title = "Matrix v1.9 release"
date = "2023-11-29T17:44:27Z"
path = "/blog/2023/11/29/matrix-v1.9-release"
[taxonomies]
author = ["Travis Ralston"]
category = ["Releases", "Spec"]
+++
Hey all,
Weve just pushed out [Matrix 1.9](https://spec.matrix.org/v1.9/)! Our last release was [Matrix 1.8](https://matrix.org/blog/2023/08/23/matrix-v1.8-release/) and brought us a whole new room version. Matrix 1.9 continues a theme of an [annual maintenance release](https://matrix.org/blog/2022/11/17/matrix-v-1-5-release/), bringing with it mostly clarifications and bug fixes.
Todays 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 havent settled enough to be MSCs yet, such as interactions with the More Instant Messaging Interoperability (MIMI) working group at the IETF.
This post covers a lot of what weve 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 :)
## Messaging interoperability
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 EUs Digital Markets Act (DMA) which requires gatekeepers to interoperate with other messaging providers.
Weve been working with the MIMI working group at the IETF to establish a federation protocol for DMA-style messaging alongside our own experiments like [MSC3995: Linearized Matrix](https://github.com/matrix-org/matrix-spec-proposals/pull/3995). The proposed protocol for MIMI is based upon the Linearized Matrix work, but is primarily designed for an MLS-centric environment.
Discussions and experiments will continue over the next several months, and you can read all about our progress so far in [TWIM 2023-11-10](https://matrix.org/blog/2023/11/10/this-week-in-matrix-2023-11-10/#dept-of-spec-scroll).
## Custom emoji/stickers
We mentioned in Matrix 1.8s release that wed be taking a look at [MSC2545](https://github.com/matrix-org/matrix-spec-proposals/pull/2545), [MSC1951](https://github.com/matrix-org/matrix-spec-proposals/pull/1951), [MSC4027](https://github.com/matrix-org/matrix-spec-proposals/pull/4027), and [MSC3892](https://github.com/matrix-org/matrix-spec-proposals/pull/3892) - a family of MSCs collectively called “custom emoji/stickers”. Our review started relatively late in the Matrix 1.9 release cycle (sorry), and we started thinking about interactions with [MSC3916](https://github.com/matrix-org/matrix-spec-proposals/pull/3916)/[MSC3911](https://github.com/matrix-org/matrix-spec-proposals/pull/3911) where media is linked to a specific event.
We havent 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/stickers over on our [dedicated tracking issue](https://github.com/matrix-org/matrix-spec/issues/1679). Well continue working through the problem space in the Matrix 1.10 release cycle, and hope to get both linked media and custom emoji/stickers up for FCP.
## Upcoming in Matrix 1.10
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, weve got an initial list of things to look at, grouped by theme:
* Authenticated media
* [MSC3916](https://github.com/matrix-org/matrix-spec-proposals/pull/3916) - Authentication for media
* [MSC3911](https://github.com/matrix-org/matrix-spec-proposals/pull/3911) - Linking media to events
* Custom emoji/stickers
* [MSC2545](https://github.com/matrix-org/matrix-spec-proposals/pull/2545) - Image packs
* [MSC1951](https://github.com/matrix-org/matrix-spec-proposals/pull/1951) - Different style of image packs
* [MSC4027](https://github.com/matrix-org/matrix-spec-proposals/pull/4027) - Images in reactions
* [MSC3892](https://github.com/matrix-org/matrix-spec-proposals/pull/3892) - Encrypted emotes
* [MSC4074](https://github.com/matrix-org/matrix-spec-proposals/pull/4074) - Server-side annotation aggregation
* [MSC4048](https://github.com/matrix-org/matrix-spec-proposals/issues/4048) - Authenticated key backup
* Extensible Events
* [MSC3954](https://github.com/matrix-org/matrix-spec-proposals/pull/3954) - Text emotes
* [MSC3955](https://github.com/matrix-org/matrix-spec-proposals/pull/3955) - Replacement for notice messages
* [MSC3551](https://github.com/matrix-org/matrix-spec-proposals/pull/3551) - Files
* [MSC3552](https://github.com/matrix-org/matrix-spec-proposals/pull/3552) - Images and Stickers
* [MSC3553](https://github.com/matrix-org/matrix-spec-proposals/pull/3553) - Videos
* [MSC3927](https://github.com/matrix-org/matrix-spec-proposals/pull/3927) - Audio
* Encrypted Appservices
* [MSC2409](https://github.com/matrix-org/matrix-spec-proposals/pull/2409) - Sending EDUs to appservices
* [MSC3202](https://github.com/matrix-org/matrix-spec-proposals/pull/3202) - Encrypted appservices
* [MSC2702](https://github.com/matrix-org/matrix-spec-proposals/pull/2702) - Content-Disposition semantics for media
* [MSC3939](https://github.com/matrix-org/matrix-spec-proposals/pull/3939) - Account locking
This list is **not** final and will be iterated upon over the next couple of weeks. If youve got an MSC to add or remove, let us know in the [SCT Office](https://matrix.to/#/#sct-office:matrix.org) 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).
## The full changelog
Matrix 1.9 is a relatively light maintenance release, but it still has a changelog! Read on for full details.
### Client-Server API
**Backwards Compatible Changes**
- Add the `m.rule.suppress_edits` default push rule, as per [MSC3958](https://github.com/matrix-org/matrix-spec-proposals/pull/3958). ([#1617](https://github.com/matrix-org/matrix-spec/issues/1617))
**Spec Clarifications**
- Fix `m.call.negotiate` schema and example. ([#1546](https://github.com/matrix-org/matrix-spec/issues/1546))
- Clarify that the `via` property is required for `m.space.parent` and `m.space.child` as per [MSC1772](https://github.com/matrix-org/matrix-spec-proposals/pull/1772). Contributed by @PaarthShah. ([#1618](https://github.com/matrix-org/matrix-spec/issues/1618))
- Add a note to the `/publicRooms` API that the server name is case sensitive. ([#1638](https://github.com/matrix-org/matrix-spec/issues/1638))
- Clarify that an `m.room.name` event with an absent `name` field is not expected behavior. ([#1639](https://github.com/matrix-org/matrix-spec/issues/1639))
- Fix schemas used for account data and presence events in `GET /initialSync`. ([#1647](https://github.com/matrix-org/matrix-spec/issues/1647))
- Fix various typos throughout the specification. ([#1658](https://github.com/matrix-org/matrix-spec/issues/1658), [#1661](https://github.com/matrix-org/matrix-spec/issues/1661), [#1665](https://github.com/matrix-org/matrix-spec/issues/1665))
- Fix `.m.rule.suppress_notices` push rule not being valid JSON. ([#1671](https://github.com/matrix-org/matrix-spec/issues/1671))
- Add missing properties for `event_property_is` and `event_property_contains` push conditions to `PushConditions` object. ([#1673](https://github.com/matrix-org/matrix-spec/issues/1673))
- Indicate that fallback keys should have a `fallback` property set to `true`. ([#1676](https://github.com/matrix-org/matrix-spec/issues/1676))
- Clarify that thread roots are not considered within the thread. ([#1677](https://github.com/matrix-org/matrix-spec/issues/1677))
### Server-Server API
**Spec Clarifications**
- Fix schema of `m.receipt` EDU. ([#1636](https://github.com/matrix-org/matrix-spec/issues/1636))
- Fix various typos throughout the specification. ([#1661](https://github.com/matrix-org/matrix-spec/issues/1661))
- Clarify that federation requests for non-local users are invalid. ([#1672](https://github.com/matrix-org/matrix-spec/issues/1672))
### Application Service API
No significant changes.
### Identity Service API
No significant changes.
### Push Gateway API
No significant changes.
### Room Versions
No significant changes.
### Appendices
**Spec Clarifications**
- Clarify timestamp specification with respect to leap seconds. ([#1627](https://github.com/matrix-org/matrix-spec/issues/1627))
- Fix various typos throughout the specification. ([#1652](https://github.com/matrix-org/matrix-spec/issues/1652))
### Internal Changes/Tooling
**Backwards Compatible Changes**
- Add more CI checks for OpenAPI definitions and JSON Schemas. ([#1656](https://github.com/matrix-org/matrix-spec/issues/1656))
- Generate server-server OpenAPI definition. ([#1657](https://github.com/matrix-org/matrix-spec/issues/1657))
**Spec Clarifications**
- Replace all mentions of Swagger by OpenAPI. ([#1633](https://github.com/matrix-org/matrix-spec/issues/1633))
- Fix enum types in JSON schemas. ([#1634](https://github.com/matrix-org/matrix-spec/issues/1634))
- Fix schema of `m.mentions` object. ([#1635](https://github.com/matrix-org/matrix-spec/issues/1635))
- Fix rendering of `m.receipt` event in Client-Server API. ([#1637](https://github.com/matrix-org/matrix-spec/issues/1637))
- Remove required `fieldname` in appservice Protocol definition. ([#1646](https://github.com/matrix-org/matrix-spec/issues/1646))
- Fix github action workflow responsible for releasing of @matrix-org/spec package. ([#1648](https://github.com/matrix-org/matrix-spec/issues/1648))
- Upgrade GitHub actions. ([#1660](https://github.com/matrix-org/matrix-spec/issues/1660))