reduktive OPC UA SDK
A C++20 SDK for building OPC UA clients and servers. It provides the client and server libraries, the shared types, encoding, transport, security, and address-space layers they are built on, and an asynchronous foundation on Boost.Asio.
v1.0.0-beta.1 — evaluation prerelease. Not represented as production-ready or certified. No commercial production licences are issued for prerelease versions.
Scope
- Roles
- Client and server, built from one set of OPC UA types, encoding, transport, security, and address-space code.
- Concurrency
- Asynchronous on Boost.Asio. The application supplies the executor; the SDK starts no threads of its own. Synchronous forms are provided at application boundaries.
- Modelling
- Typed built-ins, generated OPC UA data types, NodeSet import, address-space instantiation, and documented extension points.
- Security
- OpenSSL-backed policies, X.509 certificate handling, authentication, and role-based authorisation. An unconfigured server admits no sessions.
- Libraries
- Separately linkable core, address-space, client, server, and application libraries.
Platforms
- Supported
- Linux and Windows. GCC, Clang, and MSVC.
- Minimum target
- An application-class processor with a memory-management unit, running a full operating system — for example embedded Linux on an ARM Cortex-A.
- Not yet validated
- QNX, INTEGRITY, and VxWorks are expected to be suitable. No port has been completed or validated.
- Not targeted
- Bare-metal systems and MCU-class processors such as Cortex-M.
Verification
- Unit tests
- 8,621
- Integration tests
- 3,221
- Source assertions
- 59,281
- Compiler toolchains
- GCC, Clang, and MSVC
- Also applied
- Address and thread sanitizers, static analysis, fuzzing, soak and load tests, and failure injection.
Integration tests drive a client and a server through a real TCP connection rather than exercising subsystems in isolation.
Release
- Current
- v1.0.0-beta.1
- Q4 CY2026
- Stable v1.0.0 and the end of the prerelease programme
- Q1 CY2027
- OPC UA PubSub support
Further betas will be published only where needed, followed by one or more release candidates.
Licence
The source is published on GitHub under the reduktive Source Available License Version 1.0. You can read it, use the unmodified SDK outside production, and pass on exact copies of it. You may not change it or distribute a changed version. Commercial licensing will follow once the product is formally released.
