+13
CHANGELOG.md
+13
CHANGELOG.md
···
7
8
## [Unreleased]
9
10
## [0.11.0] - 2025-08-18
11
### Added
12
- Document builder functionality for AT Protocol documents
···
124
- Core DID document handling
125
- Cryptographic key operations for P-256 curves
126
127
[0.11.0]: https://tangled.sh/@smokesignal.events/atproto-identity-rs/tree/v0.11.0
128
[0.10.0]: https://tangled.sh/@smokesignal.events/atproto-identity-rs/tree/v0.10.0
129
[0.9.7]: https://tangled.sh/@smokesignal.events/atproto-identity-rs/tree/v0.9.7
···
7
8
## [Unreleased]
9
10
+
## [0.11.1] - 2025-08-20
11
+
### Fixed
12
+
- Base64 decoding in `atproto-record` now accepts both padded and unpadded base64 strings for better compatibility with various AT Protocol implementations
13
+
- Updated `signature::verify` function to only accept `{"$bytes": "..."}` format for signatures
14
+
15
+
### Added
16
+
- Comprehensive unit tests for record signature creation and verification across P-256, P-384, and K-256 curves
17
+
- Unit test for deserializing real-world RSVP records with signatures
18
+
19
+
### Changed
20
+
- Made `create` and `verify` functions in the signature module synchronous (removed `async`) as they don't perform async operations
21
+
22
## [0.11.0] - 2025-08-18
23
### Added
24
- Document builder functionality for AT Protocol documents
···
136
- Core DID document handling
137
- Cryptographic key operations for P-256 curves
138
139
+
[0.11.1]: https://tangled.sh/@smokesignal.events/atproto-identity-rs/tree/v0.11.1
140
[0.11.0]: https://tangled.sh/@smokesignal.events/atproto-identity-rs/tree/v0.11.0
141
[0.10.0]: https://tangled.sh/@smokesignal.events/atproto-identity-rs/tree/v0.10.0
142
[0.9.7]: https://tangled.sh/@smokesignal.events/atproto-identity-rs/tree/v0.9.7
+9
-9
Cargo.lock
+9
-9
Cargo.lock
···
107
108
[[package]]
109
name = "atproto-client"
110
-
version = "0.11.0"
111
dependencies = [
112
"anyhow",
113
"atproto-identity",
···
130
131
[[package]]
132
name = "atproto-identity"
133
-
version = "0.11.0"
134
dependencies = [
135
"anyhow",
136
"async-trait",
···
156
157
[[package]]
158
name = "atproto-jetstream"
159
-
version = "0.11.0"
160
dependencies = [
161
"anyhow",
162
"async-trait",
···
178
179
[[package]]
180
name = "atproto-oauth"
181
-
version = "0.11.0"
182
dependencies = [
183
"anyhow",
184
"async-trait",
···
210
211
[[package]]
212
name = "atproto-oauth-aip"
213
-
version = "0.11.0"
214
dependencies = [
215
"anyhow",
216
"atproto-oauth",
···
224
225
[[package]]
226
name = "atproto-oauth-axum"
227
-
version = "0.11.0"
228
dependencies = [
229
"anyhow",
230
"async-trait",
···
253
254
[[package]]
255
name = "atproto-record"
256
-
version = "0.11.0"
257
dependencies = [
258
"anyhow",
259
"atproto-identity",
···
269
270
[[package]]
271
name = "atproto-xrpcs"
272
-
version = "0.11.0"
273
dependencies = [
274
"anyhow",
275
"async-trait",
···
295
296
[[package]]
297
name = "atproto-xrpcs-helloworld"
298
-
version = "0.11.0"
299
dependencies = [
300
"anyhow",
301
"async-trait",
···
107
108
[[package]]
109
name = "atproto-client"
110
+
version = "0.11.1"
111
dependencies = [
112
"anyhow",
113
"atproto-identity",
···
130
131
[[package]]
132
name = "atproto-identity"
133
+
version = "0.11.1"
134
dependencies = [
135
"anyhow",
136
"async-trait",
···
156
157
[[package]]
158
name = "atproto-jetstream"
159
+
version = "0.11.1"
160
dependencies = [
161
"anyhow",
162
"async-trait",
···
178
179
[[package]]
180
name = "atproto-oauth"
181
+
version = "0.11.1"
182
dependencies = [
183
"anyhow",
184
"async-trait",
···
210
211
[[package]]
212
name = "atproto-oauth-aip"
213
+
version = "0.11.1"
214
dependencies = [
215
"anyhow",
216
"atproto-oauth",
···
224
225
[[package]]
226
name = "atproto-oauth-axum"
227
+
version = "0.11.1"
228
dependencies = [
229
"anyhow",
230
"async-trait",
···
253
254
[[package]]
255
name = "atproto-record"
256
+
version = "0.11.1"
257
dependencies = [
258
"anyhow",
259
"atproto-identity",
···
269
270
[[package]]
271
name = "atproto-xrpcs"
272
+
version = "0.11.1"
273
dependencies = [
274
"anyhow",
275
"async-trait",
···
295
296
[[package]]
297
name = "atproto-xrpcs-helloworld"
298
+
version = "0.11.1"
299
dependencies = [
300
"anyhow",
301
"async-trait",
+8
-8
Cargo.toml
+8
-8
Cargo.toml
···
22
categories = ["command-line-utilities", "web-programming"]
23
24
[workspace.dependencies]
25
-
atproto-client = { version = "0.11.0", path = "crates/atproto-client" }
26
-
atproto-identity = { version = "0.11.0", path = "crates/atproto-identity" }
27
-
atproto-oauth = { version = "0.11.0", path = "crates/atproto-oauth" }
28
-
atproto-oauth-axum = { version = "0.11.0", path = "crates/atproto-oauth-axum" }
29
-
atproto-oauth-aip = { version = "0.11.0", path = "crates/atproto-oauth-aip" }
30
-
atproto-record = { version = "0.11.0", path = "crates/atproto-record" }
31
-
atproto-xrpcs = { version = "0.11.0", path = "crates/atproto-xrpcs" }
32
-
atproto-jetstream = { version = "0.11.0", 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.11.1", path = "crates/atproto-client" }
26
+
atproto-identity = { version = "0.11.1", path = "crates/atproto-identity" }
27
+
atproto-oauth = { version = "0.11.1", path = "crates/atproto-oauth" }
28
+
atproto-oauth-axum = { version = "0.11.1", path = "crates/atproto-oauth-axum" }
29
+
atproto-oauth-aip = { version = "0.11.1", path = "crates/atproto-oauth-aip" }
30
+
atproto-record = { version = "0.11.1", path = "crates/atproto-record" }
31
+
atproto-xrpcs = { version = "0.11.1", path = "crates/atproto-xrpcs" }
32
+
atproto-jetstream = { version = "0.11.1", path = "crates/atproto-jetstream" }
33
34
anyhow = "1.0"
35
async-trait = "0.1.88"
+1
-1
Dockerfile
+1
-1
Dockerfile
···
66
LABEL org.opencontainers.image.description="AT Protocol identity management tools"
67
LABEL org.opencontainers.image.authors="Nick Gerakines <nick.gerakines@gmail.com>"
68
LABEL org.opencontainers.image.source="https://tangled.sh/@smokesignal.events/atproto-identity-rs"
69
-
LABEL org.opencontainers.image.version="0.11.0"
70
LABEL org.opencontainers.image.licenses="MIT"
71
72
# Document available binaries
···
66
LABEL org.opencontainers.image.description="AT Protocol identity management tools"
67
LABEL org.opencontainers.image.authors="Nick Gerakines <nick.gerakines@gmail.com>"
68
LABEL org.opencontainers.image.source="https://tangled.sh/@smokesignal.events/atproto-identity-rs"
69
+
LABEL org.opencontainers.image.version="0.11.1"
70
LABEL org.opencontainers.image.licenses="MIT"
71
72
# Document available binaries
+5
-5
README.md
+5
-5
README.md
+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
crates/atproto-jetstream/Cargo.toml
+1
-1
crates/atproto-jetstream/Cargo.toml
+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
crates/atproto-record/Cargo.toml
+1
-1
crates/atproto-record/Cargo.toml
+1
-1
crates/atproto-xrpcs-helloworld/Cargo.toml
+1
-1
crates/atproto-xrpcs-helloworld/Cargo.toml
+1
-1
crates/atproto-xrpcs/Cargo.toml
+1
-1
crates/atproto-xrpcs/Cargo.toml