matrix-org / matrix-org/matrix-rust-sdk

Document supported matrix versions, and introduce compatibility modes for older ones

Open
#404 0 comments 0 reactions 0 assignees View on GitHub
documentation enhancement
Dominant language
Rust
Stars
2.3k
Forks
500
Avg merge
1d 16h
Merged PRs (30d)
106

Description

#### Is your feature request related to a problem? Please describe.
Matrix now has a quarterly release cadence, starting with [v1.1](https://matrix.org/blog/2021/11/09/matrix-v-1-1-release), it'd help if libraries and clients can start relying on these versions to introduce, work with, or otherwise stay compatible with versions and features per-version.

#### Describe the solution you'd like
A few action items;

- [ ] Document the matrix versions supported (https://github.com/badges/shields/issues/7245)
- [ ] Make supported matrix versions programmaticallu queryable
- [ ] Introduce compatibility probing (call `/versions`)
- [ ] Bubble error when client cannot properly communicate to server.
("Cannot communicate with server, this library version supports versions v1.1 and v1.2, but the server only supports v1.0")
- [ ] Introduce compatibility modes based off of the `/versions` response for older versions

#### Describe alternatives you've considered

#### Additional context

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the linked supported-matrix-versions issue (#7245) and the Matrix /versions endpoint described here. Define how supported versions are exposed, how probing and incompatible-server errors should work, and how older-version compatibility modes are selected; done means the full checklist has an agreed, testable design and implementation scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
api, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.