Skip to content

Commit

Permalink
Release 0.4.0
Browse files Browse the repository at this point in the history
  • Loading branch information
decathorpe committed Jun 25, 2022
1 parent ad4a447 commit 5de6f94
Show file tree
Hide file tree
Showing 8 changed files with 44 additions and 20 deletions.
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,31 @@
## Release 0.4.0

**Changed**:

- moved implementations of XML-RPC clients, servers, and the axum server support into separate
crates, available as optional features of the top-level `dxr` crate
- moved to more powerful cargo feature syntax for optional and conditional dependencies
- server: refactored method call `Handler` trait to allow the handler function to be `async`

**Fixed**:

- `methodResponse` must apparently always contain exactly one value
- `methodParameters` contain an array of parameters that contain values, not a parameter that
is an array of values

Both these fixes required minor changes to the public API, which is why they cannot be backported
to the 0.3.x branch.

**Added**:

- implemented of `FromDXR` for fixed-size arrays
- implemented support for struct fields that are fixed-size arrays in the derive macros

**Updated dependencies**:

- updated `axum` version from 0.4 to 0.5
- updated `quick_xml` version from 0.22 to 0.23

## Release 0.3.1

Fixed:
Expand Down
12 changes: 6 additions & 6 deletions dxr/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "dxr"
description = "Declarative XML-RPC"
license = "MIT OR Apache-2.0"

version = "0.4.0-dev"
version = "0.4.0"
edition = "2021"
rust-version = "1.60.0"

Expand Down Expand Up @@ -49,11 +49,11 @@ path = "tests/echo_one.rs"
required-features = ["derive", "client", "server", "server-axum", "i8", "nil"]

[dependencies]
dxr_shared = { path = "../dxr_shared", version = "0.4.0-dev" }
dxr_derive = { path = "../dxr_derive", version = "0.4.0-dev", optional = true }
dxr_client = { path = "../dxr_client", version = "0.4.0-dev", optional = true }
dxr_server = { path = "../dxr_server", version = "0.4.0-dev", optional = true }
dxr_server_axum = { path = "../dxr_server_axum", version = "0.4.0-dev", optional = true }
dxr_shared = { path = "../dxr_shared", version = "0.4.0" }
dxr_derive = { path = "../dxr_derive", version = "0.4.0", optional = true }
dxr_client = { path = "../dxr_client", version = "0.4.0", optional = true }
dxr_server = { path = "../dxr_server", version = "0.4.0", optional = true }
dxr_server_axum = { path = "../dxr_server_axum", version = "0.4.0", optional = true }

[dev-dependencies]
# used for example binaries and integration tests
Expand Down
5 changes: 2 additions & 3 deletions dxr_client/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,18 @@ name = "dxr_client"
description = "Declarative XML-RPC (client implementation)"
license = "MIT OR Apache-2.0"

version = "0.4.0-dev"
version = "0.4.0"
edition = "2021"
rust-version = "1.60.0"

authors = ["Fabio Valentini <[email protected]>"]
categories = ["network-programming", "web-programming::http-client", "encoding"]
keywords = ["XML-RPC", "client"]
repository = "https://github.com/ironthree/dxr"
exclude = ["/wip/"]

[dependencies]
anyhow = "1.0.53"
dxr_shared = { path = "../dxr_shared", version = "0.4.0-dev" }
dxr_shared = { path = "../dxr_shared", version = "0.4.0" }
http = "0.2.6"
log = "0.4.13"
quick-xml = { version = "0.23" , features = ["serialize"] }
Expand Down
2 changes: 1 addition & 1 deletion dxr_client/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

The dxr project provides crates for writing XML-RPC API clients and servers in Rust.

This crate contains an implementation of an `async` XML-RPC client using `reqwest`. The client
This crate contains an implementation of an `async` XML-RPC client using `reqwest`. The client
functionality is re-exported from the `dxr` crate when the `client` feature is enabled, so
this crate should be considered an internal implementation detail, and never be imported or
used directly.
2 changes: 1 addition & 1 deletion dxr_derive/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name = "dxr_derive"
description = "Implementation details of DXR (derive macros)"
license = "MIT OR Apache-2.0"

version = "0.4.0-dev"
version = "0.4.0"
edition = "2021"
rust-version = "1.60.0"

Expand Down
5 changes: 2 additions & 3 deletions dxr_server/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,18 @@ name = "dxr_server"
description = "Declarative XML-RPC (server implementation)"
license = "MIT OR Apache-2.0"

version = "0.4.0-dev"
version = "0.4.0"
edition = "2021"
rust-version = "1.60.0"

authors = ["Fabio Valentini <[email protected]>"]
categories = ["network-programming", "web-programming::http-client", "encoding"]
keywords = ["XML-RPC", "server"]
repository = "https://github.com/ironthree/dxr"
exclude = ["/wip/"]

[dependencies]
async-trait = "0.1.53"
dxr_shared = { path = "../dxr_shared", version = "0.4.0-dev" }
dxr_shared = { path = "../dxr_shared", version = "0.4.0" }
http = "0.2.6"
quick-xml = { version = "0.23" , features = ["serialize"] }

Expand Down
7 changes: 3 additions & 4 deletions dxr_server_axum/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,20 @@ name = "dxr_server_axum"
description = "Declarative XML-RPC (axum server implementation)"
license = "MIT OR Apache-2.0"

version = "0.4.0-dev"
version = "0.4.0"
edition = "2021"
rust-version = "1.60.0"

authors = ["Fabio Valentini <[email protected]>"]
categories = ["network-programming", "web-programming::http-client", "encoding"]
keywords = ["XML-RPC", "server"]
repository = "https://github.com/ironthree/dxr"
exclude = ["/wip/"]

[dependencies]
anyhow = "1.0.53"
axum = "0.5.4"
dxr_shared = { path = "../dxr_shared", version = "0.4.0-dev" }
dxr_server = { path = "../dxr_server", version = "0.4.0-dev" }
dxr_shared = { path = "../dxr_shared", version = "0.4.0" }
dxr_server = { path = "../dxr_server", version = "0.4.0" }
tokio = { version = "1.14", features = ["sync"] }

[dev-dependencies]
Expand Down
3 changes: 1 addition & 2 deletions dxr_shared/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,14 @@ name = "dxr_shared"
description = "Declarative XML-RPC (implementation details)"
license = "MIT OR Apache-2.0"

version = "0.4.0-dev"
version = "0.4.0"
edition = "2021"
rust-version = "1.60.0"

authors = ["Fabio Valentini <[email protected]>"]
categories = ["network-programming", "encoding"]
keywords = ["XML-RPC"]
repository = "https://github.com/ironthree/dxr"
exclude = ["/wip/"]

[dependencies]
base64 = "0.13"
Expand Down

0 comments on commit 5de6f94

Please sign in to comment.