From e8c36e527d4e817b09abf96cc2cb342c699316d0 Mon Sep 17 00:00:00 2001 From: Patrick Cloke Date: Thu, 2 Jul 2020 10:34:28 -0400 Subject: 1.15.2 --- debian/changelog | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'debian') diff --git a/debian/changelog b/debian/changelog index 3e83e9be9a..c068510b93 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +matrix-synapse-py3 (1.15.2) stable; urgency=medium + + * New synapse release 1.15.2. + + -- Synapse Packaging team Thu, 02 Jul 2020 10:34:00 -0400 + matrix-synapse-py3 (1.15.1) stable; urgency=medium * New synapse release 1.15.1. -- cgit 1.5.1 From 98894341e7f241dbca9a3218aca3aa4d252d7098 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Wed, 8 Jul 2020 11:03:55 +0100 Subject: 1.16.0 --- CHANGES.md | 6 ++++++ debian/changelog | 6 ++++++ synapse/__init__.py | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) (limited to 'debian') diff --git a/CHANGES.md b/CHANGES.md index ff924604cb..1cdb0e3afc 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,9 @@ +Synapse 1.16.0 (2020-07-08) +=========================== + +No significant changes. + + Synapse 1.16.0rc2 (2020-07-02) ============================== diff --git a/debian/changelog b/debian/changelog index c068510b93..1e7d7191ad 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +matrix-synapse-py3 (1.16.0) stable; urgency=medium + + * New synapse release 1.16.0. + + -- Synapse Packaging team Wed, 08 Jul 2020 11:03:48 +0100 + matrix-synapse-py3 (1.15.2) stable; urgency=medium * New synapse release 1.15.2. diff --git a/synapse/__init__.py b/synapse/__init__.py index 0ffbcae502..de65ce6db8 100644 --- a/synapse/__init__.py +++ b/synapse/__init__.py @@ -36,7 +36,7 @@ try: except ImportError: pass -__version__ = "1.16.0rc2" +__version__ = "1.16.0" if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)): # We import here so that we don't have to install a bunch of deps when -- cgit 1.5.1 From 43726783e40603c4604d4bc656c25c7cf85863e4 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Thu, 9 Jul 2020 16:53:19 +0100 Subject: 1.17.0rc1 --- CHANGES.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ changelog.d/7021.bugfix | 1 - changelog.d/7732.bugfix | 1 - changelog.d/7740.misc | 1 - changelog.d/7760.bugfix | 1 - changelog.d/7765.misc | 1 - changelog.d/7766.bugfix | 1 - changelog.d/7768.misc | 1 - changelog.d/7769.misc | 1 - changelog.d/7770.misc | 1 - changelog.d/7775.misc | 1 - changelog.d/7776.doc | 1 - changelog.d/7779.bugfix | 1 - changelog.d/7780.misc | 1 - changelog.d/7786.misc | 1 - changelog.d/7789.doc | 1 - changelog.d/7791.docker | 1 - changelog.d/7793.misc | 1 - changelog.d/7797.bugfix | 1 - changelog.d/7799.misc | 1 - changelog.d/7800.misc | 1 - changelog.d/7804.bugfix | 1 - changelog.d/7805.misc | 1 - changelog.d/7808.misc | 1 - changelog.d/7809.bugfix | 1 - changelog.d/7810.bugfix | 1 - changelog.d/7811.misc | 1 - debian/changelog | 6 ++++++ synapse/__init__.py | 2 +- 29 files changed, 54 insertions(+), 27 deletions(-) delete mode 100644 changelog.d/7021.bugfix delete mode 100644 changelog.d/7732.bugfix delete mode 100644 changelog.d/7740.misc delete mode 100644 changelog.d/7760.bugfix delete mode 100644 changelog.d/7765.misc delete mode 100644 changelog.d/7766.bugfix delete mode 100644 changelog.d/7768.misc delete mode 100644 changelog.d/7769.misc delete mode 100644 changelog.d/7770.misc delete mode 100644 changelog.d/7775.misc delete mode 100644 changelog.d/7776.doc delete mode 100644 changelog.d/7779.bugfix delete mode 100644 changelog.d/7780.misc delete mode 100644 changelog.d/7786.misc delete mode 100644 changelog.d/7789.doc delete mode 100644 changelog.d/7791.docker delete mode 100644 changelog.d/7793.misc delete mode 100644 changelog.d/7797.bugfix delete mode 100644 changelog.d/7799.misc delete mode 100644 changelog.d/7800.misc delete mode 100644 changelog.d/7804.bugfix delete mode 100644 changelog.d/7805.misc delete mode 100644 changelog.d/7808.misc delete mode 100644 changelog.d/7809.bugfix delete mode 100644 changelog.d/7810.bugfix delete mode 100644 changelog.d/7811.misc (limited to 'debian') diff --git a/CHANGES.md b/CHANGES.md index 3a0fe606f8..bd8cf1a11f 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,50 @@ +Synapse 1.17.0rc1 (2020-07-09) +============================== + +Bugfixes +-------- + +- Fix inconsistent handling of upper and lower case in email addresses when used as identifiers for login, etc. Contributed by @dklimpel. ([\#7021](https://github.com/matrix-org/synapse/issues/7021)) +- Fix "Tried to close a non-active scope!" error messages when opentracing is enabled. ([\#7732](https://github.com/matrix-org/synapse/issues/7732)) +- Fix incorrect error message when database CTYPE was set incorrectly. ([\#7760](https://github.com/matrix-org/synapse/issues/7760)) +- Fix to not ignore `set_tweak` actions in Push Rules that have no `value`, as permitted by the specification. ([\#7766](https://github.com/matrix-org/synapse/issues/7766)) +- Fix synctl to handle empty config files correctly. Contributed by @kotovalexarian. ([\#7779](https://github.com/matrix-org/synapse/issues/7779)) +- Fixes a long standing bug in worker mode where worker information was saved in the devices table instead of the original IP address and user agent. ([\#7797](https://github.com/matrix-org/synapse/issues/7797)) +- Fix 'stuck invites' which happen when we are unable to reject a room invite received over federation. ([\#7804](https://github.com/matrix-org/synapse/issues/7804), [\#7809](https://github.com/matrix-org/synapse/issues/7809), [\#7810](https://github.com/matrix-org/synapse/issues/7810)) + + +Updates to the Docker image +--------------------------- + +- Include libwebp in the Docker file to properly handle webp image uploads. ([\#7791](https://github.com/matrix-org/synapse/issues/7791)) + + +Improved Documentation +---------------------- + +- Improve the documentation of the non-standard JSON web token login type. ([\#7776](https://github.com/matrix-org/synapse/issues/7776)) +- Update doc links for caddy. Contributed by Nicolai Søborg. ([\#7789](https://github.com/matrix-org/synapse/issues/7789)) + + +Internal Changes +---------------- + +- Refactor getting replication updates from database. ([\#7740](https://github.com/matrix-org/synapse/issues/7740)) +- Send push notifications with a high or low priority depending upon whether they may generate user-observable effects. ([\#7765](https://github.com/matrix-org/synapse/issues/7765)) +- Use symbolic names for replication stream names. ([\#7768](https://github.com/matrix-org/synapse/issues/7768)) +- Add early returns to `_check_for_soft_fail`. ([\#7769](https://github.com/matrix-org/synapse/issues/7769)) +- Fix up `synapse.handlers.federation` to pass mypy. ([\#7770](https://github.com/matrix-org/synapse/issues/7770)) +- Convert the appserver handler to async/await. ([\#7775](https://github.com/matrix-org/synapse/issues/7775)) +- Allow to use higher versions of prometheus_client <0.9.0 which are expected to introduce no breaking changes. Contributed by Oliver Kurz. ([\#7780](https://github.com/matrix-org/synapse/issues/7780)) +- Update linting scripts and codebase to be compatible with `isort` v5. ([\#7786](https://github.com/matrix-org/synapse/issues/7786)) +- Stop populating unused table `local_invites`. ([\#7793](https://github.com/matrix-org/synapse/issues/7793)) +- Ensure that strings (not bytes) are passed into JSON serialization. ([\#7799](https://github.com/matrix-org/synapse/issues/7799)) +- Switch from simplejson to the standard library json. ([\#7800](https://github.com/matrix-org/synapse/issues/7800)) +- Add `signing_key` property to `HomeServer` to save code duplication. ([\#7805](https://github.com/matrix-org/synapse/issues/7805)) +- Improve stacktraces from exceptions in background processes. ([\#7808](https://github.com/matrix-org/synapse/issues/7808)) +- Fix various spelling errors in comments and log lines. ([\#7811](https://github.com/matrix-org/synapse/issues/7811)) + + Synapse 1.16.0 (2020-07-08) =========================== diff --git a/changelog.d/7021.bugfix b/changelog.d/7021.bugfix deleted file mode 100644 index 140fe37b2d..0000000000 --- a/changelog.d/7021.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix inconsistent handling of upper and lower case in email addresses when used as identifiers for login, etc. Contributed by @dklimpel. diff --git a/changelog.d/7732.bugfix b/changelog.d/7732.bugfix deleted file mode 100644 index d5e352e141..0000000000 --- a/changelog.d/7732.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix "Tried to close a non-active scope!" error messages when opentracing is enabled. diff --git a/changelog.d/7740.misc b/changelog.d/7740.misc deleted file mode 100644 index f93149502e..0000000000 --- a/changelog.d/7740.misc +++ /dev/null @@ -1 +0,0 @@ -Refactor getting replication updates from database. diff --git a/changelog.d/7760.bugfix b/changelog.d/7760.bugfix deleted file mode 100644 index f6081f3d30..0000000000 --- a/changelog.d/7760.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix incorrect error message when database CTYPE was set incorrectly. diff --git a/changelog.d/7765.misc b/changelog.d/7765.misc deleted file mode 100644 index fa9cfd24cb..0000000000 --- a/changelog.d/7765.misc +++ /dev/null @@ -1 +0,0 @@ -Send push notifications with a high or low priority depending upon whether they may generate user-observable effects. diff --git a/changelog.d/7766.bugfix b/changelog.d/7766.bugfix deleted file mode 100644 index ec5ecd8055..0000000000 --- a/changelog.d/7766.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix to not ignore `set_tweak` actions in Push Rules that have no `value`, as permitted by the specification. diff --git a/changelog.d/7768.misc b/changelog.d/7768.misc deleted file mode 100644 index dfb3d24c7d..0000000000 --- a/changelog.d/7768.misc +++ /dev/null @@ -1 +0,0 @@ -Use symbolic names for replication stream names. diff --git a/changelog.d/7769.misc b/changelog.d/7769.misc deleted file mode 100644 index 2e200286ce..0000000000 --- a/changelog.d/7769.misc +++ /dev/null @@ -1 +0,0 @@ -Add early returns to `_check_for_soft_fail`. diff --git a/changelog.d/7770.misc b/changelog.d/7770.misc deleted file mode 100644 index 5b864084be..0000000000 --- a/changelog.d/7770.misc +++ /dev/null @@ -1 +0,0 @@ -Fix up `synapse.handlers.federation` to pass mypy. diff --git a/changelog.d/7775.misc b/changelog.d/7775.misc deleted file mode 100644 index af6fdb782f..0000000000 --- a/changelog.d/7775.misc +++ /dev/null @@ -1 +0,0 @@ -Convert the appserver handler to async/await. diff --git a/changelog.d/7776.doc b/changelog.d/7776.doc deleted file mode 100644 index e686215688..0000000000 --- a/changelog.d/7776.doc +++ /dev/null @@ -1 +0,0 @@ -Improve the documentation of the non-standard JSON web token login type. diff --git a/changelog.d/7779.bugfix b/changelog.d/7779.bugfix deleted file mode 100644 index 61de45d570..0000000000 --- a/changelog.d/7779.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix synctl to handle empty config files correctly. Contributed by @kotovalexarian. diff --git a/changelog.d/7780.misc b/changelog.d/7780.misc deleted file mode 100644 index a627bea458..0000000000 --- a/changelog.d/7780.misc +++ /dev/null @@ -1 +0,0 @@ -Allow to use higher versions of prometheus_client <0.9.0 which are expected to introduce no breaking changes. Contributed by Oliver Kurz. diff --git a/changelog.d/7786.misc b/changelog.d/7786.misc deleted file mode 100644 index 27af2681dc..0000000000 --- a/changelog.d/7786.misc +++ /dev/null @@ -1 +0,0 @@ -Update linting scripts and codebase to be compatible with `isort` v5. diff --git a/changelog.d/7789.doc b/changelog.d/7789.doc deleted file mode 100644 index 254411c769..0000000000 --- a/changelog.d/7789.doc +++ /dev/null @@ -1 +0,0 @@ -Update doc links for caddy. Contributed by Nicolai Søborg. diff --git a/changelog.d/7791.docker b/changelog.d/7791.docker deleted file mode 100644 index a114159d4e..0000000000 --- a/changelog.d/7791.docker +++ /dev/null @@ -1 +0,0 @@ -Include libwebp in the Docker file to properly handle webp image uploads. diff --git a/changelog.d/7793.misc b/changelog.d/7793.misc deleted file mode 100644 index 2b6cfbe274..0000000000 --- a/changelog.d/7793.misc +++ /dev/null @@ -1 +0,0 @@ -Stop populating unused table `local_invites`. diff --git a/changelog.d/7797.bugfix b/changelog.d/7797.bugfix deleted file mode 100644 index c1259871da..0000000000 --- a/changelog.d/7797.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fixes a long standing bug in worker mode where worker information was saved in the devices table instead of the original IP address and user agent. diff --git a/changelog.d/7799.misc b/changelog.d/7799.misc deleted file mode 100644 index 448b286df4..0000000000 --- a/changelog.d/7799.misc +++ /dev/null @@ -1 +0,0 @@ -Ensure that strings (not bytes) are passed into JSON serialization. diff --git a/changelog.d/7800.misc b/changelog.d/7800.misc deleted file mode 100644 index ce2346b3d4..0000000000 --- a/changelog.d/7800.misc +++ /dev/null @@ -1 +0,0 @@ -Switch from simplejson to the standard library json. diff --git a/changelog.d/7804.bugfix b/changelog.d/7804.bugfix deleted file mode 100644 index 2772eeb0db..0000000000 --- a/changelog.d/7804.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix 'stuck invites' which happen when we are unable to reject a room invite received over federation. diff --git a/changelog.d/7805.misc b/changelog.d/7805.misc deleted file mode 100644 index cbae08774a..0000000000 --- a/changelog.d/7805.misc +++ /dev/null @@ -1 +0,0 @@ -Add `signing_key` property to `HomeServer` to save code duplication. diff --git a/changelog.d/7808.misc b/changelog.d/7808.misc deleted file mode 100644 index c2acca56ec..0000000000 --- a/changelog.d/7808.misc +++ /dev/null @@ -1 +0,0 @@ -Improve stacktraces from exceptions in background processes. diff --git a/changelog.d/7809.bugfix b/changelog.d/7809.bugfix deleted file mode 100644 index 2772eeb0db..0000000000 --- a/changelog.d/7809.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix 'stuck invites' which happen when we are unable to reject a room invite received over federation. diff --git a/changelog.d/7810.bugfix b/changelog.d/7810.bugfix deleted file mode 100644 index 2772eeb0db..0000000000 --- a/changelog.d/7810.bugfix +++ /dev/null @@ -1 +0,0 @@ -Fix 'stuck invites' which happen when we are unable to reject a room invite received over federation. diff --git a/changelog.d/7811.misc b/changelog.d/7811.misc deleted file mode 100644 index d907bba4df..0000000000 --- a/changelog.d/7811.misc +++ /dev/null @@ -1 +0,0 @@ -Fix various spelling errors in comments and log lines. diff --git a/debian/changelog b/debian/changelog index 1e7d7191ad..f7c146d777 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +matrix-synapse-py3 (1.17.0rc1) stable; urgency=medium + + * New synapse release 1.17.0rc1. + + -- Synapse Packaging team Thu, 09 Jul 2020 16:53:12 +0100 + matrix-synapse-py3 (1.16.0) stable; urgency=medium * New synapse release 1.16.0. diff --git a/synapse/__init__.py b/synapse/__init__.py index de65ce6db8..5bb09a37d7 100644 --- a/synapse/__init__.py +++ b/synapse/__init__.py @@ -36,7 +36,7 @@ try: except ImportError: pass -__version__ = "1.16.0" +__version__ = "1.17.0rc1" if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)): # We import here so that we don't have to install a bunch of deps when -- cgit 1.5.1 From c9f7c683aefe53dd33db69848302f3ff6e77dcfb Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Fri, 10 Jul 2020 12:11:12 +0100 Subject: 1.16.1 --- CHANGES.md | 19 +++++++++++++++++++ changelog.d/7816.bugfix | 1 - debian/changelog | 6 ++++++ synapse/__init__.py | 2 +- 4 files changed, 26 insertions(+), 2 deletions(-) delete mode 100644 changelog.d/7816.bugfix (limited to 'debian') diff --git a/CHANGES.md b/CHANGES.md index 3a0fe606f8..a937b8cc31 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,22 @@ +Synapse 1.16.1 (2020-07-10) +=========================== + +In some distributions of Synapse 1.16.0, we incorrectly included a database +migration which added a new, unused table. This release removes the redundant +table. + +Bugfixes +-------- + +- Drop table `local_rejections_stream` which was incorrectly added in Synapse 1.16.0. ([\#7816](https://github.com/matrix-org/synapse/issues/7816)) + + +Synapse 1.16.1 (2020-07-10) +=========================== + +No significant changes. + + Synapse 1.16.0 (2020-07-08) =========================== diff --git a/changelog.d/7816.bugfix b/changelog.d/7816.bugfix deleted file mode 100644 index ca9e56d3ce..0000000000 --- a/changelog.d/7816.bugfix +++ /dev/null @@ -1 +0,0 @@ -Drop table `local_rejections_stream` which was incorrectly added in Synapse 1.16.0. diff --git a/debian/changelog b/debian/changelog index 1e7d7191ad..6339f937cc 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +matrix-synapse-py3 (1.16.1) stable; urgency=medium + + * New synapse release 1.16.1. + + -- Synapse Packaging team Fri, 10 Jul 2020 12:09:24 +0100 + matrix-synapse-py3 (1.16.0) stable; urgency=medium * New synapse release 1.16.0. diff --git a/synapse/__init__.py b/synapse/__init__.py index de65ce6db8..0116478fbb 100644 --- a/synapse/__init__.py +++ b/synapse/__init__.py @@ -36,7 +36,7 @@ try: except ImportError: pass -__version__ = "1.16.0" +__version__ = "1.16.1" if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)): # We import here so that we don't have to install a bunch of deps when -- cgit 1.5.1 From 29df3d0e9f455c780d8489cc9bc293cb6fa6bc1e Mon Sep 17 00:00:00 2001 From: Richard van der Hoff Date: Mon, 13 Jul 2020 10:20:36 +0100 Subject: 1.17.0 --- CHANGES.md | 10 +++++++--- debian/changelog | 6 ++++++ synapse/__init__.py | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) (limited to 'debian') diff --git a/CHANGES.md b/CHANGES.md index e6e575e5e4..6d4bd23e4e 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,9 +1,13 @@ +Synapse 1.17.0 (2020-07-13) +=========================== + +Synapse 1.17.0 is identical to 1.17.0rc1, with the addition of the fix that was included in 1.16.1. + + Synapse 1.16.1 (2020-07-10) =========================== -In some distributions of Synapse 1.16.0, we incorrectly included a database -migration which added a new, unused table. This release removes the redundant -table. +In some distributions of Synapse 1.16.0, we incorrectly included a database migration which added a new, unused table. This release removes the redundant table. Bugfixes -------- diff --git a/debian/changelog b/debian/changelog index 5ce77ce3b4..3825603ae4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +matrix-synapse-py3 (1.17.0) stable; urgency=medium + + * New synapse release 1.17.0. + + -- Synapse Packaging team Mon, 13 Jul 2020 10:20:31 +0100 + matrix-synapse-py3 (1.16.1) stable; urgency=medium * New synapse release 1.16.1. diff --git a/synapse/__init__.py b/synapse/__init__.py index 5bb09a37d7..8592dee179 100644 --- a/synapse/__init__.py +++ b/synapse/__init__.py @@ -36,7 +36,7 @@ try: except ImportError: pass -__version__ = "1.17.0rc1" +__version__ = "1.17.0" if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)): # We import here so that we don't have to install a bunch of deps when -- cgit 1.5.1 From 2184f61faeb5ce88c05d28913e3f881813c0c5dd Mon Sep 17 00:00:00 2001 From: Aaron Raimist Date: Wed, 29 Jul 2020 09:35:44 -0500 Subject: Various improvements to the docs (#7899) --- INSTALL.md | 109 ++++++++++++++++++++++++++++++++++------ README.rst | 43 +++------------- changelog.d/7899.doc | 1 + debian/changelog | 10 ++++ debian/matrix-synapse.default | 2 +- debian/synctl.ronn | 27 +++++----- docs/.sample_config_header.yaml | 11 ++++ docs/postgres.md | 3 ++ docs/sample_config.yaml | 29 ++++------- synapse/config/registration.py | 18 ------- 10 files changed, 153 insertions(+), 100 deletions(-) create mode 100644 changelog.d/7899.doc (limited to 'debian') diff --git a/INSTALL.md b/INSTALL.md index b507de7442..22f7b7c029 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,10 +1,12 @@ - [Choosing your server name](#choosing-your-server-name) +- [Picking a database engine](#picking-a-database-engine) - [Installing Synapse](#installing-synapse) - [Installing from source](#installing-from-source) - [Platform-Specific Instructions](#platform-specific-instructions) - [Prebuilt packages](#prebuilt-packages) - [Setting up Synapse](#setting-up-synapse) - [TLS certificates](#tls-certificates) + - [Client Well-Known URI](#client-well-known-uri) - [Email](#email) - [Registering a user](#registering-a-user) - [Setting up a TURN server](#setting-up-a-turn-server) @@ -27,6 +29,25 @@ that your email address is probably `user@example.com` rather than `user@email.example.com`) - but doing so may require more advanced setup: see [Setting up Federation](docs/federate.md). +# Picking a database engine + +Synapse offers two database engines: + * [PostgreSQL](https://www.postgresql.org) + * [SQLite](https://sqlite.org/) + +Almost all installations should opt to use PostgreSQL. Advantages include: + +* significant performance improvements due to the superior threading and + caching model, smarter query optimiser +* allowing the DB to be run on separate hardware + +For information on how to install and use PostgreSQL, please see +[docs/postgres.md](docs/postgres.md) + +By default Synapse uses SQLite and in doing so trades performance for convenience. +SQLite is only recommended in Synapse for testing purposes or for servers with +light workloads. + # Installing Synapse ## Installing from source @@ -234,9 +255,9 @@ for a number of platforms. There is an offical synapse image available at https://hub.docker.com/r/matrixdotorg/synapse which can be used with -the docker-compose file available at [contrib/docker](contrib/docker). Further information on -this including configuration options is available in the README on -hub.docker.com. +the docker-compose file available at [contrib/docker](contrib/docker). Further +information on this including configuration options is available in the README +on hub.docker.com. Alternatively, Andreas Peters (previously Silvio Fricke) has contributed a Dockerfile to automate a synapse server in a single Docker image, at @@ -244,7 +265,8 @@ https://hub.docker.com/r/avhost/docker-matrix/tags/ Slavi Pantaleev has created an Ansible playbook, which installs the offical Docker image of Matrix Synapse -along with many other Matrix-related services (Postgres database, riot-web, coturn, mxisd, SSL support, etc.). +along with many other Matrix-related services (Postgres database, Element, coturn, +ma1sd, SSL support, etc.). For more details, see https://github.com/spantaleev/matrix-docker-ansible-deploy @@ -277,22 +299,27 @@ The fingerprint of the repository signing key (as shown by `gpg /usr/share/keyrings/matrix-org-archive-keyring.gpg`) is `AAF9AE843A7584B5A3E4CD2BCF45A512DE2DA058`. -#### Downstream Debian/Ubuntu packages +#### Downstream Debian packages -For `buster` and `sid`, Synapse is available in the Debian repositories and -it should be possible to install it with simply: +We do not recommend using the packages from the default Debian `buster` +repository at this time, as they are old and suffer from known security +vulnerabilities. You can install the latest version of Synapse from +[our repository](#matrixorg-packages) or from `buster-backports`. Please +see the [Debian documentation](https://backports.debian.org/Instructions/) +for information on how to use backports. + +If you are using Debian `sid` or testing, Synapse is available in the default +repositories and it should be possible to install it simply with: ``` sudo apt install matrix-synapse ``` -There is also a version of `matrix-synapse` in `stretch-backports`. Please see -the [Debian documentation on -backports](https://backports.debian.org/Instructions/) for information on how -to use them. +#### Downstream Ubuntu packages -We do not recommend using the packages in downstream Ubuntu at this time, as -they are old and suffer from known security vulnerabilities. +We do not recommend using the packages in the default Ubuntu repository +at this time, as they are old and suffer from known security vulnerabilities. +The latest version of Synapse can be installed from [our repository](#matrixorg-packages). ### Fedora @@ -419,6 +446,60 @@ so, you will need to edit `homeserver.yaml`, as follows: For a more detailed guide to configuring your server for federation, see [federate.md](docs/federate.md). +## Client Well-Known URI + +Setting up the client Well-Known URI is optional but if you set it up, it will +allow users to enter their full username (e.g. `@user:`) into clients +which support well-known lookup to automatically configure the homeserver and +identity server URLs. This is useful so that users don't have to memorize or think +about the actual homeserver URL you are using. + +The URL `https:///.well-known/matrix/client` should return JSON in +the following format. + +``` +{ + "m.homeserver": { + "base_url": "https://" + } +} +``` + +It can optionally contain identity server information as well. + +``` +{ + "m.homeserver": { + "base_url": "https://" + }, + "m.identity_server": { + "base_url": "https://" + } +} +``` + +To work in browser based clients, the file must be served with the appropriate +Cross-Origin Resource Sharing (CORS) headers. A recommended value would be +`Access-Control-Allow-Origin: *` which would allow all browser based clients to +view it. + +In nginx this would be something like: +``` +location /.well-known/matrix/client { + return 200 '{"m.homeserver": {"base_url": "https://"}}'; + add_header Content-Type application/json; + add_header Access-Control-Allow-Origin *; +} +``` + +You should also ensure the `public_baseurl` option in `homeserver.yaml` is set +correctly. `public_baseurl` should be set to the URL that clients will use to +connect to your server. This is the same URL you put for the `m.homeserver` +`base_url` above. + +``` +public_baseurl: "https://" +``` ## Email @@ -437,7 +518,7 @@ email will be disabled. ## Registering a user -The easiest way to create a new user is to do so from a client like [Riot](https://riot.im). +The easiest way to create a new user is to do so from a client like [Element](https://element.io/). Alternatively you can do so from the command line if you have installed via pip. diff --git a/README.rst b/README.rst index f7116b3480..4a189c8bc4 100644 --- a/README.rst +++ b/README.rst @@ -45,7 +45,7 @@ which handle: - Eventually-consistent cryptographically secure synchronisation of room state across a global open network of federated servers and services - Sending and receiving extensible messages in a room with (optional) - end-to-end encryption[1] + end-to-end encryption - Inviting, joining, leaving, kicking, banning room members - Managing user accounts (registration, login, logout) - Using 3rd Party IDs (3PIDs) such as email addresses, phone numbers, @@ -82,9 +82,6 @@ at the `Matrix spec `_, and experiment with the Thanks for using Matrix! -[1] End-to-end encryption is currently in beta: `blog post `_. - - Support ======= @@ -115,12 +112,11 @@ Unless you are running a test instance of Synapse on your local machine, in general, you will need to enable TLS support before you can successfully connect from a client: see ``_. -An easy way to get started is to login or register via Riot at -https://riot.im/app/#/login or https://riot.im/app/#/register respectively. +An easy way to get started is to login or register via Element at +https://app.element.io/#/login or https://app.element.io/#/register respectively. You will need to change the server you are logging into from ``matrix.org`` and instead specify a Homeserver URL of ``https://:8448`` (or just ``https://`` if you are using a reverse proxy). -(Leave the identity server as the default - see `Identity servers`_.) If you prefer to use another client, refer to our `client breakdown `_. @@ -137,7 +133,7 @@ it, specify ``enable_registration: true`` in ``homeserver.yaml``. (It is then recommended to also set up CAPTCHA - see ``_.) Once ``enable_registration`` is set to ``true``, it is possible to register a -user via `riot.im `_ or other Matrix clients. +user via a Matrix client. Your new user name will be formed partly from the ``server_name``, and partly from a localpart you specify when you create the account. Your name will take @@ -183,30 +179,6 @@ versions of synapse. .. _UPGRADE.rst: UPGRADE.rst - -Using PostgreSQL -================ - -Synapse offers two database engines: - * `PostgreSQL `_ - * `SQLite `_ - -Almost all installations should opt to use PostgreSQL. Advantages include: - -* significant performance improvements due to the superior threading and - caching model, smarter query optimiser -* allowing the DB to be run on separate hardware -* allowing basic active/backup high-availability with a "hot spare" synapse - pointing at the same DB master, as well as enabling DB replication in - synapse itself. - -For information on how to install and use PostgreSQL, please see -`docs/postgres.md `_. - -By default Synapse uses SQLite and in doing so trades performance for convenience. -SQLite is only recommended in Synapse for testing purposes or for servers with -light workloads. - .. _reverse-proxy: Using a reverse proxy with Synapse @@ -255,10 +227,9 @@ email address. Password reset ============== -If a user has registered an email address to their account using an identity -server, they can request a password-reset token via clients such as Riot. - -A manual password reset can be done via direct database access as follows. +Users can reset their password through their client. Alternatively, a server admin +can reset a users password using the `admin API `_ +or by directly editing the database as shown below. First calculate the hash of the new password:: diff --git a/changelog.d/7899.doc b/changelog.d/7899.doc new file mode 100644 index 0000000000..847c2cb62c --- /dev/null +++ b/changelog.d/7899.doc @@ -0,0 +1 @@ +Document how to set up a Client Well-Known file and fix several pieces of outdated documentation. diff --git a/debian/changelog b/debian/changelog index 3825603ae4..99165b61fd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +matrix-synapse-py3 (1.xx.0) stable; urgency=medium + + [ Synapse Packaging team ] + * New synapse release 1.xx.0. + + [ Aaron Raimist ] + * Fix outdated documentation for SYNAPSE_CACHE_FACTOR + + -- Synapse Packaging team XXXXX + matrix-synapse-py3 (1.17.0) stable; urgency=medium * New synapse release 1.17.0. diff --git a/debian/matrix-synapse.default b/debian/matrix-synapse.default index 65dc2f33d8..f402d73bbf 100644 --- a/debian/matrix-synapse.default +++ b/debian/matrix-synapse.default @@ -1,2 +1,2 @@ # Specify environment variables used when running Synapse -# SYNAPSE_CACHE_FACTOR=1 (default) +# SYNAPSE_CACHE_FACTOR=0.5 (default) diff --git a/debian/synctl.ronn b/debian/synctl.ronn index a73c832f62..1bad6094f3 100644 --- a/debian/synctl.ronn +++ b/debian/synctl.ronn @@ -46,19 +46,20 @@ Configuration file may be generated as follows: ## ENVIRONMENT * `SYNAPSE_CACHE_FACTOR`: - Synapse's architecture is quite RAM hungry currently - a lot of - recent room data and metadata is deliberately cached in RAM in - order to speed up common requests. This will be improved in - future, but for now the easiest way to either reduce the RAM usage - (at the risk of slowing things down) is to set the - SYNAPSE_CACHE_FACTOR environment variable. Roughly speaking, a - SYNAPSE_CACHE_FACTOR of 1.0 will max out at around 3-4GB of - resident memory - this is what we currently run the matrix.org - on. The default setting is currently 0.1, which is probably around - a ~700MB footprint. You can dial it down further to 0.02 if - desired, which targets roughly ~512MB. Conversely you can dial it - up if you need performance for lots of users and have a box with a - lot of RAM. + Synapse's architecture is quite RAM hungry currently - we deliberately + cache a lot of recent room data and metadata in RAM in order to speed up + common requests. We'll improve this in the future, but for now the easiest + way to either reduce the RAM usage (at the risk of slowing things down) + is to set the almost-undocumented ``SYNAPSE_CACHE_FACTOR`` environment + variable. The default is 0.5, which can be decreased to reduce RAM usage + in memory constrained enviroments, or increased if performance starts to + degrade. + + However, degraded performance due to a low cache factor, common on + machines with slow disks, often leads to explosions in memory use due + backlogged requests. In this case, reducing the cache factor will make + things worse. Instead, try increasing it drastically. 2.0 is a good + starting value. ## COPYRIGHT diff --git a/docs/.sample_config_header.yaml b/docs/.sample_config_header.yaml index 35a591d042..8c9b31acdb 100644 --- a/docs/.sample_config_header.yaml +++ b/docs/.sample_config_header.yaml @@ -10,5 +10,16 @@ # homeserver.yaml. Instead, if you are starting from scratch, please generate # a fresh config using Synapse by following the instructions in INSTALL.md. +# Configuration options that take a time period can be set using a number +# followed by a letter. Letters have the following meanings: +# s = second +# m = minute +# h = hour +# d = day +# w = week +# y = year +# For example, setting redaction_retention_period: 5m would remove redacted +# messages from the database after 5 minutes, rather than 5 months. + ################################################################################ diff --git a/docs/postgres.md b/docs/postgres.md index 70fe29cdcc..e71a1975d8 100644 --- a/docs/postgres.md +++ b/docs/postgres.md @@ -188,6 +188,9 @@ to do step 2. It is safe to at any time kill the port script and restart it. +Note that the database may take up significantly more (25% - 100% more) +space on disk after porting to Postgres. + ### Using the port script Firstly, shut down the currently running synapse server and copy its diff --git a/docs/sample_config.yaml b/docs/sample_config.yaml index 09a7299871..598fcd4efa 100644 --- a/docs/sample_config.yaml +++ b/docs/sample_config.yaml @@ -10,6 +10,17 @@ # homeserver.yaml. Instead, if you are starting from scratch, please generate # a fresh config using Synapse by following the instructions in INSTALL.md. +# Configuration options that take a time period can be set using a number +# followed by a letter. Letters have the following meanings: +# s = second +# m = minute +# h = hour +# d = day +# w = week +# y = year +# For example, setting redaction_retention_period: 5m would remove redacted +# messages from the database after 5 minutes, rather than 5 months. + ################################################################################ # Configuration file for Synapse. @@ -1149,24 +1160,6 @@ account_validity: # #default_identity_server: https://matrix.org -# The list of identity servers trusted to verify third party -# identifiers by this server. -# -# Also defines the ID server which will be called when an account is -# deactivated (one will be picked arbitrarily). -# -# Note: This option is deprecated. Since v0.99.4, Synapse has tracked which identity -# server a 3PID has been bound to. For 3PIDs bound before then, Synapse runs a -# background migration script, informing itself that the identity server all of its -# 3PIDs have been bound to is likely one of the below. -# -# As of Synapse v1.4.0, all other functionality of this option has been deprecated, and -# it is now solely used for the purposes of the background migration script, and can be -# removed once it has run. -#trusted_third_party_id_servers: -# - matrix.org -# - vector.im - # Handle threepid (email/phone etc) registration and password resets through a set of # *trusted* identity servers. Note that this allows the configured identity server to # reset passwords for accounts! diff --git a/synapse/config/registration.py b/synapse/config/registration.py index 6badf4e75d..a185655774 100644 --- a/synapse/config/registration.py +++ b/synapse/config/registration.py @@ -333,24 +333,6 @@ class RegistrationConfig(Config): # #default_identity_server: https://matrix.org - # The list of identity servers trusted to verify third party - # identifiers by this server. - # - # Also defines the ID server which will be called when an account is - # deactivated (one will be picked arbitrarily). - # - # Note: This option is deprecated. Since v0.99.4, Synapse has tracked which identity - # server a 3PID has been bound to. For 3PIDs bound before then, Synapse runs a - # background migration script, informing itself that the identity server all of its - # 3PIDs have been bound to is likely one of the below. - # - # As of Synapse v1.4.0, all other functionality of this option has been deprecated, and - # it is now solely used for the purposes of the background migration script, and can be - # removed once it has run. - #trusted_third_party_id_servers: - # - matrix.org - # - vector.im - # Handle threepid (email/phone etc) registration and password resets through a set of # *trusted* identity servers. Note that this allows the configured identity server to # reset passwords for accounts! -- cgit 1.5.1 From a9631b7b4bc84dd1285472add70555b8b03992b2 Mon Sep 17 00:00:00 2001 From: "Olivier Wilkinson (reivilibre)" Date: Thu, 30 Jul 2020 10:56:54 +0100 Subject: 1.18.0 --- CHANGES.md | 9 +++++++++ changelog.d/7969.doc | 1 - debian/changelog | 6 ++++++ synapse/__init__.py | 2 +- 4 files changed, 16 insertions(+), 2 deletions(-) delete mode 100644 changelog.d/7969.doc (limited to 'debian') diff --git a/CHANGES.md b/CHANGES.md index 2ecbd3fd00..b8c636ebe0 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,12 @@ +Synapse 1.18.0 (2020-07-30) +=========================== + +Improved Documentation +---------------------- + +- Update worker docs with latest enhancements. ([\#7969](https://github.com/matrix-org/synapse/issues/7969)) + + Synapse 1.18.0rc2 (2020-07-28) ============================== diff --git a/changelog.d/7969.doc b/changelog.d/7969.doc deleted file mode 100644 index 68d2ed5fad..0000000000 --- a/changelog.d/7969.doc +++ /dev/null @@ -1 +0,0 @@ -Update worker docs with latest enhancements. diff --git a/debian/changelog b/debian/changelog index 3825603ae4..a6d88906ac 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +matrix-synapse-py3 (1.18.0) stable; urgency=medium + + * New synapse release 1.18.0. + + -- Synapse Packaging team Thu, 30 Jul 2020 10:55:53 +0100 + matrix-synapse-py3 (1.17.0) stable; urgency=medium * New synapse release 1.17.0. diff --git a/synapse/__init__.py b/synapse/__init__.py index 83ce2ae6f4..5155e719a1 100644 --- a/synapse/__init__.py +++ b/synapse/__init__.py @@ -36,7 +36,7 @@ try: except ImportError: pass -__version__ = "1.18.0rc2" +__version__ = "1.18.0" if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)): # We import here so that we don't have to install a bunch of deps when -- cgit 1.5.1 From ea4e4d2f0be528449d69a4ff7927824ab02d6b46 Mon Sep 17 00:00:00 2001 From: "Olivier Wilkinson (reivilibre)" Date: Mon, 17 Aug 2020 14:11:17 +0100 Subject: 1.19.0 --- CHANGES.md | 6 ++++++ debian/changelog | 6 +++--- synapse/__init__.py | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) (limited to 'debian') diff --git a/CHANGES.md b/CHANGES.md index a2c8232be1..06a9a79bed 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,9 @@ +Synapse 1.19.0 (2020-08-17) +=========================== + +Synapse 1.19.0 is identical to Synapse 1.19.0rc1. + + Synapse 1.19.0rc1 (2020-08-13) ============================== diff --git a/debian/changelog b/debian/changelog index a0af2b78a8..bdaf59e9b9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,12 +1,12 @@ -matrix-synapse-py3 (1.xx.0) stable; urgency=medium +matrix-synapse-py3 (1.19.0) stable; urgency=medium [ Synapse Packaging team ] - * New synapse release 1.xx.0. + * New synapse release 1.19.0. [ Aaron Raimist ] * Fix outdated documentation for SYNAPSE_CACHE_FACTOR - -- Synapse Packaging team XXXXX + -- Synapse Packaging team Mon, 17 Aug 2020 14:06:42 +0100 matrix-synapse-py3 (1.18.0) stable; urgency=medium diff --git a/synapse/__init__.py b/synapse/__init__.py index 832a8e2014..f493cbd7d1 100644 --- a/synapse/__init__.py +++ b/synapse/__init__.py @@ -48,7 +48,7 @@ try: except ImportError: pass -__version__ = "1.19.0rc1" +__version__ = "1.19.0" if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)): # We import here so that we don't have to install a bunch of deps when -- cgit 1.5.1 From cf2f6c3d22811314ecc9082574e6b6bef49ab696 Mon Sep 17 00:00:00 2001 From: Dexter Chua Date: Thu, 27 Aug 2020 17:39:13 +0800 Subject: Update debian systemd service to use Type=notify (#8169) This ensures systemctl start matrix-synapse returns only after synapse is actually started, which is very useful for automated deployments. Fixes #5761 Signed-off-by: Dexter Chua --- debian/changelog | 6 ++++++ debian/matrix-synapse.service | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'debian') diff --git a/debian/changelog b/debian/changelog index bdaf59e9b9..d20ca06b5b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +matrix-synapse-py3 (1.19.0ubuntu1) UNRELEASED; urgency=medium + + * Use Type=notify in systemd service + + -- Dexter Chua Wed, 26 Aug 2020 12:41:36 +0000 + matrix-synapse-py3 (1.19.0) stable; urgency=medium [ Synapse Packaging team ] diff --git a/debian/matrix-synapse.service b/debian/matrix-synapse.service index b0a8d72e6d..553babf549 100644 --- a/debian/matrix-synapse.service +++ b/debian/matrix-synapse.service @@ -2,7 +2,7 @@ Description=Synapse Matrix homeserver [Service] -Type=simple +Type=notify User=matrix-synapse WorkingDirectory=/var/lib/matrix-synapse EnvironmentFile=/etc/default/matrix-synapse -- cgit 1.5.1 From eadfda3ebc165317c634948826d50794b11dad46 Mon Sep 17 00:00:00 2001 From: Brendan Abolivier Date: Thu, 27 Aug 2020 10:50:39 +0100 Subject: 1.19.1 --- CHANGES.md | 6 ++++++ debian/changelog | 6 ++++++ synapse/__init__.py | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) (limited to 'debian') diff --git a/CHANGES.md b/CHANGES.md index 688f824da1..d859baa9ff 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,3 +1,9 @@ +Synapse 1.19.1 (2020-08-27) +=========================== + +No significant changes. + + Synapse 1.19.1rc1 (2020-08-25) ============================== diff --git a/debian/changelog b/debian/changelog index bdaf59e9b9..6676706dea 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +matrix-synapse-py3 (1.19.1) stable; urgency=medium + + * New synapse release 1.19.1. + + -- Synapse Packaging team Thu, 27 Aug 2020 10:50:19 +0100 + matrix-synapse-py3 (1.19.0) stable; urgency=medium [ Synapse Packaging team ] diff --git a/synapse/__init__.py b/synapse/__init__.py index 2195723613..1282d19b3c 100644 --- a/synapse/__init__.py +++ b/synapse/__init__.py @@ -48,7 +48,7 @@ try: except ImportError: pass -__version__ = "1.19.1rc1" +__version__ = "1.19.1" if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)): # We import here so that we don't have to install a bunch of deps when -- cgit 1.5.1