Synapse v1.18.0.rc1 Release Notes

Release Date: 2020-07-27 // almost 4 years ago
  • ๐Ÿ”‹ 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)

    Synapse 1.17.0 (2020-07-13)

    Synapse 1.17.0 is identical to 1.17.0rc1, with the addition of the fix that was included in 1.16.1.

    Synapse 1.16.1 (2020-07-10)

    ๐Ÿš€ In some distributions of Synapse 1.16.0, we incorrectly included a database migration which added a new, unused table. This release removes the redundant table.

    ๐Ÿ›  Bugfixes

    • Drop table local_rejections_stream which was incorrectly added in Synapse 1.16.0. (#7816, b1beb3ff5)