Skip to content
Tags give the ability to mark specific points in history as being important
  • v0.33.3rc2
    3b5b64ac · changelog ·
    Bugfixes
    --------
    
    - Fix bug in v0.33.3rc1 which caused infinite loops and OOMs
    ([\#3723](https://github.com/matrix-org/synapse/issues/3723))
    
  • v0.33.3rc1
    80bf7d35 · changelog ·
    Features
    --------
    
    - Add support for the SNI extension to federation TLS connections
    ([\#1491](https://github.com/matrix-org/synapse/issues/1491))
    - 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))
    
  • v0.33.2
    67dbe4c8 · 0.33.2 changelog ·
    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 ([\#2952](https://github.com/matrix-org/synapse/issues/2952))
    - 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))
    
  • v0.33.2rc1
    848431be · fix for rc1 ·
    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>))
    
    Bugfixes
    --------
    
    - Make /directory/list API return 404 for room not found instead of 400 ([\#2952](https://github.com/matrix-org/synapse/issues/2952>))
    - 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>))
    -  ([\#3415](https://github.com/matrix-org/synapse/issues/3415>), [\#3460](https://github.com/matrix-org/synapse/issues/3460>), [\#3562](https://github.com/matrix-org/synapse/issues/3562>), [\#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>))
    
  • v0.33.1
    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>`_)
    
  • dinsic_2018-07-20
  • v0.33.0
    d69decd5 · 0.33.0 final changelog ·
    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 for /sync ([\#3505](https://github.com/matrix-org/synapse/issues/3505),
    [\#3521](https://github.com/matrix-org/synapse/issues/3521))
    -   Optimisation to make handling incoming federation requests more efficient.
    ([\#3541](https://github.com/matrix-org/synapse/issues/3541))
    
    Bugfixes
    --------
    
    -   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))
    -   Disable a noisy warning about logcontexts ([\#3561](https://github.com/matrix-org/synapse/issues/3561))
    
    Misc
    ----
    
    -   [\#3351](https://github.com/matrix-org/synapse/issues/3351), [\#3463](https://github.com/matrix-org/synapse/issues/3463),
    [\#3464](https://github.com/matrix-org/synapse/issues/3464), [\#3499](https://github.com/matrix-org/synapse/issues/3499),
    [\#3530](https://github.com/matrix-org/synapse/issues/3530), [\#3534](https://github.com/matrix-org/synapse/issues/3534),
    [\#3535](https://github.com/matrix-org/synapse/issues/3535), [\#3540](https://github.com/matrix-org/synapse/issues/3540),
    [\#3544](https://github.com/matrix-org/synapse/issues/3544)
    
  • v0.33.0rc1
    21d3b879 · 0.33.0rc1 changelog ·
    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))
    -   Add CPU metrics for \_fetch\_event\_list ([\#3497](https://github.com/matrix-org/synapse/issues/3497))
    -   Reduce database consumption when processing large numbers of receipts ([\#3505](https://github.com/matrix-org/synapse/issues/3505))
    -   Cache optimisation for /sync requests ([\#3521](https://github.com/matrix-org/synapse/issues/3521))
    -   Optimisation to make handling incoming federation requests more efficient. ([\#3541](https://github.com/matrix-org/synapse/issues/3541))
    
    Bugfixes
    --------
    
    -   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
    ----
    
    -   [\#3351](https://github.com/matrix-org/synapse/issues/3351), [\#3463](https://github.com/matrix-org/synapse/issues/3463),
    [\#3464](https://github.com/matrix-org/synapse/issues/3464), [\#3498](https://github.com/matrix-org/synapse/issues/3498),
    [\#3499](https://github.com/matrix-org/synapse/issues/3499), [\#3501](https://github.com/matrix-org/synapse/issues/3501),
    [\#3530](https://github.com/matrix-org/synapse/issues/3530), [\#3534](https://github.com/matrix-org/synapse/issues/3534),
    [\#3535](https://github.com/matrix-org/synapse/issues/3535), [\#3540](https://github.com/matrix-org/synapse/issues/3540),
    [\#3544](https://github.com/matrix-org/synapse/issues/3544)
    
  • v0.32.2
    1241156c · changelog ·
    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))
    
  • v0.32.1
    1cfc2c47 · Prepare 0.32.1 release ·
    Synapse 0.32.1 (2018-07-06)
    ===========================
    
    Bugfixes
    --------
    
    - Add explicit dependency on netaddr ([#3488](https://github.com/matrix-org/synapse/issues/3488))
    
  • v0.32.0
    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>`_
    
  • v0.32.0rc1
    89690aaa · changelog ·
    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)
    
  • v0.31.2
    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.
    
  • v0.31.1
    aefcc0f5 · tweak changelog ·
    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)
    
  • v0.31.0
    3f589f90 · 7 char sha in changelog ·
    Changes in synapse v0.31.0 (2018-06-06)
    ======================================
    
    Most notable change from v0.30.0 is to switch to 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 LaterGuage 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)
    * Add local and loopback IPv6 addresses to url_preview_ip_range_blacklist (PR #3312) Thanks to @thegcat!
    * 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!
    
  • v0.31.0-rc1
    Changes in synapse v0.31.0-rc1 (2018-06-04)
    
    Most notable change is to switch to python prometheus library to improve system stats reporting
    
    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)
    * Add local and loopback IPv6 addresses to url_preview_ip_range_blacklist (PR #3312) Thanks to @thegcat!
    * 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!
    
  • v0.30.0
    14ca6786 · Update CHANGES.rst ·
    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 (#3273)
    * Use the localpart in the consent uri (#3272)
    * Support for putting %(consent_uri)s in messages (#3271)
    * Block attempts to send server notices to remote users (#3270)
    * Docs on consent bits (#3268)
    
  • v0.30.0-rc1
    9e8ab0a4 · style ·
    Changes in synapse v0.30.0-rc1 (2018-05-23)
    ==========================================
    
    This version includes support for Privacy Notice agreement collection. More
    details live at docs/privacy_policy_templates/README.md
    
    GDPR 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)
    
  • v0.29.1
    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!
    
  • v0.29.0
    Changes in synapse v0.29.0 (2018-05-16)
    ===========================================
    
    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!