github open62541/open62541 v1.3.5

latest releases: v1.5.3, v1.5.2, v1.5.1...
3 years ago

This is the fifth patch release for the 1.3 release family of open62541.
This patch release contains two changes that need your consideration:

  • A void-pointer was added to the server configuration to refer to user-data. This increases the size of the server configuration structure and is otherwise backwards-compatible.
  • The client now calls FindServers for every new connection and adjusts the EndpointURL if necessary. This increases the compatibility with other SDKs, but also increases the number of exchanged packets to establish a connection.

The notables changes in this patch release are:

  • fix(server): Do not re-init the DiscoveryManager during Server_run_startup
  • fix(pubsub): Fix ExtensionObject handling in addPublishedDataItemsAction
  • fix(pubsub): Remove WriterGroups and ReaderGroups together with the Connection
  • fix(pubsub): Fix an unguarded memory access in ua_pubsub_ns0.c
  • fix(client): Fix crash during Client_delete (#5649)
  • fix(pubsub): Remove a memleak in the ns0 onRead callback
  • fix(pubsub): Remove a memleak in generateFieldMetaData (Writer)
  • fix(server): Keep Subscriptions with a non-empty queue in the LATE state
  • feat(server): Add a void-ptr-context to the server config
  • fix(client): Always use FindServers to adjust the EndpointURL and reconnect with HEL/ACK if required
  • fix(server): Don't search for late subscriptions if publish requests are still enqueued
  • fix(server): Sample MonitoredItems with interval <0 together with the subscription publish callback
  • fix(client) prevents NULL pointer assinment error in UA_ClientConnectionTCP_poll()
  • feat(client): Warn if the EndpointUrl returned from the server does not match the request
  • fix(server): Range check in getNamespaceByIndex
  • fix(core): Fix encoding of the structure with optional fields (#5513)
  • fix(client): UA_Client_Subscriptions_create no longer adds subscription to internal subscription list if the request fails

open62541 (http://open62541.org/) is an open source and free implementation of OPC UA (OPC Unified Architecture) written in the common subset of the C99 and C++98 languages. 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. Plugin implementations are provided for the major operating systems.

open62541 is licensed under the Mozilla Public License v2.0 (MPLv2). This allows the open62541 library to be combined and distributed as part of proprietary software. Only changes to the files of 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 compared to the previous release series 1.2 include:

  • Support for OPC UA PubSub encryption (also TPM-based key handling)
  • Session authentication with x509 certificates (server-side)
  • Support for Event Filters
  • Support for Server Diagnostics
  • Binary/JSON encoding as a stable public API
  • Handling of Subscriptions with different priority
  • Greatly improved Nodeset Compiler, including support for structure values
  • Added UA_order function for all data types (equality test / absolute ordering for binary search trees, etc.)
  • Support for TLS-encrypted MQTT-based PubSub
  • Internally generate temporary self-signed certificates

Besides the major functional additions, many small features, fixes and general improvements went into this release. Particularly, the memory consumption of the information model was reduced by about 1/3 compared to the 1.2 release series.

Note that the v1.3 release family contains new features compared to v1.0. These have not been part of the certification that was achieved for the example server based on the v1.0 release.

open62541 (http://open62541.org/) is an open source and free implementation of OPC UA (OPC Unified Architecture) written in the common subset of the C99 and C++98 languages. 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. Plugin implementations are provided for the major operating systems.

open62541 is licensed under the Mozilla Public License v2.0 (MPLv2). This allows the open62541 library to be combined and distributed as part of proprietary software. Only changes to the files of 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.

Don't miss a new open62541 release

NewReleases is sending notifications on new releases.