pkarr 2.2.0

Public-Key Addressable Resource Records (Pkarr); publish and resolve DNS records over Mainline DHT
Documentation
[package]
name = "pkarr"
version = "2.2.0"
authors = ["Nuh <nuh@nuh.dev>"]
edition = "2021"
description = "Public-Key Addressable Resource Records (Pkarr); publish and resolve DNS records over Mainline DHT"
license = "MIT"
repository = "https://git.pkarr.org"
keywords = ["mainline", "dht", "dns", "decentralized", "identity"]

[dependencies]
bytes = "1.7.1"
document-features = "0.2.8"
ed25519-dalek = "2.0.0"
self_cell = "1.0.2"
simple-dns = "0.6.1"
thiserror = "1.0.49"
tracing = "0.1.40"
z32 = "1.1.1"
rand = { version = "0.8.5", optional = true }
lru = { version = "0.12.3", default-features = false }
flume = { version = "0.11.0", features = ["select", "eventual-fairness"], default-features = false }

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
# Dht client dependencies:
mainline = { version = "2.0.1", optional = true }
dyn-clone = { version = "1.0.17", optional = true }

# Relay client dependencies
ureq = { version = "2.10", default-features = false, features = ["tls"], optional = true }

[target.'cfg(target_arch = "wasm32")'.dependencies]
futures = "0.3.29"
js-sys = "0.3.69"
wasm-bindgen = "0.2.92"
wasm-bindgen-futures = "0.4.42"
web-sys = { version = "0.3.69", features = [
  "console",
  "Request",
  "RequestInit",
  "RequestMode",
  "Response",
  "Window",
] }

[dev-dependencies]
futures = "0.3.29"

[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
clap = { version = "4.4.8", features = ["derive"] }
mockito = "1.4.0"
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }

[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
wasm-bindgen-test = "0.3.42"

[features]
## Use [PkarrClient]
dht = ["dep:mainline", "dep:dyn-clone"]
## Use [Keypair::random]
rand = ["dep:rand", "ed25519-dalek/rand_core"]
## Use async versions of [PkarrClient] and/or [PkarrRelayClient]
async = ["flume/async"]
## Use [PkarrRelayClient]
relay = ["dep:ureq"]
## Use all features
full = ["dht", "async", "relay", "rand"]

default = ["dht", "rand"]

[package.metadata.docs.rs]
all-features = true