A library for ATProtocol identities.

release: 0.9.7

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

Changed files
+37 -33
crates
atproto-client
atproto-identity
atproto-jetstream
atproto-oauth
atproto-oauth-aip
atproto-oauth-axum
atproto-record
atproto-xrpcs
atproto-xrpcs-helloworld
+4
CHANGELOG.md
··· 7 8 ## [Unreleased] 9 10 ## [0.9.6] - 2025-07-11 11 ### Improved 12 - Enhanced DID method validation for did-method-plc and did-method-web
··· 7 8 ## [Unreleased] 9 10 + ## [0.9.7] - 2025-07-13 11 + ### Changed 12 + - Updated `list_records` method to support optional DPoP authentication for enhanced security 13 + 14 ## [0.9.6] - 2025-07-11 15 ### Improved 16 - Enhanced DID method validation for did-method-plc and did-method-web
+9 -9
Cargo.lock
··· 107 108 [[package]] 109 name = "atproto-client" 110 - version = "0.9.6" 111 dependencies = [ 112 "anyhow", 113 "atproto-identity", ··· 130 131 [[package]] 132 name = "atproto-identity" 133 - version = "0.9.6" 134 dependencies = [ 135 "anyhow", 136 "async-trait", ··· 158 159 [[package]] 160 name = "atproto-jetstream" 161 - version = "0.9.6" 162 dependencies = [ 163 "anyhow", 164 "async-trait", ··· 180 181 [[package]] 182 name = "atproto-oauth" 183 - version = "0.9.6" 184 dependencies = [ 185 "anyhow", 186 "async-trait", ··· 213 214 [[package]] 215 name = "atproto-oauth-aip" 216 - version = "0.9.6" 217 dependencies = [ 218 "anyhow", 219 "atproto-oauth", ··· 227 228 [[package]] 229 name = "atproto-oauth-axum" 230 - version = "0.9.6" 231 dependencies = [ 232 "anyhow", 233 "async-trait", ··· 257 258 [[package]] 259 name = "atproto-record" 260 - version = "0.9.6" 261 dependencies = [ 262 "anyhow", 263 "atproto-identity", ··· 277 278 [[package]] 279 name = "atproto-xrpcs" 280 - version = "0.9.6" 281 dependencies = [ 282 "anyhow", 283 "async-trait", ··· 304 305 [[package]] 306 name = "atproto-xrpcs-helloworld" 307 - version = "0.9.6" 308 dependencies = [ 309 "anyhow", 310 "async-trait",
··· 107 108 [[package]] 109 name = "atproto-client" 110 + version = "0.9.7" 111 dependencies = [ 112 "anyhow", 113 "atproto-identity", ··· 130 131 [[package]] 132 name = "atproto-identity" 133 + version = "0.9.7" 134 dependencies = [ 135 "anyhow", 136 "async-trait", ··· 158 159 [[package]] 160 name = "atproto-jetstream" 161 + version = "0.9.7" 162 dependencies = [ 163 "anyhow", 164 "async-trait", ··· 180 181 [[package]] 182 name = "atproto-oauth" 183 + version = "0.9.7" 184 dependencies = [ 185 "anyhow", 186 "async-trait", ··· 213 214 [[package]] 215 name = "atproto-oauth-aip" 216 + version = "0.9.7" 217 dependencies = [ 218 "anyhow", 219 "atproto-oauth", ··· 227 228 [[package]] 229 name = "atproto-oauth-axum" 230 + version = "0.9.7" 231 dependencies = [ 232 "anyhow", 233 "async-trait", ··· 257 258 [[package]] 259 name = "atproto-record" 260 + version = "0.9.7" 261 dependencies = [ 262 "anyhow", 263 "atproto-identity", ··· 277 278 [[package]] 279 name = "atproto-xrpcs" 280 + version = "0.9.7" 281 dependencies = [ 282 "anyhow", 283 "async-trait", ··· 304 305 [[package]] 306 name = "atproto-xrpcs-helloworld" 307 + version = "0.9.7" 308 dependencies = [ 309 "anyhow", 310 "async-trait",
+8 -8
Cargo.toml
··· 22 categories = ["command-line-utilities", "web-programming"] 23 24 [workspace.dependencies] 25 - atproto-client = { version = "0.9.6", path = "crates/atproto-client" } 26 - atproto-identity = { version = "0.9.6", path = "crates/atproto-identity" } 27 - atproto-oauth = { version = "0.9.6", path = "crates/atproto-oauth" } 28 - atproto-oauth-axum = { version = "0.9.6", path = "crates/atproto-oauth-axum" } 29 - atproto-oauth-aip = { version = "0.9.6", path = "crates/atproto-oauth-aip" } 30 - atproto-record = { version = "0.9.6", path = "crates/atproto-record" } 31 - atproto-xrpcs = { version = "0.9.6", path = "crates/atproto-xrpcs" } 32 - atproto-jetstream = { version = "0.9.6", path = "crates/atproto-jetstream" } 33 34 anyhow = "1.0" 35 async-trait = "0.1.88"
··· 22 categories = ["command-line-utilities", "web-programming"] 23 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" } 33 34 anyhow = "1.0" 35 async-trait = "0.1.88"
+1 -1
Dockerfile
··· 62 LABEL org.opencontainers.image.description="AT Protocol identity management tools" 63 LABEL org.opencontainers.image.authors="Nick Gerakines <nick.gerakines@gmail.com>" 64 LABEL org.opencontainers.image.source="https://tangled.sh/@smokesignal.events/atproto-identity-rs" 65 - LABEL org.opencontainers.image.version="0.9.6" 66 LABEL org.opencontainers.image.licenses="MIT" 67 68 # Document available binaries
··· 62 LABEL org.opencontainers.image.description="AT Protocol identity management tools" 63 LABEL org.opencontainers.image.authors="Nick Gerakines <nick.gerakines@gmail.com>" 64 LABEL org.opencontainers.image.source="https://tangled.sh/@smokesignal.events/atproto-identity-rs" 65 + LABEL org.opencontainers.image.version="0.9.7" 66 LABEL org.opencontainers.image.licenses="MIT" 67 68 # Document available binaries
+5 -5
README.md
··· 30 31 ```toml 32 [dependencies] 33 - atproto-identity = "0.9.6" 34 - atproto-record = "0.9.6" 35 - atproto-oauth = "0.9.6" 36 - atproto-oauth-aip = "0.9.6" 37 - atproto-client = "0.9.6" 38 # Add others as needed 39 ``` 40
··· 30 31 ```toml 32 [dependencies] 33 + atproto-identity = "0.9.7" 34 + atproto-record = "0.9.7" 35 + atproto-oauth = "0.9.7" 36 + atproto-oauth-aip = "0.9.7" 37 + atproto-client = "0.9.7" 38 # Add others as needed 39 ``` 40
+1 -1
crates/atproto-client/Cargo.toml
··· 1 [package] 2 name = "atproto-client" 3 - version = "0.9.6" 4 description = "HTTP client for AT Protocol services with OAuth and identity integration" 5 readme = "README.md" 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
··· 1 [package] 2 name = "atproto-client" 3 + version = "0.9.7" 4 description = "HTTP client for AT Protocol services with OAuth and identity integration" 5 readme = "README.md" 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
+1 -1
crates/atproto-identity/Cargo.toml
··· 1 [package] 2 name = "atproto-identity" 3 - version = "0.9.6" 4 description = "AT Protocol identity management - DID resolution, handle resolution, and cryptographic operations" 5 readme = "README.md" 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
··· 1 [package] 2 name = "atproto-identity" 3 + version = "0.9.7" 4 description = "AT Protocol identity management - DID resolution, handle resolution, and cryptographic operations" 5 readme = "README.md" 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
+1 -1
crates/atproto-jetstream/Cargo.toml
··· 1 [package] 2 name = "atproto-jetstream" 3 - version = "0.9.6" 4 description = "AT Protocol Jetstream event consumer library with WebSocket streaming and compression support" 5 readme = "README.md" 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
··· 1 [package] 2 name = "atproto-jetstream" 3 + version = "0.9.7" 4 description = "AT Protocol Jetstream event consumer library with WebSocket streaming and compression support" 5 readme = "README.md" 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
+1 -1
crates/atproto-oauth-aip/Cargo.toml
··· 1 [package] 2 name = "atproto-oauth-aip" 3 - version = "0.9.6" 4 description = "ATProtocol AIP OAuth tools" 5 readme = "README.md" 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
··· 1 [package] 2 name = "atproto-oauth-aip" 3 + version = "0.9.7" 4 description = "ATProtocol AIP OAuth tools" 5 readme = "README.md" 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
+1 -1
crates/atproto-oauth-aip/README.md
··· 25 26 ```toml 27 [dependencies] 28 - atproto-oauth-aip = "0.9.6" 29 ``` 30 31 ## Usage
··· 25 26 ```toml 27 [dependencies] 28 + atproto-oauth-aip = "0.9.7" 29 ``` 30 31 ## Usage
+1 -1
crates/atproto-oauth-axum/Cargo.toml
··· 1 [package] 2 name = "atproto-oauth-axum" 3 - version = "0.9.6" 4 description = "Axum web framework integration for AT Protocol OAuth workflows" 5 readme = "README.md" 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
··· 1 [package] 2 name = "atproto-oauth-axum" 3 + version = "0.9.7" 4 description = "Axum web framework integration for AT Protocol OAuth workflows" 5 readme = "README.md" 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
+1 -1
crates/atproto-oauth/Cargo.toml
··· 1 [package] 2 name = "atproto-oauth" 3 - version = "0.9.6" 4 description = "OAuth workflow implementation for AT Protocol - PKCE, DPoP, and secure authentication flows" 5 readme = "README.md" 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
··· 1 [package] 2 name = "atproto-oauth" 3 + version = "0.9.7" 4 description = "OAuth workflow implementation for AT Protocol - PKCE, DPoP, and secure authentication flows" 5 readme = "README.md" 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
+1 -1
crates/atproto-record/Cargo.toml
··· 1 [package] 2 name = "atproto-record" 3 - version = "0.9.6" 4 description = "AT Protocol record signature operations - cryptographic signing and verification for AT Protocol records" 5 readme = "README.md" 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
··· 1 [package] 2 name = "atproto-record" 3 + version = "0.9.7" 4 description = "AT Protocol record signature operations - cryptographic signing and verification for AT Protocol records" 5 readme = "README.md" 6 homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
+1 -1
crates/atproto-xrpcs-helloworld/Cargo.toml
··· 1 [package] 2 name = "atproto-xrpcs-helloworld" 3 - version = "0.9.6" 4 description = "Complete example implementation of an AT Protocol XRPC service with DID web functionality and JWT authentication" 5 edition.workspace = true 6 rust-version.workspace = true
··· 1 [package] 2 name = "atproto-xrpcs-helloworld" 3 + version = "0.9.7" 4 description = "Complete example implementation of an AT Protocol XRPC service with DID web functionality and JWT authentication" 5 edition.workspace = true 6 rust-version.workspace = true
+1 -1
crates/atproto-xrpcs/Cargo.toml
··· 1 [package] 2 name = "atproto-xrpcs" 3 - version = "0.9.6" 4 description = "Core building blocks for implementing AT Protocol XRPC services with JWT authorization" 5 edition.workspace = true 6 rust-version.workspace = true
··· 1 [package] 2 name = "atproto-xrpcs" 3 + version = "0.9.7" 4 description = "Core building blocks for implementing AT Protocol XRPC services with JWT authorization" 5 edition.workspace = true 6 rust-version.workspace = true