diff --git a/changelogs/appendices/newsfragments/1966.clarification b/changelogs/appendices/newsfragments/1966.clarification
deleted file mode 100644
index 362e2cac..00000000
--- a/changelogs/appendices/newsfragments/1966.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Remove note about reference implementations.
diff --git a/changelogs/application_service/newsfragments/2018.feature b/changelogs/application_service/newsfragments/2018.feature
deleted file mode 100644
index 07d6e62a..00000000
--- a/changelogs/application_service/newsfragments/2018.feature
+++ /dev/null
@@ -1 +0,0 @@
-Allow sending ephemeral data to application services, as per [MSC2409](https://github.com/matrix-org/matrix-spec-proposals/pull/2409).
diff --git a/changelogs/client_server/newsfragments/1938.clarification b/changelogs/client_server/newsfragments/1938.clarification
deleted file mode 100644
index 4bfd2a3c..00000000
--- a/changelogs/client_server/newsfragments/1938.clarification
+++ /dev/null
@@ -1 +0,0 @@
-The `reason` parameter in `POST /_matrix/client/v3/rooms/{roomId}/report/{eventId}` can be omitted instead of left blank as per [MSC2414](https://github.com/matrix-org/matrix-spec-proposals/pull/2414).
diff --git a/changelogs/client_server/newsfragments/1938.new b/changelogs/client_server/newsfragments/1938.new
deleted file mode 100644
index 718ee755..00000000
--- a/changelogs/client_server/newsfragments/1938.new
+++ /dev/null
@@ -1 +0,0 @@
-Add `POST /_matrix/client/v3/rooms/{roomId}/report` as per [MSC4151](https://github.com/matrix-org/matrix-spec-proposals/pull/4151).
diff --git a/changelogs/client_server/newsfragments/1944.feature b/changelogs/client_server/newsfragments/1944.feature
deleted file mode 100644
index 9fab9bcc..00000000
--- a/changelogs/client_server/newsfragments/1944.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add error codes to requestToken endpoints (MSC4178).
diff --git a/changelogs/client_server/newsfragments/1947.clarification b/changelogs/client_server/newsfragments/1947.clarification
deleted file mode 100644
index 3764243a..00000000
--- a/changelogs/client_server/newsfragments/1947.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Correct OpenAPI specification for query parameters to `GET /_matrix/client/v3/thirdparty/location/{protocol}` endpoint.
diff --git a/changelogs/client_server/newsfragments/1967.clarification b/changelogs/client_server/newsfragments/1967.clarification
deleted file mode 100644
index 1b47b068..00000000
--- a/changelogs/client_server/newsfragments/1967.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Sort VoIP events semantically.
diff --git a/changelogs/client_server/newsfragments/1973.clarification b/changelogs/client_server/newsfragments/1973.clarification
deleted file mode 100644
index 27fc5863..00000000
--- a/changelogs/client_server/newsfragments/1973.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Clarify that servers must forward custom keys in `PusherData` when sending notifications to the push gateway.
diff --git a/changelogs/client_server/newsfragments/1978.clarification b/changelogs/client_server/newsfragments/1978.clarification
deleted file mode 100644
index bdcce777..00000000
--- a/changelogs/client_server/newsfragments/1978.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Clarify formats of string types.
diff --git a/changelogs/client_server/newsfragments/1979.clarification b/changelogs/client_server/newsfragments/1979.clarification
deleted file mode 100644
index bdcce777..00000000
--- a/changelogs/client_server/newsfragments/1979.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Clarify formats of string types.
diff --git a/changelogs/client_server/newsfragments/1980.clarification b/changelogs/client_server/newsfragments/1980.clarification
deleted file mode 100644
index bdcce777..00000000
--- a/changelogs/client_server/newsfragments/1980.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Clarify formats of string types.
diff --git a/changelogs/client_server/newsfragments/1983.clarification b/changelogs/client_server/newsfragments/1983.clarification
deleted file mode 100644
index 764372f8..00000000
--- a/changelogs/client_server/newsfragments/1983.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Clarify that the async upload endpoint will return 404 in some cases.
diff --git a/changelogs/client_server/newsfragments/1994.feature b/changelogs/client_server/newsfragments/1994.feature
deleted file mode 100644
index 67c00f22..00000000
--- a/changelogs/client_server/newsfragments/1994.feature
+++ /dev/null
@@ -1 +0,0 @@
-Remove reply fallbacks, as per [MSC2781](https://github.com/matrix-org/matrix-spec-proposals/issues/2781).
\ No newline at end of file
diff --git a/changelogs/client_server/newsfragments/1995.feature b/changelogs/client_server/newsfragments/1995.feature
deleted file mode 100644
index 5dd1a126..00000000
--- a/changelogs/client_server/newsfragments/1995.feature
+++ /dev/null
@@ -1 +0,0 @@
-Clarify the allowed HTTP methods in CORS responses, as per [MSC4138](https://github.com/matrix-org/matrix-spec-proposals/pull/4138).
diff --git a/changelogs/client_server/newsfragments/2011.feature b/changelogs/client_server/newsfragments/2011.feature
deleted file mode 100644
index 5dd1a126..00000000
--- a/changelogs/client_server/newsfragments/2011.feature
+++ /dev/null
@@ -1 +0,0 @@
-Clarify the allowed HTTP methods in CORS responses, as per [MSC4138](https://github.com/matrix-org/matrix-spec-proposals/pull/4138).
diff --git a/changelogs/client_server/newsfragments/2014.feature b/changelogs/client_server/newsfragments/2014.feature
deleted file mode 100644
index 0671f14d..00000000
--- a/changelogs/client_server/newsfragments/2014.feature
+++ /dev/null
@@ -1 +0,0 @@
-Add new `M_USER_SUSPENDED` error code behaviour, as per [MSC3823](https://github.com/matrix-org/matrix-spec-proposals/pull/3823).
\ No newline at end of file
diff --git a/changelogs/client_server/newsfragments/2015.clarification b/changelogs/client_server/newsfragments/2015.clarification
deleted file mode 100644
index 1952e036..00000000
--- a/changelogs/client_server/newsfragments/2015.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Remove distinction between `StateFilter` and `RoomEventFilter`.
diff --git a/changelogs/client_server/newsfragments/2016.clarification b/changelogs/client_server/newsfragments/2016.clarification
deleted file mode 100644
index 34aa3b22..00000000
--- a/changelogs/client_server/newsfragments/2016.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Add hyperlinks throughout the specification.
diff --git a/changelogs/client_server/newsfragments/2017.clarification b/changelogs/client_server/newsfragments/2017.clarification
deleted file mode 100644
index a202eec3..00000000
--- a/changelogs/client_server/newsfragments/2017.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Use `json` instead of `json5` for syntax highlighting.
diff --git a/changelogs/client_server/newsfragments/2028.new b/changelogs/client_server/newsfragments/2028.new
deleted file mode 100644
index 718ee755..00000000
--- a/changelogs/client_server/newsfragments/2028.new
+++ /dev/null
@@ -1 +0,0 @@
-Add `POST /_matrix/client/v3/rooms/{roomId}/report` as per [MSC4151](https://github.com/matrix-org/matrix-spec-proposals/pull/4151).
diff --git a/changelogs/client_server/newsfragments/2029.clarification b/changelogs/client_server/newsfragments/2029.clarification
deleted file mode 100644
index 74050082..00000000
--- a/changelogs/client_server/newsfragments/2029.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Specify order that one-time keys are issued by `/keys/claim`, as per [MSC4225](https://github.com/matrix-org/matrix-spec-proposals/pull/4225).
diff --git a/changelogs/client_server/newsfragments/2038.clarification b/changelogs/client_server/newsfragments/2038.clarification
new file mode 100644
index 00000000..169ca65c
--- /dev/null
+++ b/changelogs/client_server/newsfragments/2038.clarification
@@ -0,0 +1 @@
+Clarify wording in the `/join` endpoints' summaries and descriptions. Contributed by @HarHarLinks.
diff --git a/changelogs/header.md b/changelogs/header.md
deleted file mode 100644
index 21f3b4d2..00000000
--- a/changelogs/header.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
diff --git a/changelogs/internal/newsfragments/1967.clarification b/changelogs/internal/newsfragments/1967.clarification
deleted file mode 100644
index 9b86faca..00000000
--- a/changelogs/internal/newsfragments/1967.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Add `x-weight` property for sorting events rendered with the `event-group` shortcode.
diff --git a/changelogs/internal/newsfragments/1969.clarification b/changelogs/internal/newsfragments/1969.clarification
deleted file mode 100644
index db9e1a1a..00000000
--- a/changelogs/internal/newsfragments/1969.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Enforce consistent vertical spacing between paragraphs in endpoint definitions.
\ No newline at end of file
diff --git a/changelogs/internal/newsfragments/1970.clarification b/changelogs/internal/newsfragments/1970.clarification
deleted file mode 100644
index 5d20fcf9..00000000
--- a/changelogs/internal/newsfragments/1970.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Remove `boxes/added-in-paragraph` shortcode.
diff --git a/changelogs/internal/newsfragments/1971.clarification b/changelogs/internal/newsfragments/1971.clarification
deleted file mode 100644
index 6c61b653..00000000
--- a/changelogs/internal/newsfragments/1971.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Remove `withVersioning` parameter of `rver-fragment` shortcode.
diff --git a/changelogs/internal/newsfragments/1972.clarification b/changelogs/internal/newsfragments/1972.clarification
deleted file mode 100644
index dc4a85f4..00000000
--- a/changelogs/internal/newsfragments/1972.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Remove `span` element from `added-in` and `changed-in` shortcodes.
diff --git a/changelogs/internal/newsfragments/1975.clarification b/changelogs/internal/newsfragments/1975.clarification
deleted file mode 100644
index 4edcc477..00000000
--- a/changelogs/internal/newsfragments/1975.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Fix formatting of `added-in` and `changed-in` shortcodes by using `%` delimiter.
diff --git a/changelogs/internal/newsfragments/1976.clarification b/changelogs/internal/newsfragments/1976.clarification
deleted file mode 100644
index 259cbffe..00000000
--- a/changelogs/internal/newsfragments/1976.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Remove CSS workaround for scroll-anchoring.
diff --git a/changelogs/internal/newsfragments/1977.clarification b/changelogs/internal/newsfragments/1977.clarification
deleted file mode 100644
index 3a5e1099..00000000
--- a/changelogs/internal/newsfragments/1977.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Rename `custom-formats.yaml` to `string-formats.yaml` and update its docs.
diff --git a/changelogs/internal/newsfragments/1984.clarification b/changelogs/internal/newsfragments/1984.clarification
deleted file mode 100644
index cb11abe6..00000000
--- a/changelogs/internal/newsfragments/1984.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Fix relative URLs when serving the specification with a custom `baseURL`.
diff --git a/changelogs/internal/newsfragments/1985.clarification b/changelogs/internal/newsfragments/1985.clarification
deleted file mode 100644
index 9f01fb6f..00000000
--- a/changelogs/internal/newsfragments/1985.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Rename `.htmltest.yaml` to `.htmltest.yml`.
diff --git a/changelogs/internal/newsfragments/1991.clarification b/changelogs/internal/newsfragments/1991.clarification
deleted file mode 100644
index 5f641bff..00000000
--- a/changelogs/internal/newsfragments/1991.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Improve the JS script to highlight the current ToC entry.
diff --git a/changelogs/internal/newsfragments/1996.clarification b/changelogs/internal/newsfragments/1996.clarification
deleted file mode 100644
index fbfe46cc..00000000
--- a/changelogs/internal/newsfragments/1996.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Upgrade docsy to 0.11.0 and hugo to 0.139.0.
diff --git a/changelogs/internal/newsfragments/1997.clarification b/changelogs/internal/newsfragments/1997.clarification
deleted file mode 100644
index cb11abe6..00000000
--- a/changelogs/internal/newsfragments/1997.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Fix relative URLs when serving the specification with a custom `baseURL`.
diff --git a/changelogs/internal/newsfragments/1999.clarification b/changelogs/internal/newsfragments/1999.clarification
deleted file mode 100644
index 94017535..00000000
--- a/changelogs/internal/newsfragments/1999.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Improve the quality of the rendered diagrams
diff --git a/changelogs/internal/newsfragments/2000.clarification b/changelogs/internal/newsfragments/2000.clarification
deleted file mode 100644
index 24cf7b81..00000000
--- a/changelogs/internal/newsfragments/2000.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Update the Inter font and allow the browser to render the page before it is loaded
\ No newline at end of file
diff --git a/changelogs/internal/newsfragments/2001.clarification b/changelogs/internal/newsfragments/2001.clarification
deleted file mode 100644
index 7e262d4b..00000000
--- a/changelogs/internal/newsfragments/2001.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Use a proper Matrix favicon
diff --git a/changelogs/internal/newsfragments/2002.clarification b/changelogs/internal/newsfragments/2002.clarification
deleted file mode 100644
index 5f641bff..00000000
--- a/changelogs/internal/newsfragments/2002.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Improve the JS script to highlight the current ToC entry.
diff --git a/changelogs/internal/newsfragments/2003.clarification b/changelogs/internal/newsfragments/2003.clarification
deleted file mode 100644
index 79541db2..00000000
--- a/changelogs/internal/newsfragments/2003.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Clean up unused CSS classes in `openapi/render-operation` partial.
diff --git a/changelogs/internal/newsfragments/2005.clarification b/changelogs/internal/newsfragments/2005.clarification
deleted file mode 100644
index db9e1a1a..00000000
--- a/changelogs/internal/newsfragments/2005.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Enforce consistent vertical spacing between paragraphs in endpoint definitions.
\ No newline at end of file
diff --git a/changelogs/internal/newsfragments/2006.clarification b/changelogs/internal/newsfragments/2006.clarification
deleted file mode 100644
index d535a8fb..00000000
--- a/changelogs/internal/newsfragments/2006.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Fix `changed-in` partial when used with multiple paragraphs.
diff --git a/changelogs/internal/newsfragments/2007.clarification b/changelogs/internal/newsfragments/2007.clarification
deleted file mode 100644
index fbfe46cc..00000000
--- a/changelogs/internal/newsfragments/2007.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Upgrade docsy to 0.11.0 and hugo to 0.139.0.
diff --git a/changelogs/internal/newsfragments/2008.clarification b/changelogs/internal/newsfragments/2008.clarification
deleted file mode 100644
index d9f7818b..00000000
--- a/changelogs/internal/newsfragments/2008.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Optimize generated CSS by removing unused selectors.
diff --git a/changelogs/internal/newsfragments/2009.clarification b/changelogs/internal/newsfragments/2009.clarification
deleted file mode 100644
index eed0f477..00000000
--- a/changelogs/internal/newsfragments/2009.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Remove trailing slash on void HTML elements.
diff --git a/changelogs/internal/newsfragments/2021.clarification b/changelogs/internal/newsfragments/2021.clarification
deleted file mode 100644
index af282431..00000000
--- a/changelogs/internal/newsfragments/2021.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Remove `type` and `language` attributes of `script` element.
diff --git a/changelogs/internal/newsfragments/2022.clarification b/changelogs/internal/newsfragments/2022.clarification
deleted file mode 100644
index c9395967..00000000
--- a/changelogs/internal/newsfragments/2022.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Change the accessible role of info boxes to `note`.
diff --git a/changelogs/internal/newsfragments/2033.clarification b/changelogs/internal/newsfragments/2033.clarification
new file mode 100644
index 00000000..9d3e7596
--- /dev/null
+++ b/changelogs/internal/newsfragments/2033.clarification
@@ -0,0 +1 @@
+Generate the changelog release info with Hugo, rather than the changelog generation script.
diff --git a/changelogs/internal/newsfragments/2041.clarification b/changelogs/internal/newsfragments/2041.clarification
new file mode 100644
index 00000000..fd9a66f7
--- /dev/null
+++ b/changelogs/internal/newsfragments/2041.clarification
@@ -0,0 +1 @@
+Update release steps documentation.
\ No newline at end of file
diff --git a/changelogs/push_gateway/newsfragments/1968.clarification b/changelogs/push_gateway/newsfragments/1968.clarification
deleted file mode 100644
index 5bf945b6..00000000
--- a/changelogs/push_gateway/newsfragments/1968.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Document the schema of `PusherData`.
diff --git a/changelogs/push_gateway/newsfragments/1974.clarification b/changelogs/push_gateway/newsfragments/1974.clarification
deleted file mode 100644
index 46c086a9..00000000
--- a/changelogs/push_gateway/newsfragments/1974.clarification
+++ /dev/null
@@ -1 +0,0 @@
-The path of HTTP pusher URLs is fixed to `/_matrix/push/v1/notify`.
diff --git a/changelogs/room_versions/newsfragments/2024.clarification b/changelogs/room_versions/newsfragments/2024.clarification
deleted file mode 100644
index d346cc20..00000000
--- a/changelogs/room_versions/newsfragments/2024.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Clarify rule 4.3.1 of the auth rules in room version 11 to state which event's `sender` the `state_key` needs to match.
diff --git a/changelogs/server_server/newsfragments/1926.clarification b/changelogs/server_server/newsfragments/1926.clarification
deleted file mode 100644
index 172bea67..00000000
--- a/changelogs/server_server/newsfragments/1926.clarification
+++ /dev/null
@@ -1 +0,0 @@
-Add 403 error response to `/_matrix/federation/v1/state_ids/{roomId}`.
diff --git a/changelogs/server_server/newsfragments/2004.feature b/changelogs/server_server/newsfragments/2004.feature
deleted file mode 100644
index dd23b73d..00000000
--- a/changelogs/server_server/newsfragments/2004.feature
+++ /dev/null
@@ -1 +0,0 @@
-Make ACLs apply to EDUs as per [MSC4163](https://github.com/matrix-org/matrix-spec-proposals/pull/4163).
diff --git a/config/_default/hugo.toml b/config/_default/hugo.toml
index fad71273..6a95c9bb 100644
--- a/config/_default/hugo.toml
+++ b/config/_default/hugo.toml
@@ -67,8 +67,8 @@ current_version_url = "https://spec.matrix.org/latest"
# The following is used when status = "stable", and is displayed in various UI elements on a released version
# of the spec. CI will set these values here automatically when a release git tag (i.e `v1.5`) is created.
# major = "1"
-# minor = "12"
-# release_date = "October 07, 2024"
+# minor = "13"
+# release_date = "December 19, 2024"
# User interface configuration
[params.ui]
diff --git a/content/changelog/_index.md b/content/changelog/_index.md
index ccb55f6f..c1c55f6c 100644
--- a/content/changelog/_index.md
+++ b/content/changelog/_index.md
@@ -4,4 +4,4 @@ type: docs
weight: 1000
---
-{{% changelog/changelogs %}}
+
diff --git a/content/changelog/v1.1.md b/content/changelog/v1.1.md
index 7e31122d..acfc1b21 100644
--- a/content/changelog/v1.1.md
+++ b/content/changelog/v1.1.md
@@ -2,26 +2,13 @@
title: v1.1 Changelog
linkTitle: v1.1
type: docs
+layout: changelog
outputs:
- html
- checklist
-date: 2021-11-09T00:00:00+0000
+date: 2021-11-09
---
-
-
-
-
-
## Client-Server API
diff --git a/content/changelog/v1.10.md b/content/changelog/v1.10.md
index 8a0e496d..a3115a1f 100644
--- a/content/changelog/v1.10.md
+++ b/content/changelog/v1.10.md
@@ -2,26 +2,12 @@
title: v1.10 Changelog
linkTitle: v1.10
type: docs
+layout: changelog
outputs:
- html
- checklist
-date: 2024-03-22T09:59:45-06:00
+date: 2024-03-22
---
-
-
-
-
-
## Client-Server API
diff --git a/content/changelog/v1.11.md b/content/changelog/v1.11.md
index d38d874b..7f12c1e3 100644
--- a/content/changelog/v1.11.md
+++ b/content/changelog/v1.11.md
@@ -2,26 +2,12 @@
title: v1.11 Changelog
linkTitle: v1.11
type: docs
+layout: changelog
outputs:
- html
- checklist
-date: 2024-06-20T10:20:43-06:00
+date: 2024-06-20
---
-
-
-
-
-
## Client-Server API
diff --git a/content/changelog/v1.12.md b/content/changelog/v1.12.md
index 8124ca28..4f4f65dd 100644
--- a/content/changelog/v1.12.md
+++ b/content/changelog/v1.12.md
@@ -2,26 +2,12 @@
title: v1.12 Changelog
linkTitle: v1.12
type: docs
+layout: changelog
outputs:
- html
- checklist
-date: 2024-10-07T13:32:03-06:00
+date: 2024-10-07
---
-
-
-
-
-
## Client-Server API
diff --git a/content/changelog/v1.13.md b/content/changelog/v1.13.md
new file mode 100644
index 00000000..df91175b
--- /dev/null
+++ b/content/changelog/v1.13.md
@@ -0,0 +1,108 @@
+---
+title: v1.13 Changelog
+linkTitle: v1.13
+type: docs
+layout: changelog
+outputs:
+ - html
+ - checklist
+date: 2024-12-19
+---
+
+## Client-Server API
+
+**New Endpoints**
+
+- Add `POST /_matrix/client/v3/rooms/{roomId}/report`, as per [MSC4151](https://github.com/matrix-org/matrix-spec-proposals/pull/4151). ([#1938](https://github.com/matrix-org/matrix-spec/issues/1938), [#2028](https://github.com/matrix-org/matrix-spec/issues/2028))
+
+**Backwards Compatible Changes**
+
+- Add error codes to requestToken endpoints, as per [MSC4178](https://github.com/matrix-org/matrix-spec-proposals/pull/4178). ([#1944](https://github.com/matrix-org/matrix-spec/issues/1944))
+- Remove reply fallbacks, as per [MSC2781](https://github.com/matrix-org/matrix-spec-proposals/issues/2781). ([#1994](https://github.com/matrix-org/matrix-spec/issues/1994))
+- Clarify the allowed HTTP methods in CORS responses, as per [MSC4138](https://github.com/matrix-org/matrix-spec-proposals/pull/4138). ([#1995](https://github.com/matrix-org/matrix-spec/issues/1995), [#2011](https://github.com/matrix-org/matrix-spec/issues/2011))
+- Add new `M_USER_SUSPENDED` error code behaviour, as per [MSC3823](https://github.com/matrix-org/matrix-spec-proposals/pull/3823). ([#2014](https://github.com/matrix-org/matrix-spec/issues/2014))
+
+**Spec Clarifications**
+
+- The `reason` parameter in `POST /_matrix/client/v3/rooms/{roomId}/report/{eventId}` can be omitted instead of left blank, as per [MSC2414](https://github.com/matrix-org/matrix-spec-proposals/pull/2414). ([#1938](https://github.com/matrix-org/matrix-spec/issues/1938))
+- Correct OpenAPI specification for query parameters to `GET /_matrix/client/v3/thirdparty/location/{protocol}` endpoint. ([#1947](https://github.com/matrix-org/matrix-spec/issues/1947))
+- Sort VoIP events semantically. ([#1967](https://github.com/matrix-org/matrix-spec/issues/1967))
+- Clarify that servers must forward custom keys in `PusherData` when sending notifications to the push gateway. ([#1973](https://github.com/matrix-org/matrix-spec/issues/1973))
+- Clarify formats of string types. ([#1978](https://github.com/matrix-org/matrix-spec/issues/1978), [#1979](https://github.com/matrix-org/matrix-spec/issues/1979), [#1980](https://github.com/matrix-org/matrix-spec/issues/1980))
+- Clarify that the async upload endpoint will return 404 in some cases. ([#1983](https://github.com/matrix-org/matrix-spec/issues/1983))
+- Remove distinction between `StateFilter` and `RoomEventFilter`. ([#2015](https://github.com/matrix-org/matrix-spec/issues/2015))
+- Add hyperlinks throughout the specification. ([#2016](https://github.com/matrix-org/matrix-spec/issues/2016))
+- Use `json` instead of `json5` for syntax highlighting. ([#2017](https://github.com/matrix-org/matrix-spec/issues/2017))
+- Specify order that one-time keys are issued by `/keys/claim`, as per [MSC4225](https://github.com/matrix-org/matrix-spec-proposals/pull/4225). ([#2029](https://github.com/matrix-org/matrix-spec/issues/2029))
+
+
+## Server-Server API
+
+**Backwards Compatible Changes**
+
+- Make ACLs apply to EDUs, as per [MSC4163](https://github.com/matrix-org/matrix-spec-proposals/pull/4163). ([#2004](https://github.com/matrix-org/matrix-spec/issues/2004))
+
+**Spec Clarifications**
+
+- Add 403 error response to `/_matrix/federation/v1/state_ids/{roomId}`. ([#1926](https://github.com/matrix-org/matrix-spec/issues/1926))
+
+
+## Application Service API
+
+**Backwards Compatible Changes**
+
+- Allow sending ephemeral data to application services, as per [MSC2409](https://github.com/matrix-org/matrix-spec-proposals/pull/2409). ([#2018](https://github.com/matrix-org/matrix-spec/issues/2018))
+
+
+## Identity Service API
+
+No significant changes.
+
+
+## Push Gateway API
+
+**Spec Clarifications**
+
+- Document the schema of `PusherData`. ([#1968](https://github.com/matrix-org/matrix-spec/issues/1968))
+- The path of HTTP pusher URLs is fixed to `/_matrix/push/v1/notify`. ([#1974](https://github.com/matrix-org/matrix-spec/issues/1974))
+
+
+## Room Versions
+
+**Spec Clarifications**
+
+- Clarify rule 4.3.1 of the auth rules in room version 11 to state which event's `sender` the `state_key` needs to match. ([#2024](https://github.com/matrix-org/matrix-spec/issues/2024))
+
+
+## Appendices
+
+**Spec Clarifications**
+
+- Remove note about reference implementations. ([#1966](https://github.com/matrix-org/matrix-spec/issues/1966))
+
+
+## Internal Changes/Tooling
+
+**Spec Clarifications**
+
+- Add `x-weight` property for sorting events rendered with the `event-group` shortcode. ([#1967](https://github.com/matrix-org/matrix-spec/issues/1967))
+- Enforce consistent vertical spacing between paragraphs in endpoint definitions. ([#1969](https://github.com/matrix-org/matrix-spec/issues/1969), [#2005](https://github.com/matrix-org/matrix-spec/issues/2005))
+- Remove `boxes/added-in-paragraph` shortcode. ([#1970](https://github.com/matrix-org/matrix-spec/issues/1970))
+- Remove `withVersioning` parameter of `rver-fragment` shortcode. ([#1971](https://github.com/matrix-org/matrix-spec/issues/1971))
+- Remove `span` element from `added-in` and `changed-in` shortcodes. ([#1972](https://github.com/matrix-org/matrix-spec/issues/1972))
+- Fix formatting of `added-in` and `changed-in` shortcodes by using `%` delimiter. ([#1975](https://github.com/matrix-org/matrix-spec/issues/1975))
+- Remove CSS workaround for scroll-anchoring. ([#1976](https://github.com/matrix-org/matrix-spec/issues/1976))
+- Rename `custom-formats.yaml` to `string-formats.yaml` and update its docs. ([#1977](https://github.com/matrix-org/matrix-spec/issues/1977))
+- Fix relative URLs when serving the specification with a custom `baseURL`. ([#1984](https://github.com/matrix-org/matrix-spec/issues/1984), [#1997](https://github.com/matrix-org/matrix-spec/issues/1997))
+- Rename `.htmltest.yaml` to `.htmltest.yml`. ([#1985](https://github.com/matrix-org/matrix-spec/issues/1985))
+- Improve the JS script to highlight the current ToC entry. ([#1991](https://github.com/matrix-org/matrix-spec/issues/1991), [#2002](https://github.com/matrix-org/matrix-spec/issues/2002))
+- Upgrade docsy to 0.11.0 and hugo to 0.139.0. ([#1996](https://github.com/matrix-org/matrix-spec/issues/1996), [#2007](https://github.com/matrix-org/matrix-spec/issues/2007))
+- Improve the quality of the rendered diagrams ([#1999](https://github.com/matrix-org/matrix-spec/issues/1999))
+- Update the Inter font and allow the browser to render the page before it is loaded ([#2000](https://github.com/matrix-org/matrix-spec/issues/2000))
+- Use a proper Matrix favicon ([#2001](https://github.com/matrix-org/matrix-spec/issues/2001))
+- Clean up unused CSS classes in `openapi/render-operation` partial. ([#2003](https://github.com/matrix-org/matrix-spec/issues/2003))
+- Fix `changed-in` partial when used with multiple paragraphs. ([#2006](https://github.com/matrix-org/matrix-spec/issues/2006))
+- Optimize generated CSS by removing unused selectors. ([#2008](https://github.com/matrix-org/matrix-spec/issues/2008))
+- Remove trailing slash on void HTML elements. ([#2009](https://github.com/matrix-org/matrix-spec/issues/2009))
+- Remove `type` and `language` attributes of `script` element. ([#2021](https://github.com/matrix-org/matrix-spec/issues/2021))
+- Change the accessible role of info boxes to `note`. ([#2022](https://github.com/matrix-org/matrix-spec/issues/2022))
diff --git a/content/changelog/v1.2.md b/content/changelog/v1.2.md
index 224da53f..9fd35eb5 100644
--- a/content/changelog/v1.2.md
+++ b/content/changelog/v1.2.md
@@ -2,26 +2,13 @@
title: v1.2 Changelog
linkTitle: v1.2
type: docs
+layout: changelog
outputs:
- html
- checklist
-date: 2022-02-02T00:00:00+0000
+date: 2022-02-02
---
-
-
-
-
-
## Client-Server API
diff --git a/content/changelog/v1.3.md b/content/changelog/v1.3.md
index b8c99a7c..270783e7 100644
--- a/content/changelog/v1.3.md
+++ b/content/changelog/v1.3.md
@@ -2,26 +2,13 @@
title: v1.3 Changelog
linkTitle: v1.3
type: docs
+layout: changelog
outputs:
- html
- checklist
-date: 2022-06-15T00:00:00+0100
+date: 2022-06-15
---
-
-
-
-
-
## Client-Server API
diff --git a/content/changelog/v1.4.md b/content/changelog/v1.4.md
index 10510d80..febb3874 100644
--- a/content/changelog/v1.4.md
+++ b/content/changelog/v1.4.md
@@ -2,26 +2,13 @@
title: v1.4 Changelog
linkTitle: v1.4
type: docs
+layout: changelog
outputs:
- html
- checklist
-date: 2022-09-29T00:00:00+0100
+date: 2022-09-29
---
-
-
-
-
-
## Client-Server API
diff --git a/content/changelog/v1.5.md b/content/changelog/v1.5.md
index 9f23a019..71931cc7 100644
--- a/content/changelog/v1.5.md
+++ b/content/changelog/v1.5.md
@@ -2,26 +2,13 @@
title: v1.5 Changelog
linkTitle: v1.5
type: docs
+layout: changelog
outputs:
- html
- checklist
-date: 2022-11-17T08:22:11-07:00
+date: 2022-11-17
---
-
-
-
-
-
## Client-Server API
diff --git a/content/changelog/v1.6.md b/content/changelog/v1.6.md
index d47c36b5..f2a129c6 100644
--- a/content/changelog/v1.6.md
+++ b/content/changelog/v1.6.md
@@ -2,26 +2,13 @@
title: v1.6 Changelog
linkTitle: v1.6
type: docs
+layout: changelog
outputs:
- html
- checklist
-date: 2023-02-14T08:25:40-07:00
+date: 2023-02-14
---
-
-
-
-
-
## Client-Server API
diff --git a/content/changelog/v1.7.md b/content/changelog/v1.7.md
index f4b2b63e..86f0b4ad 100644
--- a/content/changelog/v1.7.md
+++ b/content/changelog/v1.7.md
@@ -2,26 +2,13 @@
title: v1.7 Changelog
linkTitle: v1.7
type: docs
+layout: changelog
outputs:
- html
- checklist
-date: 2023-05-25T09:47:21-06:00
+date: 2023-05-25
---
-
-
-
-
-
## Client-Server API
diff --git a/content/changelog/v1.8.md b/content/changelog/v1.8.md
index 1883d10a..6e5cf995 100644
--- a/content/changelog/v1.8.md
+++ b/content/changelog/v1.8.md
@@ -2,26 +2,12 @@
title: v1.8 Changelog
linkTitle: v1.8
type: docs
+layout: changelog
outputs:
- html
- checklist
-date: 2023-08-23T09:23:53-06:00
+date: 2023-08-23
---
-
-
-
-
-
## Client-Server API
diff --git a/content/changelog/v1.9.md b/content/changelog/v1.9.md
index a3971bd2..9c38785d 100644
--- a/content/changelog/v1.9.md
+++ b/content/changelog/v1.9.md
@@ -2,26 +2,12 @@
title: v1.9 Changelog
linkTitle: v1.9
type: docs
+layout: changelog
outputs:
- html
- checklist
-date: 2023-11-29T10:04:26-07:00
+date: 2023-11-29
---
-
-
-
-
-
## Client-Server API
diff --git a/data/api/client-server/joining.yaml b/data/api/client-server/joining.yaml
index dda0d867..1019abbd 100644
--- a/data/api/client-server/joining.yaml
+++ b/data/api/client-server/joining.yaml
@@ -18,12 +18,12 @@ info:
paths:
"/rooms/{roomId}/join":
post:
- summary: Start the requesting user participating in a particular room.
+ summary: Join the requesting user to a particular room.
description: |-
*Note that this API requires a room ID, not alias.*
`/join/{roomIdOrAlias}` *exists if you have a room alias.*
- This API starts a user participating in a particular room, if that user
+ This API starts a user's participation in a particular room, if that user
is allowed to participate in that room. After this call, the client is
allowed to see all current state events in the room, and all subsequent
events associated with the room until the user leaves the room.
@@ -113,11 +113,11 @@ paths:
- Room membership
"/join/{roomIdOrAlias}":
post:
- summary: Start the requesting user participating in a particular room.
+ summary: Join the requesting user to a particular room.
description: |-
*Note that this API takes either a room ID or alias, unlike* `/rooms/{roomId}/join`.
- This API starts a user participating in a particular room, if that user
+ This API starts a user's participation in a particular room, if that user
is allowed to participate in that room. After this call, the client is
allowed to see all current state events in the room, and all subsequent
events associated with the room until the user leaves the room.
diff --git a/layouts/_default/single.checklist.md b/layouts/_default/single.checklist.md
deleted file mode 100644
index f885a316..00000000
--- a/layouts/_default/single.checklist.md
+++ /dev/null
@@ -1,4 +0,0 @@
-{{ .RawContent
- | replaceRE "\n- " "\n- [ ] "
- | replaceRE "\n?" ""
- | replaceRE "Checklist.*\n" "" }}
diff --git a/layouts/docs/changelog.checklist.md b/layouts/docs/changelog.checklist.md
new file mode 100644
index 00000000..17051c71
--- /dev/null
+++ b/layouts/docs/changelog.checklist.md
@@ -0,0 +1,34 @@
+{{- /*
+
+ Template to render a page with a `changelog` layout as a markdown checklist.
+
+ This transforms the markdown source of the changelog to change list items,
+ which in turn are them transformed into a rendered checklist.
+
+ Stable releases will additionally have a table at the top of the page with
+ information about the release, including:
+
+ * A link to the matrix-spec repository at the time of the release, with the
+ version taken from the `linkTitle` in the frontmatter of the page.
+ * The date of the release, taken from the `date` in the frontmatter of the
+ page.
+
+*/ -}}
+
+{{ $version := lower .LinkTitle -}}
+# Matrix Specification {{ .Title }}
+
+{{ if ne $version "unstable" -}}
+{{- /*
+
+ Most markdown parsers require the header to recognize a markdown table,
+ so add an empty header.
+
+*/ -}}
+| | |
+|---|---|
+| Git commit | {{ printf "https://github.com/matrix-org/matrix-spec/tree/%s" $version }} |
+| Release date | {{ .Date | time.Format ":date_long" }} |
+{{ end -}}
+
+{{ .RawContent | replaceRE "\n- " "\n- [ ] " }}
diff --git a/layouts/docs/changelog.html b/layouts/docs/changelog.html
new file mode 100644
index 00000000..b23c8074
--- /dev/null
+++ b/layouts/docs/changelog.html
@@ -0,0 +1,46 @@
+{{- /*
+
+ Template to render a page with a `changelog` layout or the `changelog`
+ section page. This conflation seems to be a limitation of Hugo currently, it
+ uses this template for both cases.
+
+ For the `changelog` section page, this redirects the page to the latest
+ version's changelog page.
+
+ For a page with a `changelog` layout, this adds a table at the top of the
+ page with information about the release:
+
+ * A link to the matrix-spec repository at the time of the release, with the
+ version taken from the `linkTitle` in the frontmatter of the page, unless
+ it is the unstable changelog.
+ * The date of the release, taken from the `date` in the frontmatter of the
+ page, unless it is the unstable changelog.
+ * A link to the markdown checklist format of the changelog. The `outputs` in
+ the frontmatter of the page must include `checklist`.
+
+*/ -}}
+
+{{ define "main" }}
+{{ if .IsSection -}}
+ {{ with index .RegularPages.ByDate.Reverse 0 -}}
+
+ {{ end -}}
+{{ else -}}
+ {{ $version := lower .LinkTitle -}}
+
+ {{ .Title }}
+
+
+ {{ if ne $version "unstable" -}}
+ {{ $commitLink := printf "https://github.com/matrix-org/matrix-spec/tree/%s" $version -}}
+ | Git commit | {{ $commitLink }} |
+
|---|
| Release date | {{ .Date | time.Format ":date_long" }} |
+ {{ end -}}
+ {{ $checklist := .OutputFormats.Get "checklist" -}}
+
|---|
| Checklist | checklist.md |
+
|---|
+
+ {{ .Content }}
+
+{{ end -}}
+{{ end }}
diff --git a/layouts/shortcodes/changelog/changelogs.html b/layouts/shortcodes/changelog/changelogs.html
deleted file mode 100644
index d6c0add8..00000000
--- a/layouts/shortcodes/changelog/changelogs.html
+++ /dev/null
@@ -1,8 +0,0 @@
-{{/*
- This template is used to redirect the changelog section under
- "content/changelogs" to the latest version's changelog page.
-*/}}
-
-{{ with index .Page.RegularPages.ByDate.Reverse 0 }}
-
-{{ end }}
diff --git a/meta/releasing.md b/meta/releasing.md
index eb2c16b7..273e4eaa 100644
--- a/meta/releasing.md
+++ b/meta/releasing.md
@@ -62,7 +62,7 @@ Assuming the preparation work is complete, all that remains is the actual specif
release.
1. Create a `release/v1.2` branch where `v1.2` is the version you're about to release.
-2. Update the `params.version` section of `config.toml` to use the following template:
+2. Update the `params.version` section of `./config/_default/hugo.toml` to use the following template:
```toml
[params.version]
status = "stable"
@@ -79,8 +79,9 @@ release.
3. Commit the changes.
4. Generate the changelog.
1. Activate your python virtual environment.
- 2. Run `./scripts/generate-changelog.sh v1.2 "October 01, 2021"` (using the correct
- version number and same `release_date` format from the hugo config).
+ 2. Run `./scripts/generate-changelog.sh v1.2` (using the correct version number).
+ The script will use the current date. If that date is wrong, correct the document
+ by using the same `YYYY-MM-DD` date format.
3. Commit the result.
5. Tag the branch with the spec release with a format of `v1.2` (if releasing Matrix 1.2).
6. Push the release branch and the tag.
@@ -95,7 +96,7 @@ release.
* Upload the artifacts of the GitHub Actions build for the release to the GitHub
release as artifacts themselves. This should be the tarball that will be deployed
to spec.matrix.org.
-10. Commit a reversion to `params.version` of `config.toml` on `main`:
+10. Commit a reversion to `params.version` of `./config/_default/hugo.toml` on `main`:
```toml
[params.version]
status = "unstable"
diff --git a/scripts/generate-changelog.sh b/scripts/generate-changelog.sh
index 9447dac5..678af60f 100755
--- a/scripts/generate-changelog.sh
+++ b/scripts/generate-changelog.sh
@@ -1,20 +1,16 @@
# /bin/bash
-# Usage: ./scripts/generate-changelog.sh v1.2 "April 01, 2021"
-# or: ./scripts/generate-changelog.sh vUNSTABLE
+# Usage: ./scripts/generate-changelog.sh v1.2 for changelogs of stable releases
+# or: ./scripts/generate-changelog.sh vUNSTABLE for the unstable changelog.
set -e
VERSION="$1"
-DATE="$2"
-cd `dirname $0`/../changelogs
-
-# Pre-cleanup just in case it wasn't done on the last run
-rm -f rendered.md
-
-# Generate changelog
-towncrier --yes
+if [ -z "$VERSION" ]; then
+ echo "ERROR: The version of the changelog must be provided"
+ exit 1
+fi
if [ "$VERSION" = "vUNSTABLE" ]; then
TITLE="Changes since last release"
@@ -26,6 +22,14 @@ else
FILENAME="$VERSION.md"
fi
+cd `dirname $0`/../changelogs
+
+# Pre-cleanup just in case it wasn't done on the last run
+rm -f rendered.md
+
+# Generate changelog
+towncrier --yes
+
{
# Prepare the header
# We include the generation date in the front matter so that we can use it
@@ -35,16 +39,13 @@ fi
title: $TITLE
linkTitle: $LINKTITLE
type: docs
+layout: changelog
outputs:
- html
- checklist
-date: $(date -Iseconds)
+date: $(date -Idate)
---
EOF
- if [ "$VERSION" != "vUNSTABLE" ]; then
- sed -e "s/VERSION/$1/g" -e "s/DATE/$2/g" header.md
- fi
-
# Remove trailing whitespace (such as our intentionally blank RST headings)
sed -e "s/[ ]*$//" rendered.md
} > ../content/changelog/$FILENAME
|
|---|