Dear all,
There is now a maintenance release v1.5.2 for the currently "stable" 1.5 release series.
You can get it on Github at https://github.com/open62541/open62541/releases/tag/v1.5.2.
Thanks to everybody whose effort contributed to this release.
The release notes are below.
Best regards,
Julius Pfrommer
Dr. Julius Pfrommer
General Manager | o6 Automation GmbH
Rintheimer Straße 23, 76131 Karlsruhe
Web: https://www.o6-automation.com
Mail: julius....@o6-automation.com

This open62541 release v1.5.3 is the third maintenance release of the 1.5 release series.
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.
Important changes compared to the previous v1.5.2 release include:
- core: Support custom datatype namespaces in generate_datatypes.py
- core: Correct UA_WRITEMASK_ARRRAYDIMENSIONS typo to UA_WRITEMASK_ARRAYDIMENSIONS
- arch: Avoid modulo-by-zero in timer batching
- arch: Enable ip_mreqn for IPv4 multicast interface selection on Linux
- server: Handle null-pointer case in processRequest
- server: skip client certificate validation in CreateSession for SecurityPolicy None
- server: Allow Event field names in the kv-map to be not in "normal form"
- server: Don't check the event field existence in the EventType for BaseEventType
- server: Event-fields are looked up as SimpleAttributeOperand without the IndexRange
- server: Support 60+ companion spec models in nodeset injector
- server: Skip HasSubtype check for abstract types in AddNodes
- server: Use correct event field index in notifyMonitoredItem
- server: If the SecureChannel is not encrypted, allow the X509 authentication to be signed without the ApplicationInstanceCertificate in the signing-data
- pubsub: Explicit "injection" of a missing payload-header after decoding the NetworkMessage headers
- client: Fix inverted condition in UA_Client_getNamespaceUri
- client: Enable reception of notifications before CreateMonitoredItems returns
- client: Return the public certificate from the SecurityPolicy as the ApplicationInstanceCertificate
- util: Allow the definition of a default NamespaceIndex when parsing RelativePaths
- nc: Support scalar-to-array wrapping and IRDI types
- plugins: Avoid double fclose in writeByteStringToFile
- plugins: Hide UA_HistoryDatabase when UA_ENABLE_HISTORIZING is disabled
- plugins: Enable parsing Alternative Subject Names for newer mbedtls
- deps: Update ua-nodeset submodule
Diff stat: 124 files changed, 31949 insertions(+), 1043 deletions(-)
Diff stat without unit tests: 58 files changed, 2130 insertions(+), 990 deletions(-)
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