diff --git a/.github/workflows/release-artifacts.yml b/.github/workflows/release-artifacts.yml
index 3773b97c73..5d4a4fe1d6 100644
--- a/.github/workflows/release-artifacts.yml
+++ b/.github/workflows/release-artifacts.yml
@@ -92,7 +92,7 @@ jobs:
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
- name: Upload debs as artifacts
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@v3 # Don't upgrade to v4; broken: https://github.com/actions/upload-artifact#breaking-changes
with:
name: debs
path: debs/*
@@ -156,7 +156,7 @@ jobs:
CARGO_NET_GIT_FETCH_WITH_CLI: true
CIBW_ENVIRONMENT_PASS_LINUX: CARGO_NET_GIT_FETCH_WITH_CLI
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@v3 # Don't upgrade to v4; broken: https://github.com/actions/upload-artifact#breaking-changes
with:
name: Wheel
path: ./wheelhouse/*.whl
@@ -177,7 +177,7 @@ jobs:
- name: Build sdist
run: python -m build --sdist
- - uses: actions/upload-artifact@v4
+ - uses: actions/upload-artifact@v3 # Don't upgrade to v4; broken: https://github.com/actions/upload-artifact#breaking-changes
with:
name: Sdist
path: dist/*.tar.gz
@@ -194,7 +194,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download all workflow run artifacts
- uses: actions/download-artifact@v4
+ uses: actions/download-artifact@v3 # Don't upgrade to v4, it should match upload-artifact
- name: Build a tarball for the debs
run: tar -cvJf debs.tar.xz debs
- name: Attach to release
diff --git a/CHANGES.md b/CHANGES.md
index 4bef78409e..d14e91e221 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,5 +1,25 @@
+# Synapse 1.100.0rc3 (2024-01-24)
+
+### Bugfixes
+
+- Fix database performance regression due to changing Postgres table statistics. Introduced in v1.100.0rc1. ([\#16849](https://github.com/element-hq/synapse/issues/16849))
+
+
+
+
+# Synapse 1.100.0rc2 (2024-01-24)
+
+This version is the same as 1.100.0rc1 but with fixes to the release process.
+
+### Internal Changes
+
+- Downgrade the `download-artifact` and `upload-artifact` actions to v3 due to breaking changes. ([\#16847](https://github.com/element-hq/synapse/issues/16847))
+
+
# Synapse 1.100.0rc1 (2024-01-23)
+*This version was never released to PyPI or the Debian repository due to failures in the automatic part of the release process.*
+
### Features
- Advertise experimental support for [MSC4028](https://github.com/matrix-org/matrix-spec-proposals/pull/4028) through `/_matrix/clients/versions` if enabled. Contributed by @hanadi92. ([\#16787](https://github.com/element-hq/synapse/issues/16787))
diff --git a/debian/changelog b/debian/changelog
index ca0e2aec49..67212704bb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+matrix-synapse-py3 (1.100.0~rc3) stable; urgency=medium
+
+ * New Synapse release 1.100.0rc3.
+
+ -- Synapse Packaging team <packages@matrix.org> Wed, 24 Jan 2024 14:18:15 +0000
+
+matrix-synapse-py3 (1.100.0~rc2) stable; urgency=medium
+
+ * New Synapse release 1.100.0rc2.
+
+ -- Synapse Packaging team <packages@matrix.org> Wed, 24 Jan 2024 11:59:51 +0000
+
matrix-synapse-py3 (1.100.0~rc1) stable; urgency=medium
* New Synapse release 1.100.0rc1.
diff --git a/pyproject.toml b/pyproject.toml
index 3bfbb1cc41..99c29cea2d 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -96,7 +96,7 @@ module-name = "synapse.synapse_rust"
[tool.poetry]
name = "matrix-synapse"
-version = "1.100.0rc1"
+version = "1.100.0rc3"
description = "Homeserver for the Matrix decentralised comms protocol"
authors = ["Matrix.org Team and Contributors <packages@matrix.org>"]
license = "AGPL-3.0-or-later"
diff --git a/synapse/storage/schema/main/delta/84/01_auth_links_stats.sql.postgres b/synapse/storage/schema/main/delta/84/01_auth_links_stats.sql.postgres
index b0b41bd106..0c3ae979eb 100644
--- a/synapse/storage/schema/main/delta/84/01_auth_links_stats.sql.postgres
+++ b/synapse/storage/schema/main/delta/84/01_auth_links_stats.sql.postgres
@@ -16,3 +16,5 @@
-- figuring that out by itself.
ALTER TABLE event_auth_chain_links ALTER origin_chain_id SET (n_distinct = -0.5);
ALTER TABLE event_auth_chain_links ALTER target_chain_id SET (n_distinct = -0.5);
+
+-- We should have done an `ANALYZE event_auth_chain_links` here, but we forgot.
diff --git a/synapse/storage/schema/main/delta/84/03_auth_links_analyze.sql.postgres b/synapse/storage/schema/main/delta/84/03_auth_links_analyze.sql.postgres
new file mode 100644
index 0000000000..aecb72a477
--- /dev/null
+++ b/synapse/storage/schema/main/delta/84/03_auth_links_analyze.sql.postgres
@@ -0,0 +1,16 @@
+--
+-- This file is licensed under the Affero General Public License (AGPL) version 3.
+--
+-- Copyright (C) 2023 New Vector, Ltd
+--
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU Affero General Public License as
+-- published by the Free Software Foundation, either version 3 of the
+-- License, or (at your option) any later version.
+--
+-- See the GNU Affero General Public License for more details:
+-- <https://www.gnu.org/licenses/agpl-3.0.html>.
+
+-- We need to do an ANALYZE after `01_auth_links_stats.sql.postgres`, where we
+-- fiddled with the stats.
+ANALYZE event_auth_chain_links;
|