Previous code was not checking/enforcing rule 4.3.1 (https://spec.matrix.org/v1.2/rooms/v9/), which states that a room member event (with a join membership) must be accepted only if it contains a previous event which `state_key` is the room creator. On top of that, it simplifies the public interface for `auth_rules`, removing the need of (externally) compute `prev_event`, which, as a side effect, should reduce the amount of times the previous event needs to be fetched: It will only load it if the authorized event is a `m.room_member` with a `Join` state. Finally, I've splitted the join conditions so it's (hopefully) more readable and apply auth rules in the same order as they appear in the spec.
1.1 KiB
1.1 KiB
[unreleased]
Breaking changes:
auth_check
does not requireprev_event
parameter. It was only required on some specific cases. Previous event is now calculated on demand only when it's required.
0.6.0
Breaking changes:
- Upgrade dependencies
0.5.0
Breaking changes:
- Remove some trait methods from
Event
- Update
Event::content
signature to return&RawJsonValue
instead of&JsonValue
- The
key_fn
inlexicographical_topological_sort
has removed the event ID from its return type and changed to expect just the power level, not the negated power level
0.4.1
Improvements:
- Improve performance of
StateResolution::separate
0.4.0
Breaking changes:
- Change the way events are supplied
0.3.0
Breaking changes:
- state_res::resolve auth_events type has been slightly changed and renamed to auth_chain_sets
- state_res::resolve structs were changed from BTreeMap/Set to HashMap/Set
- Upgrade dependencies
0.2.0
Breaking changes:
- Replace
Vec
byBTreeSet
in parts of the API - Replace
event_map
argument with a closure to fetch events on demand
0.1.0
Initial release