There is now a first release candidate for the upcoming 1.5 release series.
Thanks to everybody whose effort contributed to this release.
The release notes are below.
This is the first release candidatee v1.5.0-rc1 of the 1.5 release series of open62541.
open62541 (
http://open62541.org) is an open source implementation of OPC UA (OPC Unified Architecture / IEC 62541) written in the C language. The library is usable with all major compilers and provides the necessary tools to implement dedicated OPC UA clients and servers, or to integrate OPC UA-based communication into existing applications. The open62541 library is platform independent: All platform-specific functionality is implemented via exchangeable plugins for easy porting to different (embedded) targets.
open62541 is licensed under the Mozilla Public License v2.0 (MPLv2). This allows the open62541 library to be combined and distributed with any proprietary software. Only changes to the open62541 library itself need to be licensed under the MPLv2 when copied and distributed. The plugins, as well as the server and client examples are in the public domain (CC0 license). They can be reused under any license and changes do not have to be published.
New features and major changes compared to the previous 1.4 release series include:
- core: JSON de/encoding according to the OPC UA 1.05 specification
- core: XML de/encoding of Variants (also with multi-dimensional arrays) and structure-types
- core: UA_String_format with shorthands to print OPC UA builtin types
- arch: Support for FreeRTOS (using the lwip EventLoop)
- arch: Support for QNX
- arch: Support for Zephyr
- server: Support for "local" Event-MonitoredItems
- server: Extended async operations (read/write/call)
- server: Improved value source API for VariableNodes
- server: Implement CertificateGroup handling
- server: Support for GDS push operations
- client: Transparent mapping between local and remote namespace-indices
- client: Automatically read the NamespaceArray during connect (add to the namespace mapping)
- client: Support for Event-MonitoredItems
- client: All async service APIs are typed
- client: Load DataTypeDefinitions from the server at runtime
- pubsub: Support for manual de/encoding of PubSub messages
- pubsub: Custom state machine for PubSubComponents to integrate communication backends
- pubsub: Public API to compute offset tables for fixed Network-/DataSetMessages
- pubsub: Improved loading of PubSub configurations from a (binary) file
- pubsub: Initial support for SKS
- nodeset-compiler: Use the native XML decoding to parse <Value> attributes at runtime
- util: Query language (and parser) for EventFilter, RelativePath, etc.
- util: Convert DataTypeDefinition into UA_DataType (internal representation)
- eventloop: EventLoop can be cancelled to immediately return from a "poll-sleep"
- eventloop: Option to limit the number of sockets open at the same time
- eventloop: Support for lwip-based EventLoop
- plugins: Crypto PKI/SecurityGroup with a file-system storage backend
- plugins: Support for ECC-based SecurityPolicies (OpenSSL only)
- tools: "Shell mode" for the ua-cli terminal client