Post-mortem of the Matrix.org Outage

25.04.2024 16:20 — Foundation SRE Team , Thib

The Matrix.org homeserver suffered from an outage on Monday 22 April, between 08:00 UTC and 10:00 UTC, followed by slowness for the next 2 hours.

The outage occurred during scheduled maintenance with no expected downtime. It included upgrading the base OS of the machines running Matrix.org’s deployment.

Continue reading…

This Week in Matrix 2024-04-19

19.04.2024 19:30 — This Week in Matrix Thib

Matrix Live

Dept of Status of Matrix 🌡️

Josh Simmons announces

WOW! What a week. Today I am thrilled to introduce not one or two, but eight new organisational members. We are extremely grateful to Futurewei Technologies for joining as our newest Gold Member – more on that soon – and to Verji Tech AS for joining as our newest Silver Member. Their support represents a big step toward financial sustainability for the Matrix.org Foundation.

Further, today we welcome Community Moderation Effort, Matrix Elm SDK, FluffyChat, Matrix Community Events, Polychat, and Rory&::LibMatrix as Ecosystem Members! If you couldn’t tell, there’s a lot going on in the Matrix ecosystem!

Does your community use Matrix? Does your project speak Matrix? Or does your business incorporate Matrix into your work? Show your support and become a member today.

Topping off this week’s excitement, our Governing Board nomination period is just about to start! Learn more about the elections, as well as who can nominate and how in our recent blog post.

Continue reading…

Announcing the 2024 Governing Board elections

12.04.2024 14:00 — Foundation Josh Simmons
Last update: 24.04.2024 10:30

Update: the terms of the board have been updated with the follow changes:

  • Allow for filling vacancies by appointment or by-election at the discretion of the Managing Director and the Guardians, in consultation with a Governance Committee. (2.7.1)
  • Allow for the Governing Board to adopt voting mechanisms other than simple majority on a case-by-case basis. (5.5)
  • Disallow nominees from running for election in more than one constituency at a time. (2.4.1)
  • Change UTC to AOE in timeline. (2.3)

Welcome to the first ever Governing Board election season for the Matrix.org Foundation! We start with a one week nomination period that opens on Saturday, April 20th and closes on Friday, April 26th AOE time.

We’ll be doing our best to reach out to every constituent group to let them know they are eligible to nominate candidates for the election. That said, this is our first election and we don’t yet have contact information for everybody who is eligible, so we want your help getting the word out.

If you are interested in nominating someone – or yourself – to be a candidate in this election, read this post in its entirety.

To learn about what the Governing Board is, what it does, and the context it operates in, read this blog post from last December. You are also welcome to read the Governing Board’s current bylaws.

Go here for instructions on submitting a nomination!

Continue reading…

This Week in Matrix 2024-04-12

12.04.2024 00:00 — This Week in Matrix Thib

Matrix Live

Dept of Status of Matrix 🌡️

Josh Simmons says

Important deadline: next week, the week of April 15th, is the last week to become a member before the Governing Board nomination period! You must be a member, or have your application in and approved, by the end of day on April 19th (AOE time) in order to be eligible to nominate. Stay tuned for a blog post all about that on Monday ✨

This week we’re proud to welcome GNOME and KDE e.V. as our second and third Associate Members, and there are more applications in the pipeline that we’re reviewing!

Continue reading…

This Week in Matrix 2024-04-05

05.04.2024 00:00 — This Week in Matrix Thib

Matrix Live

Dept of Status of Matrix 🌡️

Matthew reports

I wrote some thoughts on why governments should explicitly route taxpayer money into funding maintenance of open source infrastructure such as Matrix (rather than only funding feature dev, or not funding at all): https://matrix.org/blog/2024/04/open-source-publicly-funded-service/

Josh Simmons says

This week we're thrilled to welcome the Eclipse Foundation as our first Associate Member! We couldn't be happier with the response to our expanded membership program and are delighted that we will have greater community representation when we elect our first ever Governing Board in the coming months.

Continue reading…

Open Source Infrastructure must be a publicly funded service.

04.04.2024 16:30 — Foundation Matthew Hodgson

Hi folks,

The events of the last week have been utterly terrifying as we’ve seen a highly sophisticated targeted attack on open source infrastructure play out in public, in the form of the liblzma backdoor. Matrix is not impacted by the attack (none of our code or infrastructure is using liblzma or xz 5.6), but it has been a massive wakeup call in terms of understanding the risks posed by overstretched open source maintainership.

Continue reading…

This Week in Matrix 2024-03-29

29.03.2024 19:30 — This Week in Matrix Thib

Matrix Live

No Matrix Live as your usual host Thib has been unavailable most of the week!

Dept of Status of Matrix 🌡️

Josh Simmons says

Our first ever Governing Board elections are approaching, with the nomination period set to begin in late April. If you want your organization or community to be able to nominate a candidate, or to vote in the election, the time to join as a member is now – same for individuals who want to participate!

This week we’re thrilled to announce three new members: two Ecosystem Members, Trixnity and Nheko-Reborn, and our first Platinum Member, Element!

Continue reading…

This Week in Matrix 2024-03-22

22.03.2024 19:30 — This Week in Matrix Thib

Matrix Live

Dept of Spec 📜

Half-Shot announces

Great news everyone! As of Matrix 1.10, you can now specify more contact information about your homeserver via the new /.well-known/matrix/support endpoint.

This is useful because it allows other citizens of the federation to know who to contact if there is a problem, and it only requires you to fill in a few details to get going. This change has been on the go since 2019, so on a personal note I am thrilled to see this finally land. You can see an example on the foundation's very own server at https://matrix.org/.well-known/matrix/support

TravisR announces

Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals.

MSC Status

New MSCs:

MSCs in Final Comment Period:

  • No MSCs are in FCP.

Accepted MSCs:

  • No MSCs were accepted this week.

Closed MSCs:

  • No MSCs were closed/rejected this week.

Spec Updates

We released version 1.10 of the spec today! Read the blog post for the full details. Many thanks to Kévin Comaille for writing many of the spec PRs that landed in today's release!

With the release of Matrix 1.10, we on the Spec Core Team are looking forward to Matrix 1.11 and Matrix 2.0. We are asking the teams working on Matrix 2.0 features to update their MSCs and send them for review in #sct-office:matrix.org soon to help bring them closer to release in the next couple of quarters.

Continue reading…

Matrix v1.10 release

22.03.2024 16:52 — Releases Travis Ralston

Hey all,

Matrix 1.10 is here! We aim to release the specification once in each calendar quarter, and with Q1 wrapping up in a few days we’re due for this quarter’s release. It has been 5 months since the last release (Matrix 1.9) brought in some protocol maintenance for us though, and the implementation teams have been hard at work building the Matrix 2.0 stack concurrent to the Matrix 1.10 work released today.

A total of 9 MSCs are released in Matrix 1.10, covering a wide range of maintenance, Matrix 2.0 preparation, and features for clients to use. This post focuses a bit on the Matrix 2.0 front and what’s expected in Matrix 1.11’s release cycle, but read on to the changelog at the bottom for full details on the changes which make up Matrix 1.10.

MSC3077: Multi-stream VoIP

MSC3077 and its related proposal MSC3291 (muting in VoIP calls) lay some foundational groundwork for proper group VoIP to land in Matrix - an objective of Matrix 2.0. Currently this is taking shape at MSC3898 and MSC3401, though Element’s VoIP team is considering a possible third alternative which runs MSC3401 over something like LiveKit’s SFU - stay tuned for updates there. In the meantime, users in native 1:1 calls can enjoy proper screen sharing and mute capabilities ahead of the 1:N call support later this year.

As always, early review is appreciated though please note that MSC3898 and MSC3401 are particularly in flux at the moment.

Up next in Matrix 1.11 and beyond

Over the next 2-3 months, we’ll be focusing on the following MSCs:

  • Trust & Safety improvements (at the protocol level).
    • MSC3823 - Account suspension
    • MSC3939 - Account locking
    • MSC3916 - Authentication for media (time permitting)
    • MSC4117 - Reversible redactions (pre-implementation review)
    • MSCs around a “reporting v2” flow in light of various legislation and compliance requirements. These MSCs are currently being written and should be up for pre-implementation review within the Matrix 1.11 cycle.
  • Early review of Matrix 2.0 features as they become ready.
    • Sliding sync (MSC3575) + applicable extensions.
    • Group VoIP - Exact MSCs to be determined, as they may change following implementation.
    • OIDC Authentication - Exact MSCs to be determined.
  • Pre-implementation review of Extensible Events core content blocks MSCs.
    • Many of these MSCs require updates before they are ready for formal review.
    • MSC3954 - Emotes
    • MSC3955 - Notices / automated events
    • MSC3927 - Audio
    • MSC3551 - Files
    • MSC3552 - Images and Stickers
    • MSC3553 - Videos

Additionally, we’ll be continuing to define the expectations of a Spec Core Team member, particularly as it relates to the upcoming Governing Board for the Foundation. This exercise has been extremely valuable to us so far, and will help identify areas the Foundation and SCT may need support from each other.

The full changelog

Read on for full details of what’s in Matrix 1.10:

Client-Server API

Backwards Compatible Changes

  • Allow /versions to optionally accept authentication, as per MSC4026. (#1728)
  • Add local erasure requests, as per MSC4025. (#1730)
  • Use the body field as optional media caption, as per MSC2530. (#1731)
  • Add server support discovery endpoint, as per MSC1929. (#1733)
  • Add support for multi-stream VoIP, as per MSC3077. (#1735)
  • Specify that the Retry-After header may be used to rate-limit a client, as per MSC4041. (#1737)
  • Add support for recursion on the GET /relations endpoints, as per MSC3981. (#1746)

Spec Clarifications

  • The strike element is deprecated in the HTML spec. Clients should prefer s instead. (#1629)
  • Clarify that read receipts should be batched by thread as well as by room. (#1685)
  • Clarify that threads can be created based on replies. (#1687)
  • Clarify in the reply fallbacks example that the prefix sequence should be repeated for each line. (#1690)
  • Clarify the format of account data objects for secret storage. (#1695, #1734)
  • Clarify that the key backup MAC is implemented incorrectly and does not pass the ciphertext through HMAC-SHA-256. (#1712)
  • Clarify one-time key and fallback key types in examples. (#1715)
  • Clarify that the HKDF calculation for SAS uses base64-encoded keys rather than the raw key bytes. (#1719)
  • Clarify how to perform the ECDH exchange in step 12 of the SAS process. (#1720)
  • Document the deprecation policy of HTML tags, as per MSC4077. (#1732)
  • The font element is deprecated in the HTML spec. Clients should prefer span with the data-mx-bg-color and data-mx-color attributes instead. (#1739)
  • Disambiguate uses of PublicRoomsChunk in the GET /hierarchy endpoint. (#1740)
  • Clarify that sdpMid and sdpMLineIndex are not required in m.call.candidates. (#1742)
  • Fix various typos throughout the specification. (#1748)
  • Clearly indicate that each Content-Type may have distinct behaviour on non-JSON requests/responses. (#1756)
  • Clarify that the m.push_rules account data type cannot be set using the /account_data API, as per MSC4010. (#1763)

Server-Server API

Spec Clarifications

  • Clarify Server-Server API request signing example by using the POST HTTP method, as GET requests don't have request bodies. (#1721)
  • Disambiguate uses of PublicRoomsChunk in the GET /hierarchy endpoint. (#1740)
  • Clarify that the children_state, room_type and allowed_room_ids properties in the items of the children array of the response of the GET /hierarchy endpoint are not required. (#1741)

Application Service API

Spec Clarifications

  • Clarify that the /login and /register endpoints should fail when using the m.login.application_service login type without a valid as_token. (#1744)

Identity Service API

No significant changes.

Push Gateway API

No significant changes.

Room Versions

Spec Clarifications

  • For room versions 7 through 11: Clarify that invite->knock is not a legal transition. (#1717)

Appendices

No significant changes.

Internal Changes/Tooling

Spec Clarifications

  • Update the spec release process. (#1680)
  • Minor clarifications to the contributing guide. (#1697)
  • Update Docsy to v0.8.0. (#1699, #1762)
  • Fix npm release script for @matrix-org/spec. (#1713)
  • Add some clarifications around implementation requirements for MSCs. (#1718)
  • Update HTML templates to include links to object schema definitions. (#1724)
  • Factor out all the common parameters of the various /relations apis. (#1745)
  • Add support for $ref URIs containing fragments in OpenAPI definitions and JSON schemas. (#1751, #1754)

This Week in Matrix 2024-03-15

15.03.2024 19:30 — This Week in Matrix Thib

Matrix Live

Dept of Status of Matrix 🌡️

Josh Simmons reports

The wait is over! We are now accepting applications from projects and organizations that want to join the Foundation as Ecosystem and Associate Members.

You may recall that in December we announced two new membership tiers to ensure we have healthy community representation as we introduce more open governance for Matrix. Specifically, we created Ecosystem and Associate Member tiers. Ecosystem Members are open source projects that speak Matrix, and Associate Members are FOSS foundations, nonprofits, and academic institutions.

We’re excited to bring more folks into the fold, and thrilled to welcome Thunderbird, Draupnir, and Conduit as our first Ecosystem Members 🎉 Curious who else has joined as a member recently? Check out our Supporters.

We’d also like to recognize Thunderbird for sponsoring the Foundation, which helps us get a little bit closer to making the Foundation’s activities sustainable 🚀

Thib announces

There is a question we often get asked: why do you operate the Matrix.org homeserver, and why do you keep registrations open? We don't want to become the gmail.com of Matrix after all. We covered those in this post.

https://matrix.org/blog/2024/03/why-matrix-org/

Continue reading…