A better Rust ATProto crate
0

Configure Feed

Select the types of activity you want to include in your feed.

release version bump

author nonbinary.computer date (Jun 13, 2026, 7:43 PM -0400) commit f08d5d10 parent 566b18d9 change-id qxvtynsm
+49 -49
+11 -11
Cargo.lock
··· 2423 2423 2424 2424 [[package]] 2425 2425 name = "jacquard" 2426 - version = "0.12.0-rc.1" 2426 + version = "0.12.0" 2427 2427 dependencies = [ 2428 2428 "bytes", 2429 2429 "clap", ··· 2457 2457 2458 2458 [[package]] 2459 2459 name = "jacquard-api" 2460 - version = "0.12.0-rc.1" 2460 + version = "0.12.0" 2461 2461 dependencies = [ 2462 2462 "jacquard-common", 2463 2463 "jacquard-derive", ··· 2469 2469 2470 2470 [[package]] 2471 2471 name = "jacquard-axum" 2472 - version = "0.12.0-rc.1" 2472 + version = "0.12.0" 2473 2473 dependencies = [ 2474 2474 "axum", 2475 2475 "axum-extra", ··· 2519 2519 2520 2520 [[package]] 2521 2521 name = "jacquard-common" 2522 - version = "0.12.0-rc.1" 2522 + version = "0.12.0" 2523 2523 dependencies = [ 2524 2524 "base64", 2525 2525 "bon", ··· 2573 2573 2574 2574 [[package]] 2575 2575 name = "jacquard-derive" 2576 - version = "0.12.0-rc.1" 2576 + version = "0.12.0" 2577 2577 dependencies = [ 2578 2578 "heck", 2579 2579 "inventory", ··· 2589 2589 2590 2590 [[package]] 2591 2591 name = "jacquard-identity" 2592 - version = "0.12.0-rc.1" 2592 + version = "0.12.0" 2593 2593 dependencies = [ 2594 2594 "bon", 2595 2595 "bytes", ··· 2612 2612 2613 2613 [[package]] 2614 2614 name = "jacquard-lexgen" 2615 - version = "0.12.0-rc.1" 2615 + version = "0.12.0" 2616 2616 dependencies = [ 2617 2617 "clap", 2618 2618 "clap_complete", ··· 2638 2638 2639 2639 [[package]] 2640 2640 name = "jacquard-lexicon" 2641 - version = "0.12.0-rc.1" 2641 + version = "0.12.0" 2642 2642 dependencies = [ 2643 2643 "bytes", 2644 2644 "cid", ··· 2666 2666 2667 2667 [[package]] 2668 2668 name = "jacquard-oauth" 2669 - version = "0.12.0-rc.1" 2669 + version = "0.12.0" 2670 2670 dependencies = [ 2671 2671 "base64", 2672 2672 "bytes", ··· 2702 2702 2703 2703 [[package]] 2704 2704 name = "jacquard-repo" 2705 - version = "0.12.0-rc.1" 2705 + version = "0.12.0" 2706 2706 dependencies = [ 2707 2707 "anyhow", 2708 2708 "bytes", ··· 2870 2870 2871 2871 [[package]] 2872 2872 name = "lazy-collections" 2873 - version = "0.12.0-rc.1" 2873 + version = "0.12.0" 2874 2874 dependencies = [ 2875 2875 "buffer", 2876 2876 "bytes",
+1 -1
Cargo.toml
··· 5 5 6 6 [workspace.package] 7 7 edition = "2024" 8 - version = "0.12.0-rc.1" 8 + version = "0.12.0" 9 9 authors = ["Orual <orual@nonbinary.computer>"] 10 10 #repository = "https://github.com/rsform/jacquard" 11 11 repository = "https://tangled.org/nonbinary.computer/jacquard"
+4 -4
crates/jacquard-api/Cargo.toml
··· 2 2 name = "jacquard-api" 3 3 description = "Generated AT Protocol API bindings for Jacquard" 4 4 edition.workspace = true 5 - version = "0.12.0-rc.1" 5 + version = "0.12.0" 6 6 authors.workspace = true 7 7 repository.workspace = true 8 8 keywords.workspace = true ··· 15 15 features = [ "bluesky", "other", "streaming" ] 16 16 17 17 [dependencies] 18 - jacquard-common = { version = "0.12.0-rc.1", path = "../jacquard-common" } 19 - jacquard-derive = { version = "0.12.0-rc.1", path = "../jacquard-derive" } 20 - jacquard-lexicon = { version = "0.12.0-rc.1", path = "../jacquard-lexicon", default-features = false } 18 + jacquard-common = { version = "0.12.0", path = "../jacquard-common" } 19 + jacquard-derive = { version = "0.12.0", path = "../jacquard-derive" } 20 + jacquard-lexicon = { version = "0.12.0", path = "../jacquard-lexicon", default-features = false } 21 21 miette.workspace = true 22 22 serde.workspace = true 23 23 thiserror.workspace = true
+5 -5
crates/jacquard-axum/Cargo.toml
··· 1 1 [package] 2 2 name = "jacquard-axum" 3 3 edition.workspace = true 4 - version = "0.12.0-rc.1" 4 + version = "0.12.0" 5 5 authors.workspace = true 6 6 repository.workspace = true 7 7 keywords.workspace = true ··· 29 29 base64.workspace = true 30 30 bytes.workspace = true 31 31 chrono.workspace = true 32 - jacquard = { version = "0.12.0-rc.1", path = "../jacquard", default-features = false, features = ["api"] } 33 - jacquard-common = { version = "0.12.0-rc.1", path = "../jacquard-common", features = ["reqwest-client"] } 34 - jacquard-derive = { version = "0.12.0-rc.1", path = "../jacquard-derive" } 35 - jacquard-identity = { version = "0.12.0-rc.1", path = "../jacquard-identity", optional = true } 32 + jacquard = { version = "0.12.0", path = "../jacquard", default-features = false, features = ["api"] } 33 + jacquard-common = { version = "0.12.0", path = "../jacquard-common", features = ["reqwest-client"] } 34 + jacquard-derive = { version = "0.12.0", path = "../jacquard-derive" } 35 + jacquard-identity = { version = "0.12.0", path = "../jacquard-identity", optional = true } 36 36 miette.workspace = true 37 37 multibase = { version = "0.9.1", optional = true } 38 38 mini-moka = { package = "mini-moka-wasm", version = "0.10", path = "../mini-moka-wasm", optional = true }
+1 -1
crates/jacquard-common/Cargo.toml
··· 2 2 name = "jacquard-common" 3 3 description = "Core AT Protocol types and utilities for Jacquard" 4 4 edition.workspace = true 5 - version = "0.12.0-rc.1" 5 + version = "0.12.0" 6 6 authors.workspace = true 7 7 repository.workspace = true 8 8 keywords.workspace = true
+3 -3
crates/jacquard-derive/Cargo.toml
··· 16 16 17 17 [dependencies] 18 18 heck.workspace = true 19 - jacquard-lexicon = { version = "0.12.0-rc.1", path = "../jacquard-lexicon", features = ["codegen"] } 19 + jacquard-lexicon = { version = "0.12.0", path = "../jacquard-lexicon", features = ["codegen"] } 20 20 proc-macro2.workspace = true 21 21 quote.workspace = true 22 22 syn.workspace = true 23 23 24 24 [dev-dependencies] 25 25 inventory = "0.3" 26 - jacquard-common = { version = "0.12.0-rc.1", path = "../jacquard-common" } 27 - jacquard-lexicon = { version = "0.12.0-rc.1", path = "../jacquard-lexicon" } 26 + jacquard-common = { version = "0.12.0", path = "../jacquard-common" } 27 + jacquard-lexicon = { version = "0.12.0", path = "../jacquard-lexicon" } 28 28 serde.workspace = true 29 29 serde_json.workspace = true 30 30 unicode-segmentation = "1.12"
+3 -3
crates/jacquard-identity/Cargo.toml
··· 1 1 [package] 2 2 name = "jacquard-identity" 3 3 edition.workspace = true 4 - version = "0.12.0-rc.1" 4 + version = "0.12.0" 5 5 authors.workspace = true 6 6 repository.workspace = true 7 7 keywords.workspace = true ··· 22 22 trait-variant.workspace = true 23 23 bon.workspace = true 24 24 bytes.workspace = true 25 - jacquard-common = { version = "0.12.0-rc.1", path = "../jacquard-common", features = ["reqwest-client"] } 26 - jacquard-lexicon = { version = "0.12.0-rc.1", path = "../jacquard-lexicon", default-features = false } 25 + jacquard-common = { version = "0.12.0", path = "../jacquard-common", features = ["reqwest-client"] } 26 + jacquard-lexicon = { version = "0.12.0", path = "../jacquard-lexicon", default-features = false } 27 27 reqwest.workspace = true 28 28 serde.workspace = true 29 29 serde_json.workspace = true
+5 -5
crates/jacquard-lexgen/Cargo.toml
··· 2 2 name = "jacquard-lexgen" 3 3 description = "Lexicon fetching and code generation binaries for Jacquard" 4 4 edition.workspace = true 5 - version = "0.12.0-rc.1" 5 + version = "0.12.0" 6 6 authors.workspace = true 7 7 repository.workspace = true 8 8 keywords.workspace = true ··· 32 32 clap.workspace = true 33 33 glob = "0.3" 34 34 inventory = "0.3" 35 - jacquard-common = { version = "0.12.0-rc.1", features = [ "reqwest-client" ], path = "../jacquard-common" } 36 - jacquard-derive = { version = "0.12.0-rc.1", path = "../jacquard-derive" } 37 - jacquard-identity = { version = "0.12.0-rc.1", path = "../jacquard-identity", features = ["dns"] } 38 - jacquard-lexicon = { version = "0.12.0-rc.1", path = "../jacquard-lexicon" } 35 + jacquard-common = { version = "0.12.0", features = [ "reqwest-client" ], path = "../jacquard-common" } 36 + jacquard-derive = { version = "0.12.0", path = "../jacquard-derive" } 37 + jacquard-identity = { version = "0.12.0", path = "../jacquard-identity", features = ["dns"] } 38 + jacquard-lexicon = { version = "0.12.0", path = "../jacquard-lexicon" } 39 39 kdl = "6" 40 40 miette = { workspace = true, features = ["fancy"] } 41 41 reqwest = { workspace = true, features = ["json", "http2", "system-proxy", "rustls-tls"] }
+2 -2
crates/jacquard-lexicon/Cargo.toml
··· 2 2 name = "jacquard-lexicon" 3 3 description = "Lexicon schema parsing and code generation for Jacquard" 4 4 edition.workspace = true 5 - version = "0.12.0-rc.1" 5 + version = "0.12.0" 6 6 authors.workspace = true 7 7 repository.workspace = true 8 8 keywords.workspace = true ··· 20 20 dashmap.workspace = true 21 21 heck = { workspace = true, optional = true } 22 22 inventory = "0.3" 23 - jacquard-common = { version = "0.12.0-rc.1", path = "../jacquard-common" } 23 + jacquard-common = { version = "0.12.0", path = "../jacquard-common" } 24 24 miette = { workspace = true } 25 25 multihash.workspace = true 26 26 prettyplease = { workspace = true, optional = true }
+4 -4
crates/jacquard-oauth/Cargo.toml
··· 1 1 [package] 2 2 name = "jacquard-oauth" 3 - version = "0.12.0-rc.1" 3 + version = "0.12.0" 4 4 edition.workspace = true 5 5 description = "AT Protocol OAuth 2.1 core types and helpers for Jacquard" 6 6 authors.workspace = true ··· 22 22 scope-check = ["dep:jacquard-lexicon"] 23 23 24 24 [dependencies] 25 - jacquard-common = { version = "0.12.0-rc.1", path = "../jacquard-common", features = ["reqwest-client"] } 26 - jacquard-identity = { version = "0.12.0-rc.1", path = "../jacquard-identity" } 27 - jacquard-lexicon = { version = "0.12.0-rc.1", path = "../jacquard-lexicon", optional = true } 25 + jacquard-common = { version = "0.12.0", path = "../jacquard-common", features = ["reqwest-client"] } 26 + jacquard-identity = { version = "0.12.0", path = "../jacquard-identity" } 27 + jacquard-lexicon = { version = "0.12.0", path = "../jacquard-lexicon", optional = true } 28 28 serde = { workspace = true, features = ["derive"] } 29 29 serde_json = { workspace = true } 30 30 smol_str = { workspace = true }
+4 -4
crates/jacquard-repo/Cargo.toml
··· 2 2 name = "jacquard-repo" 3 3 description = "AT Protocol repository primitives: MST, commits, CAR I/O" 4 4 edition.workspace = true 5 - version = "0.12.0-rc.1" 5 + version = "0.12.0" 6 6 authors.workspace = true 7 7 repository.workspace = true 8 8 keywords.workspace = true ··· 16 16 17 17 [dependencies] 18 18 # Internal 19 - jacquard-common = { path = "../jacquard-common", version = "0.12.0-rc.1", features = ["crypto-ed25519", "crypto-k256", "crypto-p256"] } 20 - jacquard-derive = { path = "../jacquard-derive", version = "0.12.0-rc.1" } 21 - jacquard-api = { path = "../jacquard-api", version = "0.12.0-rc.1", features = ["streaming"] } 19 + jacquard-common = { path = "../jacquard-common", version = "0.12.0", features = ["crypto-ed25519", "crypto-k256", "crypto-p256"] } 20 + jacquard-derive = { path = "../jacquard-derive", version = "0.12.0" } 21 + jacquard-api = { path = "../jacquard-api", version = "0.12.0", features = ["streaming"] } 22 22 23 23 # Serialization 24 24 serde.workspace = true
+6 -6
crates/jacquard/Cargo.toml
··· 125 125 required-features = ["api_bluesky", "loopback"] 126 126 127 127 [dependencies] 128 - jacquard-api = { version = "0.12.0-rc.1", path = "../jacquard-api" } 129 - jacquard-common = { version = "0.12.0-rc.1", path = "../jacquard-common", features = [ 128 + jacquard-api = { version = "0.12.0", path = "../jacquard-api" } 129 + jacquard-common = { version = "0.12.0", path = "../jacquard-common", features = [ 130 130 "reqwest-client", 131 131 ] } 132 - jacquard-oauth = { version = "0.12.0-rc.1", path = "../jacquard-oauth" } 133 - jacquard-derive = { version = "0.12.0-rc.1", path = "../jacquard-derive", optional = true } 134 - jacquard-identity = { version = "0.12.0-rc.1", path = "../jacquard-identity" } 132 + jacquard-oauth = { version = "0.12.0", path = "../jacquard-oauth" } 133 + jacquard-derive = { version = "0.12.0", path = "../jacquard-derive", optional = true } 134 + jacquard-identity = { version = "0.12.0", path = "../jacquard-identity" } 135 135 136 136 137 137 ··· 154 154 155 155 156 156 [target.'cfg(not(target_family = "wasm"))'.dependencies] 157 - jacquard-identity = { version = "0.12.0-rc.1", path = "../jacquard-identity", features = ["cache"] } 157 + jacquard-identity = { version = "0.12.0", path = "../jacquard-identity", features = ["cache"] } 158 158 reqwest = { workspace = true, features = [ 159 159 "http2", 160 160 "gzip",