Skip to content

Releases: open62541/open62541

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.

v1.3.5

20 Feb 09:20
Compare
Choose a tag to compare

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.

v1.2.7

20 Feb 09:18
Compare
Choose a tag to compare

This is the seventh 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(client): prevents NULL pointer assinment error in UA_ClientConnectionTCP_poll()

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.4

14 Nov 12:27
e2165f5
Compare
Choose a tag to compare

This is the fourth patch release for the 1.3 release family of open62541.
There were only bugfixes and no API-breaking changes applied for the patch release.
Notables changes in this patch release are:

  • fix(plugin): Fix removal of AllowAll cert validation for OpenSSL
  • feat(plugin): Add OpenSSL 3.0 support (#5349)
  • fix(plugin): Disable padding by OpenSSL (is done internally)
  • fix(plugin): Reject all certificates for empty trust-list
  • fix(plugin): Fix warning for use of OPENSSL_API_COMPAT
  • feat(plugin): Add OpenSSL 3.0 support (#5349)
  • fix(plugin): Fix crash in OpenSSL when loaded with an empty certificate
  • fix(pubsub): Set correct block counter for aes-ctr encryption
  • fix(client): Wrong callback in UA_Client_Subscriptions_processPublishResponse
  • fix(core): DataValue statuscodes checks ignore additional information bits (#5375)
  • fix(plugin): Correctly update connection timeout statistics (#5344)
  • fix(core): Use of compound volatile operations (deprecated in C++20)

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.6

14 Nov 12:24
Compare
Choose a tag to compare

This is the sixth 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(plugin): Disable padding by OpenSSL (is done internally)
  • fix(plugin): Reject all certificates for empty trust-list
  • fix(plugin): Fix warning for use of OPENSSL_API_COMPAT
  • feat(plugin): Add OpenSSL 3.0 support (#5349)
  • fix(plugin): Fix crash in OpenSSL when loaded with an empty certificate
  • fix(client): Wrong callback in UA_Client_Subscriptions_processPublishResponse
  • fix(plugin): Correctly update connection timeout statistics (#5344)

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.3

03 Aug 08:28
Compare
Choose a tag to compare

This is the third patch release for the 1.3 release family of open62541.
There were only bugfixes and no API-breaking changes applied for the patch release.
Notables changes in this patch release are:

  • fix(server): Fix array dimensions when copying range of variant (#5216)
  • fix(pubsub): Set groupVersion for the PubSub network message
  • fix(pubsub): Increment sequenceNumber in PubSub NetworkMessage for the direct-send case
  • fix(pubsub): Set UA_UADPDATASETMESSAGECONTENTMASK_STATUS
  • fix(client) connect iterate without timeout

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.3.2

24 Jun 12:18
Compare
Choose a tag to compare

This is the second patch release for the 1.3 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): union order returns eq when selection is set to NONE 2x
  • fix(server): Fix cleanup of the async work queue in the server
  • fix(pubsub): Switching the MQTT library to upstream
  • fix(server): Reading a range when using ValueBackend External failed
  • fix(server): Empty Publish request queue when the SecureChannel is detached
  • fix(client): Remove async requests when the SecureChannel closes

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.3.1

07 Jun 07:09
3010bc6
Compare
Choose a tag to compare

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

  • refactor(plugin): Transition mbedTLS to the API for both v2 and v3
  • fix(client): Replace the nonce with the ActivateSessionResponse
  • fix(plugin): Add default limits for chunks and message size

Note that this patch release fixes a potential denial of service attack (reported by Team82 / Claroty).
The default configuration previously allowed messages to have an arbitrary size (number of chunks).

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.5

07 Jun 07:01
Compare
Choose a tag to compare

This is the fifth 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(client): Replace the nonce with the ActivateSessionResponse
  • fix(plugin): Add default limits for chunks and message size

Note that this patch release fixes a potential denial of service attack (reported by Team82 / Claroty).
The default configuration previously allowed messages to have an arbitrary size (number of chunks).

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.