Releases: HMIProject/open62541
Releases · HMIProject/open62541
v0.6.0-pre.4
Changed
- Coerce empty arrays of
ua::ExtensionObject
into the requested data type. This mirrors the auto-unwrapping behavior of open62541 version 1.4.
v0.6.0-pre.3
Added
- Add logical OR combinator for
ua::BrowseResultMask
andua::NodeClassMask
. - Add const
ua::NodeClassMask
variants to initialize masks. - Add
serde
serialization forua::Array
andua::Variant
with array value. - Add constructors
ua::Variant::scalar()
andua::Variant::array()
. - Add constructor
ua::DataValue::new()
. - Add helper method
ua::Array::into_array()
for conversion into native Rust array.
Changed
- Breaking: Remove associated functions for enum data types deprecated in 0.5.0, e.g.
ua::AttributedId::value()
. Use uppercase constantsua::AttributedId::VALUE
instead. - Breaking: Split
Server::new()
andServerBuilder::build()
result type intoServer
andServerRunner
to allow interacting with server's data tree while server is running. - Upgrade to open62541 version 1.4.0.
- Reintroduce internal mutex in
AsyncClient
to work around issue in open62541 version 1.4.
Fixed
- Avoid memory leak when calling
ua::Variant::with_scalar()
multiple times on the same value.
v0.6.0-pre.2
Added
- Add basic support for creating OPC UA server with static nodes (#89).
v0.6.0-pre.1
Added
- Add
ua::StatusCode::is_uncertain()
,is_bad()
for checking status code severity (#63). - Add
ua::StatusCode::name()
to get human-readable representation of status code (#93). - Add support for
ua::Argument
data type and basic support forua::ExtensionObject
(#71). - Add
Debug
implementation forua::Array<T>
data types. - Add
ValueType
enum to checkua::Variant
without unwrapping (alsoua::Argument
). - Add tracing log messages when processing service requests and responses (#80).
- Add methods to
ClientBuilder
to set response timeout, client description, and connectivity check interval (#81).
Changed
- Breaking: Return
Result
instead ofOption
for references inAsyncClient::browse_many()
andbrowse_next()
(#59, #60). - Breaking: Return
Result
wrappingua::DataValue
fromAsyncClient::read_attributes()
(#61). - Breaking: Move
ua::VariantValue
andua::ScalarValue
to top-level export outsideua
. - Breaking: Remove
ua::ArrayValue
for now (until we have a better interface). - Breaking: Return output arguments without
Option
fromAsyncClient::call_method()
(#79). - Breaking: Remove misleading
FromStr
trait implementation and offerua::String::new()
instead. - Breaking: Upgrade to open62541 version 1.4 (#82). This affects the API of this crate as follows:
- Automatically unwrap
ua::ExtensionObject
arrays insideua::Variant
.
- Automatically unwrap
- Breaking: Remove
cycle_time
parameter fromAsyncClient
's interface (#91). The relevance of this parameter has been reduced by the upgrade to open62541 version 1.4.
Fixed
- Return browsing error instead of empty references list from
AsyncClient::browse()
(#60). - Return reading error instead of unset
ua::DataValue
fromAsyncClient::read_value()
andread_attribute()
(#61). - Check only severity in
ua::StatusCode::is_good()
(#63). Previously this would be an exact comparison toua::StatusCode::GOOD
. - No longer panic when unwrapping
ua::Variant
with array value. - Treat invalid references array as empty in
ua::BrowseResult
on successful request (#77). - Handle graceful disconnection when dropping synchronous
Client
. - Include subscription ID in request when deleting monitored items (#93).
v0.5.0
Added
- Allow reading node attributes with
AsyncClient::read_attribute()
andread_attributes()
- Allow continuing browsing from continuation points with
AsyncClient::browse_next()
Changed
- Provide uppercase variants for enum data types, e.g.
ua::AttributedId::VALUE
. This deprecates the associated functions such asua::AttributedId::value()
formerly used for this purpose. - Breaking: Return continuation points from
AsyncClient::browse()
andbrowse_many()
(when not all references were returned, to be used withAsyncClient::browse_next()
) - Breaking: Simplify argument type
node_ids: &[impl Borrow<ua::NodeId>]
to&[ua::NodeId]
inAsyncClient::browse_many()
- Rename
ua::String::as_slice()
toas_bytes()
. Deprecate the former method.
v0.4.0
v0.3.0
Added
- Allow setting secure channel lifetime and requested session timeout in
ClientBuilder
. - Allow fetching current client state to periodically check for disconnect.
Changed
- Breaking: Remove default
Display
implementation for mostua
wrapper types (using theDebug
implementation is more appropriate in these cases).
Fixed
- Fix handling of empty and invalid strings.
- Include values in log messages (#22).