A better Rust ATProto crate

release housekeeping

Orual 1f323bae f8c298af

Changed files
+48 -18
crates
jacquard
jacquard-api
jacquard-axum
jacquard-derive
jacquard-identity
jacquard-lexicon
jacquard-oauth
nix
modules
+1 -1
README.md
···
Highlights:
- A ton of new lexicons included in `jacquard-api`
-
- `jacquard-axum` Axum extractor and a number of improvements to lifetimes and (de)serialization required to make that work (thanks [@thoth.ptnote.dev] for helping provide feedback and sample code to test against)
- `from_data`, `from_raw_data`, `to_data`, and `to_raw_data` to serialize to and deserialize from the loosely typed value data formats (think `serde_json::from_value` and company). Particularly useful for second-stage deserialization of type "unknown" fields in lexicons, such as `PostView.record`.
- better API code generation
···
Highlights:
- A ton of new lexicons included in `jacquard-api`
+
- `jacquard-axum` Axum extractor and a number of improvements to lifetimes and (de)serialization required to make that work (thanks [@thoth.ptnote.dev](https://tangled.org/@thoth.ptnote.dev) for helping provide feedback and sample code to test against)
- `from_data`, `from_raw_data`, `to_data`, and `to_raw_data` to serialize to and deserialize from the loosely typed value data formats (think `serde_json::from_value` and company). Particularly useful for second-stage deserialization of type "unknown" fields in lexicons, such as `PostView.record`.
- better API code generation
+2 -2
crates/jacquard-api/Cargo.toml
···
[dependencies]
bon.workspace = true
bytes = { workspace = true, features = ["serde"] }
-
jacquard-common = { version = "*", path = "../jacquard-common" }
-
jacquard-derive = { version = "*", path = "../jacquard-derive" }
miette.workspace = true
serde.workspace = true
thiserror.workspace = true
···
[dependencies]
bon.workspace = true
bytes = { workspace = true, features = ["serde"] }
+
jacquard-common = { version = "0.4", path = "../jacquard-common" }
+
jacquard-derive = { version = "0.4", path = "../jacquard-derive" }
miette.workspace = true
serde.workspace = true
thiserror.workspace = true
+2 -2
crates/jacquard-axum/Cargo.toml
···
axum = "0.8.6"
axum-macros = "0.5.0"
bytes.workspace = true
-
jacquard = { version = "*", path = "../jacquard" }
-
jacquard-common = { version = "*", path = "../jacquard-common", features = ["reqwest-client"] }
miette.workspace = true
serde.workspace = true
serde_html_form.workspace = true
···
axum = "0.8.6"
axum-macros = "0.5.0"
bytes.workspace = true
+
jacquard = { version = "0.4", path = "../jacquard" }
+
jacquard-common = { version = "0.4", path = "../jacquard-common", features = ["reqwest-client"] }
miette.workspace = true
serde.workspace = true
serde_html_form.workspace = true
+1 -1
crates/jacquard-derive/Cargo.toml
···
[dev-dependencies]
-
jacquard-common = { version = "*", path = "../jacquard-common" }
···
[dev-dependencies]
+
jacquard-common = { version = "0.4", path = "../jacquard-common" }
+2 -2
crates/jacquard-identity/Cargo.toml
···
async-trait.workspace = true
bon.workspace = true
bytes.workspace = true
-
jacquard-common = { version = "*", path = "../jacquard-common", features = ["reqwest-client"] }
-
jacquard-api = { version = "*", path = "../jacquard-api" }
percent-encoding.workspace = true
reqwest.workspace = true
url.workspace = true
···
async-trait.workspace = true
bon.workspace = true
bytes.workspace = true
+
jacquard-common = { version = "0.4", path = "../jacquard-common", features = ["reqwest-client"] }
+
jacquard-api = { version = "0.4", path = "../jacquard-api" }
percent-encoding.workspace = true
reqwest.workspace = true
url.workspace = true
+3 -3
crates/jacquard-lexicon/Cargo.toml
···
glob = "0.3"
heck.workspace = true
itertools.workspace = true
-
jacquard-api = { version = "*", path = "../jacquard-api" }
-
jacquard-common = { version = "*", path = "../jacquard-common" }
-
jacquard-identity = { version = "*", path = "../jacquard-identity" }
kdl = "6"
miette = { workspace = true, features = ["fancy"] }
prettyplease.workspace = true
···
glob = "0.3"
heck.workspace = true
itertools.workspace = true
+
jacquard-api = { version = "0.4", path = "../jacquard-api" }
+
jacquard-common = { version = "0.4", path = "../jacquard-common" }
+
jacquard-identity = { version = "0.4", path = "../jacquard-identity" }
kdl = "6"
miette = { workspace = true, features = ["fancy"] }
prettyplease.workspace = true
+2 -2
crates/jacquard-oauth/Cargo.toml
···
license.workspace = true
[dependencies]
-
jacquard-common = { version = "*", path = "../jacquard-common", features = ["reqwest-client"] }
-
jacquard-identity = { version = "*", path = "../jacquard-identity" }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
url = { workspace = true }
···
license.workspace = true
[dependencies]
+
jacquard-common = { version = "0.4", path = "../jacquard-common", features = ["reqwest-client"] }
+
jacquard-identity = { version = "0.4", path = "../jacquard-identity" }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
url = { workspace = true }
+5 -5
crates/jacquard/Cargo.toml
···
[dependencies]
-
jacquard-api = { version = "*", path = "../jacquard-api" }
-
jacquard-common = { version = "*", path = "../jacquard-common", features = ["reqwest-client"] }
-
jacquard-oauth = { version = "*", path = "../jacquard-oauth" }
-
jacquard-derive = { version = "*", path = "../jacquard-derive", optional = true }
-
jacquard-identity = { version = "*", path = "../jacquard-identity" }
bon.workspace = true
async-trait.workspace = true
···
[dependencies]
+
jacquard-api = { version = "0.4", path = "../jacquard-api" }
+
jacquard-common = { version = "0.4", path = "../jacquard-common", features = ["reqwest-client"] }
+
jacquard-oauth = { version = "0.4", path = "../jacquard-oauth" }
+
jacquard-derive = { version = "0.4", path = "../jacquard-derive", optional = true }
+
jacquard-identity = { version = "0.4", path = "../jacquard-identity" }
bon.workspace = true
async-trait.workspace = true
+30
nix/modules/rust.nix
···
};
};
};
};
};
packages.default = self'.packages.jacquard;
···
};
};
};
+
"jacquard-identity" = {
+
imports = [globalCrateConfig];
+
autoWire = ["crate" "clippy"];
+
path = ./../../crates/jacquard-identity;
+
crane = {
+
args = {
+
buildInputs = commonBuildInputs;
+
};
+
};
+
};
+
"jacquard-oauth" = {
+
imports = [globalCrateConfig];
+
autoWire = ["crate" "clippy"];
+
path = ./../../crates/jacquard-oauth;
+
crane = {
+
args = {
+
buildInputs = commonBuildInputs;
+
};
+
};
+
};
+
"jacquard-axum" = {
+
imports = [globalCrateConfig];
+
autoWire = ["crate" "clippy"];
+
path = ./../../crates/jacquard-axum;
+
crane = {
+
args = {
+
buildInputs = commonBuildInputs;
+
};
+
};
+
};
};
};
packages.default = self'.packages.jacquard;