-
Amber Brown authoredAmber Brown authored
To find the state of this project's repository at the time of any of these versions, check out the tags.
CHANGES.md 120.48 KiB
Synapse 0.33.4 (2018-09-07)
Internal Changes
- Unignore synctl in .dockerignore to fix docker builds (#3802)
Synapse 0.33.4rc2 (2018-09-06)
Pull in security fixes from v0.33.3.1
Synapse 0.33.3.1 (2018-09-06)
SECURITY FIXES
- Fix an issue where event signatures were not always correctly validated (#3796)
- Fix an issue where server_acls could be circumvented for incoming events (#3796)
Internal Changes
- Unignore synctl in .dockerignore to fix docker builds (#3802)
Synapse 0.33.4rc1 (2018-09-04)
Features
- Support profile API endpoints on workers (#3659)
- Server notices for resource limit blocking (#3680)
- Allow guests to use /rooms/:roomId/event/:eventId (#3724)
- Add mau_trial_days config param, so that users only get counted as MAU after N days. (#3749)
- Require twisted 17.1 or later (fixes #3741). (#3751)
Bugfixes
- Fix error collecting prometheus metrics when run on dedicated thread due to threading concurrency issues (#3722)
- Fix bug where we resent "limit exceeded" server notices repeatedly (#3747)
- Fix bug where we broke sync when using limit_usage_by_mau but hadn't configured server notices (#3753)
- Fix 'federation_domain_whitelist' such that an empty list correctly blocks all outbound federation traffic (#3754)
- Fix tagging of server notice rooms (#3755, #3756)
- Fix 'admin_uri' config variable and error parameter to be 'admin_contact' to match the spec. (#3758)
- Don't return non-LL-member state in incremental sync state blocks (#3760)
- Fix bug in sending presence over federation (#3768)
- Fix bug where preserved threepid user comes to sign up and server is mau blocked (#3777)
Internal Changes
- Removed the link to the unmaintained matrix-synapse-auto-deploy project from the readme. (#3378)
- Refactor state module to support multiple room versions (#3673)
- The synapse.storage module has been ported to Python 3. (#3725)
- Split the state_group_cache into member and non-member state events (and so speed up LL /sync) (#3726)
- Log failure to authenticate remote servers as warnings (without stack traces) (#3727)
- The CONTRIBUTING guidelines have been updated to mention our use of Markdown and that .misc files have content. (#3730)
- Reference the need for an HTTP replication port when using the federation_reader worker (#3734)
- Fix minor spelling error in federation client documentation. (#3735)
- Remove redundant state resolution function (#3737)
- The test suite now passes on PostgreSQL. (#3740)
- Fix MAU cache invalidation due to missing yield (#3746)
- Make sure that we close db connections opened during init (#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)
Synapse 0.33.3rc2 (2018-08-21)
Bugfixes
- Fix bug in v0.33.3rc1 which caused infinite loops and OOMs (#3723)
Synapse 0.33.3rc1 (2018-08-21)
Features
- Add support for the SNI extension to federation TLS connections. Thanks to @vojeroen! (#3439)
- Add /_media/r0/config (#3184)
- speed up /members API and add
at
andmembership
params as per MSC1227 (#3568) - implement
summary
block in /sync response as per MSC688 (#3574) - Add lazy-loading support to /messages as per MSC1227 (#3589)
- Add ability to limit number of monthly active users on the server (#3633)
- Support more federation endpoints on workers (#3653)
- Basic support for room versioning (#3654)
- Ability to disable client/server Synapse via conf toggle (#3655)
- Ability to whitelist specific threepids against monthly active user limiting (#3662)
- Add some metrics for the appservice and federation event sending loops (#3664)
- Where server is disabled, block ability for locked out users to read new messages (#3670)
- set admin uri via config, to be used in error messages where the user should contact the administrator (#3687)
- Synapse's presence functionality can now be disabled with the "use_presence" configuration option. (#3694)
- For resource limit blocked users, prevent writing into rooms (#3708)
Bugfixes
- Fix occasional glitches in the synapse_event_persisted_position metric (#3658)
- Fix bug on deleting 3pid when using identity servers that don't support unbind API (#3661)
- Make the tests pass on Twisted < 18.7.0 (#3676)
- Don’t ship recaptcha_ajax.js, use it directly from Google (#3677)
- Fixes test_reap_monthly_active_users so it passes under postgres (#3681)
- Fix mau blocking calulation bug on login (#3689)
- Fix missing yield in synapse.storage.monthly_active_users.initialise_reserved_users (#3692)
- Improve HTTP request logging to include all requests (#3700)
- Avoid timing out requests while we are streaming back the response (#3701)
- Support more federation endpoints on workers (#3705, #3713)
- Fix "Starting db txn 'get_all_updated_receipts' from sentinel context" warning (#3710)
- Fix bug where
state_cache
cache factor ignored environment variables (#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. (#3703)
Internal Changes
- The test suite now can run under PostgreSQL. (#3423)
- Refactor HTTP replication endpoints to reduce code duplication (#3632)
- Tests now correctly execute on Python 3. (#3647)
- Sytests can now be run inside a Docker container. (#3660)
- Port over enough to Python 3 to allow the sytests to start. (#3668)
- Update docker base image from alpine 3.7 to 3.8. (#3669)
- Rename synapse.util.async to synapse.util.async_helpers to mitigate async becoming a keyword on Python 3.7. (#3678)
- Synapse's tests are now formatted with the black autoformatter. (#3679)
- Implemented a new testing base class to reduce test boilerplate. (#3684)
- Rename MAU prometheus metrics (#3690)
- add new error type ResourceLimit (#3707)
- Logcontexts for replication command handlers (#3709)
- Update admin register API documentation to reference a real user ID. (#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)
- add support for the include_redundant_members filter param as per MSC1227 (#3331)
- Add metrics to track resource usage by background processes (#3553, #3556, #3604, #3610)
- Add
code
label tosynapse_http_server_response_time_seconds
prometheus metric (#3554) - Add support for client_reader to handle more APIs (#3555, #3597)
- make the /context API filter & lazy-load aware as per MSC1227 (#3567)
- Add ability to limit number of monthly active users on the server (#3630)
- When we fail to join a room over federation, pass the error code back to the client. (#3639)
- Add a new /admin/register API for non-interactively creating users. (#3415)
Bugfixes
- Make /directory/list API return 404 for room not found instead of 400. Thanks to @fuzzmz! (#3620)
- Default inviter_display_name to mxid for email invites (#3391)
- Don't generate TURN credentials if no TURN config options are set (#3514)
- Correctly announce deleted devices over federation (#3520)
- Catch failures saving metrics captured by Measure, and instead log the faulty metrics information for further analysis. (#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)
- Fix potential stack overflow and deadlock under heavy load (#3570)
- Respond with M_NOT_FOUND when profiles are not found locally or over federation. Fixes #3585 (#3585)
- Fix failure to persist events over federation under load (#3601)
- Fix updating of cached remote profiles (#3605)
- Fix 'tuple index out of range' error (#3607)
- Only import secrets when available (fix for py < 3.6) (#3626)
Internal Changes
- Remove redundant checks on who_forgot_in_room (#3350)
- Remove unnecessary event re-signing hacks (#3367)
- Rewrite cache list decorator (#3384)
- Move v1-only REST APIs into their own module. (#3460)
- Replace more instances of Python 2-only iteritems and itervalues uses. (#3562)
- Refactor EventContext to accept state during init (#3577)
- Improve Dockerfile and docker-compose instructions (#3543)
- Release notes are now in the Markdown format. (#3552)
- add config for pep8 (#3559)
- Merge Linearizer and Limiter (#3571, #3572)
- Lazily load state on master process when using workers to reduce DB consumption (#3579, #3581, #3582, #3584)
- Fixes and optimisations for resolve_state_groups (#3586)
- Improve logging for exceptions when handling PDUs (#3587)
- Add some measure blocks to persist_events (#3590)
- Fix some random logcontext leaks. (#3591, #3606)
- Speed up calculating state deltas in persist_event loop (#3592)
- Attempt to reduce amount of state pulled out of DB during persist_events (#3595)
- Fix a documentation typo in on_make_leave_request (#3609)
- Make EventStore inherit from EventFederationStore (#3612)
- Remove some redundant joins on event_edges.room_id (#3613)
- Stop populating events.content (#3614)
- Update the /send_leave path registration to use event_id rather than a transaction ID. (#3616)
- Refactor FederationHandler to move DB writes into separate functions (#3621)
- Remove unused field "pdu_failures" from transactions. (#3628)
- rename replication_layer to federation_client (#3634)
- Factor out exception handling in federation_client (#3638)
- Refactor location of docker build script. (#3644)
- Update CONTRIBUTING to mention newsfragments. (#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)
- Fix a potential issue where users could see events in private rooms before they joined. (#3642)
Synapse 0.33.0 (2018-07-19)
Bugfixes
- Disable a noisy warning about logcontexts. (#3561)
Synapse 0.33.0rc1 (2018-07-18)
Features
- Enforce the specified API for report_event. (#3316)
- Include CPU time from database threads in request/block metrics. (#3496, #3501)
- Add CPU metrics for _fetch_event_list. (#3497)
- Optimisation to make handling incoming federation requests more efficient. (#3541)
Bugfixes
- Fix a significant performance regression in /sync. (#3505, #3521, #3530, #3544)
- Use more portable syntax in our use of the attrs package, widening the supported versions. (#3498)
- Fix queued federation requests being processed in the wrong order. (#3533)
- Ensure that erasure requests are correctly honoured for publicly accessible rooms when accessed over federation. (#3546)
Misc
- Refactoring to improve testability. (#3351, #3499)
- Use
isort
to sort imports. (#3463, #3464, #3540) - Use parse and asserts from http.servlet. (#3534, #3535).
Synapse 0.32.2 (2018-07-07)
Bugfixes
- Amend the Python dependencies to depend on attrs from PyPI, not attr (#3492)
Synapse 0.32.1 (2018-07-06)
Bugfixes
- Add explicit dependency on netaddr (#3488)