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

v1.18.0

Compare
Choose a tag to compare
@reivilibre reivilibre released this 30 Jul 11:17
· 6206 commits to develop since this release
v1.18.0

Synapse 1.18.0 (2020-07-30)

Deprecation Warnings

From 10th August 2020, we will no longer publish Docker images with the -py3 tag suffix. The images tagged with the -py3 suffix have been identical to the non-suffixed tags since release 0.99.0, and the suffix is obsolete.

On 10th August, we will remove the latest-py3 tag. Existing per-release tags (such as v1.18.0-py3) will not be removed, but no new -py3 tags will be added.

Scripts relying on the -py3 suffix will need to be updated.

When setting up worker processes, we now recommend the use of a Redis server for replication. The old direct TCP connection method is deprecated and will be removed in a future release. See docs/workers.md for more details.

Improved Documentation

  • Update worker docs with latest enhancements. (#7969)

Synapse 1.18.0rc2 (2020-07-28)

Bugfixes

  • Fix an AssertionError exception introduced in v1.18.0rc1. (#7876)
  • Fix experimental support for moving typing off master when worker is restarted, which is broken in v1.18.0rc1. (#7967)

Internal Changes

  • Further optimise queueing of inbound replication commands. (#7876)

Synapse 1.18.0rc1 (2020-07-27)

Features

  • Include room states on invite events that are sent to application services. Contributed by @Sorunome. (#6455)
  • Add delete room admin endpoint (POST /_synapse/admin/v1/rooms/<room_id>/delete). Contributed by @dklimpel. (#7613, #7953)
  • Add experimental support for running multiple federation sender processes. (#7798)
  • Add the option to validate the iss and aud claims for JWT logins. (#7827)
  • Add support for handling registration requests across multiple client reader workers. (#7830)
  • Add an admin API to list the users in a room. Contributed by Awesome Technologies Innovationslabor GmbH. (#7842)
  • Allow email subjects to be customised through Synapse's configuration. (#7846)
  • Add the ability to re-activate an account from the admin API. (#7847, #7908)
  • Add experimental support for running multiple pusher workers. (#7855)
  • Add experimental support for moving typing off master. (#7869, #7959)
  • Report CPU metrics to prometheus for time spent processing replication commands. (#7879)
  • Support oEmbed for media previews. (#7920)
  • Abort federation requests where the client disconnects before the ratelimiter expires. (#7930)
  • Cache responses to /_matrix/federation/v1/state_ids to reduce duplicated work. (#7931)

Bugfixes

  • Fix detection of out of sync remote device lists when receiving events from remote users. (#7815)
  • Fix bug where Synapse fails to process an incoming event over federation if the server is missing too much of the event's auth chain. (#7817)
  • Fix a bug causing Synapse to misinterpret the value off for encryption_enabled_by_default_for_room_type in its configuration file(s) if that value isn't surrounded by quotes. This bug was introduced in v1.16.0. (#7822)
  • Fix bug where we did not always pass in app_name or server_name to email templates, including e.g. for registration emails. (#7829)
  • Errors which occur while using the non-standard JWT login now return the proper error: 403 Forbidden with an error code of M_FORBIDDEN. (#7844)
  • Fix "AttributeError: 'str' object has no attribute 'get'" error message when applying per-room message retention policies. The bug was introduced in Synapse 1.7.0. (#7850)
  • Fix a bug introduced in Synapse 1.10.0 which could cause a "no create event in auth events" error during room creation. (#7854)
  • Fix a bug which allowed empty rooms to be rejoined over federation. (#7859)
  • Fix 'Unable to find a suitable guest user ID' error when using multiple client_reader workers. (#7866)
  • Fix a long standing bug where the tracing of async functions with opentracing was broken. (#7872, #7961)
  • Fix "TypeError in synapse.notifier" exceptions. (#7880)
  • Fix deprecation warning due to invalid escape sequences. (#7895)

Updates to the Docker image

  • Base docker image on Debian Buster rather than Alpine Linux. Contributed by @maquis196. (#7839)

Improved Documentation

  • Provide instructions on using register_new_matrix_user via docker. (#7885)
  • Change the sample config postgres user section to use synapse_user instead of synapse to align with the documentation. (#7889)
  • Reorder database paragraphs to promote postgres over sqlite. (#7933)
  • Update the dates of ACME v1's end of life in ACME.md. (#7934)

Deprecations and Removals

  • Remove unused synapse_replication_tcp_resource_invalidate_cache prometheus metric. (#7878)
  • Remove Ubuntu Eoan from the list of .deb packages that we build as it is now end-of-life. Contributed by @gary-kim. (#7888)

Internal Changes

  • Switch parts of the codebase from simplejson to the standard library json. (#7802)
  • Add type hints to the http server code and remove an unused parameter. (#7813)
  • Add type hints to synapse.api.errors module. (#7820)
  • Ensure that calls to json.dumps are compatible with the standard library json. (#7836)
  • Remove redundant retry_on_integrity_error wrapper for event persistence code. (#7848)
  • Consistently use db_to_json to convert from database values to JSON objects. (#7849)
  • Convert various parts of the codebase to async/await. (#7851, #7860, #7868, #7871, #7873, #7874, #7884, #7912, #7935, #7939, #7942, #7944)
  • Add support for handling registration requests across multiple client reader workers. (#7853)
  • Small performance improvement in typing processing. (#7856)
  • The default value of filter_timeline_limit was changed from -1 (no limit) to 100. (#7858)
  • Optimise queueing of inbound replication commands. (#7861)
  • Add some type annotations to HomeServer and BaseHandler. (#7870)
  • Clean up PreserveLoggingContext. (#7877)
  • Change "unknown room version" logging from 'error' to 'warning'. (#7881)
  • Stop using device_max_stream_id table and just use device_inbox.stream_id. (#7882)
  • Return an empty body for OPTIONS requests. (#7886)
  • Fix typo in generated config file. Contributed by @ThiefMaster. (#7890)
  • Import ABC from collections.abc for Python 3.10 compatibility. (#7892)
  • Remove unused functions time_function, trace_function, get_previous_frames
    and get_previous_frame from synapse.logging.utils module. (#7897)
  • Lint the contrib/ directory in CI and linting scripts, add synctl to the linting script for consistency with CI. (#7914)
  • Use Element CSS and logo in notification emails when app name is Element. (#7919)
  • Optimisation to /sync handling: skip serializing the response if the client has already disconnected. (#7927)
  • When a client disconnects, don't log it as 'Error processing request'. (#7928)
  • Add debugging to /sync response generation (disabled by default). (#7929)
  • Update comments that refer to Deferreds for async functions. (#7945)
  • Simplify error handling in federation handler. (#7950)