New upstream version 1.12.3
Andrej Shadura
4 years ago
0 | Synapse 1.12.3 (2020-04-03) | |
1 | =========================== | |
2 | ||
3 | - Remove the the pin to Pillow 7.0 which was introduced in Synapse 1.12.2, and | |
4 | correctly fix the issue with building the Debian packages. ([\#7212](https://github.com/matrix-org/synapse/issues/7212)) | |
5 | ||
6 | Synapse 1.12.2 (2020-04-02) | |
7 | =========================== | |
8 | ||
9 | This release works around [an | |
10 | issue](https://github.com/matrix-org/synapse/issues/7208) with building the | |
11 | debian packages. | |
12 | ||
13 | No other significant changes since 1.12.1. | |
14 | ||
15 | ||
16 | Synapse 1.12.1 (2020-04-02) | |
17 | =========================== | |
18 | ||
19 | No significant changes since 1.12.1rc1. | |
20 | ||
21 | ||
22 | Synapse 1.12.1rc1 (2020-03-31) | |
23 | ============================== | |
24 | ||
25 | Bugfixes | |
26 | -------- | |
27 | ||
28 | - Fix starting workers when federation sending not split out. ([\#7133](https://github.com/matrix-org/synapse/issues/7133)). Introduced in v1.12.0. | |
29 | - 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. | |
30 | - 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. | |
31 | ||
32 | ||
0 | 33 | Synapse 1.12.0 (2020-03-23) |
1 | 34 | =========================== |
2 | 35 |
0 | matrix-synapse-py3 (1.12.3) stable; urgency=medium | |
1 | ||
2 | [ Richard van der Hoff ] | |
3 | * Update the Debian build scripts to handle the new installation paths | |
4 | for the support libraries introduced by Pillow 7.1.1. | |
5 | ||
6 | [ Synapse Packaging team ] | |
7 | * New synapse release 1.12.3. | |
8 | ||
9 | -- Synapse Packaging team <packages@matrix.org> Fri, 03 Apr 2020 10:55:03 +0100 | |
10 | ||
11 | matrix-synapse-py3 (1.12.2) stable; urgency=medium | |
12 | ||
13 | * New synapse release 1.12.2. | |
14 | ||
15 | -- Synapse Packaging team <packages@matrix.org> Mon, 02 Apr 2020 19:02:17 +0000 | |
16 | ||
17 | matrix-synapse-py3 (1.12.1) stable; urgency=medium | |
18 | ||
19 | * New synapse release 1.12.1. | |
20 | ||
21 | -- Synapse Packaging team <packages@matrix.org> Mon, 02 Apr 2020 11:30:47 +0000 | |
22 | ||
0 | 23 | matrix-synapse-py3 (1.12.0) stable; urgency=medium |
1 | 24 | |
2 | 25 | * New synapse release 1.12.0. |
14 | 14 | # we don't really want to strip the symbols from our object files. |
15 | 15 | override_dh_strip: |
16 | 16 | |
17 | # dh_shlibdeps calls dpkg-shlibdeps, which finds all the binary files | |
18 | # (executables and shared libs) in the package, and looks for the shared | |
19 | # libraries that they depend on. It then adds a dependency on the package that | |
20 | # contains that library to the package. | |
21 | # | |
22 | # We make two modifications to that process... | |
23 | # | |
17 | 24 | override_dh_shlibdeps: |
18 | # make the postgres package's dependencies a recommendation | |
19 | # rather than a hard dependency. | |
25 | # Firstly, postgres is not a hard dependency for us, so we want to make | |
26 | # the things that psycopg2 depends on (such as libpq) be | |
27 | # recommendations rather than hard dependencies. We do so by | |
28 | # running dpkg-shlibdeps manually on psycopg2's libs. | |
29 | # | |
20 | 30 | find debian/$(PACKAGE_NAME)/ -path '*/site-packages/psycopg2/*.so' | \ |
21 | 31 | xargs dpkg-shlibdeps -Tdebian/$(PACKAGE_NAME).substvars \ |
22 | 32 | -pshlibs1 -dRecommends |
23 | 33 | |
24 | # all the other dependencies can be normal 'Depends' requirements, | |
25 | # except for PIL's, which is self-contained and which confuses | |
26 | # dpkg-shlibdeps. | |
27 | dh_shlibdeps -X site-packages/PIL/.libs -X site-packages/psycopg2 | |
34 | # secondly, we exclude PIL's libraries from the process. They are known | |
35 | # to be self-contained, but they have interdependencies and | |
36 | # dpkg-shlibdeps doesn't know how to resolve them. | |
37 | # | |
38 | # As of Pillow 7.1.0, these libraries are in | |
39 | # site-packages/Pillow.libs. Previously, they were in | |
40 | # site-packages/PIL/.libs. | |
41 | # | |
42 | # (we also need to exclude psycopg2, of course, since we've already | |
43 | # dealt with that.) | |
44 | # | |
45 | dh_shlibdeps \ | |
46 | -X site-packages/PIL/.libs \ | |
47 | -X site-packages/Pillow.libs \ | |
48 | -X site-packages/psycopg2 | |
28 | 49 | |
29 | 50 | override_dh_virtualenv: |
30 | 51 | ./debian/build_virtualenv |
35 | 35 | except ImportError: |
36 | 36 | pass |
37 | 37 | |
38 | __version__ = "1.12.0" | |
38 | __version__ = "1.12.3" | |
39 | 39 | |
40 | 40 | if bool(os.environ.get("SYNAPSE_TEST_PATCH_LOG_CONTEXTS", False)): |
41 | 41 | # We import here so that we don't have to install a bunch of deps when |
859 | 859 | |
860 | 860 | # Force the appservice to start since they will be disabled in the main config |
861 | 861 | config.notify_appservices = True |
862 | else: | |
863 | # For other worker types we force this to off. | |
864 | config.notify_appservices = False | |
862 | 865 | |
863 | 866 | if config.worker_app == "synapse.app.pusher": |
864 | 867 | if config.start_pushers: |
872 | 875 | |
873 | 876 | # Force the pushers to start since they will be disabled in the main config |
874 | 877 | config.start_pushers = True |
878 | else: | |
879 | # For other worker types we force this to off. | |
880 | config.start_pushers = False | |
875 | 881 | |
876 | 882 | if config.worker_app == "synapse.app.user_dir": |
877 | 883 | if config.update_user_directory: |
885 | 891 | |
886 | 892 | # Force the pushers to start since they will be disabled in the main config |
887 | 893 | config.update_user_directory = True |
894 | else: | |
895 | # For other worker types we force this to off. | |
896 | config.update_user_directory = False | |
888 | 897 | |
889 | 898 | if config.worker_app == "synapse.app.federation_sender": |
890 | 899 | if config.send_federation: |
898 | 907 | |
899 | 908 | # Force the pushers to start since they will be disabled in the main config |
900 | 909 | config.send_federation = True |
910 | else: | |
911 | # For other worker types we force this to off. | |
912 | config.send_federation = False | |
901 | 913 | |
902 | 914 | synapse.events.USE_FROZEN_DICTS = config.use_frozen_dicts |
903 | 915 |
316 | 316 | key_json = device.get("key_json", None) |
317 | 317 | if key_json: |
318 | 318 | result["keys"] = db_to_json(key_json) |
319 | ||
320 | if "signatures" in device: | |
321 | for sig_user_id, sigs in device["signatures"].items(): | |
322 | result["keys"].setdefault("signatures", {}).setdefault( | |
323 | sig_user_id, {} | |
324 | ).update(sigs) | |
325 | ||
319 | 326 | device_display_name = device.get("device_display_name", None) |
320 | 327 | if device_display_name: |
321 | 328 | result["device_display_name"] = device_display_name |
322 | if "signatures" in device: | |
323 | for sig_user_id, sigs in device["signatures"].items(): | |
324 | result["keys"].setdefault("signatures", {}).setdefault( | |
325 | sig_user_id, {} | |
326 | ).update(sigs) | |
327 | 329 | else: |
328 | 330 | result["deleted"] = True |
329 | 331 | |
524 | 526 | key_json = device.get("key_json", None) |
525 | 527 | if key_json: |
526 | 528 | result["keys"] = db_to_json(key_json) |
529 | ||
530 | if "signatures" in device: | |
531 | for sig_user_id, sigs in device["signatures"].items(): | |
532 | result["keys"].setdefault("signatures", {}).setdefault( | |
533 | sig_user_id, {} | |
534 | ).update(sigs) | |
535 | ||
527 | 536 | device_display_name = device.get("device_display_name", None) |
528 | 537 | if device_display_name: |
529 | 538 | result["device_display_name"] = device_display_name |
530 | if "signatures" in device: | |
531 | for sig_user_id, sigs in device["signatures"].items(): | |
532 | result["keys"].setdefault("signatures", {}).setdefault( | |
533 | sig_user_id, {} | |
534 | ).update(sigs) | |
535 | 539 | |
536 | 540 | results.append(result) |
537 | 541 |
11 | 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
12 | 12 | # See the License for the specific language governing permissions and |
13 | 13 | # limitations under the License. |
14 | import sqlite3 | |
15 | 14 | import struct |
16 | 15 | import threading |
16 | import typing | |
17 | 17 | |
18 | 18 | from synapse.storage.engines import BaseDatabaseEngine |
19 | 19 | |
20 | if typing.TYPE_CHECKING: | |
21 | import sqlite3 # noqa: F401 | |
20 | 22 | |
21 | class Sqlite3Engine(BaseDatabaseEngine[sqlite3.Connection]): | |
23 | ||
24 | class Sqlite3Engine(BaseDatabaseEngine["sqlite3.Connection"]): | |
22 | 25 | def __init__(self, database_module, database_config): |
23 | 26 | super().__init__(database_module, database_config) |
24 | 27 |