indieweb 0.4.5

A collection of utilities for working with the IndieWeb.
Documentation
[package]
name = "indieweb"
version = "0.4.5"
authors = ["Jacky Alciné <yo@jacky.wtf>"]
description = "A collection of utilities for working with the IndieWeb."
readme = "README.markdown"
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
keywords = ["indieweb", "webmention", "indieauth", "micropub", "microsub"]
categories = ["web-programming::http-client", "api-bindings", "web-programming"]

[badges]
maintenance = { status = "actively-developed" }

[dependencies]
async-trait = "0.1.82"
base64 = "0.22"
time = { version = "0.3", features = ["serde", "serde-well-known"] }
futures = "0.3"
http = { version = "1" }
microformats = { version= "0"}
oauth2 = { version = "4.4", default-features = false }
reqwest-middleware = { version = "0.3", optional = true }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_qs = "0"
sha2 = "0.10"
thiserror = "1.0.63"
tracing = { version = "0.1", features = ["attributes"] }
url = { version = "2.5", features = ["serde"] }
regex = { version = "1.10.6", features = ["perf", "unicode-bool"], optional = true, default-features = false }
reqwest = { version = "0.12", optional = true }

[features]
default = ["reqwest", "reaction", "experimental", "reqwest_middleware"]
experimental = [
	"experimental_channels",
	"experimental_syndication",
	"experimental_relation",
]
experimental_channels = []
experimental_relation = []
experimental_syndication = []
reaction = ["regex"]
reqwest = ["dep:reqwest"]
reqwest_middleware = ["dep:reqwest-middleware", "reqwest"]

[dev-dependencies]
mockito = "1.5"
env_logger = "0.11"
assert-json-diff = "2.0"
serde_urlencoded = "0.7"
tokio = { version = "1.40", features = ["test-util", "full"] }
tracing-test = "0.2"
tokio-test = "0.4.4"

[package.metadata.docs.rs]
all-features = true
default-target = "x86_64-unknown-linux-gnu"
rustdoc-args = ["--cfg", "docsrs"]

[package.metadata.playground]
all-features = true