From d0f8fbdc27300a101b8d614763ff046b79f4b07e Mon Sep 17 00:00:00 2001 From: erikjohnston Date: Tue, 2 Apr 2024 17:46:21 +0000 Subject: deploy: ca27b516656223150d218bdd838df302fedf838c --- latest/development/contributing_guide.html | 2 +- latest/docs/website_files/version-picker.js | 26 ++++++++++++++++--- latest/postgres.html | 2 +- latest/print.html | 30 ++++++++++++++++------ latest/searchindex.js | 2 +- latest/searchindex.json | 2 +- latest/setup/installation.html | 2 +- latest/sso_mapping_providers.html | 4 ++- latest/upgrade.html | 8 +++--- .../administration/useful_sql_for_admins.html | 6 +++++ .../usage/configuration/config_documentation.html | 6 +++++ latest/website_files/version-picker.js | 26 ++++++++++++++++--- 12 files changed, 92 insertions(+), 24 deletions(-) (limited to 'latest') diff --git a/latest/development/contributing_guide.html b/latest/development/contributing_guide.html index 9c481b5c7c..ae1117cc47 100644 --- a/latest/development/contributing_guide.html +++ b/latest/development/contributing_guide.html @@ -203,7 +203,7 @@ source, you should install poetry. Of their installation methods, we recommend installing poetry using pipx,

pip install --user pipx
-pipx install poetry==1.5.1  # Problems with Poetry 1.6, see https://github.com/matrix-org/synapse/issues/16147
+pipx install poetry
 

but see poetry's installation instructions for other installation methods.

diff --git a/latest/docs/website_files/version-picker.js b/latest/docs/website_files/version-picker.js index b6f35f29c7..3174b5d0bc 100644 --- a/latest/docs/website_files/version-picker.js +++ b/latest/docs/website_files/version-picker.js @@ -100,10 +100,30 @@ function sortVersions(a, b) { if (a === 'develop' || a === 'latest') return -1; if (b === 'develop' || b === 'latest') return 1; - const versionA = (a.match(/v\d+(\.\d+)+/) || [])[0]; - const versionB = (b.match(/v\d+(\.\d+)+/) || [])[0]; + // If any of the versions do not confrom to a semantic version string, they + // will be sorted behind a valid version. + const versionA = (a.match(/v(\d+(\.\d+)+)/) || [])[1]?.split('.') ?? ''; + const versionB = (b.match(/v(\d+(\.\d+)+)/) || [])[1]?.split('.') ?? ''; - return versionB.localeCompare(versionA); + for (let i = 0; i < Math.max(versionA.length, versionB.length); i++) { + if (versionB[i] === undefined) { + return -1; + } + if (versionA[i] === undefined) { + return 1; + } + + const partA = parseInt(versionA[i], 10); + const partB = parseInt(versionB[i], 10); + + if (partA > partB) { + return -1; + } else if (partB > partA) { + return 1; + } + } + + return 0; } /** diff --git a/latest/postgres.html b/latest/postgres.html index 0371c7d374..378b55863a 100644 --- a/latest/postgres.html +++ b/latest/postgres.html @@ -307,7 +307,7 @@ simply run:

synapse_port_db --sqlite-database homeserver.db.snapshot \
     --postgres-config homeserver-postgres.yaml
 
-

The flag --curses displays a coloured curses progress UI.

+

The flag --curses displays a coloured curses progress UI. (NOTE: if your terminal is too small the script will error out)

If the script took a long time to complete, or time has otherwise passed since the original snapshot was taken, repeat the previous steps with a newer snapshot.

diff --git a/latest/print.html b/latest/print.html index 060113e9b9..2488d1d0a6 100644 --- a/latest/print.html +++ b/latest/print.html @@ -252,7 +252,7 @@ that your email address is probably user@example.com rather than for most users.

Docker images and Ansible playbooks

There is an official synapse image available at -https://hub.docker.com/r/vectorim/synapse or at ghcr.io/element-hq/synapse +https://hub.docker.com/r/matrixdotorg/synapse or at ghcr.io/element-hq/synapse which can be used with the docker-compose file available at contrib/docker. Further information on this including configuration options is available in the README @@ -820,7 +820,7 @@ simply run:

synapse_port_db --sqlite-database homeserver.db.snapshot \
     --postgres-config homeserver-postgres.yaml
 
-

The flag --curses displays a coloured curses progress UI.

+

The flag --curses displays a coloured curses progress UI. (NOTE: if your terminal is too small the script will error out)

If the script took a long time to complete, or time has otherwise passed since the original snapshot was taken, repeat the previous steps with a newer snapshot.

@@ -1819,11 +1819,11 @@ dpkg -i matrix-synapse-py3_1.3.0+stretch1_amd64.deb -

Generally Synapse database schemas are compatible across multiple versions, once -a version of Synapse is deployed you may not be able to rollback automatically. +

Generally Synapse database schemas are compatible across multiple versions, but once +a version of Synapse is deployed you may not be able to roll back automatically. The following table gives the version ranges and the earliest version they can be rolled back to. E.g. Synapse versions v1.58.0 through v1.61.1 can be rolled -back safely to v1.57.0, but starting with v1.62.0 it is only safe to rollback to +back safely to v1.57.0, but starting with v1.62.0 it is only safe to roll back to v1.61.0.

@@ -1841,7 +1841,7 @@ v1.61.0.

- +
VersionsCompatible version
v1.0.0 – v1.2.1v1.0.0
v1.83.0 – v1.84.1v1.77.0
v1.85.0 – v1.91.2v1.83.0
v1.92.0 – v1.97.0v1.90.0
v1.98.0 – v1.103.0v1.96.0
v1.98.0 – v1.104.0v1.96.0

Upgrading from a very old version

You need to read all of the upgrade notes for each version between your current @@ -6596,6 +6596,10 @@ not included in scopes. Set to userinfo_endpoint to al userinfo endpoint.

  • +

    additional_authorization_parameters: String to string dictionary that will be passed as +additional parameters to the authorization grant URL.

    +
  • +
  • allow_existing_users: set to true to allow a user logging in via OIDC to match a pre-existing account instead of failing. This could be used if switching from password logins to OIDC. Defaults to false.

    @@ -6727,6 +6731,8 @@ claim MUST contain "admin".

    token_endpoint: "https://accounts.example.com/oauth2/token" userinfo_endpoint: "https://accounts.example.com/userinfo" jwks_uri: "https://accounts.example.com/.well-known/jwks.json" + additional_authorization_parameters: + acr_values: 2fa skip_verification: true enable_registration: true user_mapping_provider: @@ -8853,13 +8859,15 @@ comment these options out and use those specified by the module instead.

    Building a Custom OpenID Mapping Provider

    A custom mapping provider must specify the following methods: