+18
CHANGELOG.md
+18
CHANGELOG.md
···
7
7
8
8
## [Unreleased]
9
9
10
+
## [0.13.0] - 2025-09-21
11
+
### Added
12
+
- New `atproto-lexicon` crate for AT Protocol lexicon resolution and validation
13
+
- `atproto-lexicon-resolve` CLI tool for resolving lexicons via DNS and XRPC
14
+
- Comprehensive lexicon reference extraction and recursive resolution capabilities
15
+
- Full support for NSID validation and DNS-based lexicon discovery
16
+
17
+
### Changed
18
+
- Updated Rust minimum version requirement to 1.90
19
+
- Enhanced error management across atproto-lexicon crate
20
+
- Improved project documentation with atproto-lexicon integration
21
+
22
+
### Improved
23
+
- Code formatting and linting across all crates
24
+
- Updated README documentation to include atproto-lexicon references
25
+
10
26
## [0.12.0] - 2025-09-17
11
27
### Added
12
28
- Unified `Auth` enum for authentication methods in `atproto-client` supporting None, DPoP, and AppPassword authentication
···
165
181
- Core DID document handling
166
182
- Cryptographic key operations for P-256 curves
167
183
184
+
[0.13.0]: https://tangled.sh/@smokesignal.events/atproto-identity-rs/tree/v0.13.0
185
+
[0.12.0]: https://tangled.sh/@smokesignal.events/atproto-identity-rs/tree/v0.12.0
168
186
[0.11.3]: https://tangled.sh/@smokesignal.events/atproto-identity-rs/tree/v0.11.3
169
187
[0.11.2]: https://tangled.sh/@smokesignal.events/atproto-identity-rs/tree/v0.11.2
170
188
[0.11.1]: https://tangled.sh/@smokesignal.events/atproto-identity-rs/tree/v0.11.1
+10
-10
Cargo.lock
+10
-10
Cargo.lock
···
107
107
108
108
[[package]]
109
109
name = "atproto-client"
110
-
version = "0.12.0"
110
+
version = "0.13.0"
111
111
dependencies = [
112
112
"anyhow",
113
113
"atproto-identity",
···
130
130
131
131
[[package]]
132
132
name = "atproto-identity"
133
-
version = "0.12.0"
133
+
version = "0.13.0"
134
134
dependencies = [
135
135
"anyhow",
136
136
"async-trait",
···
157
157
158
158
[[package]]
159
159
name = "atproto-jetstream"
160
-
version = "0.12.0"
160
+
version = "0.13.0"
161
161
dependencies = [
162
162
"anyhow",
163
163
"async-trait",
···
179
179
180
180
[[package]]
181
181
name = "atproto-lexicon"
182
-
version = "0.12.0"
182
+
version = "0.13.0"
183
183
dependencies = [
184
184
"anyhow",
185
185
"async-trait",
···
198
198
199
199
[[package]]
200
200
name = "atproto-oauth"
201
-
version = "0.12.0"
201
+
version = "0.13.0"
202
202
dependencies = [
203
203
"anyhow",
204
204
"async-trait",
···
230
230
231
231
[[package]]
232
232
name = "atproto-oauth-aip"
233
-
version = "0.12.0"
233
+
version = "0.13.0"
234
234
dependencies = [
235
235
"anyhow",
236
236
"atproto-identity",
···
245
245
246
246
[[package]]
247
247
name = "atproto-oauth-axum"
248
-
version = "0.12.0"
248
+
version = "0.13.0"
249
249
dependencies = [
250
250
"anyhow",
251
251
"async-trait",
···
274
274
275
275
[[package]]
276
276
name = "atproto-record"
277
-
version = "0.12.0"
277
+
version = "0.13.0"
278
278
dependencies = [
279
279
"anyhow",
280
280
"atproto-identity",
···
290
290
291
291
[[package]]
292
292
name = "atproto-xrpcs"
293
-
version = "0.12.0"
293
+
version = "0.13.0"
294
294
dependencies = [
295
295
"anyhow",
296
296
"async-trait",
···
316
316
317
317
[[package]]
318
318
name = "atproto-xrpcs-helloworld"
319
-
version = "0.12.0"
319
+
version = "0.13.0"
320
320
dependencies = [
321
321
"anyhow",
322
322
"async-trait",
+8
-8
Cargo.toml
+8
-8
Cargo.toml
···
23
23
categories = ["command-line-utilities", "web-programming"]
24
24
25
25
[workspace.dependencies]
26
-
atproto-client = { version = "0.12.0", path = "crates/atproto-client" }
27
-
atproto-identity = { version = "0.12.0", path = "crates/atproto-identity" }
28
-
atproto-oauth = { version = "0.12.0", path = "crates/atproto-oauth" }
29
-
atproto-oauth-axum = { version = "0.12.0", path = "crates/atproto-oauth-axum" }
30
-
atproto-oauth-aip = { version = "0.12.0", path = "crates/atproto-oauth-aip" }
31
-
atproto-record = { version = "0.12.0", path = "crates/atproto-record" }
32
-
atproto-xrpcs = { version = "0.12.0", path = "crates/atproto-xrpcs" }
33
-
atproto-jetstream = { version = "0.12.0", path = "crates/atproto-jetstream" }
26
+
atproto-client = { version = "0.13.0", path = "crates/atproto-client" }
27
+
atproto-identity = { version = "0.13.0", path = "crates/atproto-identity" }
28
+
atproto-oauth = { version = "0.13.0", path = "crates/atproto-oauth" }
29
+
atproto-oauth-axum = { version = "0.13.0", path = "crates/atproto-oauth-axum" }
30
+
atproto-oauth-aip = { version = "0.13.0", path = "crates/atproto-oauth-aip" }
31
+
atproto-record = { version = "0.13.0", path = "crates/atproto-record" }
32
+
atproto-xrpcs = { version = "0.13.0", path = "crates/atproto-xrpcs" }
33
+
atproto-jetstream = { version = "0.13.0", path = "crates/atproto-jetstream" }
34
34
35
35
anyhow = "1.0"
36
36
async-trait = "0.1.88"
+1
-1
Dockerfile
+1
-1
Dockerfile
···
69
69
LABEL org.opencontainers.image.description="AT Protocol identity management tools"
70
70
LABEL org.opencontainers.image.authors="Nick Gerakines <nick.gerakines@gmail.com>"
71
71
LABEL org.opencontainers.image.source="https://tangled.sh/@smokesignal.events/atproto-identity-rs"
72
-
LABEL org.opencontainers.image.version="0.12.0"
72
+
LABEL org.opencontainers.image.version="0.13.0"
73
73
LABEL org.opencontainers.image.licenses="MIT"
74
74
75
75
# Document available binaries
+6
-6
README.md
+6
-6
README.md
···
36
36
37
37
```toml
38
38
[dependencies]
39
-
atproto-identity = "0.12.0"
40
-
atproto-record = "0.12.0"
41
-
atproto-lexicon = "0.12.0"
42
-
atproto-oauth = "0.12.0"
43
-
atproto-oauth-aip = "0.12.0"
44
-
atproto-client = "0.12.0"
39
+
atproto-identity = "0.13.0"
40
+
atproto-record = "0.13.0"
41
+
atproto-lexicon = "0.13.0"
42
+
atproto-oauth = "0.13.0"
43
+
atproto-oauth-aip = "0.13.0"
44
+
atproto-client = "0.13.0"
45
45
# Add others as needed
46
46
```
47
47
+1
-1
crates/atproto-client/Cargo.toml
+1
-1
crates/atproto-client/Cargo.toml
+1
-1
crates/atproto-identity/Cargo.toml
+1
-1
crates/atproto-identity/Cargo.toml
···
1
1
[package]
2
2
name = "atproto-identity"
3
-
version = "0.12.0"
3
+
version = "0.13.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
crates/atproto-jetstream/Cargo.toml
···
1
1
[package]
2
2
name = "atproto-jetstream"
3
-
version = "0.12.0"
3
+
version = "0.13.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-lexicon/Cargo.toml
+1
-1
crates/atproto-lexicon/Cargo.toml
+1
-1
crates/atproto-lexicon/README.md
+1
-1
crates/atproto-lexicon/README.md
+1
-1
crates/atproto-oauth-aip/Cargo.toml
+1
-1
crates/atproto-oauth-aip/Cargo.toml
+1
-1
crates/atproto-oauth-axum/Cargo.toml
+1
-1
crates/atproto-oauth-axum/Cargo.toml
+1
-1
crates/atproto-oauth/Cargo.toml
+1
-1
crates/atproto-oauth/Cargo.toml
···
1
1
[package]
2
2
name = "atproto-oauth"
3
-
version = "0.12.0"
3
+
version = "0.13.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
crates/atproto-record/Cargo.toml
···
1
1
[package]
2
2
name = "atproto-record"
3
-
version = "0.12.0"
3
+
version = "0.13.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
crates/atproto-xrpcs-helloworld/Cargo.toml