Releases: decathorpe/dxr
Release 0.7.1
This release contains only very minor changes - some additional logging in the axum server support code when encountering unknown method calls, and fixes for some harmless clippy warnings.
Thanks to @pendulum-project, @elementary, @tweedegolf, @Conan-Kudo, @sdroege, @alexsaezm, @Best-HeyGman, and a mystery sponsor for supporting my work.
Release 0.7.0
This release includes a simplified client API that removes the unnecessary indirection caused by the Call struct, in addition to some notable dependency updates (hyper v1) that are part of the public API.
Major dependency updates:
- axum v0.6 → v0.7
- base64 v0.21 → v0.22
- hyper v0.14 → v1
- proc-macro-crate v1 → v3
- quick-xml v0.30 → 0.37
- reqwest v0.11 → v0.12
Thanks to @pendulum-project, @elementary, @tweedegolf, @Conan-Kudo, @sdroege, @alexsaezm, @Best-HeyGman, and a mystery sponsor for supporting my work.
Release 0.6.3
Release 0.6.3
This release contains a fix for a compilation failure when using the derive macros for TryToValue and TryFromValue and a custom Result type is in scope.
The oldest supported Rust version was bumped to 1.70.0 to match crate dependencies.
Thanks to @pendulum-project, @elementary, @tweedegolf, @Conan-Kudo, @sdroege, @Best-HeyGman, and a mystery sponsor for supporting my work.
Release 0.6.2
This release introduces support for serializing / deserializing XML-RPC structs that have members with names that are reserved keywords in Rust (using the standard raw identifier syntax).
The oldest supported Rust version was bumped to 1.67.0 to match the time crate.
Thanks to @pendulum-project, @elementary, @tweedegolf, @Conan-Kudo, @sdroege, @quot, and a mystery sponsor for supporting my work.
Release 0.6.1
This release slightly improves interoperability with other XML-RPC implementations. Some implementations line-wrap base64-encoded strings in the <base64> type, which is now supported. Previous releases of dxr rejected base64 values that included any whitespace.
Thanks to @pendulum-project, @elementary, @tweedegolf, @Conan-Kudo, @sdroege, @quot, and a mystery sponsor for supporting my work.
Release 0.6.0
This release includes changes from v0.6.0-beta.1 and v0.6.0-beta.2.
Internal changes:
This version introduces new helper functions for serializing and deserializing XML in an effort
to produce consistent output that is compatible with the widest range of other XML-RPC
implementations (some of which don't support self-closing XML tags).
Notably, quick-xml versions before 0.27 produced self-closing tags only in some circumstances
(like <nil/> values), but not others (like empty string values:
<value><string></string></value>). Versions 0.27 and newer fixed this issue by consistently
writing self-closing tags. Version 0.30 added a custom deserializer setting to expand these tags
instead of writing self-closing tags, which is what the newly introduced helper function uses.
Updated:
quick-xmldependency was updated from v0.25 to v0.30.
Thanks to @pendulum-project, @tweedegolf, @Conan-Kudo, @elementary, @quot, and a mystery sponsor for supporting my work.
Release 0.6.0-beta.2
Changed:
- A custom
PartialEqimplementation for<struct>was added, which now properly
ignores the order of struct members. - The number of closures was reduced by replacing with plain functions, where possible.
- The implementation of
TryFromValueandTryToValueforCow<'a, T>was fixed for
T = str, which previously was not covered.
Internal changes:
- The script for generating the test coverage report now also runs the example binaries.
- The test suite is now much more comprehensive, resulting in >95% test coverage for
thedxrcrate.
Thanks to @pendulum-project, @tweedegolf, @Conan-Kudo, @elementary, @quot, and a mystery sponsor for supporting my work.
Release 0.6.0-beta.1
The relationship between the crates in this project has been simplified. The top-level
meta-crate was removed, and the axum support was merged into the dxr_server crate
and hidden behind a feature flag. Additionally, the dxr_client and dxr_server crates
have been refactored to support different HTTP libraries (though only reqwest and
axum are currently supported).
Changed:
- Functions in the
dxr_clientanddxr_servercrates that can fail now return concrete
error types instead of a genericanyhow::Error. - Initialization of servers in
dxr_serverwas refactored to avoid calling APIs that
can panic (@bahlo). - The
dateTime.iso8601XML-RPC type is now represented bychrono::NaiveDateTime
to better match semantics of XML-RPC, where this type is explicitly timezone-unaware. - The
Value::string()constructor for<string>values now takes an ownedString
instead of a&strslice and immediately converting to an ownedStringinternally.
Added:
TryFromValueandTryToValueare now implemented forArc<T>andRc<T>for all
inner typesTwhich already implement these traits.- Support and helper functionality for the
system.multicallextension was implemented
in bothdxr_clientanddxr_serverand can be enabled with themulticallfeature.
Fixed:
- XML-RPC values without an explicit type are now correctly deserialized as strings (@bahlo).
Updated:
axumdependency was updated from v0.5 to v0.6.base64dependency was updated from v0.13 to v0.21.quick-xmldependency was updated from v0.25 to v0.26.syndependency was updated from v1 to v2.
Thanks to @pendulum-project, @tweedegolf, @Conan-Kudo, @elementary, @quot, and a mystery sponsor for supporting my work.
0.5.4
This release includes a fix for string-typed values, which were previously accidentally escaped (and unescaped) twice, resulting in XML that wasn't compatible with other XML-RPC implementations.
Thanks to @tweedegolf, @Conan-Kudo, @elementary, @quot, and a mystery sponsor for supporting my work.
0.5.3
This release adds feature flags for selecting a non-default TLS backend for reqwest in dxr_client. There should be no change to the default behaviour (the default-tls feature of reqwest). To use a different TLS backend (i.e. rustls), use dxr with default-features = false and enable the client-rustls-tls feature.
Development of this version was supported by @quot, @amz-x, and another private sponsor.