Compare commits
183 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
a5afe542c0 | 4 hours ago |
|
|
d28e05af87 | 3 days ago |
|
|
b1fd2af72c | 1 week ago |
|
|
f7a0d8d135 | 1 week ago |
|
|
a2027a3985 | 1 week ago |
|
|
ff1a39e36a | 2 weeks ago |
|
|
add0f2232c | 2 weeks ago |
|
|
8ebf4a4789 | 2 weeks ago |
|
|
935c23485b | 2 weeks ago |
|
|
fe3f43a905 | 1 month ago |
|
|
4783619964 | 1 month ago |
|
|
4cafe7d9f4 | 1 month ago |
|
|
e2b2e56bd2 | 1 month ago |
|
|
967b54195c | 1 month ago |
|
|
9d063c8d2d | 1 month ago |
|
|
74a0d5f289 | 1 month ago |
|
|
974b0b721e | 2 months ago |
|
|
fda3be5ee3 | 2 months ago |
|
|
7f4072d993 | 2 months ago |
|
|
58744f4734 | 2 months ago |
|
|
dfdb1d09b8 | 2 months ago |
|
|
f82d8ab15b | 2 months ago |
|
|
b6a127b5cb | 2 months ago |
|
|
0a649cb0db | 2 months ago |
|
|
d8be2ad942 | 2 months ago |
|
|
21109b4d5b | 2 months ago |
|
|
d4d31a8894 | 2 months ago |
|
|
d968774fb7 | 2 months ago |
|
|
2aacc1feda | 2 months ago |
|
|
2a8c0bc7b8 | 3 months ago |
|
|
81a864545f | 3 months ago |
|
|
671bc674cd | 3 months ago |
|
|
72a2ebc7ad | 3 months ago |
|
|
7bc016bda6 | 3 months ago |
|
|
fea0b925a0 | 3 months ago |
|
|
bfbeb5e257 | 3 months ago |
|
|
d1a51f7b8c | 3 months ago |
|
|
6e16a19ac9 | 3 months ago |
|
|
4d4069166d | 3 months ago |
|
|
b5ee6adc0f | 3 months ago |
|
|
f97d2944ae | 4 months ago |
|
|
c4bfd2feb8 | 4 months ago |
|
|
04f42ac208 | 4 months ago |
|
|
f6d5009959 | 4 months ago |
|
|
9c313b099f | 4 months ago |
|
|
67a2aa4761 | 4 months ago |
|
|
7d2de48cb4 | 4 months ago |
|
|
fb4a0d8f66 | 5 months ago |
|
|
4c87e0e745 | 5 months ago |
|
|
3e1e9fa8df | 5 months ago |
|
|
c8380d9552 | 5 months ago |
|
|
3877598b1e | 5 months ago |
|
|
0e280ed014 | 5 months ago |
|
|
625ed5c599 | 5 months ago |
|
|
484a777572 | 5 months ago |
|
|
6edb6ba1cd | 5 months ago |
|
|
40065811a1 | 5 months ago |
|
|
1c06ed9cf7 | 5 months ago |
|
|
6353b46add | 5 months ago |
|
|
0e05e45d84 | 5 months ago |
|
|
b278a4e0ec | 6 months ago |
|
|
ccd9e50eb1 | 6 months ago |
|
|
e4740e36e8 | 6 months ago |
|
|
9244c84a32 | 6 months ago |
|
|
979264e923 | 6 months ago |
|
|
51ccbbd240 | 6 months ago |
|
|
a2a9a02efa | 6 months ago |
|
|
32b1f0514d | 6 months ago |
|
|
7bcc3ecb81 | 6 months ago |
|
|
866c05f487 | 6 months ago |
|
|
7470c72d94 | 6 months ago |
|
|
643a6dca2d | 6 months ago |
|
|
cbf1854b93 | 6 months ago |
|
|
2c734c3c5b | 7 months ago |
|
|
075d203ecd | 7 months ago |
|
|
4ed55a60ec | 7 months ago |
|
|
67743d5715 | 7 months ago |
|
|
338047ec7b | 7 months ago |
|
|
0439707624 | 7 months ago |
|
|
f4e6e6dea9 | 7 months ago |
|
|
73fcf366a0 | 7 months ago |
|
|
0a1efd8c9c | 7 months ago |
|
|
2c6ddafb43 | 7 months ago |
|
|
fc81171081 | 7 months ago |
|
|
c74befd111 | 7 months ago |
|
|
ca9c376076 | 7 months ago |
|
|
fe46e0c363 | 7 months ago |
|
|
a8c326962a | 7 months ago |
|
|
fca171427f | 8 months ago |
|
|
81273df88e | 8 months ago |
|
|
65b1db721d | 8 months ago |
|
|
c39c7d0680 | 8 months ago |
|
|
23ff7f1343 | 8 months ago |
|
|
8a2c58b1b1 | 8 months ago |
|
|
817ec5380f | 8 months ago |
|
|
029be205b9 | 8 months ago |
|
|
fe880fdaf4 | 8 months ago |
|
|
71ce620fc0 | 8 months ago |
|
|
cb6d039c57 | 8 months ago |
|
|
c7581356bf | 9 months ago |
|
|
7fd49a2808 | 9 months ago |
|
|
e283c35dbd | 9 months ago |
|
|
1916e53f8c | 9 months ago |
|
|
02a1aeefbc | 9 months ago |
|
|
3adbfa30da | 9 months ago |
|
|
4ff9a851e6 | 9 months ago |
|
|
844dd6f8ae | 9 months ago |
|
|
dfc61ffc71 | 9 months ago |
|
|
60339adb2d | 9 months ago |
|
|
ae06f37470 | 9 months ago |
|
|
10587366e9 | 9 months ago |
|
|
eedecf863a | 9 months ago |
|
|
cb83c5a76e | 10 months ago |
|
|
c2ef38f0e5 | 10 months ago |
|
|
dcb39c603a | 10 months ago |
|
|
23e709ae9b | 10 months ago |
|
|
cabe846d23 | 10 months ago |
|
|
9e0f2aad94 | 11 months ago |
|
|
cd6ae9e1a2 | 11 months ago |
|
|
a1bdfaa167 | 11 months ago |
|
|
d0d71d9997 | 11 months ago |
|
|
ad17652fce | 11 months ago |
|
|
b9b10c4920 | 11 months ago |
|
|
42364c5155 | 11 months ago |
|
|
b9f46d1d85 | 11 months ago |
|
|
e341525e04 | 11 months ago |
|
|
ba73e0d97a | 11 months ago |
|
|
6f1e64cb12 | 12 months ago |
|
|
baa60bf728 | 12 months ago |
|
|
2df3f7a7bf | 12 months ago |
|
|
1d98e96300 | 12 months ago |
|
|
bc995e66d6 | 12 months ago |
|
|
921c6becf1 | 12 months ago |
|
|
35c3ddb33b | 12 months ago |
|
|
2fd5bf10bb | 12 months ago |
|
|
355f92ff99 | 12 months ago |
|
|
96b32f68f9 | 12 months ago |
|
|
846cc49eb2 | 12 months ago |
|
|
9198182f1a | 12 months ago |
|
|
f819403bd5 | 12 months ago |
|
|
7867ebb250 | 12 months ago |
|
|
1accb9e93f | 12 months ago |
|
|
54d872e19b | 1 year ago |
|
|
075a98d619 | 1 year ago |
|
|
336b855d7a | 1 year ago |
|
|
8ab2988824 | 1 year ago |
|
|
7ec9b7f2e1 | 1 year ago |
|
|
f64eec5a93 | 1 year ago |
|
|
f8119f5336 | 1 year ago |
|
|
c5eac010be | 1 year ago |
|
|
f3130f70e6 | 1 year ago |
|
|
c16788f991 | 1 year ago |
|
|
69e162e5fe | 1 year ago |
|
|
d67dd88457 | 1 year ago |
|
|
b4c52ab7bd | 1 year ago |
|
|
0657cc1848 | 1 year ago |
|
|
0ce83512fc | 1 year ago |
|
|
9882d95775 | 1 year ago |
|
|
d5c56a4f17 | 1 year ago |
|
|
c5d7eb7a2d | 1 year ago |
|
|
bf8dee74eb | 1 year ago |
|
|
b1f66d1b71 | 1 year ago |
|
|
9799b892de | 1 year ago |
|
|
74e8be3fd9 | 1 year ago |
|
|
909c4614ac | 1 year ago |
|
|
6cd7038d01 | 1 year ago |
|
|
e0bd054373 | 1 year ago |
|
|
f730987da6 | 1 year ago |
|
|
1e0919ad12 | 1 year ago |
|
|
88f0c56ad9 | 1 year ago |
|
|
0b4d1c0237 | 1 year ago |
|
|
611d6c3e7e | 1 year ago |
|
|
3b8f3a09aa | 1 year ago |
|
|
1f5f2c4d83 | 1 year ago |
|
|
32f41f88bc | 1 year ago |
|
|
b1ebbb9a1c | 1 year ago |
|
|
285cd2bda2 | 1 year ago |
|
|
69d7dbf703 | 1 year ago |
|
|
48afe4faa5 | 1 year ago |
|
|
1e47d7ec48 | 1 year ago |
|
|
ae3673d2ef | 1 year ago |
|
|
c74105db43 | 1 year ago |
|
|
e972e29429 | 1 year ago |
@ -0,0 +1,63 @@
|
|||||||
|
/* cyrillic-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Inter';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100 900;
|
||||||
|
font-display: swap;
|
||||||
|
src: local('Inter'), url(../../fonts/Inter-cyrillic-ext-normal.woff2) format('woff2');
|
||||||
|
unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
|
||||||
|
}
|
||||||
|
/* cyrillic */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Inter';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100 900;
|
||||||
|
font-display: swap;
|
||||||
|
src: local('Inter'), url(../../fonts/Inter-cyrillic-normal.woff2) format('woff2');
|
||||||
|
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
|
||||||
|
}
|
||||||
|
/* greek-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Inter';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100 900;
|
||||||
|
font-display: swap;
|
||||||
|
src: local('Inter'), url(../../fonts/Inter-greek-ext-normal.woff2) format('woff2');
|
||||||
|
unicode-range: U+1F00-1FFF;
|
||||||
|
}
|
||||||
|
/* greek */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Inter';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100 900;
|
||||||
|
font-display: swap;
|
||||||
|
src: local('Inter'), url(../../fonts/Inter-greek-normal.woff2) format('woff2');
|
||||||
|
unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
|
||||||
|
}
|
||||||
|
/* vietnamese */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Inter';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100 900;
|
||||||
|
font-display: swap;
|
||||||
|
src: local('Inter'), url(../../fonts/Inter-vietnamese-normal.woff2) format('woff2');
|
||||||
|
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
|
||||||
|
}
|
||||||
|
/* latin-ext */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Inter';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100 900;
|
||||||
|
font-display: swap;
|
||||||
|
src: local('Inter'), url(../../fonts/Inter-latin-ext-normal.woff2) format('woff2');
|
||||||
|
unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
||||||
|
}
|
||||||
|
/* latin */
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Inter';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 100 900;
|
||||||
|
font-display: swap;
|
||||||
|
src: local('Inter'), url(../../fonts/Inter-latin-normal.woff2) format('woff2');
|
||||||
|
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<style>
|
||||||
|
path { fill: #000000; }
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
path { fill: #ffffff; }
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<path d="M 30,2.0000001 V 30 h -1 -2 v 2 h 5 V -3.3333334e-8 L 27,0 v 2 z"/>
|
||||||
|
<path d="M 9.9515939,10.594002 V 12.138 h 0.043994 c 0.3845141,-0.563728 0.8932271,-1.031728 1.4869981,-1.368 0.580003,-0.322998 1.244999,-0.485 1.993002,-0.485 0.72,0 1.376999,0.139993 1.971998,0.42 0.595,0.279004 1.047001,0.771001 1.355002,1.477001 0.338003,-0.500001 0.795999,-0.941 1.376999,-1.323001 0.579999,-0.382998 1.265998,-0.574 2.059998,-0.574 0.602003,0 1.160002,0.074 1.674002,0.220006 0.514,0.148006 0.953998,0.382998 1.321999,0.706998 0.36601,0.322999 0.653001,0.746 0.859,1.268002 0.205001,0.521998 0.307994,1.15 0.307994,1.887001 v 7.632997 h -3.127 v -6.463997 c 0,-0.383002 -0.01512,-0.743002 -0.04399,-1.082003 -0.02079,-0.3072 -0.103219,-0.607113 -0.242003,-0.881998 -0.133153,-0.25081 -0.335962,-0.457777 -0.584001,-0.596002 -0.257008,-0.146003 -0.605998,-0.220006 -1.046997,-0.220006 -0.440002,0 -0.796003,0.085 -1.068,0.253002 -0.272013,0.170003 -0.485001,0.390002 -0.639001,0.662003 -0.159119,0.287282 -0.263585,0.601602 -0.307994,0.926997 -0.05197,0.346923 -0.07801,0.697217 -0.07801,1.048002 v 6.353999 h -3.128005 v -6.398 c 0,-0.338003 -0.0072,-0.673001 -0.02116,-1.004001 -0.01134,-0.313663 -0.07487,-0.623229 -0.187994,-0.915999 -0.107943,-0.276623 -0.300435,-0.512126 -0.550001,-0.673001 -0.25799,-0.168 -0.636,-0.253002 -1.134999,-0.253002 -0.198123,0.0083 -0.394383,0.04195 -0.584002,0.100006 -0.258368,0.07446 -0.498455,0.201827 -0.704999,0.373985 -0.227981,0.183987 -0.421999,0.449 -0.583997,0.794003 -0.161008,0.345978 -0.242003,0.797998 -0.242003,1.356998 v 6.618999 H 6.99942 V 10.590001 Z"/>
|
||||||
|
<path d="M 2,2.0000001 V 30 h 3 v 2 H 0 V 9.2650922e-8 L 5,0 v 2 z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.9 KiB |
@ -0,0 +1,169 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2020, 2021 The Matrix.org Foundation C.I.C.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
Only call the given function once every 250 milliseconds to avoid impacting
|
||||||
|
the performance of the browser.
|
||||||
|
Source: https://remysharp.com/2010/07/21/throttling-function-calls
|
||||||
|
*/
|
||||||
|
function throttle(fn) {
|
||||||
|
const threshold = 250;
|
||||||
|
let last = null;
|
||||||
|
let deferTimer = null;
|
||||||
|
|
||||||
|
return function (...args) {
|
||||||
|
const now = new Date();
|
||||||
|
|
||||||
|
if (last && now < last + threshold) {
|
||||||
|
// Hold on to it.
|
||||||
|
clearTimeout(deferTimer);
|
||||||
|
deferTimer = setTimeout(() => {
|
||||||
|
last = now;
|
||||||
|
fn.apply(this, args);
|
||||||
|
}, threshold);
|
||||||
|
} else {
|
||||||
|
last = now;
|
||||||
|
fn.apply(this, args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Get the list of headings that appear in the ToC.
|
||||||
|
This is not as simple as querying all the headings in the content, because
|
||||||
|
some headings are not rendered in the ToC (e.g. in the endpoint definitions).
|
||||||
|
*/
|
||||||
|
function getHeadings() {
|
||||||
|
let headings = [];
|
||||||
|
|
||||||
|
// First get the anchors in the ToC.
|
||||||
|
const toc_anchors = document.querySelectorAll("#toc nav a");
|
||||||
|
|
||||||
|
for (const anchor of toc_anchors) {
|
||||||
|
// Then get the heading from its selector in the anchor's href.
|
||||||
|
const selector = anchor.getAttribute("href");
|
||||||
|
if (!selector) {
|
||||||
|
console.error("Got ToC anchor without href");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
const heading = document.querySelector(selector);
|
||||||
|
if (!heading) {
|
||||||
|
console.error("Heading not found for selector:", selector);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
headings.push(heading);
|
||||||
|
}
|
||||||
|
|
||||||
|
return headings;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Get the heading of the text visible at the top of the viewport.
|
||||||
|
This is the first heading above or at the top of the viewport.
|
||||||
|
*/
|
||||||
|
function getCurrentHeading(headings, headerOffset) {
|
||||||
|
const scrollTop = document.documentElement.scrollTop;
|
||||||
|
let prevHeading = null;
|
||||||
|
let currentHeading = null;
|
||||||
|
let index = 0;
|
||||||
|
|
||||||
|
for (const heading of headings) {
|
||||||
|
// Compute the position compared to the viewport.
|
||||||
|
const rect = heading.getBoundingClientRect();
|
||||||
|
|
||||||
|
if (rect.top >= headerOffset && rect.top <= headerOffset + 30) {
|
||||||
|
// This heading is at the top of the viewport, this is the current heading.
|
||||||
|
currentHeading = heading;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (rect.top >= headerOffset) {
|
||||||
|
// This is in or below the viewport, the current heading should be the
|
||||||
|
// previous one.
|
||||||
|
if (prevHeading) {
|
||||||
|
currentHeading = prevHeading;
|
||||||
|
} else {
|
||||||
|
// The first heading does not have a prevHeading.
|
||||||
|
currentHeading = heading;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
prevHeading = heading;
|
||||||
|
index += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// At the bottom of the page we might not have a heading.
|
||||||
|
if (!currentHeading) {
|
||||||
|
currentHeading = prevHeading;
|
||||||
|
}
|
||||||
|
|
||||||
|
return currentHeading;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Select the ToC entry that points to the given ID.
|
||||||
|
Clear any previously highlighted ToC items, select the new one,
|
||||||
|
and adjust the ToC scroll position.
|
||||||
|
*/
|
||||||
|
function selectTocEntry(id) {
|
||||||
|
// Deselect previously selected entries.
|
||||||
|
const activeEntries = document.querySelectorAll("#toc nav a.active");
|
||||||
|
for (const activeEntry of activeEntries) {
|
||||||
|
activeEntry.classList.remove('active');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Find the new entry and select it.
|
||||||
|
const newEntry = document.querySelector(`#toc nav a[href="#${id}"]`);
|
||||||
|
if (!newEntry) {
|
||||||
|
console.error("ToC entry not found for ID:", id);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
newEntry.classList.add('active');
|
||||||
|
|
||||||
|
// Don't scroll the sidebar nav if the main content is not scrolled
|
||||||
|
const nav = document.querySelector("#td-section-nav");
|
||||||
|
const content = document.querySelector("html");
|
||||||
|
if (content.scrollTop !== 0) {
|
||||||
|
nav.scrollTop = newEntry.offsetTop - 100;
|
||||||
|
} else {
|
||||||
|
nav.scrollTop = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Track when the view is scrolled, and use this to update the highlight for the
|
||||||
|
corresponding ToC entry.
|
||||||
|
*/
|
||||||
|
window.addEventListener('DOMContentLoaded', () => {
|
||||||
|
// Part of the viewport is below the header so we should take it into account.
|
||||||
|
const headerOffset = document.querySelector("body > header > nav").clientHeight;
|
||||||
|
const headings = getHeadings();
|
||||||
|
|
||||||
|
const onScroll = throttle((_e) => {
|
||||||
|
// Update the ToC.
|
||||||
|
let heading = getCurrentHeading(headings, headerOffset);
|
||||||
|
selectTocEntry(heading.id);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Initialize the state of the ToC.
|
||||||
|
onScroll();
|
||||||
|
|
||||||
|
// Listen to scroll and resizing changes.
|
||||||
|
document.addEventListener('scroll', onScroll, false);
|
||||||
|
document.addEventListener('resize', onScroll, false);
|
||||||
|
});
|
||||||
@ -0,0 +1,106 @@
|
|||||||
|
/*
|
||||||
|
Copyright 2025 The Matrix.org Foundation C.I.C.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Determine the current version as defined in hugo.toml. This will either be
|
||||||
|
// "unstable" or "vX.X" and doesn't depend on the current URL.
|
||||||
|
//
|
||||||
|
// The oddity below is an attempt at producing a readable Hugo template while
|
||||||
|
// avoiding JS syntax errors in your IDE.
|
||||||
|
const currentVersion = `{{ if eq .Site.Params.version.status "unstable" }}
|
||||||
|
{{- /**/ -}}
|
||||||
|
unstable
|
||||||
|
{{- /**/ -}}
|
||||||
|
{{ else }}
|
||||||
|
{{- /**/ -}}
|
||||||
|
{{ printf "v%s.%s" .Site.Params.version.major .Site.Params.version.minor }}
|
||||||
|
{{- /**/ -}}
|
||||||
|
{{ end }}`;
|
||||||
|
|
||||||
|
// Determine the current version segment by regex matching the URL. This will either
|
||||||
|
// be "unstable", "latest", "vX.X" (production) or undefined (local & netlify).
|
||||||
|
const href = window.location.href;
|
||||||
|
const segmentMatches = href.match(/(?<=\/)unstable|latest|v\d+.\d+(?=\/)/);
|
||||||
|
const currentSegment = segmentMatches ? segmentMatches[0] : undefined;
|
||||||
|
|
||||||
|
// Determine the selected menu element. If we were able to obtain the version
|
||||||
|
// segment from the URL (production), use that. Otherwise (local & netlify),
|
||||||
|
// fall back to the version as defined in Hugo.
|
||||||
|
const selected = currentSegment ?? currentVersion;
|
||||||
|
|
||||||
|
function appendVersion(parent, name, url) {
|
||||||
|
// The list item
|
||||||
|
const li = document.createElement("li");
|
||||||
|
if (name === selected) {
|
||||||
|
li.classList.add("selected");
|
||||||
|
}
|
||||||
|
if (name === "latest") {
|
||||||
|
li.classList.add("latest");
|
||||||
|
}
|
||||||
|
parent.appendChild(li);
|
||||||
|
|
||||||
|
// The link
|
||||||
|
const a = document.createElement("a");
|
||||||
|
a.classList.add("dropdown-item");
|
||||||
|
a.setAttribute("href", url);
|
||||||
|
li.appendChild(a);
|
||||||
|
|
||||||
|
// Handle clicks manually to preserve the current path / fragment
|
||||||
|
a.addEventListener("click", (ev) => {
|
||||||
|
// If the URL is a relative link (i.e. the historical versions changelog), just
|
||||||
|
// let the browser load it
|
||||||
|
if (url.startsWith("/")) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// If we couldn't determine the current segment, we cannot safely replace
|
||||||
|
// it and have to let the browser load the (root) URL instead
|
||||||
|
if (!currentSegment) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Otherwise, stop further event handling and replace the segment
|
||||||
|
ev.preventDefault();
|
||||||
|
ev.stopPropagation();
|
||||||
|
window.location.href = href.replace(`/${currentSegment}/`, `/${name}/`);
|
||||||
|
});
|
||||||
|
|
||||||
|
// The link text
|
||||||
|
const text = document.createTextNode(name);
|
||||||
|
a.appendChild(text);
|
||||||
|
}
|
||||||
|
|
||||||
|
fetch("/latest/versions.json")
|
||||||
|
.then(r => r.json())
|
||||||
|
.then(versions => {
|
||||||
|
// Find the surrounding list element
|
||||||
|
const ul = document.querySelector("ul#version-selector");
|
||||||
|
if (!ul) {
|
||||||
|
console.error("Cannot populate version selector: ul element not found");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add a entries for the unstable version and the "latest" shortcut
|
||||||
|
appendVersion(ul, "unstable", "https://spec.matrix.org/unstable");
|
||||||
|
appendVersion(ul, "latest", "https://spec.matrix.org/latest");
|
||||||
|
|
||||||
|
// Add an entry for each proper version
|
||||||
|
for (const version of versions) {
|
||||||
|
appendVersion(ul, version.name, `https://spec.matrix.org/${version.name}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
// For historical versions, simply link to the changelog
|
||||||
|
appendVersion(ul, "historical", '{{ (site.GetPage "changelog/historical").RelPermalink }}');
|
||||||
|
});
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Fix JSON formatting in the "Server admin style permissions" examples.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Allow application services to masquerade as specific devices belonging to users, as per [MSC4326](https://github.com/matrix-org/matrix-spec-proposals/pull/4326).
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Remove legacy mentions, as per [MSC4210](https://github.com/matrix-org/matrix-spec-proposals/issues/4210).
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Push rule IDs are globally unique within their kind.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Don't advertise `creator` field in description of room creation.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
`room_id` is required for peeking via `/_matrix/client/v3/events`.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
The `server-name` segment of MXC URIs is sanitised differently from the `media-id` segment.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Allow application services to masquerade as specific devices belonging to users, as per [MSC4326](https://github.com/matrix-org/matrix-spec-proposals/pull/4326).
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Add note to each endpoint that uses capability negotiation.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Fix various typos throughout the specification.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Additional OpenGraph properties can be present in URL previews.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Fix various typos throughout the specification.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Clarify the special casing of membership events and redactions in power levels.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
`M_RESOURCE_LIMIT_EXCEEDED` is now listed as a common error code.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Add `m.login.terms` to enumeration of authentication types.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Add the `m.oauth` authentication type for User-Interactive Authentication as per [MSC4312](https://github.com/matrix-org/matrix-spec-proposals/pull/4312).
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Clarify how to use `state_after` ahead of declaring full support for its spec version.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
`device_one_time_keys_count` is only optional if no unclaimed one-time keys exist.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Clarify that servers may choose not to use `M_USER_DEACTIVATED` at login time, for example for privacy reasons when they can't authenticate deactivated users.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Minor grammatical fix in the Secrets module description.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Usage of the `event_id_only` format for push notifications is not mandatory.
|
||||||
@ -1,15 +0,0 @@
|
|||||||
<!--
|
|
||||||
This is a header file for the generated changelog.
|
|
||||||
|
|
||||||
Variables:
|
|
||||||
VERSION = Replaced by the version number (eg: v1.2)
|
|
||||||
DATE = Replaced by the date (eg: April 01, 2021)
|
|
||||||
-->
|
|
||||||
|
|
||||||
<table class="release-info">
|
|
||||||
<tr><th>Git commit</th><td><a href="https://github.com/matrix-org/matrix-spec/tree/VERSION">https://github.com/matrix-org/matrix-spec/tree/VERSION</a></td>
|
|
||||||
<tr><th>Release date</th><td>DATE</td>
|
|
||||||
<tr><th>Checklist</th><td><a href="/changelog/VERSION/checklist.md">checklist.md</a></td>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<!-- Intentionally blank line to ensure headers work in the concatenated changelog -->
|
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Swapped icon for X (fka. twitter) to updated logo in footer.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Inline Olm & Megolm specifications.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Silence failing redocly-cli rule.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Use NPM Trusted Publishers for publishing `@matrix-org/spec` to npm.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Inline Olm & Megolm specifications.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Inline Olm & Megolm specifications.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
Add version picker in the navbar.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
In room versions 8 through 12, clarify that "sufficient permission to invite users" on restricted joins also includes being a joined member of the room.
|
||||||
@ -0,0 +1 @@
|
|||||||
|
In room versions 3 through 12, clarify that when you have the power to redact, it is possible to redact events that you don't have the power to send.
|
||||||
@ -0,0 +1,6 @@
|
|||||||
|
# Settings only required when the website is built for production.
|
||||||
|
|
||||||
|
# Enable stats to use them to optimize the CSS.
|
||||||
|
[build]
|
||||||
|
[build.buildStats]
|
||||||
|
enable = true
|
||||||
@ -1,7 +1,8 @@
|
|||||||
---
|
---
|
||||||
title: Changelog
|
title: Changelog
|
||||||
type: docs
|
type: docs
|
||||||
|
layout: changelog-index
|
||||||
weight: 1000
|
weight: 1000
|
||||||
---
|
---
|
||||||
|
|
||||||
{{% changelog/changelogs %}}
|
<!-- This page will be redirected to the latest version's changelog -->
|
||||||
|
|||||||
@ -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))
|
||||||
@ -0,0 +1,93 @@
|
|||||||
|
---
|
||||||
|
title: v1.14 Changelog
|
||||||
|
linkTitle: v1.14
|
||||||
|
type: docs
|
||||||
|
layout: changelog
|
||||||
|
outputs:
|
||||||
|
- html
|
||||||
|
- checklist
|
||||||
|
date: 2025-03-27
|
||||||
|
---
|
||||||
|
|
||||||
|
## Client-Server API
|
||||||
|
|
||||||
|
**New Endpoints**
|
||||||
|
|
||||||
|
- Add `POST /_matrix/client/v3/users/{userId}/report`, as per [MSC4260](https://github.com/matrix-org/matrix-spec-proposals/pull/4260). ([#2093](https://github.com/matrix-org/matrix-spec/issues/2093))
|
||||||
|
|
||||||
|
**Removed Endpoints**
|
||||||
|
|
||||||
|
- Remove `server_name` parameter from `/_matrix/client/v3/join/{roomIdOrAlias}` and `/_matrix/client/v3/knock/{roomIdOrAlias}`, as per [MSC4213](https://github.com/matrix-org/matrix-spec-proposals/pull/4213). ([#2059](https://github.com/matrix-org/matrix-spec/issues/2059))
|
||||||
|
|
||||||
|
**Spec Clarifications**
|
||||||
|
|
||||||
|
- The `POST /_matrix/client/v3/rooms/{roomId}/initialSync` endpoint is no longer deprecated, as it is still used for peeking. ([#2036](https://github.com/matrix-org/matrix-spec/issues/2036))
|
||||||
|
- Clarify wording in the `/join` endpoints' summaries and descriptions. Contributed by @HarHarLinks. ([#2038](https://github.com/matrix-org/matrix-spec/issues/2038))
|
||||||
|
- Clarify formats of string types. ([#2046](https://github.com/matrix-org/matrix-spec/issues/2046))
|
||||||
|
- Fix various typos throughout the specification. ([#2047](https://github.com/matrix-org/matrix-spec/issues/2047), [#2048](https://github.com/matrix-org/matrix-spec/issues/2048), [#2080](https://github.com/matrix-org/matrix-spec/issues/2080), [#2091](https://github.com/matrix-org/matrix-spec/issues/2091))
|
||||||
|
- Document the `instance_id` field of `Protocol Instance` in the responses to `GET /_matrix/client/v3/thirdparty/protocols` and `GET /_matrix/client/v3/thirdparty/protocol/{protocol}`. ([#2051](https://github.com/matrix-org/matrix-spec/issues/2051))
|
||||||
|
- Applying redactions is a SHOULD for clients. ([#2055](https://github.com/matrix-org/matrix-spec/issues/2055))
|
||||||
|
- Clarify which rooms are returned from `/hierarchy`. ([#2064](https://github.com/matrix-org/matrix-spec/issues/2064))
|
||||||
|
- Clients can choose which history visibility options they offer to users when creating rooms. ([#2072](https://github.com/matrix-org/matrix-spec/issues/2072))
|
||||||
|
|
||||||
|
|
||||||
|
## Server-Server API
|
||||||
|
|
||||||
|
**Spec Clarifications**
|
||||||
|
|
||||||
|
- Remove the `origin` field in `PUT /send_join` responses, because it was never sent in the first place. ([#2050](https://github.com/matrix-org/matrix-spec/issues/2050))
|
||||||
|
- Clarify that `m.join_rules` should be in the `auth_events` of an `m.room.member` event with a `membership` of `knock`. ([#2063](https://github.com/matrix-org/matrix-spec/issues/2063))
|
||||||
|
- Remove an erroneous `room_id` field in a few examples. ([#2076](https://github.com/matrix-org/matrix-spec/issues/2076))
|
||||||
|
|
||||||
|
|
||||||
|
## Application Service API
|
||||||
|
|
||||||
|
No significant changes.
|
||||||
|
|
||||||
|
|
||||||
|
## Identity Service API
|
||||||
|
|
||||||
|
No significant changes.
|
||||||
|
|
||||||
|
|
||||||
|
## Push Gateway API
|
||||||
|
|
||||||
|
No significant changes.
|
||||||
|
|
||||||
|
|
||||||
|
## Room Versions
|
||||||
|
|
||||||
|
**Backwards Compatible Changes**
|
||||||
|
|
||||||
|
- Update the default room version to 11, as per [MSC4239](https://github.com/matrix-org/matrix-spec-proposals/pull/4239). ([#2105](https://github.com/matrix-org/matrix-spec/issues/2105))
|
||||||
|
|
||||||
|
**Spec Clarifications**
|
||||||
|
|
||||||
|
- For room versions 6 and 7, clarify in the authorization rules that `m.federate` must be checked and that events with rejected auth events must be rejected, for parity with all the other room versions. ([#2065](https://github.com/matrix-org/matrix-spec/issues/2065))
|
||||||
|
- Fix various typos throughout the specification. ([#2066](https://github.com/matrix-org/matrix-spec/issues/2066))
|
||||||
|
- Refactor PDU definitions to reduce duplication. ([#2070](https://github.com/matrix-org/matrix-spec/issues/2070))
|
||||||
|
- Clarify the maximum `depth` value for room versions 6, 7, 8, 9, 10, and 11. ([#2114](https://github.com/matrix-org/matrix-spec/issues/2114))
|
||||||
|
|
||||||
|
|
||||||
|
## Appendices
|
||||||
|
|
||||||
|
**Spec Clarifications**
|
||||||
|
|
||||||
|
- Clarify that arbitrary unicode is allowed in user/room IDs and room aliases. ([#1506](https://github.com/matrix-org/matrix-spec/issues/1506))
|
||||||
|
|
||||||
|
|
||||||
|
## Internal Changes/Tooling
|
||||||
|
|
||||||
|
**Spec Clarifications**
|
||||||
|
|
||||||
|
- Generate the changelog release info with Hugo, rather than the changelog generation script. ([#2033](https://github.com/matrix-org/matrix-spec/issues/2033))
|
||||||
|
- Update release steps documentation. ([#2041](https://github.com/matrix-org/matrix-spec/issues/2041))
|
||||||
|
- Remove unused `release_date` from Hugo config. ([#2042](https://github.com/matrix-org/matrix-spec/issues/2042))
|
||||||
|
- Clarify that v1.0 of Matrix was a release prior to the current global versioning system. ([#2045](https://github.com/matrix-org/matrix-spec/issues/2045))
|
||||||
|
- Fix syntax highlighting and click-to-copy buttons for code blocks by purging less CSS. ([#2049](https://github.com/matrix-org/matrix-spec/issues/2049))
|
||||||
|
- Fix the version of the Identity Service API when Matrix 1.0 was introduced. ([#2061](https://github.com/matrix-org/matrix-spec/issues/2061))
|
||||||
|
- Fix parsing of nested slices in `resolve-refs` and `resolve-allof` partials. ([#2069](https://github.com/matrix-org/matrix-spec/issues/2069))
|
||||||
|
- Deduplicate the definition of `RoomKeysUpdateResponse`. ([#2073](https://github.com/matrix-org/matrix-spec/issues/2073))
|
||||||
|
- Deduplicate the definitions of `Invite3pid`. ([#2074](https://github.com/matrix-org/matrix-spec/issues/2074))
|
||||||
|
- Support more locations for examples in OpenAPI definitions and JSON schemas. ([#2076](https://github.com/matrix-org/matrix-spec/issues/2076))
|
||||||
|
- Add link to the git commit for the unstable changelog. ([#2078](https://github.com/matrix-org/matrix-spec/issues/2078))
|
||||||
@ -0,0 +1,97 @@
|
|||||||
|
---
|
||||||
|
title: v1.15 Changelog
|
||||||
|
linkTitle: v1.15
|
||||||
|
type: docs
|
||||||
|
layout: changelog
|
||||||
|
outputs:
|
||||||
|
- html
|
||||||
|
- checklist
|
||||||
|
date: 2025-06-26
|
||||||
|
---
|
||||||
|
|
||||||
|
## Client-Server API
|
||||||
|
|
||||||
|
**New Endpoints**
|
||||||
|
|
||||||
|
- Add `GET /_matrix/client/v1/room_summary/{roomIdOrAlias}`, as per [MSC3266](https://github.com/matrix-org/matrix-spec-proposals/pull/3266). ([#2125](https://github.com/matrix-org/matrix-spec/issues/2125))
|
||||||
|
- Add `GET /_matrix/client/v1/auth_metadata`, as per [MSC2965](https://github.com/matrix-org/matrix-spec-proposals/pull/2965). ([#2147](https://github.com/matrix-org/matrix-spec/issues/2147))
|
||||||
|
|
||||||
|
**Backwards Compatible Changes**
|
||||||
|
|
||||||
|
- Add `m.topic` content block to enable rich text in `m.room.topic` events as per [MSC3765](https://github.com/matrix-org/matrix-spec-proposals/pull/3765). ([#2095](https://github.com/matrix-org/matrix-spec/issues/2095))
|
||||||
|
- Include device keys with Olm-encrypted events as per [MSC4147](https://github.com/matrix-org/matrix-spec-proposals/pull/4147). ([#2122](https://github.com/matrix-org/matrix-spec/issues/2122))
|
||||||
|
- Add `/_matrix/client/v1/room_summary/{roomIdOrAlias}` and extend `/_matrix/client/v1/rooms/{roomId}/hierarchy` with the new optional properties `allowed_room_ids`, `encryption` and `room_version` as per [MSC3266](https://github.com/matrix-org/matrix-spec-proposals/pull/3266). ([#2125](https://github.com/matrix-org/matrix-spec/issues/2125), [#2158](https://github.com/matrix-org/matrix-spec/issues/2158))
|
||||||
|
- Add the OAuth 2.0 based authentication API, as per [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) and its sub-proposals. ([#2141](https://github.com/matrix-org/matrix-spec/issues/2141), [#2148](https://github.com/matrix-org/matrix-spec/issues/2148), [#2149](https://github.com/matrix-org/matrix-spec/issues/2149), [#2150](https://github.com/matrix-org/matrix-spec/issues/2150), [#2151](https://github.com/matrix-org/matrix-spec/issues/2151), [#2159](https://github.com/matrix-org/matrix-spec/issues/2159), [#2164](https://github.com/matrix-org/matrix-spec/issues/2164))
|
||||||
|
|
||||||
|
**Spec Clarifications**
|
||||||
|
|
||||||
|
- Clarify behaviour when the `topic` key of a `m.room.topic` event is absent, null, or empty. ([#2068](https://github.com/matrix-org/matrix-spec/issues/2068))
|
||||||
|
- Fix the example of the `GET /sync` endpoint and the `m.room.member` example used in several places. ([#2077](https://github.com/matrix-org/matrix-spec/issues/2077))
|
||||||
|
- Clarify the format of third-party invites, including the fact that identity server public keys can be encoded using standard or URL-safe base64. ([#2083](https://github.com/matrix-org/matrix-spec/issues/2083))
|
||||||
|
- "Public" rooms in profile look-ups are defined through their join rule and history visibility. ([#2101](https://github.com/matrix-org/matrix-spec/issues/2101))
|
||||||
|
- "Public" rooms in user directory queries are defined through their join rule and history visibility. ([#2102](https://github.com/matrix-org/matrix-spec/issues/2102))
|
||||||
|
- Rooms published in `/publicRooms` don't necessarily have `public` join rules or `world_readable` history visibility. ([#2104](https://github.com/matrix-org/matrix-spec/issues/2104))
|
||||||
|
- "Public" rooms with respect to call invites are defined through their join rule. ([#2106](https://github.com/matrix-org/matrix-spec/issues/2106))
|
||||||
|
- "Public" rooms have no specific meaning with respect to moderation policy lists. ([#2107](https://github.com/matrix-org/matrix-spec/issues/2107))
|
||||||
|
- "Public" rooms with respect to presence are defined through their join rule. ([#2108](https://github.com/matrix-org/matrix-spec/issues/2108))
|
||||||
|
- Spaces are subject to the same access mechanisms as rooms. ([#2109](https://github.com/matrix-org/matrix-spec/issues/2109))
|
||||||
|
- Fix various typos throughout the specification. ([#2121](https://github.com/matrix-org/matrix-spec/issues/2121), [#2144](https://github.com/matrix-org/matrix-spec/issues/2144))
|
||||||
|
- Clarify that Well-Known URIs are available on the server name's hostname. Contributed by @HarHarLinks. ([#2140](https://github.com/matrix-org/matrix-spec/issues/2140))
|
||||||
|
- Add missing fields in example for `ExportedSessionData`. ([#2154](https://github.com/matrix-org/matrix-spec/issues/2154))
|
||||||
|
|
||||||
|
|
||||||
|
## Server-Server API
|
||||||
|
|
||||||
|
**Backwards Compatible Changes**
|
||||||
|
|
||||||
|
- Add `m.topic` content block to enable rich text in `m.room.topic` events as per [MSC3765](https://github.com/matrix-org/matrix-spec-proposals/pull/3765). ([#2095](https://github.com/matrix-org/matrix-spec/issues/2095))
|
||||||
|
- Extend `/_matrix/federation/v1/hierarchy/{roomId}` with the new optional properties `encryption` and `room_version` as per [MSC3266](https://github.com/matrix-org/matrix-spec-proposals/pull/3266). ([#2125](https://github.com/matrix-org/matrix-spec/issues/2125))
|
||||||
|
|
||||||
|
**Spec Clarifications**
|
||||||
|
|
||||||
|
- Add a note to the invite endpoints that invites to local users may be received twice over federation if the homeserver is already in the room. ([#2067](https://github.com/matrix-org/matrix-spec/issues/2067))
|
||||||
|
- Clarify the format of third-party invites, including the fact that identity server public keys can be encoded using standard or URL-safe base64. ([#2083](https://github.com/matrix-org/matrix-spec/issues/2083))
|
||||||
|
- Clarify that auth event of `content.join_authorised_via_users_server` is only necessary for `m.room.member` with a `membership` of `join`. ([#2100](https://github.com/matrix-org/matrix-spec/issues/2100))
|
||||||
|
- Rooms published in `/publicRooms` don't necessarily have `public` join rules or `world_readable` history visibility. ([#2104](https://github.com/matrix-org/matrix-spec/issues/2104))
|
||||||
|
- Fix various typos throughout the specification. ([#2128](https://github.com/matrix-org/matrix-spec/issues/2128))
|
||||||
|
- Clarify that Well-Known URIs are available on the server name's hostname. Contributed by @HarHarLinks. ([#2140](https://github.com/matrix-org/matrix-spec/issues/2140))
|
||||||
|
|
||||||
|
|
||||||
|
## Application Service API
|
||||||
|
|
||||||
|
**Spec Clarifications**
|
||||||
|
|
||||||
|
- Clarify in the application service registration schema the `url: null` behaviour. ([#2130](https://github.com/matrix-org/matrix-spec/issues/2130))
|
||||||
|
|
||||||
|
|
||||||
|
## Identity Service API
|
||||||
|
|
||||||
|
**Spec Clarifications**
|
||||||
|
|
||||||
|
- Clarify that public keys can be encoded using standard or URL-safe base64. ([#2083](https://github.com/matrix-org/matrix-spec/issues/2083))
|
||||||
|
|
||||||
|
|
||||||
|
## Push Gateway API
|
||||||
|
|
||||||
|
No significant changes.
|
||||||
|
|
||||||
|
|
||||||
|
## Room Versions
|
||||||
|
|
||||||
|
No significant changes.
|
||||||
|
|
||||||
|
|
||||||
|
## Appendices
|
||||||
|
|
||||||
|
No significant changes.
|
||||||
|
|
||||||
|
|
||||||
|
## Internal Changes/Tooling
|
||||||
|
|
||||||
|
**Spec Clarifications**
|
||||||
|
|
||||||
|
- Adjust margins in rendered endpoints. ([#2081](https://github.com/matrix-org/matrix-spec/issues/2081))
|
||||||
|
- Replace Hugo shortcodes in OpenAPI output. ([#2088](https://github.com/matrix-org/matrix-spec/issues/2088))
|
||||||
|
- Add [well-known funding manifest urls](https://floss.fund/funding-manifest/) to spec to authorise https://matrix.org/funding.json. Contributed by @HarHarLinks. ([#2115](https://github.com/matrix-org/matrix-spec/issues/2115))
|
||||||
|
- Fix the historical info box when generating the historical spec in CI. ([#2123](https://github.com/matrix-org/matrix-spec/issues/2123))
|
||||||
|
- Update the header navigation menu with links to modern matrix.org. Contributed by @HarHarLinks. ([#2137](https://github.com/matrix-org/matrix-spec/issues/2137))
|
||||||
@ -0,0 +1,103 @@
|
|||||||
|
---
|
||||||
|
title: v1.16 Changelog
|
||||||
|
linkTitle: v1.16
|
||||||
|
type: docs
|
||||||
|
layout: changelog
|
||||||
|
outputs:
|
||||||
|
- html
|
||||||
|
- checklist
|
||||||
|
date: 2025-09-17
|
||||||
|
---
|
||||||
|
|
||||||
|
## Client-Server API
|
||||||
|
|
||||||
|
**Deprecations**
|
||||||
|
|
||||||
|
- Deprecate `m.set_avatar_url` and `m.set_displayname` capabilities, as per [MSC4133](https://github.com/matrix-org/matrix-spec-proposals/pull/4133). ([#2071](https://github.com/matrix-org/matrix-spec/issues/2071))
|
||||||
|
|
||||||
|
**Removed Endpoints**
|
||||||
|
|
||||||
|
- Remove unintentional intentional mentions in replies, as per [MSC4142](https://github.com/matrix-org/matrix-spec-proposals/pull/4142). ([#2210](https://github.com/matrix-org/matrix-spec/issues/2210))
|
||||||
|
|
||||||
|
**Backwards Compatible Changes**
|
||||||
|
|
||||||
|
- Update user profile endpoints to handle custom fields, and add a new `m.profile_fields` capability, as per [MSC4133](https://github.com/matrix-org/matrix-spec-proposals/pull/4133). ([#2071](https://github.com/matrix-org/matrix-spec/issues/2071))
|
||||||
|
- Add `format` query parameter to `GET /state/{eventType}/{stateKey}` to allow fetching metadata of a specific state event. ([#2175](https://github.com/matrix-org/matrix-spec/issues/2175))
|
||||||
|
- Add the `use_state_after` query parameter and `state_after` response property to `GET /sync`, as per [MSC4222](https://github.com/matrix-org/matrix-spec-proposals/issues/4222). ([#2187](https://github.com/matrix-org/matrix-spec/issues/2187))
|
||||||
|
- When upgrading rooms to [room version 12](/rooms/v12), `additional_creators` may be specified on the [`POST /_matrix/client/v3/rooms/{roomId}/upgrade`](/client-server-api/#post_matrixclientv3roomsroomidupgrade) endpoint, as per [MSC4289](https://github.com/matrix-org/matrix-spec-proposals/pull/4289). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193))
|
||||||
|
- When creating rooms with [room version 12](/rooms/v12), the `trusted_private_chat` preset should merge the invitees into the supplied `content.additional_creators` in the resulting room, as per [MSC4289](https://github.com/matrix-org/matrix-spec-proposals/pull/4289). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193))
|
||||||
|
- In [room version 12](/rooms/v12), the power level of room creators is now infinitely high as per [MSC4289](https://github.com/matrix-org/matrix-spec-proposals/pull/4289). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193))
|
||||||
|
- In [room version 12](/rooms/v12), room IDs no longer have a domain component as per [MSC4291](https://github.com/matrix-org/matrix-spec-proposals/pull/4291). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193))
|
||||||
|
- When creating rooms with [room version 12](/rooms/v12), the initial power levels will restrict the ability to upgrade rooms by default, as per [MSC4289](https://github.com/matrix-org/matrix-spec-proposals/pull/4289). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193))
|
||||||
|
- Add a profile field for a user's time zone, as per [MSC4175](https://github.com/matrix-org/matrix-spec-proposals/pull/4175). ([#2206](https://github.com/matrix-org/matrix-spec/issues/2206))
|
||||||
|
- Invites and knocks are now expected to contain the `m.room.create` event in their stripped state entries, as per [MSC4311](https://github.com/matrix-org/matrix-spec-proposals/pull/4311). ([#2207](https://github.com/matrix-org/matrix-spec/issues/2207))
|
||||||
|
|
||||||
|
**Spec Clarifications**
|
||||||
|
|
||||||
|
- Clarify that `format` is required if `formatted_body` is specified. ([#2167](https://github.com/matrix-org/matrix-spec/issues/2167))
|
||||||
|
- The `latest_event` in an aggregated set of thread events uses the same format as the event itself. ([#2169](https://github.com/matrix-org/matrix-spec/issues/2169))
|
||||||
|
- Fix various typos throughout the specification. ([#2171](https://github.com/matrix-org/matrix-spec/issues/2171), [#2177](https://github.com/matrix-org/matrix-spec/issues/2177), [#2179](https://github.com/matrix-org/matrix-spec/issues/2179))
|
||||||
|
- Clarify that clients should replace events with the most recent replacement by `origin_server_ts`. ([#2190](https://github.com/matrix-org/matrix-spec/issues/2190))
|
||||||
|
- Fix `/sync` flow referencing incorrect parameter to use with `/messages`. ([#2195](https://github.com/matrix-org/matrix-spec/issues/2195))
|
||||||
|
- Clarify wording around the `world_readable` history visibility setting. Contributed by @HarHarLinks. ([#2204](https://github.com/matrix-org/matrix-spec/issues/2204))
|
||||||
|
|
||||||
|
|
||||||
|
## Server-Server API
|
||||||
|
|
||||||
|
**Backwards Compatible Changes**
|
||||||
|
|
||||||
|
- `invite_room_state` and `knock_room_state` now have additional requirements and validation depending on the room version, as per [MSC4311](https://github.com/matrix-org/matrix-spec-proposals/pull/4311). ([#2207](https://github.com/matrix-org/matrix-spec/issues/2207))
|
||||||
|
|
||||||
|
|
||||||
|
## Application Service API
|
||||||
|
|
||||||
|
No significant changes.
|
||||||
|
|
||||||
|
|
||||||
|
## Identity Service API
|
||||||
|
|
||||||
|
No significant changes.
|
||||||
|
|
||||||
|
|
||||||
|
## Push Gateway API
|
||||||
|
|
||||||
|
No significant changes.
|
||||||
|
|
||||||
|
|
||||||
|
## Room Versions
|
||||||
|
|
||||||
|
**Backwards Compatible Changes**
|
||||||
|
|
||||||
|
- Room IDs in room version 12 are now the event ID of the create event with the normal room ID sigil (`!`), as per [MSC4291](https://github.com/matrix-org/matrix-spec-proposals/pull/4291). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193))
|
||||||
|
- Room creators are formalized in room version 12 and have infinitely high power level, as per [MSC4289](https://github.com/matrix-org/matrix-spec-proposals/pull/4289). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193))
|
||||||
|
- State Resolution is updated in room version 12 to reduce the opportunity for "state resets", as per [MSC4297](https://github.com/matrix-org/matrix-spec-proposals/pull/4297). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193))
|
||||||
|
- The default room version is now room version 12, though servers SHOULD keep using room version 11 for a little while, as per [MSC4304](https://github.com/matrix-org/matrix-spec-proposals/pull/4304). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193))
|
||||||
|
- Add [room version 12](/rooms/v12) as per [MSC4304](https://github.com/matrix-org/matrix-spec-proposals/pull/4304). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193), [#2199](https://github.com/matrix-org/matrix-spec/issues/2199))
|
||||||
|
|
||||||
|
**Spec Clarifications**
|
||||||
|
|
||||||
|
- In room versions 1 through 12, an event's `auth_events` have always needed to belong to the same room as per [MSC4307](https://github.com/matrix-org/matrix-spec-proposals/pull/4307). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193))
|
||||||
|
|
||||||
|
|
||||||
|
## Appendices
|
||||||
|
|
||||||
|
**Backwards Compatible Changes**
|
||||||
|
|
||||||
|
- Room IDs can now appear without a domain component in [room version 12](/rooms/v12), as per [MSC4291](https://github.com/matrix-org/matrix-spec-proposals/pull/4291). ([#2193](https://github.com/matrix-org/matrix-spec/issues/2193))
|
||||||
|
|
||||||
|
|
||||||
|
## Internal Changes/Tooling
|
||||||
|
|
||||||
|
**Backwards Compatible Changes**
|
||||||
|
|
||||||
|
- Add "placeholder MSC" process definition. ([#2157](https://github.com/matrix-org/matrix-spec/issues/2157))
|
||||||
|
|
||||||
|
**Spec Clarifications**
|
||||||
|
|
||||||
|
- Declare the Application Service Registration schema to follow JSON Schema spec 2020-12. ([#2132](https://github.com/matrix-org/matrix-spec/issues/2132))
|
||||||
|
- Declare the event schemas to follow JSON Schema spec 2020-12. ([#2132](https://github.com/matrix-org/matrix-spec/issues/2132))
|
||||||
|
- Upgrade the docsy theme to version 0.12.0. ([#2160](https://github.com/matrix-org/matrix-spec/issues/2160))
|
||||||
|
- GitHub actions are now building the OpenAPI `spec/identity-service-api/api.json` file. ([#2172](https://github.com/matrix-org/matrix-spec/issues/2172))
|
||||||
|
- Minor fixes to JSON schemas. ([#2182](https://github.com/matrix-org/matrix-spec/issues/2182))
|
||||||
|
- Specify a correct spelling for "display name". ([#2189](https://github.com/matrix-org/matrix-spec/issues/2189))
|
||||||
|
- Fix a grammatical typo on the Matrix Spec Process documentation page. ([#2205](https://github.com/matrix-org/matrix-spec/issues/2205))
|
||||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue