Skip to content

Releases: open62541/open62541

v1.4.0

08 Apr 14:39
8434782
Compare
Choose a tag to compare

This is the first release for the 1.4 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 release series 1.3 include:

  • core: Switch to an EventLoop model for the control flow
  • core: Support for OpenSSL 3.0
  • core: Add the Aes256-Sha256-RsaPss security policy
  • core: Automatically unwrap ExtensionObject arrays inside UA_Variant
  • core: txtime feature for time-based sending of Ethernet packets (Linux only)
  • client/server/pubsub: Server, Client and PubSub API are thread-safe with internal locks
  • client/server: Private key password protection with a userland callback (client and server)
  • client/server: Authentication with x509 certificates (client and server)
  • client/server: Support for session-specific server locales (nodes can have localized Description and DisplayName)
  • client: Make connection properties in the client accessible via the API
  • client: Allow setting a custom SessionName in the client config
  • client: Consider the request timeoutHint in synchronous service calls of the client
  • server: Implementation of the TransferSubscription and Cancel Service
  • server: File-based server configuration using a JSON5 configuration file
  • server: Make Session properties in the server accessible via the API
  • server: Use an encrypted SecureChannel for registering at a Discovery Server
  • server: MonitoredItems with negative sampling interval (linked to the publish interval of the Subscription)
  • server: Integration with the NodesetLoader project for runtime parsing and integration of Nodeset XML files
  • server: Session and Subscription Diagnostics as part of the server object
  • server: Support for the AccessLevelEx attribute
  • server: Support for EventFilters
  • server: ReverseConnect for the Server
  • server: Use config->shutdownDelay delay for the server shutdown
  • server: Use dedicate PKI for SecureChannel and Session certificates
  • pubsub: Support for the PubSub SKS (Security Key Service)
  • pubsub: Support for PubSub UDP Unicast
  • pubsub: PubSub StandaloneSubscribedDataSets information model representation

The important improvements compared to the previous release candidate v1.4-rc2 are:

  • core: Fix empty array and NULL array to compare as identical
  • core: Disable the reuseaddr socket option by default
  • core: Use TRACE as the compiled-in log level and INFO as the configuration default
  • server: Fix diagnostics locking and array access
  • server: Use local hostname for discovery url
  • server: A&C locking fixes
  • client: Fix UA_Client_MonitoredItems_modify_async implementation
  • client: Fix startup locking
  • pubsub: Fix for a potential memleak on very large PubSub JSON messages
  • pubsub: Fix receiving from all addresses for UDP unicast "localhost"
  • pubsub: Fix remove order
  • pubsub: Fix potential memleak in sks examples
  • pubsub: Set readergroup state to operational after restart
  • pubsub: Prevent reconnect after beginning to delete PubSubConnection
  • nc: Enable nodeset compiler to use Guid NodeIds
  • arch: Fix recursive lock in UDP_shutdownConnection
  • plugins: Fix a memory leak in the PKI CertContext

v1.3.10

08 Apr 14:50
2405c65
Compare
Choose a tag to compare

This is the tenth patch release for the 1.3 release family of open62541.
The notable changes in this patch release are:

  • feat(core): Adding floating point number representation for ESP platform
  • feat(core): Add a consistency check to UA_Array_copy
  • fix(core): Reset sequence numbers in UA_SecureChannel_close
  • fix(server): Fix diagnostics locking and array access
  • fix(server): Memory handling in the mdns implementation

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.

v1.4.0-rc2

24 Jan 13:37
bb304bb
Compare
Choose a tag to compare

This is the second release candidate for the 1.4 release series of open62541.

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 and major changes compared to the previous release series 1.3 include:

  • core: Switch to an EventLoop model for the control flow
  • core: Support for OpenSSL 3.0
  • core: Add the Aes256-Sha256-RsaPss security policy
  • core: Automatically unwrap ExtensionObject arrays inside UA_Variant
  • core: txtime feature for time-based sending of Ethernet packets (Linux only)
  • client/server/pubsub: Server, Client and PubSub API are thread-safe with internal locks
  • client/server: Private key password protection with a userland callback (client and server)
  • client/server: Authentication with x509 certificates (client and server)
  • client/server: Support for session-specific server locales (nodes can have localized Description and DisplayName)
  • client: Make connection properties in the client accessible via the API
  • client: Allow setting a custom SessionName in the client config
  • client: Consider the request timeoutHint in synchronous service calls of the client
  • server: Implementation of the TransferSubscription and Cancel Service
  • server: File-based server configuration using a JSON5 configuration file
  • server: Make Session properties in the server accessible via the API
  • server: Use an encrypted SecureChannel for registering at a Discovery Server
  • server: MonitoredItems with negative sampling interval (linked to the publish interval of the Subscription)
  • server: Integration with the NodesetLoader project for runtime parsing and integration of Nodeset XML files
  • server: Session and Subscription Diagnostics as part of the server object
  • server: Support for the AccessLevelEx attribute
  • server: Support for EventFilters
  • server: ReverseConnect for the Server
  • server: Use config->shutdownDelay delay for the server shutdown
  • server: Use dedicate PKI for SecureChannel and Session certificates
  • pubsub: Support for the PubSub SKS (Security Key Service)
  • pubsub: Support for PubSub UDP Unicast
  • pubsub: PubSub StandaloneSubscribedDataSets information model representation

This release candidate is API-compatible with the previous v1.4-rc1.
The important improvements compared to the previous release candidate are:

  • core: Move the range definition to util.h
  • core: Don't unwrap an ExtensionObject if it contains a builtin
  • core: Reset sequence numbers in UA_SecureChannel_close
  • core: Remove a memleak in JSON decoding of ExtensionObjects
  • server: update mdnsd submodule reference
  • server: Fix a missing array index in the event filter code
  • server: Reuse UA_Subscription_resendData in subscription transfer
  • server: Remove unused UA_EventFilterResult from UA_Notification
  • server: UA_MonitoredItem_processSampledValue() / Fix passing subscription pointer to logging
  • server: memory handling in the server mdns implementation
  • client: Honor endpoint security policies
  • client: Unify code-paths for the EndpointUrl selection
  • client: Verify the content of the UA_AsymmetricAlgorithmSecurityHeader
  • client: Remove potential memleaks in signActivateSessionRequest
  • pubsub: Evaluate status code of addCustomCallback callback
  • pubsub: Evaluate status code of UA_WriterGroup_addPublishCallback
  • plugins: Fix heap corruption on Windows when loading a PEM encoded private key
  • nc: Handling of symbolic names during data type generation
  • tests: Fixing the SKS build
  • test: Remove use of raw sleep() in all unit tests

v1.4.0-rc1

30 Nov 10:51
Compare
Choose a tag to compare
v1.4.0-rc1 Pre-release
Pre-release

This is the first release candidate for the 1.4 release series of open62541.
The release candidate marks the feature freeze for the 1.4 branch. Going forward, only bugfixes and small non-breaking changes will be applied to the branch. New features continue to land on the master branch.

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 and major changes compared to the previous release series 1.3 include:

  • core: Switch to an EventLoop model for the control flow
  • core: Support for OpenSSL 3.0
  • core: Add the Aes256-Sha256-RsaPss security policy
  • core: Automatically unwrap ExtensionObject arrays inside UA_Variant
  • core: txtime feature for time-based sending of Ethernet packets (Linux only)
  • client/server/pubsub: Server, Client and PubSub API are thread-safe with internal locks
  • client/server: Private key password protection with a userland callback (client and server)
  • client/server: Authentication with x509 certificates (client and server)
  • client/server: Support for session-specific server locales (nodes can have localized Description and DisplayName)
  • client: Make connection properties in the client accessible via the API
  • client: Allow setting a custom SessionName in the client config
  • client: Consider the request timeoutHint in synchronous service calls of the client
  • server: Implementation of the TransferSubscription and Cancel Service
  • server: File-based server configuration using a JSON5 configuration file
  • server: Make Session properties in the server accessible via the API
  • server: Use an encrypted SecureChannel for registering at a Discovery Server
  • server: MonitoredItems with negative sampling interval (linked to the publish interval of the Subscription)
  • server: Integration with the NodesetLoader project for runtime parsing and integration of Nodeset XML files
  • server: Session and Subscription Diagnostics as part of the server object
  • server: Support for the AccessLevelEx attribute
  • server: Support for EventFilters
  • server: ReverseConnect for the Server
  • server: Use config->shutdownDelay delay for the server shutdown
  • server: Use dedicate PKI for SecureChannel and Session certificates
  • pubsub: Support for the PubSub SKS (Security Key Service)
  • pubsub: Support for PubSub UDP Unicast
  • pubsub: PubSub StandaloneSubscribedDataSets information model representation

v1.3.9

30 Nov 09:44
Compare
Choose a tag to compare

This is the ninth patch release for the 1.3 release family of open62541.
The notable changes in this patch release are:

  • fix(nc): Resolving of the event notifier attributes
  • fix(server): Use only the leaf certificate from the asymmetric security header

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.

v1.3.8

09 Oct 18:49
086b155
Compare
Choose a tag to compare

This is the eighth patch release for the 1.3 release family of open62541.
The notable changes in this patch release are:

  • feat(plugin): allow custom password validation
  • fix(server): More type-checking for the OfType Event-Filter
  • feat(server): Return filter results if EventFilter validation fails
  • fix(server): Return publishing interval if sampling interval == -1.0
  • fix(plugins): In UA_CertificateVerification_VerifyApplicationURI() set initial subjectURI to UA_STRING_NULL
  • fix(plugins): Handle failure in UA_OpenSSL_LoadCertificate()
  • fix(server): Use "SubtypeOf" instead of "HasSuperType" as inverse ReferenceType name

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.

v1.2.9

09 Oct 18:46
Compare
Choose a tag to compare

This is the ninth patch release for the 1.2 release family of open62541.
There were only bugfixes and no API-breaking changes applied for the patch release.
Changes compared to the previous release include:

  • fix(plugins): In UA_CertificateVerification_VerifyApplicationURI() set initial subjectURI to UA_STRING_NULL
  • fix(plugins): Handle failure in UA_OpenSSL_LoadCertificate()

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.1 are:

  • Support for additional OPC UA Services (SetTriggering, TransferSubscription)
  • Support for more data-types: structures with optional fields and for unions
  • Support for pretty-printing of OPC UA data-types
  • Support for parsing of standard-defined human-readable NodeIds, BrowsePaths, etc.
  • Support for OpenSSL-based encryption and certificate validation
  • Support for WebSocket Secure (wss)
  • Improved support for Events and Alarms&Conditions
  • Improved support for PubSub subscribers
  • Improved support for realtime PubSub by integration with external interrupt handling and a configurable realtime "fast path"
  • Update to the v1.04 nodeset definitions from the OPC Foundation

Besides the major functional additions, many small features, fixes and general improvements went into this release.

With the release of the release candidate, the API for the 1.2 release series is frozen. Only fixes and non-breaking changes will be integrated going forward. Note that the v1.2 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.

v1.3.7

06 Sep 18:56
b8ac9e7
Compare
Choose a tag to compare

This is the seventh patch release for the 1.3 release family of open62541.
The notable changes in this patch release are:

  • fix(plugin): Fix gcc 12 warning in pki plugin
  • fix(core): Fix the order of interlocking parameters for MSVC
  • fix(core): Replace intrinsic functions for multithreading in MSVC
  • refactor(plugin): Use the architecture UA_Lock for stdout logging
  • fix(core): Fix array length consistency check for UA_DataValue
  • feat(client): Recover when a DiscoveryUrl provided from FindServers does not work
  • fix(client): Try to parse DiscoveryUrl before accepting it
  • fix(pubsub): Fix order of SecurityHeader and ExtendedNetworkMessageHeader (#5979)

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.

v1.2.8

06 Sep 18:55
Compare
Choose a tag to compare

This is the eigth patch release for the 1.2 release family of open62541.
There were only bugfixes and no API-breaking changes applied for the patch release.
Changes compared to the previous release include:

  • fix(core): Fix array length consistency check for UA_DataValue

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.1 are:

  • Support for additional OPC UA Services (SetTriggering, TransferSubscription)
  • Support for more data-types: structures with optional fields and for unions
  • Support for pretty-printing of OPC UA data-types
  • Support for parsing of standard-defined human-readable NodeIds, BrowsePaths, etc.
  • Support for OpenSSL-based encryption and certificate validation
  • Support for WebSocket Secure (wss)
  • Improved support for Events and Alarms&Conditions
  • Improved support for PubSub subscribers
  • Improved support for realtime PubSub by integration with external interrupt handling and a configurable realtime "fast path"
  • Update to the v1.04 nodeset definitions from the OPC Foundation

Besides the major functional additions, many small features, fixes and general improvements went into this release.

With the release of the release candidate, the API for the 1.2 release series is frozen. Only fixes and non-breaking changes will be integrated going forward. Note that the v1.2 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.

v1.3.6

10 May 08:54
1b7e2b5
Compare
Choose a tag to compare

This is the sixth patch release for the 1.3 release family of open62541.
The notable changes in this patch release are:

  • fix(server): Fix a memory-leak in the Browse service with BrowseNext
  • fix(server): Transfer subscription - fix queued subscription notifications
  • fix(arch): disable polling for Windows CE
  • fix(plugin): Forward rng when calling mbedtls_pk_decrypt
  • fix(build): Explicitly set encoding to UTF-8 when reading statuscodes csv file

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.