Synapse 1.75.0 (2023-01-17)
No significant changes since 1.75.0rc2.
Synapse 1.75.0rc2 (2023-01-12)
Bugfixes
- Fix a bug introduced in Synapse 1.75.0rc1 where device lists could be miscalculated with some sync filters. (#14810)
- Fix race where calling
/members
or/state
with anat
parameter could fail for newly created rooms, when using multiple workers. (#14817)
Synapse 1.75.0rc1 (2023-01-10)
Features
- Add a
cached
function tosynapse.module_api
that returns a decorator to cache return values of functions. (#14663) - Add experimental support for MSC3391 (removing account data). (#14714)
- Support RFC7636 Proof Key for Code Exchange for OAuth single sign-on. (#14750)
- Support non-OpenID compliant userinfo claims for subject and picture. (#14753)
- Improve performance of
/sync
when filtering all rooms, message types, or senders. (#14786) - Improve performance of the
/hierarchy
endpoint. (#14263)
Bugfixes
- Fix the MAU Limits section of the Grafana dashboard relying on a specific
job
name for the workers of a Synapse deployment. (#14644) - Fix a bug introduced in Synapse 1.70.0 which could cause spurious
UNIQUE constraint failed
errors in therotate_notifs
background job. (#14669) - Ensure stream IDs are always updated after caches get invalidated with workers. Contributed by Nick @ Beeper (@Fizzadar). (#14723)
- Remove the unspecced
device
field from/pushrules
responses. (#14727) - Fix a bug introduced in Synapse 1.73.0 where the
picture_claim
configured underoidc_providers
was unused (the default value of"picture"
was used instead). (#14751) - Unescape HTML entities in URL preview titles making use of oEmbed responses. (#14781)
- Disable sending confirmation email when 3pid is disabled. (#14725)
Improved Documentation
- Declare support for Python 3.11. (#14673)
- Fix
target_memory_usage
being used in the description for the actualcache_autotune
sub-optiontarget_cache_memory_usage
. (#14674) - Move
email
to Server section in config file documentation. (#14730) - Fix broken links in the Synapse documentation. (#14744)
- Add missing worker settings to shared configuration documentation. (#14748)
- Document using Twitter as a OAuth 2.0 authentication provider. (#14778)
- Fix Synapse 1.74 upgrade notes to correctly explain how to install pyICU when installing Synapse from PyPI. (#14797)
- Update link to towncrier in contribution guide. (#14801)
- Use
htmltest
to check links in the Synapse documentation. (#14743)
Internal Changes
- Faster remote room joins: stream the un-partial-stating of events over replication. (#14545, #14546)
- Use ruff instead of flake8. (#14633, #14741)
- Change
handle_new_client_event
signature so that a 429 does not reach clients onPartialStateConflictError
, and internally retry when needed instead. (#14665) - Remove dependency on jQuery on reCAPTCHA page. (#14672)
- Faster joins: make
compute_state_after_events
consistent with other state-fetching functions that take aStateFilter
. (#14676) - Add missing type hints. (#14680, #14681, #14687)
- Improve type annotations for the helper methods on a
CachedFunction
. (#14685) - Check that the SQLite database file exists before porting to PostgreSQL. (#14692)
- Add
.direnv/
directory to .gitignore to prevent local state generated by the direnv development tool from being committed. (#14707) - Batch up replication requests to request the resyncing of remote users's devices. (#14716)
- If debug logging is enabled, log the
msgid
s of any to-device messages that are returned over/sync
. (#14724) - Change GHA CI job to follow best practices. (#14772)
- Switch to our fork of
dh-virtualenv
to work around an upstream Python 3.11 incompatibility. (#14774) - Skip testing built wheels for PyPy 3.7 on Linux x86_64 as we lack new required dependencies in the build environment. (#14802)
Dependabot updates
- Bump JasonEtco/create-an-issue from 2.8.1 to 2.8.2. (#14693)
- Bump anyhow from 1.0.66 to 1.0.68. (#14694)
- Bump blake2 from 0.10.5 to 0.10.6. (#14695)
- Bump serde_json from 1.0.89 to 1.0.91. (#14696)
- Bump serde from 1.0.150 to 1.0.151. (#14697)
- Bump lxml from 4.9.1 to 4.9.2. (#14698)
- Bump types-jsonschema from 4.17.0.1 to 4.17.0.2. (#14700)
- Bump sentry-sdk from 1.11.1 to 1.12.0. (#14701)
- Bump types-setuptools from 65.6.0.1 to 65.6.0.2. (#14702)
- Bump minimum PyYAML to 3.13. (#14720)
- Bump JasonEtco/create-an-issue from 2.8.2 to 2.9.1. (#14731)
- Bump towncrier from 22.8.0 to 22.12.0. (#14732)
- Bump isort from 5.10.1 to 5.11.4. (#14733)
- Bump attrs from 22.1.0 to 22.2.0. (#14734)
- Bump black from 22.10.0 to 22.12.0. (#14735)
- Bump sentry-sdk from 1.12.0 to 1.12.1. (#14736)
- Bump setuptools from 65.3.0 to 65.5.1. (#14738)
- Bump serde from 1.0.151 to 1.0.152. (#14758)
- Bump ruff from 0.0.189 to 0.0.206. (#14759)
- Bump pydantic from 1.10.2 to 1.10.4. (#14760)
- Bump gitpython from 3.1.29 to 3.1.30. (#14761)
- Bump pillow from 9.3.0 to 9.4.0. (#14762)
- Bump types-requests from 2.28.11.5 to 2.28.11.7. (#14763)
- Bump dawidd6/action-download-artifact from 2.24.2 to 2.24.3. (#14779)
- Bump peaceiris/actions-gh-pages from 3.9.0 to 3.9.1. (#14791)
- Bump types-pillow from 9.3.0.4 to 9.4.0.0. (#14792)
- Bump pyopenssl from 22.1.0 to 23.0.0. (#14793)
- Bump types-setuptools from 65.6.0.2 to 65.6.0.3. (#14794)
- Bump importlib-metadata from 4.2.0 to 6.0.0. (#14795)
- Bump ruff from 0.0.206 to 0.0.215. (#14796)