From 2f6867348f0add793fabc7b4a5f548c6abd8aacc Mon Sep 17 00:00:00 2001
From: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
Date: Fri, 19 Dec 2025 15:59:08 +0000
Subject: [PATCH 1/4] Replace Twitter link in footer with Masto/Bluesky (#2282)
---
.../internal/newsfragments/2282.clarification | 1 +
config/_default/hugo.toml | 31 +++++++++++--------
2 files changed, 19 insertions(+), 13 deletions(-)
create mode 100644 changelogs/internal/newsfragments/2282.clarification
diff --git a/changelogs/internal/newsfragments/2282.clarification b/changelogs/internal/newsfragments/2282.clarification
new file mode 100644
index 00000000..25fafc6f
--- /dev/null
+++ b/changelogs/internal/newsfragments/2282.clarification
@@ -0,0 +1 @@
+Replace the Twitter link in the footer with our BlueSky and Mastodon socials.
\ No newline at end of file
diff --git a/config/_default/hugo.toml b/config/_default/hugo.toml
index e773d13e..2fb69279 100644
--- a/config/_default/hugo.toml
+++ b/config/_default/hugo.toml
@@ -106,25 +106,30 @@ sidebar_menu_compact = true
# desc = "Matrix on GitHub"
# Custom links shown in the center of the footer. (Only supported by our fork of docsy's 'footer/central' partial.)
[[params.links.bottom]]
- name = "GitHub"
- url = "https://github.com/matrix-org"
- icon = "fab fa-github"
+ name = "GitHub"
+ url = "https://github.com/matrix-org"
+ icon = "fab fa-github"
desc = "Matrix on GitHub"
[[params.links.bottom]]
- name = "GitLab"
- url = "https://gitlab.matrix.org/matrix-org"
- icon = "fab fa-gitlab"
+ name = "GitLab"
+ url = "https://gitlab.matrix.org/matrix-org"
+ icon = "fab fa-gitlab"
desc = "Matrix on GitLab"
[[params.links.bottom]]
- name = "YouTube"
- url = "https://www.youtube.com/channel/UCVFkW-chclhuyYRbmmfwt6w"
- icon = "fab fa-youtube"
+ name = "YouTube"
+ url = "https://www.youtube.com/channel/UCVFkW-chclhuyYRbmmfwt6w"
+ icon = "fab fa-youtube"
desc = "Matrix YouTube channel"
[[params.links.bottom]]
- name = "Twitter"
- url = "https://twitter.com/matrixdotorg"
- icon = "fab fa-x-twitter"
- desc = "Matrix on Twitter"
+ name = "Mastodon"
+ url = "https://mastodon.matrix.org/@matrix"
+ icon = "fab fa-mastodon"
+ desc = "Matrix on Mastodon"
+[[params.links.bottom]]
+ name = "Bluesky"
+ url = "https://bsky.app/profile/matrix.org"
+ icon = "fab fa-bluesky"
+ desc = "Matrix on Bluesky"
# configuration for the hugo development server
From d55acfda2ed6ed6ec05ae5cdf748bfe8fa8b9fc7 Mon Sep 17 00:00:00 2001
From: Kim Brose <2803622+HarHarLinks@users.noreply.github.com>
Date: Tue, 30 Dec 2025 19:20:39 +0000
Subject: [PATCH 2/4] Update non-historic mentions of matrix-doc repo to
matrix-spec(-proposals) (#2280)
---
changelogs/client_server/newsfragments/2280.clarification | 1 +
content/client-server-api/modules/content_repo.md | 2 +-
content/client-server-api/modules/end_to_end_encryption.md | 2 +-
data/api/client-server/rooms.yaml | 2 +-
data/api/client-server/third_party_lookup.yaml | 2 +-
scripts/proposals.js | 2 +-
6 files changed, 6 insertions(+), 5 deletions(-)
create mode 100644 changelogs/client_server/newsfragments/2280.clarification
diff --git a/changelogs/client_server/newsfragments/2280.clarification b/changelogs/client_server/newsfragments/2280.clarification
new file mode 100644
index 00000000..38fa5012
--- /dev/null
+++ b/changelogs/client_server/newsfragments/2280.clarification
@@ -0,0 +1 @@
+Update non-historic mentions of matrix-doc repo to matrix-spec/-proposals. Contributed by @HarHarLinks.
diff --git a/content/client-server-api/modules/content_repo.md b/content/client-server-api/modules/content_repo.md
index 39fe33ec..ad65ea42 100644
--- a/content/client-server-api/modules/content_repo.md
+++ b/content/client-server-api/modules/content_repo.md
@@ -87,7 +87,7 @@ Matrix 1.12 is expected to be released in the July-September 2024 calendar quart
The homeserver SHOULD be able to supply thumbnails for uploaded images
and videos. The exact file types which can be thumbnailed are not
currently specified - see [Issue
-\#1938](https://github.com/matrix-org/matrix-doc/issues/1938) for more
+\#1938](https://github.com/matrix-org/matrix-spec/issues/453) for more
information.
The thumbnail methods are "crop" and "scale". "scale" tries to return an
diff --git a/content/client-server-api/modules/end_to_end_encryption.md b/content/client-server-api/modules/end_to_end_encryption.md
index 97786f59..25617978 100644
--- a/content/client-server-api/modules/end_to_end_encryption.md
+++ b/content/client-server-api/modules/end_to_end_encryption.md
@@ -921,7 +921,7 @@ collaborate to create a common set of translations for all languages.
{{% boxes/note %}}
Known translations for the emoji are available from
-
+
and can be translated online:
{{% /boxes/note %}}
diff --git a/data/api/client-server/rooms.yaml b/data/api/client-server/rooms.yaml
index a5c9977e..3716b6a4 100644
--- a/data/api/client-server/rooms.yaml
+++ b/data/api/client-server/rooms.yaml
@@ -223,7 +223,7 @@ paths:
type: string
# XXX: As mentioned in MSC1227, replacing `[not_]membership` with a JSON
# filter might be a better alternative.
- # See https://github.com/matrix-org/matrix-doc/issues/1337
+ # See https://github.com/matrix-org/matrix-doc/issues/1227
- in: query
name: membership
description: |-
diff --git a/data/api/client-server/third_party_lookup.yaml b/data/api/client-server/third_party_lookup.yaml
index 152f277d..32adb094 100644
--- a/data/api/client-server/third_party_lookup.yaml
+++ b/data/api/client-server/third_party_lookup.yaml
@@ -78,7 +78,7 @@ paths:
},
"room": {
"regexp": "[^\\s]+\\/[^\\s]+",
- "placeholder": "matrix-org/matrix-doc"
+ "placeholder": "matrix-org/matrix-spec"
}
},
"instances": [
diff --git a/scripts/proposals.js b/scripts/proposals.js
index dc3f2895..9c9d00ed 100644
--- a/scripts/proposals.js
+++ b/scripts/proposals.js
@@ -6,7 +6,7 @@
* in the specification.
*
* In detail, it:
- * - fetches all GitHub issues from matrix-doc that have the `proposal` label
+ * - fetches all GitHub issues from matrix-spec-proposals that have the `proposal` label
* - groups them by their state in the MSC process
* - does some light massaging of them so it's easier for the Hugo template to work with them
* - store them at /data/msc
From 690c41e33bb3117cb6517e4f0fca882f3c101896 Mon Sep 17 00:00:00 2001
From: Kim Brose <2803622+HarHarLinks@users.noreply.github.com>
Date: Tue, 30 Dec 2025 19:24:38 +0000
Subject: [PATCH 3/4] Remove unintended TeX formatting (#2283)
---
changelogs/client_server/newsfragments/2283.clarification | 1 +
content/client-server-api/modules/instant_messaging.md | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 changelogs/client_server/newsfragments/2283.clarification
diff --git a/changelogs/client_server/newsfragments/2283.clarification b/changelogs/client_server/newsfragments/2283.clarification
new file mode 100644
index 00000000..2dc18986
--- /dev/null
+++ b/changelogs/client_server/newsfragments/2283.clarification
@@ -0,0 +1 @@
+Remove unintended TeX formatting. Contributed by @HarHarLinks.
diff --git a/content/client-server-api/modules/instant_messaging.md b/content/client-server-api/modules/instant_messaging.md
index d5c0cb6a..5c8a802c 100644
--- a/content/client-server-api/modules/instant_messaging.md
+++ b/content/client-server-api/modules/instant_messaging.md
@@ -119,7 +119,7 @@ Clients SHOULD verify the structure of incoming events to ensure that
the expected keys exist and that they are of the right type. Clients can
discard malformed events or display a placeholder message to the user.
Redacted `m.room.message` events MUST be removed from the client. This
-can either be replaced with placeholder text (e.g. "\[REDACTED\]") or
+can either be replaced with placeholder text (e.g. "[REDACTED]") or
the redacted message can be removed entirely from the messages view.
Events which have attachments (e.g. `m.image`, `m.file`) SHOULD be
From 5a9f3c3bca952b1e817656b7844343ad674476e5 Mon Sep 17 00:00:00 2001
From: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Date: Mon, 5 Jan 2026 11:22:02 +0000
Subject: [PATCH 4/4] Auto-create draft releases when building release tags
(#2275)
Update the CI so that it drafts a release, with the correct artifacts attached
and the release notes prepared, when building a release tag.
---
.github/workflows/main.yml | 45 +++++++++++++++++++
.../internal/newsfragments/2275.clarification | 1 +
2 files changed, 46 insertions(+)
create mode 100644 changelogs/internal/newsfragments/2275.clarification
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 3bcc6010..dd320fec 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -243,6 +243,14 @@ jobs:
name: "🔎 Validate generated HTML"
runs-on: ubuntu-latest
needs: [calculate-baseurl, build-spec]
+ # Run even if `generate-changelog` was skipped.
+ #
+ # `build-spec` has a dependency on `generate-changelog` to ensure order of execution
+ # and to access `needs.generate-changelog.result`. However, `generate-changelog` is
+ # skipped on tag builds; even a transient dependency on `generate-changelog` is then
+ # enough for this step to also be skipped by default on tag builds. Hence the need for
+ # this explicit `if`.
+ if: ${{ !failure() && !cancelled() }}
steps:
- name: "📥 Source checkout"
uses: actions/checkout@v4
@@ -305,8 +313,45 @@ jobs:
- name: "📦 Tarball creation"
run: tar -czf spec-historical.tar.gz spec
+
- name: "📤 Artifact upload"
uses: actions/upload-artifact@v4
with:
name: spec-historical-artifact
path: spec-historical.tar.gz
+
+ # If we're building a tag, create a release and publish the artifacts
+ create_release:
+ name: "Create release"
+ if: ${{ !failure() && !cancelled() && startsWith(github.ref, 'refs/tags/') }}
+ needs:
+ - build-spec
+ - build-historical-spec
+ runs-on: ubuntu-latest
+ steps:
+ - name: "📥 Check out changelogs"
+ uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
+ with:
+ sparse-checkout: |
+ content/changelog
+ - name: "📥 Download built spec"
+ uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
+ with:
+ name: spec-artifact
+ - name: "📥 Download historical spec artifact"
+ uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
+ with:
+ name: spec-historical-artifact
+ - name: "✨ Create draft release"
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ # Remove front-matter from changelog
+ sed '1,/^---$/d' "content/changelog/${{ github.ref_name }}.md" > changelog.md
+
+ # Create a draft release, using the changelog as release notes, and attaching the spec artifacts.
+ gh release create -d -t "${{ github.ref_name }}" \
+ -F "changelog.md" \
+ "${{ github.ref_name }}" \
+ spec.tar.gz \
+ spec-historical.tar.gz
diff --git a/changelogs/internal/newsfragments/2275.clarification b/changelogs/internal/newsfragments/2275.clarification
new file mode 100644
index 00000000..0a0f28a7
--- /dev/null
+++ b/changelogs/internal/newsfragments/2275.clarification
@@ -0,0 +1 @@
+Auto-create draft releases when building release tags.