Introduction
This documentation (also for download as a PDF file, Hash valueHash value0c993ef7c67a1acd51b74715b096e16a ) specifies changes of the PLCnext Control firmware and SDK regarding the upcoming release 2025.0 that may be relevant to user-generated applications. The description also applies to the Preview 2024.7 which is a public alpha version for evaluation.
The major change is the non-compliance of the binary compatibility to former SDKs. A recompile of user code that is based on any pre-2025 SDK is mandatory. Furthermore, some code adjustments might become necessary, which are mostly indicated through deprecated warnings.
Firmware 2025.0 comes with some fundamentally updated parts of the underlying Linux® operating system and adapts the PLCnext Runtime System to those changes. This is intended to improve the long-term compatibility of binary files from C++ or MATLAB®/Simulink® programs, as well as components and apps.
The updates to the Linux® system will facilitate future updates to the kernel, the installation of new technologies and, above all, the security hardening of the system to be prepared for the upcoming Cyber Resilience Act in the European Union.
Adjustments are to be made publicly available in 2025. In parallel, the current 2024.0 LTS based on the familiar foundation of PLCnext Technology will get security-related fixes for an extended period (details see Schedule).
General advantages
The 2025.0 release will implement the following optimizations and lays the foundations for later implementation:
- Increased stability due to adjustments of internal system functions
- Implementing long-term binary-compatible interfaces so we can continuously develop new RSC services
- Simplified implementation of user applications by means of standardized interfaces
- Several Linux® adaptations:
- Increased security by splitting into separate processes and better use of Linux® capabilities
- Removal of Linux® packages with high potential for security vulnerabilities
- Switch to Linux®
systemd
for a better adaptation to new technology - Faster boot process due to parallel start of Linux® services
- New system monitoring for CPU, RAM, flash memory, and processes
- Implementation of interfaces to add WBM configuration pages for user components
- Support for versioning of user components
- Improved diagnostics by splitting into different log files
- Deep and secure integration of OCI containers for firmware functions and apps
- Newly designed Web-based Management:
- single sign-on with OAuth2 allows for easy but secure access
- modern layout based on Angular.io that adapts to display sizes ("responsive")
Changes regarding application development
The substantial changes from developers' view are:
- The C++ standard is elevated to the more modern C++ 20 (formerly C++ 17) and standardized data types
- Library
Arp.System.Core
is substituted by the new libraryArp.Base.Core
- The public classes of
Arp.System.Acf
were moved to the new libraryArp.Base.Acf.Commons
- Refactoring of
Logging
substruction - Removed
RTLD_GLOBAL
flag while loading shared libraries - Update of several external libraries, e.g.:
CppFormat
upgrade to libfmt 10.2.1boost
update to version 1.84 (but see boost version for details)
Schedule
(Subject to change
without prior notice)
The 2024.0 LTS firmware release is available for all PLCnext Control device types, and will be maintained for an extended period of 2 years without integration of any of the changes relevant to developing applications. This way, customers can benefit from security fixes and patches without having to adapt the productive applications to the upcoming changes for another 1 ½ years. But there won't be an LTS successor on the that code base. | |
Another feature release is derived from the well-known code base. | |
The public Preview 2024.7 contains most of the 2025.0 changes. Developers are invited to inspect that code base and begin testing their applications in that environment. | |
The 2025.0 firmware release for all PLCnext Control hardware is not considered to be an LTS version. Of course, security updates will be provided. | |
New features are built upon the 2025.0 code base. | |
The 2026.0 LTS and all further firmware releases will be based on the improved foundation of PLCnext Technology. |
Preview 2024.7
The public Preview 2024.7 contains most of the upcoming changes already. It will be made available in September 2024 as a simulation that runs out of the PLCnext Engineer software as a simulated AXC F 2152 or AXC F 3152 controller. Developers are invited to inspect that code base and begin testing their applications in that environment.
For all details, see How to start up the Preview 2024.7.