summaryrefslogtreecommitdiff
path: root/crates/tor-hscrypto
diff options
context:
space:
mode:
Diffstat (limited to 'crates/tor-hscrypto')
-rw-r--r--crates/tor-hscrypto/Cargo.toml12
-rw-r--r--crates/tor-hscrypto/README.md15
2 files changed, 24 insertions, 3 deletions
diff --git a/crates/tor-hscrypto/Cargo.toml b/crates/tor-hscrypto/Cargo.toml
index d6f879092..bc84a9d07 100644
--- a/crates/tor-hscrypto/Cargo.toml
+++ b/crates/tor-hscrypto/Cargo.toml
@@ -17,8 +17,8 @@ memquota-memcost = ["derive-deftly", "tor-memquota", "tor-units/memquota-memcost
ope = ["cipher", "zeroize"]
# Onion service proof of work schemes
-pow-v1 = ["arrayvec", "blake2", "equix"]
-pow-full = ["pow-v1"]
+pow-v1 = ["arrayvec", "blake2", "equix", "__is_experimental"]
+pow-full = ["pow-v1", "__is_experimental"]
full = [
"memquota-memcost",
@@ -29,8 +29,16 @@ full = [
"tor-llcrypto/full",
"tor-units/full",
"tor-error/full",
+ "equix?/full",
+ "tor-memquota?/full",
]
+experimental = [
+ "pow-full",
+ "pow-v1",
+]
+__is_experimental = []
+
[dependencies]
arrayvec = { version = "0.7.4", optional = true }
blake2 = { version = "0.10.6", optional = true }
diff --git a/crates/tor-hscrypto/README.md b/crates/tor-hscrypto/README.md
index 3a8036be8..91b563a41 100644
--- a/crates/tor-hscrypto/README.md
+++ b/crates/tor-hscrypto/README.md
@@ -32,12 +32,25 @@ onion services.
* `ope` -- support for Order Preserving Encryption
+* `full` -- Enable all features above.
+
+### Experimental and unstable features
+
+Note that the APIs enabled by these features are NOT covered by
+semantic versioning[^1] guarantees: we might break them or remove
+them between patch versions.
+
* `pow-v1` -- Tor Hidden Services Proof of Work (`v1` scheme only)
* `pow-full` -- Tor Hidden Services Proof of Work
(metafeature, enables all non-experimental schemes: currently, implies only `pow-v1`).
-* `full` -- Enable all features above.
+* `experimental`: Enable all the above experimental features.
+
+[^1]: Remember, semantic versioning is what makes various `cargo`
+features work reliably. To be explicit: if you want `cargo update`
+to _only_ make safe changes, then you cannot enable these
+features.
## License