Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit a6c3a61

Browse files
committed
Merge branch 'develop' of github.com:matrix-org/synapse into anoa/remote_public_rooms_list_errors
* 'develop' of github.com:matrix-org/synapse: (79 commits) Reduce the number of calls to `resource.getrusage` (#7183) Remove some `run_in_background` calls in replication code (#7203) Revert "Revert "Merge pull request #7153 from matrix-org/babolivier/sso_whitelist_login_fallback"" Revert "Revert "Improve the UX of the login fallback when using SSO (#7152)"" Revert "Merge pull request #7153 from matrix-org/babolivier/sso_whitelist_login_fallback" Revert "Improve the UX of the login fallback when using SSO (#7152)" tweak changelog 1.12.3 Update docstring per review comments Fix device list update stream ids going backward (#7158) Fix the debian build in a better way. (#7212) Fix changelog wording 1.12.2 Pin Pillow>=4.3.0,<7.1.0 to fix dep issue 1.12.1 review comment 1.12.1 Support SAML in the user interactive authentication workflow. (#7102) Allow admins to create aliases when they are not in the room (#7191) Update postgres.md (#7119) ...
2 parents fc706cc + 0f05fd1 commit a6c3a61

File tree

135 files changed

+3774
-1086
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

135 files changed

+3774
-1086
lines changed

CHANGES.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,44 @@
1+
Next version
2+
============
3+
4+
* A new template (`sso_auth_confirm.html`) was added to Synapse. If your Synapse
5+
is configured to use SSO and a custom `sso_redirect_confirm_template_dir`
6+
configuration then this template will need to be duplicated into that
7+
directory.
8+
9+
Synapse 1.12.3 (2020-04-03)
10+
===========================
11+
12+
- Remove the the pin to Pillow 7.0 which was introduced in Synapse 1.12.2, and
13+
correctly fix the issue with building the Debian packages. ([\#7212](https://github.com/matrix-org/synapse/issues/7212))
14+
15+
Synapse 1.12.2 (2020-04-02)
16+
===========================
17+
18+
This release works around [an
19+
issue](https://github.com/matrix-org/synapse/issues/7208) with building the
20+
debian packages.
21+
22+
No other significant changes since 1.12.1.
23+
24+
>>>>>>> master
25+
26+
Synapse 1.12.1 (2020-04-02)
27+
===========================
28+
29+
No significant changes since 1.12.1rc1.
30+
31+
32+
Synapse 1.12.1rc1 (2020-03-31)
33+
==============================
34+
35+
Bugfixes
36+
--------
37+
38+
- Fix starting workers when federation sending not split out. ([\#7133](https://github.com/matrix-org/synapse/issues/7133)). Introduced in v1.12.0.
39+
- Avoid importing `sqlite3` when using the postgres backend. Contributed by David Vo. ([\#7155](https://github.com/matrix-org/synapse/issues/7155)). Introduced in v1.12.0rc1.
40+
- Fix a bug which could cause outbound federation traffic to stop working if a client uploaded an incorrect e2e device signature. ([\#7177](https://github.com/matrix-org/synapse/issues/7177)). Introduced in v1.11.0.
41+
142
Synapse 1.12.0 (2020-03-23)
243
===========================
344

INSTALL.md

Lines changed: 43 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
- [Installing Synapse](#installing-synapse)
33
- [Installing from source](#installing-from-source)
44
- [Platform-Specific Instructions](#platform-specific-instructions)
5-
- [Troubleshooting Installation](#troubleshooting-installation)
65
- [Prebuilt packages](#prebuilt-packages)
76
- [Setting up Synapse](#setting-up-synapse)
87
- [TLS certificates](#tls-certificates)
98
- [Email](#email)
109
- [Registering a user](#registering-a-user)
1110
- [Setting up a TURN server](#setting-up-a-turn-server)
1211
- [URL previews](#url-previews)
12+
- [Troubleshooting Installation](#troubleshooting-installation)
1313

1414
# Choosing your server name
1515

@@ -36,7 +36,7 @@ that your email address is probably `user@example.com` rather than
3636
System requirements:
3737

3838
- POSIX-compliant system (tested on Linux & OS X)
39-
- Python 3.5, 3.6, 3.7 or 3.8.
39+
- Python 3.5.2 or later, up to Python 3.8.
4040
- At least 1GB of free RAM if you want to join large public rooms like #matrix:matrix.org
4141

4242
Synapse is written in Python but some of the libraries it uses are written in
@@ -70,7 +70,7 @@ pip install -U matrix-synapse
7070
```
7171

7272
Before you can start Synapse, you will need to generate a configuration
73-
file. To do this, run (in your virtualenv, as before)::
73+
file. To do this, run (in your virtualenv, as before):
7474

7575
```
7676
cd ~/synapse
@@ -84,22 +84,24 @@ python -m synapse.app.homeserver \
8484
... substituting an appropriate value for `--server-name`.
8585

8686
This command will generate you a config file that you can then customise, but it will
87-
also generate a set of keys for you. These keys will allow your Home Server to
88-
identify itself to other Home Servers, so don't lose or delete them. It would be
87+
also generate a set of keys for you. These keys will allow your homeserver to
88+
identify itself to other homeserver, so don't lose or delete them. It would be
8989
wise to back them up somewhere safe. (If, for whatever reason, you do need to
90-
change your Home Server's keys, you may find that other Home Servers have the
90+
change your homeserver's keys, you may find that other homeserver have the
9191
old key cached. If you update the signing key, you should change the name of the
9292
key in the `<server name>.signing.key` file (the second word) to something
9393
different. See the
9494
[spec](https://matrix.org/docs/spec/server_server/latest.html#retrieving-server-keys)
95-
for more information on key management.)
95+
for more information on key management).
9696

9797
To actually run your new homeserver, pick a working directory for Synapse to
98-
run (e.g. `~/synapse`), and::
98+
run (e.g. `~/synapse`), and:
9999

100-
cd ~/synapse
101-
source env/bin/activate
102-
synctl start
100+
```
101+
cd ~/synapse
102+
source env/bin/activate
103+
synctl start
104+
```
103105

104106
### Platform-Specific Instructions
105107

@@ -110,7 +112,7 @@ Installing prerequisites on Ubuntu or Debian:
110112
```
111113
sudo apt-get install build-essential python3-dev libffi-dev \
112114
python3-pip python3-setuptools sqlite3 \
113-
libssl-dev python3-virtualenv libjpeg-dev libxslt1-dev
115+
libssl-dev virtualenv libjpeg-dev libxslt1-dev
114116
```
115117

116118
#### ArchLinux
@@ -188,15 +190,15 @@ doas pkg_add python libffi py-pip py-setuptools sqlite3 py-virtualenv \
188190
There is currently no port for OpenBSD. Additionally, OpenBSD's security
189191
settings require a slightly more difficult installation process.
190192

191-
XXX: I suspect this is out of date.
193+
(XXX: I suspect this is out of date)
192194

193195
1. Create a new directory in `/usr/local` called `_synapse`. Also, create a
194196
new user called `_synapse` and set that directory as the new user's home.
195197
This is required because, by default, OpenBSD only allows binaries which need
196198
write and execute permissions on the same memory space to be run from
197199
`/usr/local`.
198200
2. `su` to the new `_synapse` user and change to their home directory.
199-
3. Create a new virtualenv: `virtualenv -p python2.7 ~/.synapse`
201+
3. Create a new virtualenv: `virtualenv -p python3 ~/.synapse`
200202
4. Source the virtualenv configuration located at
201203
`/usr/local/_synapse/.synapse/bin/activate`. This is done in `ksh` by
202204
using the `.` command, rather than `bash`'s `source`.
@@ -217,45 +219,6 @@ be found at https://docs.microsoft.com/en-us/windows/wsl/install-win10 for
217219
Windows 10 and https://docs.microsoft.com/en-us/windows/wsl/install-on-server
218220
for Windows Server.
219221

220-
### Troubleshooting Installation
221-
222-
XXX a bunch of this is no longer relevant.
223-
224-
Synapse requires pip 8 or later, so if your OS provides too old a version you
225-
may need to manually upgrade it::
226-
227-
sudo pip install --upgrade pip
228-
229-
Installing may fail with `Could not find any downloads that satisfy the requirement pymacaroons-pynacl (from matrix-synapse==0.12.0)`.
230-
You can fix this by manually upgrading pip and virtualenv::
231-
232-
sudo pip install --upgrade virtualenv
233-
234-
You can next rerun `virtualenv -p python3 synapse` to update the virtual env.
235-
236-
Installing may fail during installing virtualenv with `InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.`
237-
You can fix this by manually installing ndg-httpsclient::
238-
239-
pip install --upgrade ndg-httpsclient
240-
241-
Installing may fail with `mock requires setuptools>=17.1. Aborting installation`.
242-
You can fix this by upgrading setuptools::
243-
244-
pip install --upgrade setuptools
245-
246-
If pip crashes mid-installation for reason (e.g. lost terminal), pip may
247-
refuse to run until you remove the temporary installation directory it
248-
created. To reset the installation::
249-
250-
rm -rf /tmp/pip_install_matrix
251-
252-
pip seems to leak *lots* of memory during installation. For instance, a Linux
253-
host with 512MB of RAM may run out of memory whilst installing Twisted. If this
254-
happens, you will have to individually install the dependencies which are
255-
failing, e.g.::
256-
257-
pip install twisted
258-
259222
## Prebuilt packages
260223

261224
As an alternative to installing from source, prebuilt packages are available
@@ -314,7 +277,7 @@ For `buster` and `sid`, Synapse is available in the Debian repositories and
314277
it should be possible to install it with simply:
315278

316279
```
317-
sudo apt install matrix-synapse
280+
sudo apt install matrix-synapse
318281
```
319282

320283
There is also a version of `matrix-synapse` in `stretch-backports`. Please see
@@ -375,8 +338,10 @@ sudo pip install py-bcrypt
375338

376339
Synapse can be found in the void repositories as 'synapse':
377340

378-
xbps-install -Su
379-
xbps-install -S synapse
341+
```
342+
xbps-install -Su
343+
xbps-install -S synapse
344+
```
380345

381346
### FreeBSD
382347

@@ -420,22 +385,23 @@ so, you will need to edit `homeserver.yaml`, as follows:
420385
resources:
421386
- names: [client, federation]
422387
```
388+
423389
* You will also need to uncomment the `tls_certificate_path` and
424390
`tls_private_key_path` lines under the `TLS` section. You can either
425391
point these settings at an existing certificate and key, or you can
426392
enable Synapse's built-in ACME (Let's Encrypt) support. Instructions
427393
for having Synapse automatically provision and renew federation
428394
certificates through ACME can be found at [ACME.md](docs/ACME.md).
429395
Note that, as pointed out in that document, this feature will not
430-
work with installs set up after November 2019.
431-
396+
work with installs set up after November 2019.
397+
432398
If you are using your own certificate, be sure to use a `.pem` file that
433399
includes the full certificate chain including any intermediate certificates
434400
(for instance, if using certbot, use `fullchain.pem` as your certificate, not
435401
`cert.pem`).
436402

437403
For a more detailed guide to configuring your server for federation, see
438-
[federate.md](docs/federate.md)
404+
[federate.md](docs/federate.md).
439405

440406

441407
## Email
@@ -482,7 +448,7 @@ on your server even if `enable_registration` is `false`.
482448
## Setting up a TURN server
483449

484450
For reliable VoIP calls to be routed via this homeserver, you MUST configure
485-
a TURN server. See [docs/turn-howto.md](docs/turn-howto.md) for details.
451+
a TURN server. See [docs/turn-howto.md](docs/turn-howto.md) for details.
486452

487453
## URL previews
488454

@@ -491,10 +457,24 @@ turn it on you must enable the `url_preview_enabled: True` config parameter
491457
and explicitly specify the IP ranges that Synapse is not allowed to spider for
492458
previewing in the `url_preview_ip_range_blacklist` configuration parameter.
493459
This is critical from a security perspective to stop arbitrary Matrix users
494-
spidering 'internal' URLs on your network. At the very least we recommend that
460+
spidering 'internal' URLs on your network. At the very least we recommend that
495461
your loopback and RFC1918 IP addresses are blacklisted.
496462

497-
This also requires the optional lxml and netaddr python dependencies to be
498-
installed. This in turn requires the libxml2 library to be available - on
463+
This also requires the optional `lxml` and `netaddr` python dependencies to be
464+
installed. This in turn requires the `libxml2` library to be available - on
499465
Debian/Ubuntu this means `apt-get install libxml2-dev`, or equivalent for
500466
your OS.
467+
468+
# Troubleshooting Installation
469+
470+
`pip` seems to leak *lots* of memory during installation. For instance, a Linux
471+
host with 512MB of RAM may run out of memory whilst installing Twisted. If this
472+
happens, you will have to individually install the dependencies which are
473+
failing, e.g.:
474+
475+
```
476+
pip install twisted
477+
```
478+
479+
If you have any other problems, feel free to ask in
480+
[#synapse:matrix.org](https://matrix.to/#/#synapse:matrix.org).

changelog.d/6573.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Don't attempt to use an invalid sqlite config if no database configuration is provided. Contributed by @nekatak.

changelog.d/6639.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix missing field `default` when fetching user-defined push rules.

changelog.d/6892.doc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Update Debian installation instructions to recommend installing the `virtualenv` package instead of `python3-virtualenv`.

changelog.d/6946.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Transfer alias mappings on room upgrade.

changelog.d/7024.misc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Move catchup of replication streams logic to worker.

changelog.d/7051.feature

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Admin API `POST /_synapse/admin/v1/join/<roomIdOrAlias>` to join users to a room like `auto_join_rooms` for creation of users.

changelog.d/7068.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Ensure that a user inteactive authentication session is tied to a single request.

changelog.d/7096.feature

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add options to prevent users from changing their profile or associated 3PIDs.

0 commit comments

Comments
 (0)