A library for ATProtocol identities.

release: 0.10.0

Signed-off-by: Nick Gerakines <nick.gerakines@gmail.com>

Changed files
+39 -33
crates
atproto-client
atproto-identity
atproto-jetstream
atproto-oauth
atproto-oauth-aip
atproto-oauth-axum
atproto-record
atproto-xrpcs
atproto-xrpcs-helloworld
+6
CHANGELOG.md
··· 7 7 8 8 ## [Unreleased] 9 9 10 + ## [0.10.0] - 2025-07-28 11 + ### Changed 12 + - Version release 0.10.0 with updated dependencies and stability improvements 13 + 10 14 ## [0.9.7] - 2025-07-13 11 15 ### Changed 12 16 - Updated `list_records` method to support optional DPoP authentication for enhanced security ··· 105 109 - Core DID document handling 106 110 - Cryptographic key operations for P-256 curves 107 111 112 + [0.10.0]: https://tangled.sh/@smokesignal.events/atproto-identity-rs/tree/v0.10.0 113 + [0.9.7]: https://tangled.sh/@smokesignal.events/atproto-identity-rs/tree/v0.9.7 108 114 [0.9.6]: https://tangled.sh/@smokesignal.events/atproto-identity-rs/tree/v0.9.6 109 115 [0.9.5]: https://tangled.sh/@smokesignal.events/atproto-identity-rs/tree/v0.9.5 110 116 [0.9.4]: https://tangled.sh/@smokesignal.events/atproto-identity-rs/tree/v0.9.4
+9 -9
Cargo.lock
··· 107 107 108 108 [[package]] 109 109 name = "atproto-client" 110 - version = "0.9.7" 110 + version = "0.10.0" 111 111 dependencies = [ 112 112 "anyhow", 113 113 "atproto-identity", ··· 130 130 131 131 [[package]] 132 132 name = "atproto-identity" 133 - version = "0.9.7" 133 + version = "0.10.0" 134 134 dependencies = [ 135 135 "anyhow", 136 136 "async-trait", ··· 156 156 157 157 [[package]] 158 158 name = "atproto-jetstream" 159 - version = "0.9.7" 159 + version = "0.10.0" 160 160 dependencies = [ 161 161 "anyhow", 162 162 "async-trait", ··· 178 178 179 179 [[package]] 180 180 name = "atproto-oauth" 181 - version = "0.9.7" 181 + version = "0.10.0" 182 182 dependencies = [ 183 183 "anyhow", 184 184 "async-trait", ··· 211 211 212 212 [[package]] 213 213 name = "atproto-oauth-aip" 214 - version = "0.9.7" 214 + version = "0.10.0" 215 215 dependencies = [ 216 216 "anyhow", 217 217 "atproto-oauth", ··· 225 225 226 226 [[package]] 227 227 name = "atproto-oauth-axum" 228 - version = "0.9.7" 228 + version = "0.10.0" 229 229 dependencies = [ 230 230 "anyhow", 231 231 "async-trait", ··· 255 255 256 256 [[package]] 257 257 name = "atproto-record" 258 - version = "0.9.7" 258 + version = "0.10.0" 259 259 dependencies = [ 260 260 "anyhow", 261 261 "atproto-identity", ··· 275 275 276 276 [[package]] 277 277 name = "atproto-xrpcs" 278 - version = "0.9.7" 278 + version = "0.10.0" 279 279 dependencies = [ 280 280 "anyhow", 281 281 "async-trait", ··· 302 302 303 303 [[package]] 304 304 name = "atproto-xrpcs-helloworld" 305 - version = "0.9.7" 305 + version = "0.10.0" 306 306 dependencies = [ 307 307 "anyhow", 308 308 "async-trait",
+8 -8
Cargo.toml
··· 22 22 categories = ["command-line-utilities", "web-programming"] 23 23 24 24 [workspace.dependencies] 25 - atproto-client = { version = "0.9.7", path = "crates/atproto-client" } 26 - atproto-identity = { version = "0.9.7", path = "crates/atproto-identity" } 27 - atproto-oauth = { version = "0.9.7", path = "crates/atproto-oauth" } 28 - atproto-oauth-axum = { version = "0.9.7", path = "crates/atproto-oauth-axum" } 29 - atproto-oauth-aip = { version = "0.9.7", path = "crates/atproto-oauth-aip" } 30 - atproto-record = { version = "0.9.7", path = "crates/atproto-record" } 31 - atproto-xrpcs = { version = "0.9.7", path = "crates/atproto-xrpcs" } 32 - atproto-jetstream = { version = "0.9.7", path = "crates/atproto-jetstream" } 25 + atproto-client = { version = "0.10.0", path = "crates/atproto-client" } 26 + atproto-identity = { version = "0.10.0", path = "crates/atproto-identity" } 27 + atproto-oauth = { version = "0.10.0", path = "crates/atproto-oauth" } 28 + atproto-oauth-axum = { version = "0.10.0", path = "crates/atproto-oauth-axum" } 29 + atproto-oauth-aip = { version = "0.10.0", path = "crates/atproto-oauth-aip" } 30 + atproto-record = { version = "0.10.0", path = "crates/atproto-record" } 31 + atproto-xrpcs = { version = "0.10.0", path = "crates/atproto-xrpcs" } 32 + atproto-jetstream = { version = "0.10.0", path = "crates/atproto-jetstream" } 33 33 34 34 anyhow = "1.0" 35 35 async-trait = "0.1.88"
+1 -1
Dockerfile
··· 63 63 LABEL org.opencontainers.image.description="AT Protocol identity management tools" 64 64 LABEL org.opencontainers.image.authors="Nick Gerakines <nick.gerakines@gmail.com>" 65 65 LABEL org.opencontainers.image.source="https://tangled.sh/@smokesignal.events/atproto-identity-rs" 66 - LABEL org.opencontainers.image.version="0.9.7" 66 + LABEL org.opencontainers.image.version="0.10.0" 67 67 LABEL org.opencontainers.image.licenses="MIT" 68 68 69 69 # Document available binaries
+5 -5
README.md
··· 35 35 36 36 ```toml 37 37 [dependencies] 38 - atproto-identity = "0.9.7" 39 - atproto-record = "0.9.7" 40 - atproto-oauth = "0.9.7" 41 - atproto-oauth-aip = "0.9.7" 42 - atproto-client = "0.9.7" 38 + atproto-identity = "0.10.0" 39 + atproto-record = "0.10.0" 40 + atproto-oauth = "0.10.0" 41 + atproto-oauth-aip = "0.10.0" 42 + atproto-client = "0.10.0" 43 43 # Add others as needed 44 44 ``` 45 45
+1 -1
crates/atproto-client/Cargo.toml
··· 1 1 [package] 2 2 name = "atproto-client" 3 - version = "0.9.7" 3 + version = "0.10.0" 4 4 description = "HTTP client for AT Protocol services with OAuth and identity integration" 5 5 readme = "README.md" 6 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
+1 -1
crates/atproto-identity/Cargo.toml
··· 1 1 [package] 2 2 name = "atproto-identity" 3 - version = "0.9.7" 3 + version = "0.10.0" 4 4 description = "AT Protocol identity management - DID resolution, handle resolution, and cryptographic operations" 5 5 readme = "README.md" 6 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
+1 -1
crates/atproto-jetstream/Cargo.toml
··· 1 1 [package] 2 2 name = "atproto-jetstream" 3 - version = "0.9.7" 3 + version = "0.10.0" 4 4 description = "AT Protocol Jetstream event consumer library with WebSocket streaming and compression support" 5 5 readme = "README.md" 6 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
+1 -1
crates/atproto-oauth-aip/Cargo.toml
··· 1 1 [package] 2 2 name = "atproto-oauth-aip" 3 - version = "0.9.7" 3 + version = "0.10.0" 4 4 description = "ATProtocol AIP OAuth tools" 5 5 readme = "README.md" 6 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
+1 -1
crates/atproto-oauth-aip/README.md
··· 25 25 26 26 ```toml 27 27 [dependencies] 28 - atproto-oauth-aip = "0.9.7" 28 + atproto-oauth-aip = "0.10.0" 29 29 ``` 30 30 31 31 ## Usage
+1 -1
crates/atproto-oauth-axum/Cargo.toml
··· 1 1 [package] 2 2 name = "atproto-oauth-axum" 3 - version = "0.9.7" 3 + version = "0.10.0" 4 4 description = "Axum web framework integration for AT Protocol OAuth workflows" 5 5 readme = "README.md" 6 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
+1 -1
crates/atproto-oauth/Cargo.toml
··· 1 1 [package] 2 2 name = "atproto-oauth" 3 - version = "0.9.7" 3 + version = "0.10.0" 4 4 description = "OAuth workflow implementation for AT Protocol - PKCE, DPoP, and secure authentication flows" 5 5 readme = "README.md" 6 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
+1 -1
crates/atproto-record/Cargo.toml
··· 1 1 [package] 2 2 name = "atproto-record" 3 - version = "0.9.7" 3 + version = "0.10.0" 4 4 description = "AT Protocol record signature operations - cryptographic signing and verification for AT Protocol records" 5 5 readme = "README.md" 6 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
+1 -1
crates/atproto-xrpcs-helloworld/Cargo.toml
··· 1 1 [package] 2 2 name = "atproto-xrpcs-helloworld" 3 - version = "0.9.7" 3 + version = "0.10.0" 4 4 description = "Complete example implementation of an AT Protocol XRPC service with DID web functionality and JWT authentication" 5 5 edition.workspace = true 6 6 rust-version.workspace = true
+1 -1
crates/atproto-xrpcs/Cargo.toml
··· 1 1 [package] 2 2 name = "atproto-xrpcs" 3 - version = "0.9.7" 3 + version = "0.10.0" 4 4 description = "Core building blocks for implementing AT Protocol XRPC services with JWT authorization" 5 5 edition.workspace = true 6 6 rust-version.workspace = true