S2OPC 1.6.0 release
The S2OPC team is proud to announce the 1.6.0 release of S2OPC.
This release introduces several improvements including:
- OPC UA events management
- Support of Zephyr revision 3.6 (see issue #1464)
- Support of PikeOS revision 5.1 (thanks to our partner SYSGO) (see issue #1160)
- Support of MbedTLS revision 3 (see issue #1446)
- A complete rework of our Python binding PyS2OPC (see issue #1251)
As this revision contains important cybersecurity fixes, we advice all our customers to switch to this new revision.
New features¶
- Ticket #1160: Implement interface between PikeOS and S2OPC
- Ticket #1421: Implement OPC UA events feature (with limitations)
Enhancements¶
Some notable enhancements are:
- Ticket #771: serverKey and serverCertificate not checked upon SOPC_Config_Parse
- Ticket #1108: Make helpers_platform dep headers non public
- Ticket #1114: Concepts of Encodeable / EncodeableObject should be merged
- Ticket #1128: Preliminary work for #1438
- Ticket #1162: Include in CI PikeOS unit testing and validation test
- Ticket #1251: Upgrade PyS2OPC: new binding technology and use of current client/server API
- Ticket #1347: Add const attribute for SOPC_SecretBuffer in the CryptoProvider API
- Ticket #1366: Add tests for the demo push server
- Ticket #1399: EncodeableType: encode/decode methods should be added to/from a ByteString
- Ticket #1404: PKI implementation: cyclone and mbedtls code have duplicated parts
- Ticket #1409: Custom OPC UA types: non-NS0 types are not allowed to reference non-built-in types
- Ticket #1415: Register a callback to the PKIProvider to re-evaluate certificates when updates are applied
- Ticket #1431: Client API: subscription Id should be accessible for some method calls
- Ticket #1438: Rework Time management helpers
- Ticket #1446: Update default MbedTLS version to v3
- Ticket #1451: CMake config warning: fix Python module deprecated
- Ticket #1452: Implicit transtyping from float to double
- Ticket #1454: Use new GCC 13 flags for compilation
- Ticket #1457: Minor fixes and enhancements
- Ticket #1462: PyS2OPC minor adjustments
- Ticket #1464: Update Zephyr version to 3.6.0
- Ticket #1466: Server: B model refactoring: create a single access point module for user authorizations
- Ticket #1474: CycloneCRYPTO return codes which are error_t should not be treated as boolean
- Ticket #1483: Add CI script to replay OPC UA messages as non-regression tests
- Ticket #1486: TCP UA: SecurityChecksFailed expected instead of TcpInternalError for decoding errors
- Ticket #1489: Speed up CI executing unrelated jobs in parallel
- Ticket #1491: Setting up a HIL test architecture
- Ticket #1493: Make dynamic type resolution active by default and allow removal of static type table
- Ticket #1497: Client Wrapper: avoid possible memory leak on subcription on client clear/disconnect
- Ticket #1503: Remove client/server wrapper deprecated API
- Ticket #1504: Client unit tests: restore tests using the old client API
- Ticket #1510: nodeset_address_space_utils.py fails when removing nodeids >= 2253
- Ticket #1511: [HIL] All boards have the same IP address for external interface
- Ticket #1512: Update client API doc (SOPC_ClientHelper_Connect)
- Ticket #1524: Add a context parameter to PyS2OPC_Client.get_username_password
- Ticket #1527: Client helper API: subscription helper functions should always clear given request
- Ticket #1537: Write service: API should prevent Bad_WriteNotSupported due to server timestamp when possible
- Ticket #1541: Compile issue when using WITH_USER_ASSERT
Bug fixed and known bugs¶
The list of fixed bugs and of known bugs is available in the 1.6.0 Gitlab release page.
What is S2OPC ?¶
S2OPC is a software solution for client-server communications using OPC UA standard.
- designed to target the safety, cyber-security and real-time constraints of embedded products
- deployed on larger command-control or supervision systems
S2OPC has a security visa from ANSSI for the CSPN certification and a certificate of compliance with the OPC UA v1.04 standard from the OPC Foundation.
Multiplatform SDK, S2OPC is used in application scaling from IIoT modules to SCADA systems. It supports both Client/Server and PubSub. S2OPC is also ready for integration with TSN networks.
S2OPC is an open-source solution for OPC UA communications.