Skip to content

v1.4.0-rc2

Compare
Choose a tag to compare
@jpfr jpfr released this 24 Jan 13:37
bb304bb

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