08/04/2021: tag version S2OPC_Toolkit_1.1.0
Environment:
- Linux (tested with Debian 9)
- Make (tested with GNU Make version 4.2.1)
- CMake (tested with CMake version 3.9.4)
- GCC (tested with GCC version 10.2.0)
- Check library (tested with version 0.14.0)
- Mbedtls library (tested with version 2.16.10)
- Python3 (tested with version 3.6.3)
- Expat (tested with version 2.2.10)
Available features, limitations and constraints
see Readme.md
Changes
New features:
- Ticket #765: PyS2OPC: Add a server API to the Python wrapper
- Ticket #768: Client/Server: Add default user manager instance based on an XML file
- Ticket #788: PubSub: add security and MQTT features
- Ticket #813: Server: add a high level frontend API to configure and run server
- Ticket #838: (partial): PubSub: add PubSub TSN support
Enhancements
- Ticket #733/#758 : Client wrapper: Change connect API to avoid duplicated configuration creation
- Ticket #735: Use __atomic in sopc_atomic.h functions implementation when available
- Ticket #742: PubSub: add data structures for real time bare metal API
- Ticket #789: PubSub: allow to use static security data by setting WITH_STATIC_SECURITY_DATA
- Ticket #798: ClientHelper: add access to call service
- Ticket #801: Common: move enum OPC UA types in separate module to avoid unecessary dependencies
- Ticket #806: ClientHelper: add utility functions to clear the results of each service
- Ticket #818: Server Configuration: add a tool to merge address spaces models in XML format
- Ticket #820: Client wrapper: allow PKI without CA defined and provide certificate in GetEndpoints
Fixes
- Ticket #481: SOPC_Buffer_ReadFile returns unexpected error code when reading an empty file
- Ticket #748: Demo PubSub server: An assertion is raised if PubSub configuration file is not found
- Ticket #751: PubSub: Change PubSub printf logs by SOPC_LoggerTrace
- Ticket #755: Minor fixes in sopc_encoder.c
- Ticket #757: Minor fixes and enhancements after version 1.0.0
- Ticket #764: UACTT tests configuration: update expired certificates
- Ticket #766: Logger: level set to INFO automatically and user defined level ignored
- Ticket #767: Windows SOPC_Thread_Create implementation: incorrect use of mbstowcs_s
- Ticket #770: SOPC_S2OPC_Config_Clear: fix possible NULL dereference
- Ticket #781: CMake: S2OPC dependency on mbedtls library defines incorrect library names (- Ticket #782: Native windows build not detecting expat) => reverted, fixed by using expat CMake build >= 2.2.10
- Ticket #784: SOPC_strtoint/SOPC_strtouint fixes: unexpected overflow behavior and unsupported 64 bits integer on windows
- Ticket #790: PyS2OPC: error raised when reading a node value of type UtcTime (DateTime)
- Ticket #797: ClientHelper: read service should provide decoded ExtensionObject when possible
- Ticket #800: (partial): ClientHelper: minor fixes
- Ticket #807: (partial): PubSub: change function pointer type provided as parameter (clarity)
- Ticket #808: Documentation: fix several issues in source code documentation
- Ticket #814: Client frontend: client wrapper headers are not installed in include directory
- Ticket #821: PKI provider: allow no root issuer is defined in case of self-signed issued certificates
- Ticket #828: Publisher scheduler: PublishingInterval of messages is not correctly enforced
- Ticket #829: PubSub: minor fixes
- Ticket #831: SOPC_Thread_Create (POSIX): Avoid invalid thread name error when creating thread
- Ticket #837: (partial): PubSub: avoid subscriber stopping when receiving unstructed bytes (or signed from another security group)
- Ticket #841: (partial): PubSub: DoubleBuffer refactoring
- Ticket #843: log manager minor bugfixes: possible memleak and NULL dereferences