v2.6.0 - cts CLI and reverse-pipe daemon polish
Highlights
- Added the short
ctsCLI alias and simplified the main command contract around sync, build, PLC lifecycle, variables, project/object tools,raw, andengine. cts --helpnow documents the folder / CODESYS IDE / PLC state model and the required disconnect-before-import workflow.project-infonow returns CODESYS Project Information summary fields and all custom properties.pingandstatusnow 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, andstop. - Fixed disk-to-IDE import for modified existing
.stobjects by applying text updates through the CODESYS text API. - Fixed compare false positives caused by externalized
.st/.csvXML serialization noise. - Added daemon support for
read_object;update-pouanddelete-pounow 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.pypython -m pytest tests\unit->105 passed