Cargo Features
[dependencies]
ruma-common = { version = "0.15.0", default-features = false, features = ["server", "api", "canonical-json", "js", "rand", "unstable-msc3930", "unstable-msc3931", "unstable-msc3932", "unstable-unspecified", "compat-arbitrary-length-ids", "compat-server-signing-key-version", "compat-user-id", "compat-empty-string-null", "compat-null", "compat-optional", "getrandom"] }
- default = client, server
-
These feature gates exist only for the tests. Disabling them results in a compile error.
- client server default
- api
-
Affects
ruma-common::api
… - canonical-json
-
Affects
value::CanonicalJsonObject
,value::CanonicalJsonValue
,canonical_json::CanonicalJsonError
,canonical_json::RedactionError
,ruma-common::canonical_json
… - js
-
Enables js-sys, js of optional getrandom, js of optional uuid
- rand
- unstable-msc2870 unstable-msc3930
- unstable-msc3931 unstable-msc3932?
-
Affects
condition::RoomVersionFeature
,condition::PushConditionRoomCtx.supported_features
… - unstable-msc3932 = unstable-msc3931
- unstable-unspecified
-
Affects
thirdparty::ProtocolInstance.instance_id
… - compat-arbitrary-length-ids
-
Allow IDs to exceed 255 bytes.
Enables compat-arbitrary-length-ids of ruma-identifiers-validation
- compat-server-signing-key-version
-
Don't validate
ServerSigningKeyVersion
.Enables compat-server-signing-key-version of ruma-identifiers-validation
- compat-user-id
-
Allow some user IDs that are invalid even with the specified historical user ID scheme.
Enables compat-user-id of ruma-identifiers-validation
- compat-empty-string-null
-
Allow some mandatory fields to be missing, defaulting them to an empty string in deserialization.
- compat-null
-
Allow certain fields to be
null
for compatibility, treating that the same as the field being absent. - compat-optional
-
Allow certain fields to be absent even though the spec marks them as mandatory. Deserialization will yield a default value like an empty string.