Releases: open62541/open62541
v1.3.1
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
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.
v1.3
This is the first release of the 1.3 release series of open62541.
Going forward, only fixes and non-breaking changes will be integrated in the 1.3 release family.
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-rc2-ef2
fix(server) include event subtypes in static filter check (#4980)
v1.3-rc2
This is the second release candidate for the 1.3 release series of open62541. With the release of the release candidate, the API for the 1.3 release series is frozen. Going forward, only fixes and non-breaking changes will be integrated in the 1.3 release family.
The following changes were made in comparison to the previous v1.3-rc1 release candidate.
- Support for Server Diagnostics (disabled by default)
- Extended the Event-Filter support
- Improved handling of value attributes in the Nodeset Compiler
- Small improvements and fixes (mostly CTT tests and oss-fuzz results)
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
- 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.4
This is the fourth 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(server): Monitoring out of bounds index range fails on CTT
- fix(server): Fix SimpleAttributeOperand handling for empty path
- fix(server): browseReferences continuation point usage check
- fix(server): Set the isDynamic flag for nested child variables
- fix(server): Call AddNode_finish on auto-generated mandatory children
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.2.3
This is the third patch release for the 1.2 release family of open62541.
There were only bugfixes and no API-breaking changes applied for the patch release.
Important changes compared to the previous release include:
- fix(plugin): Remove assert about the key length in ua_openssl_basic256sha256.c
- fix(arch): Use AF_INET in the socket hints if IPV6 is disabled
- fix(arch) : ServerNetworkLayerTCP_start continues if one network interface fails to bind
- fix(pubsub): Allow multiple readers on the same NetworkMessage
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-rc1
This is the first release candidate for the 1.3 release series of open62541. With the release of the release candidate, the API for the 1.3 release series is frozen. Only fixes and non-breaking changes will be integrated going forward.
New features compared to the previous release series 1.2 include:
- Support for OPC UA PubSub encryption (also TPM-based key handling)
- Session activation with x509 certificates
- Initial support for Event Filters
- 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.2
This is the second patch release for the 1.2 release family of open62541.
There were only bugfixes and no API-breaking changes applied for the patch release.
Important changes compared to the previous release include:
- fix(arch): #ifdef IPv6 code in network_tcp.c
- fix(arch): Replace EINTR => UA_INTERRUPTED
- fix(arch): Do not redefine ssize_t if it is already defined
- fix(client): Correctly use the maxDate returned from the Timer
- fix(client) Async connect on windows on small run_iterate timeout
- fix(nc): Don't exclude Diagnostics datatypes from the generation
- fix(nc): Allow DataTypes with NodeId in the name
- fix(nc): Fix duplicate value 0 in union switch field enums
- fix(plugin): Signature keylength can be > 256bit
- fix(server): Set the ClientHandle for overflow events
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 recent 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.2.1
This is the first patch release for the 1.2 release family of open62541.
Important improvements compared to the previous release include:
- Fix jumping to the end of an object during JSON decoding
- Async connect on windows when run_iterate timeout is too small
- Correct MonitoredItem filter for empty values
- Send ethernet packets of ethertype 0xb62c
There were no API-breaking changes applied for the patch 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.
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 recent 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.