diff --git a/changelogs/client_server/newsfragments/2392.feature b/changelogs/client_server/newsfragments/2392.feature new file mode 100644 index 00000000..60be5eee --- /dev/null +++ b/changelogs/client_server/newsfragments/2392.feature @@ -0,0 +1 @@ +The room directory now returns rooms in a server-defined order rather than largest first, as per [MSC4423](https://github.com/matrix-org/matrix-spec-proposals/pull/4423). \ No newline at end of file diff --git a/changelogs/server_server/newsfragments/2392.feature b/changelogs/server_server/newsfragments/2392.feature new file mode 100644 index 00000000..60be5eee --- /dev/null +++ b/changelogs/server_server/newsfragments/2392.feature @@ -0,0 +1 @@ +The room directory now returns rooms in a server-defined order rather than largest first, as per [MSC4423](https://github.com/matrix-org/matrix-spec-proposals/pull/4423). \ No newline at end of file diff --git a/data/api/client-server/list_public_rooms.yaml b/data/api/client-server/list_public_rooms.yaml index c3f0280f..b57ecc8d 100644 --- a/data/api/client-server/list_public_rooms.yaml +++ b/data/api/client-server/list_public_rooms.yaml @@ -137,8 +137,12 @@ paths: description: |- Lists a server's published room directory. - This API returns paginated responses. The rooms are ordered by the number - of joined members, with the largest rooms first. + This API returns paginated responses. + + {{% changed-in v="1.19" %}} The server determines the order of the rooms + returned by this endpoint. Previously, rooms were ordered with the largest + joined member count first. Continuing to order by largest first or another + stable order is recommended. operationId: getPublicRooms parameters: - in: query @@ -177,8 +181,12 @@ paths: description: |- Lists a server's published room directory with an optional filter. - This API returns paginated responses. The rooms are ordered by the number - of joined members, with the largest rooms first. + This API returns paginated responses. + + {{% changed-in v="1.19" %}} The server determines the order of the rooms + returned by this endpoint. Previously, rooms were ordered with the largest + joined member count first. Continuing to order by largest first or another + stable order is recommended. operationId: queryPublicRooms security: - accessTokenQuery: [] diff --git a/data/api/server-server/public_rooms.yaml b/data/api/server-server/public_rooms.yaml index 41835f5a..eb07c918 100644 --- a/data/api/server-server/public_rooms.yaml +++ b/data/api/server-server/public_rooms.yaml @@ -22,8 +22,12 @@ paths: description: |- Lists the server's published room directory. - This API returns paginated responses. The rooms are ordered by the number - of joined members, with the largest rooms first. + This API returns paginated responses. + + {{% changed-in v="1.19" %}} The server determines the order of the rooms + returned by this endpoint. Previously, rooms were ordered with the largest + joined member count first. Continuing to order by largest first or another + stable order is recommended. This SHOULD not return rooms that are listed on another homeserver's directory, just those listed on the receiving homeserver's directory. @@ -76,8 +80,12 @@ paths: description: |- Lists the server's published room directory with an optional filter. - This API returns paginated responses. The rooms are ordered by the number - of joined members, with the largest rooms first. + This API returns paginated responses. + + {{% changed-in v="1.19" %}} The server determines the order of the rooms + returned by this endpoint. Previously, rooms were ordered with the largest + joined member count first. Continuing to order by largest first or another + stable order is recommended. operationId: queryPublicRooms security: - signedRequest: []