Kévin Commaille
ea0cdc6318
api: Add MatrixVersion::V1_13
2025-01-02 18:41:55 -05:00
Kévin Commaille
b1790e05ce
push: Allow to add custom data for pushers
...
Due to a clarification in the spec.
2024-12-15 03:10:09 -05:00
Kévin Commaille
f05d0e03a1
api: Disallow #[serde(flatten)] for single-body-fields of requests and responses
...
`#[ruma_api(body)]` must be used instead.
2024-12-15 03:07:49 -05:00
Kévin Commaille
fb273553b5
identifiers: Allow to set ruma_identifiers_storage cfg setting with env variable
2024-12-15 02:55:58 -05:00
Andy Balaam
5db68816a9
identifiers: Make KeyId::key_name take the string after the colon, not before
2024-11-08 13:14:20 -05:00
Kévin Commaille
0d1d549cf6
encryption: Use Signatures for the key types
2024-11-08 13:13:29 -05:00
Kévin Commaille
35da79a26e
identifiers: Make DeviceKeyId a type alias of KeyId
2024-11-08 13:13:19 -05:00
Kévin Commaille
7f8f89eff7
identifiers: Differentiate signing keys from device keys
...
Use OwnedCrossSigningKeyId, OwnedDeviceSigningKeyId and
OwnedCrossSigningOrDeviceSigningKeyId instead of OwnedDeviceKeyId
to identify signing keys.
2024-11-08 13:13:15 -05:00
Kévin Commaille
09ff0b2819
identifiers: Differentiate one-time and fallback keys from device keys
...
Move the `DeviceKeyAlgorithm::SignedCurve25519` into the new
`OneTimeKeyAlgorithm` type.
Add `(Owned)OneTimeKeyId` and `(Owned)OneTimeKeyName` instead of using
`(Owned)DeviceKeyId`.
2024-11-08 13:02:19 -05:00
Kévin Commaille
263ddb6545
identifiers: Improve API of Signatures
...
Implement `Deref` and `DerefMut` to `BTreeMap`.
Implement `From`, `Extend` and `FromIterator` from a list of
`(entity, key_identifier, value)` tuples
Rename `Signatures::insert` to `Signatures::insert_signature`
to let `Signatures::insert` dereference to `BTreeMap::insert`.
2024-11-08 12:49:57 -05:00
Kévin Commaille
ae3897cad8
identifiers: Allow to validate KeyId with any key name type
...
Use new trait bounds for KeyId to only allow specific types.
Change the KeyId validation to be generic over the key name type.
Remove the KeyName type and replace it with the more specific
ServerSigningKeyVersion.
2024-11-08 12:49:53 -05:00
Kévin Commaille
56b400b832
api: Add MatrixVersion::V1_12
2024-10-19 14:59:02 -04:00
Charles Hall
0286bcfa2f
api: allow constructing MatrixErrorBody::NotJson
2024-10-19 14:58:44 -04:00
Kévin Commaille
f73ba5556c
api: Allow types implementing ToString and FromStr for header values
...
Contrary to what the previous docs said, types implementing Display did not work,
only string types worked.
2024-07-14 12:28:48 +02:00
Matthias Ahouansou
50a46cc5f6
api: implement (Partial)Eq for Metadata
2024-07-11 21:47:48 +02:00
Kévin Commaille
a17c0516d6
identifiers: Deprecate constructing Matrix URI for event with room alias
...
According to MSC4132 / Matrix 1.11
2024-06-22 11:10:44 +02:00
Kévin Commaille
968c52b117
api: Rename request macro attribute query_map to query_all
...
Remove its IntoIterator bound to allow to represent
the query fields as a single struct or enum.
2024-06-21 19:15:59 +02:00
Kévin Commaille
05c12bf3ba
api: Clarify that access tokens using query parameter are deprecated
...
According to MSC4126 / Matrix 1.11
2024-06-21 18:21:45 +02:00
Kévin Commaille
2dcc83278a
api: Add MatrixVersion::V1_11
2024-06-21 15:19:34 +02:00
Mikoto
629b06e1e4
thirdparty: Implement Borrow/Hash/Eq for ThirdPartyIdentifier
2024-06-18 23:35:19 +02:00
Kévin Commaille
64b3838113
thirdparty: Fix unstable-unspecified feature being non-additive
2024-06-18 13:41:47 +02:00
Damir Jelić
a12c38c532
common: Add a error variant for unexpected header values
2024-05-14 18:18:15 +02:00
Kévin Commaille
75455d3e0f
Release ruma-common 0.13.0
2024-05-09 12:14:59 +02:00
Kévin Commaille
10c7e59c57
client-api: Add helper methods to convert SystemTime from/to a HTTP date
2024-05-08 19:09:13 +02:00
Kévin Commaille
1689a50639
api: Add changelog entry for http major version bump
2024-04-30 17:03:04 +02:00
Kévin Commaille
21b644ac6a
identifiers: Allow to clone MatrixToUri and MatrixUri
2024-04-21 14:25:10 +02:00
Benjamin Bouvier
ccc0a64ba3
events: allow deserialize a m.tag
's order
as an integer ( #1767 )
...
Some servers use an integer to represent e.g. `1` for the order, instead of the double representation (that would be `1.` or `1.0)`. This makes it possible to parse such values as integers too, since they're technically not double. Implementing `visit_u64` and `visit_i64` covers all the smaller sizes too, so I've implemented only that here.
2024-04-18 09:15:27 +00:00
Kévin Commaille
0e7c91d789
docs: Point links to v1.10 of the spec
2024-03-22 21:28:39 +01:00
Kévin Commaille
041d871781
api: Add MatrixVersion::V1_10
2024-03-22 21:28:39 +01:00
Damir Jelić
ccd3b81557
Use web-time to return a SystemTime that works under WASM
...
The `MilliSecondsSinceUnixEpoch::to_system_time()` method returns the
`SystemTime` type from the standard library.
The `std::time::SystemTime::elapsed()` method sadly panics under WASM.
Instead of returning the `SystemTime` from the standard library we're
now returning a drop-in replacement of this type coming from the web-time
crate.
2024-03-20 12:19:18 +01:00
Matthias Ahouansou
bbf81544f2
api: support for appservice-exclusive authentication
2024-03-13 22:06:58 +01:00
Kévin Commaille
f652cbb60f
api: Add support for optional authentication
2024-03-07 12:30:28 +01:00
Kévin Commaille
00f8a6743b
push: Allow to deserialize Ruleset with missing fields
...
According to the Matrix Specification, no field is required.
2023-12-26 17:28:43 +01:00
Kévin Commaille
56d8a59c1b
push: Add accessor for the RuleKind of Predefined{*}RuleId
2023-12-05 10:56:36 +01:00
Kévin Commaille
ba75b09a45
push: Implement AsRef<str> for PredefinedRuleId
2023-12-05 10:56:36 +01:00
Kévin Commaille
90d3605b87
push: Make power levels optional in PushConditionRoomCtx
2023-12-03 13:03:06 +01:00
Kévin Commaille
4efca6fba5
docs: Point links to v1.9 of the spec
2023-11-30 14:42:14 +01:00
Kévin Commaille
ac2f725bcc
api: Add support for Matrix 1.9
2023-11-30 14:42:14 +01:00
Kévin Commaille
b4133b7863
push: Stabilize support for MSC3958
2023-11-30 14:37:17 +01:00
Jonas Platte
5d7c1f5330
Release ruma-common 0.12.1
2023-11-16 10:43:15 +01:00
Kévin Commaille
9b07772d1a
push: Allow to deserialize (New)ConditionalPushRule without conditions
2023-11-15 15:10:42 +01:00
Jonas Platte
7cee1787a2
Release ruma-common 0.12.0
2023-10-05 11:21:46 +02:00
Jonas Platte
984cbda962
identifiers: Don't require room IDs to contain a server name
...
Room IDs being splittable into localpart and servername does not have
much inherent value and there are proposals like MSC4051¹ that propose
changing the format. Relaxing the rules makes Ruma forwards-compatible
with those proposals. The server_name accessor is kept because it is
used by at least one downstream, but is updated to return an `Option`.
¹ https://github.com/matrix-org/matrix-spec-proposals/pull/4051
2023-09-28 16:43:16 +02:00
Damir Jelić
1b6240286f
common: Allow padding when decoding the Base64
type from a string
2023-09-20 10:28:57 +00:00
Kévin Commaille
31ae99cf52
Add support for suppress edits push rule
...
According to MSC3958
2023-09-15 13:33:07 +02:00
Kévin Commaille
e11d30934b
events: Move changelog entries from ruma-common to ruma-events
2023-09-15 12:54:48 +02:00
Kévin Commaille
9d0f23c8a7
canonical-json: Apply redaction rules of MSC3821
2023-08-29 09:23:44 +02:00
Jonas Platte
31331f3165
Bring back ruma-events
...
Co-authored-by: Kévin Commaille <zecakeh@tedomum.fr>
2023-08-28 10:23:54 +02:00
Kévin Commaille
24ce9d5e09
events: Move sanitize HTML features to new ruma-html crate
2023-08-24 14:00:07 +02:00
Kévin Commaille
c8bbcecdc8
docs: Update changelogs for Matrix 1.8
2023-08-24 12:16:29 +02:00