Newer
Older
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
- Log failure to authenticate remote servers as warnings (without stack traces) ([\#3727](https://github.com/matrix-org/synapse/issues/3727))
- The CONTRIBUTING guidelines have been updated to mention our use of Markdown and that .misc files have content. ([\#3730](https://github.com/matrix-org/synapse/issues/3730))
- Reference the need for an HTTP replication port when using the federation_reader worker ([\#3734](https://github.com/matrix-org/synapse/issues/3734))
- Fix minor spelling error in federation client documentation. ([\#3735](https://github.com/matrix-org/synapse/issues/3735))
- Remove redundant state resolution function ([\#3737](https://github.com/matrix-org/synapse/issues/3737))
- The test suite now passes on PostgreSQL. ([\#3740](https://github.com/matrix-org/synapse/issues/3740))
- Fix MAU cache invalidation due to missing yield ([\#3746](https://github.com/matrix-org/synapse/issues/3746))
- Make sure that we close db connections opened during init ([\#3764](https://github.com/matrix-org/synapse/issues/3764))
Synapse 0.33.3 (2018-08-22)
===========================
Bugfixes
--------
- Fix bug introduced in v0.33.3rc1 which made the ToS give a 500 error ([\#3732](https://github.com/matrix-org/synapse/issues/3732))
Synapse 0.33.3rc2 (2018-08-21)
==============================
Bugfixes
--------
- Fix bug in v0.33.3rc1 which caused infinite loops and OOMs ([\#3723](https://github.com/matrix-org/synapse/issues/3723))
Synapse 0.33.3rc1 (2018-08-21)
==============================
Features
--------
- Add support for the SNI extension to federation TLS connections. Thanks to @vojeroen! ([\#3439](https://github.com/matrix-org/synapse/issues/3439))
- Add /_media/r0/config ([\#3184](https://github.com/matrix-org/synapse/issues/3184))
- speed up /members API and add `at` and `membership` params as per MSC1227 ([\#3568](https://github.com/matrix-org/synapse/issues/3568))
- implement `summary` block in /sync response as per MSC688 ([\#3574](https://github.com/matrix-org/synapse/issues/3574))
- Add lazy-loading support to /messages as per MSC1227 ([\#3589](https://github.com/matrix-org/synapse/issues/3589))
- Add ability to limit number of monthly active users on the server ([\#3633](https://github.com/matrix-org/synapse/issues/3633))
- Support more federation endpoints on workers ([\#3653](https://github.com/matrix-org/synapse/issues/3653))
- Basic support for room versioning ([\#3654](https://github.com/matrix-org/synapse/issues/3654))
- Ability to disable client/server Synapse via conf toggle ([\#3655](https://github.com/matrix-org/synapse/issues/3655))
- Ability to whitelist specific threepids against monthly active user limiting ([\#3662](https://github.com/matrix-org/synapse/issues/3662))
- Add some metrics for the appservice and federation event sending loops ([\#3664](https://github.com/matrix-org/synapse/issues/3664))
- Where server is disabled, block ability for locked out users to read new messages ([\#3670](https://github.com/matrix-org/synapse/issues/3670))
- set admin uri via config, to be used in error messages where the user should contact the administrator ([\#3687](https://github.com/matrix-org/synapse/issues/3687))
- Synapse's presence functionality can now be disabled with the "use_presence" configuration option. ([\#3694](https://github.com/matrix-org/synapse/issues/3694))
- For resource limit blocked users, prevent writing into rooms ([\#3708](https://github.com/matrix-org/synapse/issues/3708))
Bugfixes
--------
- Fix occasional glitches in the synapse_event_persisted_position metric ([\#3658](https://github.com/matrix-org/synapse/issues/3658))
- Fix bug on deleting 3pid when using identity servers that don't support unbind API ([\#3661](https://github.com/matrix-org/synapse/issues/3661))
- Make the tests pass on Twisted < 18.7.0 ([\#3676](https://github.com/matrix-org/synapse/issues/3676))
- Don’t ship recaptcha_ajax.js, use it directly from Google ([\#3677](https://github.com/matrix-org/synapse/issues/3677))
- Fixes test_reap_monthly_active_users so it passes under postgres ([\#3681](https://github.com/matrix-org/synapse/issues/3681))
- Fix mau blocking calulation bug on login ([\#3689](https://github.com/matrix-org/synapse/issues/3689))
- Fix missing yield in synapse.storage.monthly_active_users.initialise_reserved_users ([\#3692](https://github.com/matrix-org/synapse/issues/3692))
- Improve HTTP request logging to include all requests ([\#3700](https://github.com/matrix-org/synapse/issues/3700))
- Avoid timing out requests while we are streaming back the response ([\#3701](https://github.com/matrix-org/synapse/issues/3701))
- Support more federation endpoints on workers ([\#3705](https://github.com/matrix-org/synapse/issues/3705), [\#3713](https://github.com/matrix-org/synapse/issues/3713))
- Fix "Starting db txn 'get_all_updated_receipts' from sentinel context" warning ([\#3710](https://github.com/matrix-org/synapse/issues/3710))
- Fix bug where `state_cache` cache factor ignored environment variables ([\#3719](https://github.com/matrix-org/synapse/issues/3719))
Deprecations and Removals
-------------------------
- The Shared-Secret registration method of the legacy v1/register REST endpoint has been removed. For a replacement, please see [the admin/register API documentation](https://github.com/matrix-org/synapse/blob/master/docs/admin_api/register_api.rst). ([\#3703](https://github.com/matrix-org/synapse/issues/3703))
Internal Changes
----------------
- The test suite now can run under PostgreSQL. ([\#3423](https://github.com/matrix-org/synapse/issues/3423))
- Refactor HTTP replication endpoints to reduce code duplication ([\#3632](https://github.com/matrix-org/synapse/issues/3632))
- Tests now correctly execute on Python 3. ([\#3647](https://github.com/matrix-org/synapse/issues/3647))
- Sytests can now be run inside a Docker container. ([\#3660](https://github.com/matrix-org/synapse/issues/3660))
- Port over enough to Python 3 to allow the sytests to start. ([\#3668](https://github.com/matrix-org/synapse/issues/3668))
- Update docker base image from alpine 3.7 to 3.8. ([\#3669](https://github.com/matrix-org/synapse/issues/3669))
- Rename synapse.util.async to synapse.util.async_helpers to mitigate async becoming a keyword on Python 3.7. ([\#3678](https://github.com/matrix-org/synapse/issues/3678))
- Synapse's tests are now formatted with the black autoformatter. ([\#3679](https://github.com/matrix-org/synapse/issues/3679))
- Implemented a new testing base class to reduce test boilerplate. ([\#3684](https://github.com/matrix-org/synapse/issues/3684))
- Rename MAU prometheus metrics ([\#3690](https://github.com/matrix-org/synapse/issues/3690))
- add new error type ResourceLimit ([\#3707](https://github.com/matrix-org/synapse/issues/3707))
- Logcontexts for replication command handlers ([\#3709](https://github.com/matrix-org/synapse/issues/3709))
- Update admin register API documentation to reference a real user ID. ([\#3712](https://github.com/matrix-org/synapse/issues/3712))
Synapse 0.33.2 (2018-08-09)
===========================
No significant changes.
Synapse 0.33.2rc1 (2018-08-07)
==============================
Features
--------
- add support for the lazy_loaded_members filter as per MSC1227 ([\#2970](https://github.com/matrix-org/synapse/issues/2970))
- add support for the include_redundant_members filter param as per MSC1227 ([\#3331](https://github.com/matrix-org/synapse/issues/3331))
- Add metrics to track resource usage by background processes ([\#3553](https://github.com/matrix-org/synapse/issues/3553), [\#3556](https://github.com/matrix-org/synapse/issues/3556), [\#3604](https://github.com/matrix-org/synapse/issues/3604), [\#3610](https://github.com/matrix-org/synapse/issues/3610))
- Add `code` label to `synapse_http_server_response_time_seconds` prometheus metric ([\#3554](https://github.com/matrix-org/synapse/issues/3554))
- Add support for client_reader to handle more APIs ([\#3555](https://github.com/matrix-org/synapse/issues/3555), [\#3597](https://github.com/matrix-org/synapse/issues/3597))
- make the /context API filter & lazy-load aware as per MSC1227 ([\#3567](https://github.com/matrix-org/synapse/issues/3567))
- Add ability to limit number of monthly active users on the server ([\#3630](https://github.com/matrix-org/synapse/issues/3630))
- When we fail to join a room over federation, pass the error code back to the client. ([\#3639](https://github.com/matrix-org/synapse/issues/3639))
- Add a new /admin/register API for non-interactively creating users. ([\#3415](https://github.com/matrix-org/synapse/issues/3415))
Bugfixes
--------
- Make /directory/list API return 404 for room not found instead of 400. Thanks to @fuzzmz! ([\#3620](https://github.com/matrix-org/synapse/issues/3620))
- Default inviter_display_name to mxid for email invites ([\#3391](https://github.com/matrix-org/synapse/issues/3391))
- Don't generate TURN credentials if no TURN config options are set ([\#3514](https://github.com/matrix-org/synapse/issues/3514))
- Correctly announce deleted devices over federation ([\#3520](https://github.com/matrix-org/synapse/issues/3520))
- Catch failures saving metrics captured by Measure, and instead log the faulty metrics information for further analysis. ([\#3548](https://github.com/matrix-org/synapse/issues/3548))
- Unicode passwords are now normalised before hashing, preventing the instance where two different devices or browsers might send a different UTF-8 sequence for the password. ([\#3569](https://github.com/matrix-org/synapse/issues/3569))
- Fix potential stack overflow and deadlock under heavy load ([\#3570](https://github.com/matrix-org/synapse/issues/3570))
- Respond with M_NOT_FOUND when profiles are not found locally or over federation. Fixes #3585 ([\#3585](https://github.com/matrix-org/synapse/issues/3585))
- Fix failure to persist events over federation under load ([\#3601](https://github.com/matrix-org/synapse/issues/3601))
- Fix updating of cached remote profiles ([\#3605](https://github.com/matrix-org/synapse/issues/3605))
- Fix 'tuple index out of range' error ([\#3607](https://github.com/matrix-org/synapse/issues/3607))
- Only import secrets when available (fix for py < 3.6) ([\#3626](https://github.com/matrix-org/synapse/issues/3626))
Internal Changes
----------------
- Remove redundant checks on who_forgot_in_room ([\#3350](https://github.com/matrix-org/synapse/issues/3350))
- Remove unnecessary event re-signing hacks ([\#3367](https://github.com/matrix-org/synapse/issues/3367))
- Rewrite cache list decorator ([\#3384](https://github.com/matrix-org/synapse/issues/3384))
- Move v1-only REST APIs into their own module. ([\#3460](https://github.com/matrix-org/synapse/issues/3460))
- Replace more instances of Python 2-only iteritems and itervalues uses. ([\#3562](https://github.com/matrix-org/synapse/issues/3562))
- Refactor EventContext to accept state during init ([\#3577](https://github.com/matrix-org/synapse/issues/3577))
- Improve Dockerfile and docker-compose instructions ([\#3543](https://github.com/matrix-org/synapse/issues/3543))
- Release notes are now in the Markdown format. ([\#3552](https://github.com/matrix-org/synapse/issues/3552))
- add config for pep8 ([\#3559](https://github.com/matrix-org/synapse/issues/3559))
- Merge Linearizer and Limiter ([\#3571](https://github.com/matrix-org/synapse/issues/3571), [\#3572](https://github.com/matrix-org/synapse/issues/3572))
- Lazily load state on master process when using workers to reduce DB consumption ([\#3579](https://github.com/matrix-org/synapse/issues/3579), [\#3581](https://github.com/matrix-org/synapse/issues/3581), [\#3582](https://github.com/matrix-org/synapse/issues/3582), [\#3584](https://github.com/matrix-org/synapse/issues/3584))
- Fixes and optimisations for resolve_state_groups ([\#3586](https://github.com/matrix-org/synapse/issues/3586))
- Improve logging for exceptions when handling PDUs ([\#3587](https://github.com/matrix-org/synapse/issues/3587))
- Add some measure blocks to persist_events ([\#3590](https://github.com/matrix-org/synapse/issues/3590))
- Fix some random logcontext leaks. ([\#3591](https://github.com/matrix-org/synapse/issues/3591), [\#3606](https://github.com/matrix-org/synapse/issues/3606))
- Speed up calculating state deltas in persist_event loop ([\#3592](https://github.com/matrix-org/synapse/issues/3592))
- Attempt to reduce amount of state pulled out of DB during persist_events ([\#3595](https://github.com/matrix-org/synapse/issues/3595))
- Fix a documentation typo in on_make_leave_request ([\#3609](https://github.com/matrix-org/synapse/issues/3609))
- Make EventStore inherit from EventFederationStore ([\#3612](https://github.com/matrix-org/synapse/issues/3612))
- Remove some redundant joins on event_edges.room_id ([\#3613](https://github.com/matrix-org/synapse/issues/3613))
- Stop populating events.content ([\#3614](https://github.com/matrix-org/synapse/issues/3614))
- Update the /send_leave path registration to use event_id rather than a transaction ID. ([\#3616](https://github.com/matrix-org/synapse/issues/3616))
- Refactor FederationHandler to move DB writes into separate functions ([\#3621](https://github.com/matrix-org/synapse/issues/3621))
- Remove unused field "pdu_failures" from transactions. ([\#3628](https://github.com/matrix-org/synapse/issues/3628))
- rename replication_layer to federation_client ([\#3634](https://github.com/matrix-org/synapse/issues/3634))
- Factor out exception handling in federation_client ([\#3638](https://github.com/matrix-org/synapse/issues/3638))
- Refactor location of docker build script. ([\#3644](https://github.com/matrix-org/synapse/issues/3644))
- Update CONTRIBUTING to mention newsfragments. ([\#3645](https://github.com/matrix-org/synapse/issues/3645))
Synapse 0.33.1 (2018-08-02)
===========================
SECURITY FIXES
--------------
- Fix a potential issue where servers could request events for rooms they have not joined. ([\#3641](https://github.com/matrix-org/synapse/issues/3641))
- Fix a potential issue where users could see events in private rooms before they joined. ([\#3642](https://github.com/matrix-org/synapse/issues/3642))
Synapse 0.33.0 (2018-07-19)
===========================
Bugfixes
--------
- Disable a noisy warning about logcontexts. ([\#3561](https://github.com/matrix-org/synapse/issues/3561))
Synapse 0.33.0rc1 (2018-07-18)
==============================
Features
--------
- Enforce the specified API for report\_event. ([\#3316](https://github.com/matrix-org/synapse/issues/3316))
- Include CPU time from database threads in request/block metrics. ([\#3496](https://github.com/matrix-org/synapse/issues/3496), [\#3501](https://github.com/matrix-org/synapse/issues/3501))
- Add CPU metrics for \_fetch\_event\_list. ([\#3497](https://github.com/matrix-org/synapse/issues/3497))
- Optimisation to make handling incoming federation requests more efficient. ([\#3541](https://github.com/matrix-org/synapse/issues/3541))
Bugfixes
--------
- Fix a significant performance regression in /sync. ([\#3505](https://github.com/matrix-org/synapse/issues/3505), [\#3521](https://github.com/matrix-org/synapse/issues/3521), [\#3530](https://github.com/matrix-org/synapse/issues/3530), [\#3544](https://github.com/matrix-org/synapse/issues/3544))
- Use more portable syntax in our use of the attrs package, widening the supported versions. ([\#3498](https://github.com/matrix-org/synapse/issues/3498))
- Fix queued federation requests being processed in the wrong order. ([\#3533](https://github.com/matrix-org/synapse/issues/3533))
- Ensure that erasure requests are correctly honoured for publicly accessible rooms when accessed over federation. ([\#3546](https://github.com/matrix-org/synapse/issues/3546))
Misc
----
- Refactoring to improve testability. ([\#3351](https://github.com/matrix-org/synapse/issues/3351), [\#3499](https://github.com/matrix-org/synapse/issues/3499))
- Use `isort` to sort imports. ([\#3463](https://github.com/matrix-org/synapse/issues/3463), [\#3464](https://github.com/matrix-org/synapse/issues/3464), [\#3540](https://github.com/matrix-org/synapse/issues/3540))
- Use parse and asserts from http.servlet. ([\#3534](https://github.com/matrix-org/synapse/issues/3534), [\#3535](https://github.com/matrix-org/synapse/issues/3535)).
Synapse 0.32.2 (2018-07-07)
===========================
Bugfixes
--------
- Amend the Python dependencies to depend on attrs from PyPI, not attr ([\#3492](https://github.com/matrix-org/synapse/issues/3492))
Synapse 0.32.1 (2018-07-06)
===========================
Bugfixes
--------
- Add explicit dependency on netaddr ([\#3488](https://github.com/matrix-org/synapse/issues/3488))
Changes in synapse v0.32.0 (2018-07-06)
=======================================
No changes since 0.32.0rc1
Synapse 0.32.0rc1 (2018-07-05)
==============================
Features
--------
- Add blacklist & whitelist of servers allowed to send events to a room via `m.room.server_acl` event.
- Cache factor override system for specific caches ([\#3334](https://github.com/matrix-org/synapse/issues/3334))
- Add metrics to track appservice transactions ([\#3344](https://github.com/matrix-org/synapse/issues/3344))
- Try to log more helpful info when a sig verification fails ([\#3372](https://github.com/matrix-org/synapse/issues/3372))
- Synapse now uses the best performing JSON encoder/decoder according to your runtime (simplejson on CPython, stdlib json on PyPy). ([\#3462](https://github.com/matrix-org/synapse/issues/3462))
- Add optional ip\_range\_whitelist param to AS registration files to lock AS IP access ([\#3465](https://github.com/matrix-org/synapse/issues/3465))
- Reject invalid server names in federation requests ([\#3480](https://github.com/matrix-org/synapse/issues/3480))
- Reject invalid server names in homeserver.yaml ([\#3483](https://github.com/matrix-org/synapse/issues/3483))
Bugfixes
--------
- Strip access\_token from outgoing requests ([\#3327](https://github.com/matrix-org/synapse/issues/3327))
- Redact AS tokens in logs ([\#3349](https://github.com/matrix-org/synapse/issues/3349))
- Fix federation backfill from SQLite servers ([\#3355](https://github.com/matrix-org/synapse/issues/3355))
- Fix event-purge-by-ts admin API ([\#3363](https://github.com/matrix-org/synapse/issues/3363))
- Fix event filtering in get\_missing\_events handler ([\#3371](https://github.com/matrix-org/synapse/issues/3371))
- Synapse is now stricter regarding accepting events which it cannot retrieve the prev\_events for. ([\#3456](https://github.com/matrix-org/synapse/issues/3456))
- Fix bug where synapse would explode when receiving unicode in HTTP User-Agent header ([\#3470](https://github.com/matrix-org/synapse/issues/3470))
- Invalidate cache on correct thread to avoid race ([\#3473](https://github.com/matrix-org/synapse/issues/3473))
Improved Documentation
----------------------
- `doc/postgres.rst`: fix display of the last command block. Thanks to @ArchangeGabriel! ([\#3340](https://github.com/matrix-org/synapse/issues/3340))
Deprecations and Removals
-------------------------
- Remove was\_forgotten\_at ([\#3324](https://github.com/matrix-org/synapse/issues/3324))
Misc
----
- [\#3332](https://github.com/matrix-org/synapse/issues/3332), [\#3341](https://github.com/matrix-org/synapse/issues/3341), [\#3347](https://github.com/matrix-org/synapse/issues/3347), [\#3348](https://github.com/matrix-org/synapse/issues/3348), [\#3356](https://github.com/matrix-org/synapse/issues/3356), [\#3385](https://github.com/matrix-org/synapse/issues/3385), [\#3446](https://github.com/matrix-org/synapse/issues/3446), [\#3447](https://github.com/matrix-org/synapse/issues/3447), [\#3467](https://github.com/matrix-org/synapse/issues/3467), [\#3474](https://github.com/matrix-org/synapse/issues/3474)
Changes in synapse v0.31.2 (2018-06-14)
=======================================
SECURITY UPDATE: Prevent unauthorised users from setting state events in a room when there is no `m.room.power_levels` event in force in the room. (PR #3397)
Discussion around the Matrix Spec change proposal for this change can be followed at <https://github.com/matrix-org/matrix-doc/issues/1304>.
Changes in synapse v0.31.1 (2018-06-08)
=======================================
v0.31.1 fixes a security bug in the `get_missing_events` federation API where event visibility rules were not applied correctly.
We are not aware of it being actively exploited but please upgrade asap.
Bug Fixes:
- Fix event filtering in get\_missing\_events handler (PR #3371)
Changes in synapse v0.31.0 (2018-06-06)
=======================================
Most notable change from v0.30.0 is to switch to the python prometheus library to improve system stats reporting. WARNING: this changes a number of prometheus metrics in a backwards-incompatible manner. For more details, see [docs/metrics-howto.rst](docs/metrics-howto.rst#removal-of-deprecated-metrics--time-based-counters-becoming-histograms-in-0310).
Bug Fixes:
- Fix metric documentation tables (PR #3341)
- Fix LaterGauge error handling (694968f)
- Fix replication metrics (b7e7fd2)
Changes in synapse v0.31.0-rc1 (2018-06-04)
===========================================
Features:
- Switch to the Python Prometheus library (PR #3256, #3274)
- Let users leave the server notice room after joining (PR #3287)
Changes:
- daily user type phone home stats (PR #3264)
- Use iter\* methods for \_filter\_events\_for\_server (PR #3267)
- Docs on consent bits (PR #3268)
- Remove users from user directory on deactivate (PR #3277)
- Avoid sending consent notice to guest users (PR #3288)
- disable CPUMetrics if no /proc/self/stat (PR #3299)
- Consistently use six\'s iteritems and wrap lazy keys/values in list() if they\'re not meant to be lazy (PR #3307)
- Add private IPv6 addresses to example config for url preview blacklist (PR #3317) Thanks to @thegcat!
- Reduce stuck read-receipts: ignore depth when updating (PR #3318)
- Put python\'s logs into Trial when running unit tests (PR #3319)
Changes, python 3 migration:
- Replace some more comparisons with six (PR #3243) Thanks to @NotAFile!
- replace some iteritems with six (PR #3244) Thanks to @NotAFile!
- Add batch\_iter to utils (PR #3245) Thanks to @NotAFile!
- use repr, not str (PR #3246) Thanks to @NotAFile!
- Misc Python3 fixes (PR #3247) Thanks to @NotAFile!
- Py3 storage/\_base.py (PR #3278) Thanks to @NotAFile!
- more six iteritems (PR #3279) Thanks to @NotAFile!
- More Misc. py3 fixes (PR #3280) Thanks to @NotAFile!
- remaining isintance fixes (PR #3281) Thanks to @NotAFile!
- py3-ize state.py (PR #3283) Thanks to @NotAFile!
- extend tox testing for py3 to avoid regressions (PR #3302) Thanks to @krombel!
- use memoryview in py3 (PR #3303) Thanks to @NotAFile!
Bugs:
- Fix federation backfill bugs (PR #3261)
- federation: fix LaterGauge usage (PR #3328) Thanks to @intelfx!
Changes in synapse v0.30.0 (2018-05-24)
=======================================
\'Server Notices\' are a new feature introduced in Synapse 0.30. They provide a channel whereby server administrators can send messages to users on the server.
They are used as part of communication of the server policies (see `docs/consent_tracking.md`), however the intention is that they may also find a use for features such as \"Message of the day\".
This feature is specific to Synapse, but uses standard Matrix communication mechanisms, so should work with any Matrix client. For more details see `docs/server_notices.md`
Further Server Notices/Consent Tracking Support:
- Allow overriding the server\_notices user\'s avatar (PR #3273)
- Use the localpart in the consent uri (PR #3272)
- Support for putting %(consent\_uri)s in messages (PR #3271)
- Block attempts to send server notices to remote users (PR #3270)
- Docs on consent bits (PR #3268)
Changes in synapse v0.30.0-rc1 (2018-05-23)
===========================================
Server Notices/Consent Tracking Support:
- ConsentResource to gather policy consent from users (PR #3213)
- Move RoomCreationHandler out of synapse.handlers.Handlers (PR #3225)
- Infrastructure for a server notices room (PR #3232)
- Send users a server notice about consent (PR #3236)
- Reject attempts to send event before privacy consent is given (PR #3257)
- Add a \'has\_consented\' template var to consent forms (PR #3262)
- Fix dependency on jinja2 (PR #3263)
Features:
- Cohort analytics (PR #3163, #3241, #3251)
- Add lxml to docker image for web previews (PR #3239) Thanks to @ptman!
- Add in flight request metrics (PR #3252)
Changes:
- Remove unused update\_external\_syncs (PR #3233)
- Use stream rather depth ordering for push actions (PR #3212)
- Make purge\_history operate on tokens (PR #3221)
- Don\'t support limitless pagination (PR #3265)
Bug Fixes:
- Fix logcontext resource usage tracking (PR #3258)
- Fix error in handling receipts (PR #3235)
- Stop the transaction cache caching failures (PR #3255)
Changes in synapse v0.29.1 (2018-05-17)
=======================================
Changes:
- Update docker documentation (PR #3222)
Changes in synapse v0.29.0 (2018-05-16)
=======================================
Not changes since v0.29.0-rc1
Changes in synapse v0.29.0-rc1 (2018-05-14)
===========================================
Notable changes, a docker file for running Synapse (Thanks to @kaiyou!) and a closed spec bug in the Client Server API. Additionally further prep for Python 3 migration.
Potentially breaking change:
- Make Client-Server API return 401 for invalid token (PR #3161).
This changes the Client-server spec to return a 401 error code instead of 403 when the access token is unrecognised. This is the behaviour required by the specification, but some clients may be relying on the old, incorrect behaviour.
Thanks to @NotAFile for fixing this.
Features:
- Add a Dockerfile for synapse (PR #2846) Thanks to @kaiyou!
Changes - General:
- nuke-room-from-db.sh: added postgresql option and help (PR #2337) Thanks to @rubo77!
- Part user from rooms on account deactivate (PR #3201)
- Make \'unexpected logging context\' into warnings (PR #3007)
- Set Server header in SynapseRequest (PR #3208)
- remove duplicates from groups tables (PR #3129)
- Improve exception handling for background processes (PR #3138)
- Add missing consumeErrors to improve exception handling (PR #3139)
- reraise exceptions more carefully (PR #3142)
- Remove redundant call to preserve\_fn (PR #3143)
- Trap exceptions thrown within run\_in\_background (PR #3144)
Changes - Refactors:
- Refactor /context to reuse pagination storage functions (PR #3193)
- Refactor recent events func to use pagination func (PR #3195)
- Refactor pagination DB API to return concrete type (PR #3196)
- Refactor get\_recent\_events\_for\_room return type (PR #3198)
- Refactor sync APIs to reuse pagination API (PR #3199)
- Remove unused code path from member change DB func (PR #3200)
- Refactor request handling wrappers (PR #3203)
- transaction\_id, destination defined twice (PR #3209) Thanks to @damir-manapov!
- Refactor event storage to prepare for changes in state calculations (PR #3141)
- Set Server header in SynapseRequest (PR #3208)
- Use deferred.addTimeout instead of time\_bound\_deferred (PR #3127, #3178)
- Use run\_in\_background in preference to preserve\_fn (PR #3140)
Changes - Python 3 migration:
- Construct HMAC as bytes on py3 (PR #3156) Thanks to @NotAFile!
- run config tests on py3 (PR #3159) Thanks to @NotAFile!
- Open certificate files as bytes (PR #3084) Thanks to @NotAFile!
- Open config file in non-bytes mode (PR #3085) Thanks to @NotAFile!
- Make event properties raise AttributeError instead (PR #3102) Thanks to @NotAFile!
- Use six.moves.urlparse (PR #3108) Thanks to @NotAFile!
- Add py3 tests to tox with folders that work (PR #3145) Thanks to @NotAFile!
- Don\'t yield in list comprehensions (PR #3150) Thanks to @NotAFile!
- Move more xrange to six (PR #3151) Thanks to @NotAFile!
- make imports local (PR #3152) Thanks to @NotAFile!
- move httplib import to six (PR #3153) Thanks to @NotAFile!
- Replace stringIO imports with six (PR #3154, #3168) Thanks to @NotAFile!
- more bytes strings (PR #3155) Thanks to @NotAFile!
Bug Fixes:
- synapse fails to start under Twisted \>= 18.4 (PR #3157)
- Fix a class of logcontext leaks (PR #3170)
- Fix a couple of logcontext leaks in unit tests (PR #3172)
- Fix logcontext leak in media repo (PR #3174)
- Escape label values in prometheus metrics (PR #3175, #3186)
- Fix \'Unhandled Error\' logs with Twisted 18.4 (PR #3182) Thanks to @Half-Shot!
- Fix logcontext leaks in rate limiter (PR #3183)
- notifications: Convert next\_token to string according to the spec (PR #3190) Thanks to @mujx!
- nuke-room-from-db.sh: fix deletion from search table (PR #3194) Thanks to @rubo77!
- add guard for None on purge\_history api (PR #3160) Thanks to @krombel!
Changes in synapse v0.28.1 (2018-05-01)
=======================================
SECURITY UPDATE
- Clamp the allowed values of event depth received over federation to be \[0, 2\^63 - 1\]. This mitigates an attack where malicious events injected with depth = 2\^63 - 1 render rooms unusable. Depth is used to determine the cosmetic ordering of events within a room, and so the ordering of events in such a room will default to using stream\_ordering rather than depth (topological\_ordering).
This is a temporary solution to mitigate abuse in the wild, whilst a long term solution is being implemented to improve how the depth parameter is used.
Full details at <https://docs.google.com/document/d/1I3fi2S-XnpO45qrpCsowZv8P8dHcNZ4fsBsbOW7KABI>
- Pin Twisted to \<18.4 until we stop using the private \_OpenSSLECCurve API.
Changes in synapse v0.28.0 (2018-04-26)
=======================================
Bug Fixes:
- Fix quarantine media admin API and search reindex (PR #3130)
- Fix media admin APIs (PR #3134)
Changes in synapse v0.28.0-rc1 (2018-04-24)
===========================================
Minor performance improvement to federation sending and bug fixes.
(Note: This release does not include the delta state resolution implementation discussed in matrix live)
Features:
- Add metrics for event processing lag (PR #3090)
- Add metrics for ResponseCache (PR #3092)
Changes:
- Synapse on PyPy (PR #2760) Thanks to @Valodim!
- move handling of auto\_join\_rooms to RegisterHandler (PR #2996) Thanks to @krombel!
- Improve handling of SRV records for federation connections (PR #3016) Thanks to @silkeh!
- Document the behaviour of ResponseCache (PR #3059)
- Preparation for py3 (PR #3061, #3073, #3074, #3075, #3103, #3104, #3106, #3107, #3109, #3110) Thanks to @NotAFile!
- update prometheus dashboard to use new metric names (PR #3069) Thanks to @krombel!
- use python3-compatible prints (PR #3074) Thanks to @NotAFile!
- Send federation events concurrently (PR #3078)
- Limit concurrent event sends for a room (PR #3079)
- Improve R30 stat definition (PR #3086)
- Send events to ASes concurrently (PR #3088)
- Refactor ResponseCache usage (PR #3093)
- Clarify that SRV may not point to a CNAME (PR #3100) Thanks to @silkeh!
- Use str(e) instead of e.message (PR #3103) Thanks to @NotAFile!
- Use six.itervalues in some places (PR #3106) Thanks to @NotAFile!
- Refactor store.have\_events (PR #3117)
Bug Fixes:
- Return 401 for invalid access\_token on logout (PR #2938) Thanks to @dklug!
- Return a 404 rather than a 500 on rejoining empty rooms (PR #3080)
- fix federation\_domain\_whitelist (PR #3099)
- Avoid creating events with huge numbers of prev\_events (PR #3113)
- Reject events which have lots of prev\_events (PR #3118)
Changes in synapse v0.27.4 (2018-04-13)
=======================================
Changes:
- Update canonicaljson dependency (\#3095)
Changes in synapse v0.27.3 (2018-04-11)
======================================
Bug fixes:
- URL quote path segments over federation (\#3082)
Changes in synapse v0.27.3-rc2 (2018-04-09)
===========================================
v0.27.3-rc1 used a stale version of the develop branch so the changelog overstates the functionality. v0.27.3-rc2 is up to date, rc1 should be ignored.
Changes in synapse v0.27.3-rc1 (2018-04-09)
===========================================
Notable changes include API support for joinability of groups. Also new metrics and phone home stats. Phone home stats include better visibility of system usage so we can tweak synpase to work better for all users rather than our own experience with matrix.org. Also, recording \'r30\' stat which is the measure we use to track overal growth of the Matrix ecosystem. It is defined as:-
Counts the number of native 30 day retained users, defined as:- \* Users who have created their accounts more than 30 days
: - Where last seen at most 30 days ago
- Where account creation and last\_seen are \> 30 days\"
Features:
- Add joinability for groups (PR #3045)
- Implement group join API (PR #3046)
- Add counter metrics for calculating state delta (PR #3033)
- R30 stats (PR #3041)
- Measure time it takes to calculate state group ID (PR #3043)
- Add basic performance statistics to phone home (PR #3044)
- Add response size metrics (PR #3071)
- phone home cache size configurations (PR #3063)
Changes:
- Add a blurb explaining the main synapse worker (PR #2886) Thanks to @turt2live!
- Replace old style error catching with \'as\' keyword (PR #3000) Thanks to @NotAFile!
- Use .iter\* to avoid copies in StateHandler (PR #3006)
- Linearize calls to \_generate\_user\_id (PR #3029)
- Remove last usage of ujson (PR #3030)
- Use simplejson throughout (PR #3048)
- Use static JSONEncoders (PR #3049)
- Remove uses of events.content (PR #3060)
- Improve database cache performance (PR #3068)
Bug fixes:
- Add room\_id to the response of rooms/{roomId}/join (PR #2986) Thanks to @jplatte!
- Fix replication after switch to simplejson (PR #3015)
- 404 correctly on missing paths via NoResource (PR #3022)
- Fix error when claiming e2e keys from offline servers (PR #3034)
- fix tests/storage/test\_user\_directory.py (PR #3042)
- use PUT instead of POST for federating groups/m.join\_policy (PR #3070) Thanks to @krombel!
- postgres port script: fix state\_groups\_pkey error (PR #3072)
Changes in synapse v0.27.2 (2018-03-26)
=======================================
Bug fixes:
- Fix bug which broke TCP replication between workers (PR #3015)
Changes in synapse v0.27.1 (2018-03-26)
=======================================
Meta release as v0.27.0 temporarily pointed to the wrong commit
Changes in synapse v0.27.0 (2018-03-26)
=======================================
No changes since v0.27.0-rc2
Changes in synapse v0.27.0-rc2 (2018-03-19)
===========================================
Pulls in v0.26.1
Bug fixes:
- Fix bug introduced in v0.27.0-rc1 that causes much increased memory usage in state cache (PR #3005)
Changes in synapse v0.26.1 (2018-03-15)
=======================================
Bug fixes:
- Fix bug where an invalid event caused server to stop functioning correctly, due to parsing and serializing bugs in ujson library (PR #3008)
Changes in synapse v0.27.0-rc1 (2018-03-14)
===========================================
The common case for running Synapse is not to run separate workers, but for those that do, be aware that synctl no longer starts the main synapse when using `-a` option with workers. A new worker file should be added with `worker_app: synapse.app.homeserver`.
This release also begins the process of renaming a number of the metrics reported to prometheus. See [docs/metrics-howto.rst](docs/metrics-howto.rst#block-and-response-metrics-renamed-for-0-27-0). Note that the v0.28.0 release will remove the deprecated metric names.
Features:
- Add ability for ASes to override message send time (PR #2754)
- Add support for custom storage providers for media repository (PR #2867, #2777, #2783, #2789, #2791, #2804, #2812, #2814, #2857, #2868, #2767)
- Add purge API features, see [docs/admin\_api/purge\_history\_api.rst](docs/admin_api/purge_history_api.rst) for full details (PR #2858, #2867, #2882, #2946, #2962, #2943)
- Add support for whitelisting 3PIDs that users can register. (PR #2813)
- Add `/room/{id}/event/{id}` API (PR #2766)
- Add an admin API to get all the media in a room (PR #2818) Thanks to @turt2live!
- Add `federation_domain_whitelist` option (PR #2820, #2821)
Changes:
- Continue to factor out processing from main process and into worker processes. See updated [docs/workers.rst](docs/workers.rst) (PR #2892 - \#2904, #2913, #2920 - \#2926, #2947, #2847, #2854, #2872, #2873, #2874, #2928, #2929, #2934, #2856, #2976 - \#2984, #2987 - \#2989, #2991 - \#2993, #2995, #2784)
- Ensure state cache is used when persisting events (PR #2864, #2871, #2802, #2835, #2836, #2841, #2842, #2849)
- Change the default config to bind on both IPv4 and IPv6 on all platforms (PR #2435) Thanks to @silkeh!
- No longer require a specific version of saml2 (PR #2695) Thanks to @okurz!
- Remove `verbosity`/`log_file` from generated config (PR #2755)
- Add and improve metrics and logging (PR #2770, #2778, #2785, #2786, #2787, #2793, #2794, #2795, #2809, #2810, #2833, #2834, #2844, #2965, #2927, #2975, #2790, #2796, #2838)
- When using synctl with workers, don\'t start the main synapse automatically (PR #2774)
- Minor performance improvements (PR #2773, #2792)
- Use a connection pool for non-federation outbound connections (PR #2817)
- Make it possible to run unit tests against postgres (PR #2829)
- Update pynacl dependency to 1.2.1 or higher (PR #2888) Thanks to @bachp!
- Remove ability for AS users to call /events and /sync (PR #2948)
- Use bcrypt.checkpw (PR #2949) Thanks to @krombel!
Bug fixes:
- Fix broken `ldap_config` config option (PR #2683) Thanks to @seckrv!
- Fix error message when user is not allowed to unban (PR #2761) Thanks to @turt2live!
- Fix publicised groups GET API (singular) over federation (PR #2772)
- Fix user directory when using `user_directory_search_all_users` config option (PR #2803, #2831)
- Fix error on `/publicRooms` when no rooms exist (PR #2827)
- Fix bug in quarantine\_media (PR #2837)
- Fix url\_previews when no Content-Type is returned from URL (PR #2845)
- Fix rare race in sync API when joining room (PR #2944)
- Fix slow event search, switch back from GIST to GIN indexes (PR #2769, #2848)
Changes in synapse v0.26.0 (2018-01-05)
=======================================
No changes since v0.26.0-rc1
Changes in synapse v0.26.0-rc1 (2017-12-13)
===========================================
Features:
- Add ability for ASes to publicise groups for their users (PR #2686)
- Add all local users to the user\_directory and optionally search them (PR #2723)
- Add support for custom login types for validating users (PR #2729)
Changes:
- Update example Prometheus config to new format (PR #2648) Thanks to @krombel!
- Rename redact\_content option to include\_content in Push API (PR #2650)
- Declare support for r0.3.0 (PR #2677)
- Improve upserts (PR #2684, #2688, #2689, #2713)
- Improve documentation of workers (PR #2700)
- Improve tracebacks on exceptions (PR #2705)
- Allow guest access to group APIs for reading (PR #2715)
- Support for posting content in federation\_client script (PR #2716)
- Delete devices and pushers on logouts etc (PR #2722)
Bug fixes:
- Fix database port script (PR #2673)
- Fix internal server error on login with ldap\_auth\_provider (PR #2678) Thanks to @jkolo!
- Fix error on sqlite 3.7 (PR #2697)
- Fix OPTIONS on preview\_url (PR #2707)
- Fix error handling on dns lookup (PR #2711)
- Fix wrong avatars when inviting multiple users when creating room (PR #2717)
- Fix 500 when joining matrix-dev (PR #2719)
Changes in synapse v0.25.1 (2017-11-17)
=======================================
Bug fixes:
- Fix login with LDAP and other password provider modules (PR #2678). Thanks to @jkolo!
Changes in synapse v0.25.0 (2017-11-15)
=======================================
Bug fixes:
- Fix port script (PR #2673)
Changes in synapse v0.25.0-rc1 (2017-11-14)
===========================================
Features:
- Add is\_public to groups table to allow for private groups (PR #2582)
- Add a route for determining who you are (PR #2668) Thanks to @turt2live!
- Add more features to the password providers (PR #2608, #2610, #2620, #2622, #2623, #2624, #2626, #2628, #2629)
- Add a hook for custom rest endpoints (PR #2627)
- Add API to update group room visibility (PR #2651)
Changes:
- Ignore \<noscript\> tags when generating URL preview descriptions (PR #2576) Thanks to @maximevaillancourt!
- Register some /unstable endpoints in /r0 as well (PR #2579) Thanks to @krombel!
- Support /keys/upload on /r0 as well as /unstable (PR #2585)
- Front-end proxy: pass through auth header (PR #2586)
- Allow ASes to deactivate their own users (PR #2589)
- Remove refresh tokens (PR #2613)
- Automatically set default displayname on register (PR #2617)
- Log login requests (PR #2618)
- Always return is\_public in the /groups/:group\_id/rooms API (PR #2630)
- Avoid no-op media deletes (PR #2637) Thanks to @spantaleev!
- Fix various embarrassing typos around user\_directory and add some doc. (PR #2643)
- Return whether a user is an admin within a group (PR #2647)
- Namespace visibility options for groups (PR #2657)
- Downcase UserIDs on registration (PR #2662)
- Cache failures when fetching URL previews (PR #2669)
Bug fixes:
- Fix port script (PR #2577)
- Fix error when running synapse with no logfile (PR #2581)
- Fix UI auth when deleting devices (PR #2591)
- Fix typo when checking if user is invited to group (PR #2599)
- Fix the port script to drop NUL values in all tables (PR #2611)
- Fix appservices being backlogged and not receiving new events due to a bug in notify\_interested\_services (PR #2631) Thanks to @xyzz!
- Fix updating rooms avatar/display name when modified by admin (PR #2636) Thanks to @farialima!
- Fix bug in state group storage (PR #2649)
- Fix 500 on invalid utf-8 in request (PR #2663)
Changes in synapse v0.24.1 (2017-10-24)
=======================================
Bug fixes:
- Fix updating group profiles over federation (PR #2567)
Changes in synapse v0.24.0 (2017-10-23)
=======================================
No changes since v0.24.0-rc1
Changes in synapse v0.24.0-rc1 (2017-10-19)
===========================================
Features:
- Add Group Server (PR #2352, #2363, #2374, #2377, #2378, #2382, #2410, #2426, #2430, #2454, #2471, #2472, #2544)
- Add support for channel notifications (PR #2501)
- Add basic implementation of backup media store (PR #2538)
- Add config option to auto-join new users to rooms (PR #2545)
Changes:
- Make the spam checker a module (PR #2474)
- Delete expired url cache data (PR #2478)
- Ignore incoming events for rooms that we have left (PR #2490)
- Allow spam checker to reject invites too (PR #2492)
- Add room creation checks to spam checker (PR #2495)
- Spam checking: add the invitee to user\_may\_invite (PR #2502)
- Process events from federation for different rooms in parallel (PR #2520)
- Allow error strings from spam checker (PR #2531)
- Improve error handling for missing files in config (PR #2551)
Bug fixes:
- Fix handling SERVFAILs when doing AAAA lookups for federation (PR #2477)
- Fix incompatibility with newer versions of ujson (PR #2483) Thanks to @jeremycline!
- Fix notification keywords that start/end with non-word chars (PR #2500)
- Fix stack overflow and logcontexts from linearizer (PR #2532)
- Fix 500 error when fields missing from power\_levels event (PR #2552)
- Fix 500 error when we get an error handling a PDU (PR #2553)
Changes in synapse v0.23.1 (2017-10-02)
=======================================
Changes:
- Make \'affinity\' package optional, as it is not supported on some platforms
Changes in synapse v0.23.0 (2017-10-02)
=======================================
No changes since v0.23.0-rc2
Changes in synapse v0.23.0-rc2 (2017-09-26)
===========================================
Bug fixes:
- Fix regression in performance of syncs (PR #2470)
Changes in synapse v0.23.0-rc1 (2017-09-25)
===========================================
Features:
- Add a frontend proxy worker (PR #2344)
- Add support for event\_id\_only push format (PR #2450)
- Add a PoC for filtering spammy events (PR #2456)
- Add a config option to block all room invites (PR #2457)
Changes:
- Use bcrypt module instead of py-bcrypt (PR #2288) Thanks to @kyrias!
- Improve performance of generating push notifications (PR #2343, #2357, #2365, #2366, #2371)
- Improve DB performance for device list handling in sync (PR #2362)
- Include a sample prometheus config (PR #2416)
- Document known to work postgres version (PR #2433) Thanks to @ptman!
Bug fixes:
- Fix caching error in the push evaluator (PR #2332)
- Fix bug where pusherpool didn\'t start and broke some rooms (PR #2342)
- Fix port script for user directory tables (PR #2375)
- Fix device lists notifications when user rejoins a room (PR #2443, #2449)
- Fix sync to always send down current state events in timeline (PR #2451)
- Fix bug where guest users were incorrectly kicked (PR #2453)
- Fix bug talking to IPv6 only servers using SRV records (PR #2462)
Changes in synapse v0.22.1 (2017-07-06)
=======================================
Bug fixes:
- Fix bug where pusher pool didn\'t start and caused issues when interacting with some rooms (PR #2342)
Changes in synapse v0.22.0 (2017-07-06)
=======================================
No changes since v0.22.0-rc2
Changes in synapse v0.22.0-rc2 (2017-07-04)
===========================================
Changes:
- Improve performance of storing user IPs (PR #2307, #2308)
- Slightly improve performance of verifying access tokens (PR #2320)
- Slightly improve performance of event persistence (PR #2321)
- Increase default cache factor size from 0.1 to 0.5 (PR #2330)
Bug fixes:
- Fix bug with storing registration sessions that caused frequent CPU churn (PR #2319)
Changes in synapse v0.22.0-rc1 (2017-06-26)
===========================================
Features:
- Add a user directory API (PR #2252, and many more)
- Add shutdown room API to remove room from local server (PR #2291)
- Add API to quarantine media (PR #2292)
- Add new config option to not send event contents to push servers (PR #2301) Thanks to @cjdelisle!
Changes:
- Various performance fixes (PR #2177, #2233, #2230, #2238, #2248, #2256, #2274)
- Deduplicate sync filters (PR #2219) Thanks to @krombel!
- Correct a typo in UPGRADE.rst (PR #2231) Thanks to @aaronraimist!
- Add count of one time keys to sync stream (PR #2237)
- Only store event\_auth for state events (PR #2247)
- Store URL cache preview downloads separately (PR #2299)
Bug fixes:
- Fix users not getting notifications when AS listened to that user\_id (PR #2216) Thanks to @slipeer!
- Fix users without push set up not getting notifications after joining rooms (PR #2236)
- Fix preview url API to trim long descriptions (PR #2243)
- Fix bug where we used cached but unpersisted state group as prev group, resulting in broken state of restart (PR #2263)
- Fix removing of pushers when using workers (PR #2267)
- Fix CORS headers to allow Authorization header (PR #2285) Thanks to @krombel!
Changes in synapse v0.21.1 (2017-06-15)
=======================================
Bug fixes:
- Fix bug in anonymous usage statistic reporting (PR #2281)
Changes in synapse v0.21.0 (2017-05-18)
=======================================
No changes since v0.21.0-rc3
Changes in synapse v0.21.0-rc3 (2017-05-17)
===========================================
Features:
- Add per user rate-limiting overrides (PR #2208)
- Add config option to limit maximum number of events requested by `/sync` and `/messages` (PR #2221) Thanks to @psaavedra!
Changes:
- Various small performance fixes (PR #2201, #2202, #2224, #2226, #2227, #2228, #2229)
- Update username availability checker API (PR #2209, #2213)
- When purging, don\'t de-delta state groups we\'re about to delete (PR #2214)
- Documentation to check synapse version (PR #2215) Thanks to @hamber-dick!
- Add an index to event\_search to speed up purge history API (PR #2218)
Bug fixes:
- Fix API to allow clients to upload one-time-keys with new sigs (PR #2206)
Changes in synapse v0.21.0-rc2 (2017-05-08)
===========================================
Changes:
- Always mark remotes as up if we receive a signed request from them (PR #2190)
Bug fixes:
- Fix bug where users got pushed for rooms they had muted (PR #2200)
Changes in synapse v0.21.0-rc1 (2017-05-08)
===========================================
Features:
- Add username availability checker API (PR #2183)
- Add read marker API (PR #2120)
Changes:
- Enable guest access for the 3pl/3pid APIs (PR #1986)
- Add setting to support TURN for guests (PR #2011)
- Various performance improvements (PR #2075, #2076, #2080, #2083, #2108, #2158, #2176, #2185)
- Make synctl a bit more user friendly (PR #2078, #2127) Thanks @APwhitehat!
- Replace HTTP replication with TCP replication (PR #2082, #2097, #2098, #2099, #2103, #2014, #2016, #2115, #2116, #2117)
- Support authenticated SMTP (PR #2102) Thanks @DanielDent!
- Add a counter metric for successfully-sent transactions (PR #2121)
- Propagate errors sensibly from proxied IS requests (PR #2147)
- Add more granular event send metrics (PR #2178)
Bug fixes:
- Fix nuke-room script to work with current schema (PR #1927) Thanks @zuckschwerdt!
- Fix db port script to not assume postgres tables are in the public schema (PR #2024) Thanks @jerrykan!
- Fix getting latest device IP for user with no devices (PR #2118)
- Fix rejection of invites to unreachable servers (PR #2145)
- Fix code for reporting old verify keys in synapse (PR #2156)
- Fix invite state to always include all events (PR #2163)
- Fix bug where synapse would always fetch state for any missing event (PR #2170)
- Fix a leak with timed out HTTP connections (PR #2180)
- Fix bug where we didn\'t time out HTTP requests to ASes (PR #2192)
Docs:
- Clarify doc for SQLite to PostgreSQL port (PR #1961) Thanks @benhylau!
- Fix typo in synctl help (PR #2107) Thanks @HarHarLinks!
- `web_client_location` documentation fix (PR #2131) Thanks @matthewjwolff!
- Update README.rst with FreeBSD changes (PR #2132) Thanks @feld!
- Clarify setting up metrics (PR #2149) Thanks @encks!
Changes in synapse v0.20.0 (2017-04-11)
=======================================
Bug fixes:
- Fix joining rooms over federation where not all servers in the room saw the new server had joined (PR #2094)