Skip to content

v2.6.0 - cts CLI and reverse-pipe daemon polish

Choose a tag to compare

@ArthurkaX ArthurkaX released this 09 Jun 18:30
· 708 commits to main since this release

Highlights

  • Added the short cts CLI alias and simplified the main command contract around sync, build, PLC lifecycle, variables, project/object tools, raw, and engine.
  • cts --help now documents the folder / CODESYS IDE / PLC state model and the required disconnect-before-import workflow.
  • project-info now returns CODESYS Project Information summary fields and all custom properties.
  • ping and status now include cached PLC state: connected, online, running, application_state, active application, and path.
  • Fixed online application cache handling for connect -> plc-crc, device_status, start, and stop.
  • Fixed disk-to-IDE import for modified existing .st objects by applying text updates through the CODESYS text API.
  • Fixed compare false positives caused by externalized .st/.csv XML serialization noise.
  • Added daemon support for read_object; update-pou and delete-pou now default to the active CODESYS application.
  • Removed legacy daemon/dead-code paths replaced by the reverse-pipe daemon flow.

Daemon Verification

This release was verified on a live CODESYS daemon test bench with a clean project state (36/36 unchanged) and daemon permissions open (deny: []).

The daemon-driven cts workflow was exercised end to end across the main user-facing functions: ping, status, permissions, raw, project-info, project-tree, export, compare, import, build, connect, disconnect, start, stop, app-state, plc-crc, variable read/write, variable-map, variable-snapshot, variable-restore, read-object, update-pou, delete-pou, read-log, sync, app_history, app_crc, app_info, create_boot_app, plc_upload, JSON output, text output, and --pretty.

Local Checks

  • python -m py_compile cli\cds_text_sync.py src\ide_bridge\ide_reverse_pipe_loop.py
  • python -m pytest tests\unit -> 105 passed