Releases: Autonomy-Logic/openplc-runtime
Releases · Autonomy-Logic/openplc-runtime
OpenPLC Runtime v4.1.0-rc.2
Pre-release for staging testing. Includes:
- Plugin stop sequence fix: Non-blocking STOP/START socket commands with COMMAND:BUSY guard, refining the rc.1 implementation.
- EtherCAT task-based scheduling and Welford diagnostics: I/O exchange syncs with a user-selectable IEC task via tick divisor; incremental moving averages replace cumulative-sum-with-reset.
- Unified WebSocket auth with REST: Removes the unused role field and unifies the WebSocket auth pipeline with REST.
- EtherCAT cyclic-exchange jitter reduction: Real-time tuning to lower jitter on the master loop.
- EtherCAT test coverage: Added unit tests and security regression tests.
- EtherCAT diag race fixes and RT hardening: Resolves diagnostics race conditions, hardens the real-time path, and tightens startup checks.
OpenPLC Runtime v4.1.0-rc.1
Pre-release for staging testing. Includes:
- Robust plugin stop sequence: Non-blocking STOP/START socket commands with COMMAND:BUSY guard. Two-phase plugin stop (graceful + forced asyncio cancellation). Honest return values from all Python plugins.
- EtherCAT task-based scheduling: I/O exchange syncs with a user-selectable IEC task via tick divisor.
- EtherCAT Welford diagnostics: Incremental moving averages replace cumulative-sum-with-reset.
v4.0.9
v4.0.8
Merge branch 'feat/tcp-communication-blocks' into development
v4.0.7
Merge pull request #106 from Autonomy-Logic/development Fix tag on release
v4.0.6
Merge pull request #99 from Autonomy-Logic/development Logging improvements
v4.0.5
Merge pull request #92 from Autonomy-Logic/development Python blocks fix; Modbus echo response fix
v4.0.4
v4.0.4 - OPC-UA plugin and ARM v7 build fix
v4.0.3
Merge branch 'development'
v4.0.2
Fix Snap7 socklen_t type for MSYS2/Cygwin compatibility Changed uint32_t to socklen_t in snap_msgsock.cpp for non-Windows platforms. MSYS2/Cygwin defines socklen_t as int (signed), not uint32_t (unsigned), causing compilation errors. Using socklen_t is the portable POSIX-compliant solution. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>