You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+33-1Lines changed: 33 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,39 @@ All notable changes to this project will be documented in this file.
4
4
5
5
---
6
6
7
-
### Unreleased
7
+
### Version 2.6.0 (2026-06-09)
8
+
9
+
**CLI Contract:**
10
+
11
+
- Added the short `cts` console alias alongside `cds-text-sync`.
12
+
- Simplified the primary CLI surface around the main user workflows: `ping`, `status`, `export`, `compare`, `import`, `build`, PLC lifecycle commands, variable commands, project/object tools, `raw`, and `engine`.
13
+
- Removed the separate `--manual` mode in favor of one short but explicit `cts --help` output.
14
+
- Renamed CLI documentation from `cli/MANUAL.md` to `cli/CLI.md` and the CI/CD test-format document to `cli/TEST_FORMAT.md`.
15
+
- Updated `cts --help` to document the operational model: folder, CODESYS IDE, and PLC are independent states; deployment moves data `folder -> IDE -> PLC`; folder-to-IDE import must be done while disconnected from the PLC.
16
+
17
+
**Daemon & PLC State:**
18
+
19
+
-`project-info` now returns CODESYS Project Information `summary` fields (`Company`, `Title`, `Version`, `Author`, `Description`, `DefaultNamespace`, `URL`) and all custom `properties`, including `cds-sync-folder`, `cds-daemon-config`, and `cds-sync-pc`.
20
+
-`ping` and `status` now include cached PLC state: `connected`, `online`, `running`, `application_state`, active application name, and application path. These commands do not auto-connect to the PLC.
21
+
- Fixed stale `online_app` cache handling so `connect -> plc-crc`, `device_status`, `start`, and `stop` work without first calling `app-state`.
22
+
- Closing the daemon window with the `X` button now requests daemon shutdown instead of leaving the script operation running and blocking the CODESYS UI.
23
+
24
+
**Import / Compare / Object Tools:**
25
+
26
+
-`sync_import_text` now updates existing `.st` text objects through the CODESYS text API when native XML import does not apply the changed POU body.
27
+
-`compare` now ignores XML serialization noise for externalized `.st`/`.csv` projections when the effective projection content matches the IDE content, including the `TextBlobForSerialisation` empty-container case.
28
+
- Added daemon support for `read_object`; `cts read-object --name MAIN` returns declaration, implementation, and object path.
29
+
-`update-pou` and `delete-pou` now default to the active CODESYS application instead of the previous hardcoded `CI_CD_Application`.
30
+
31
+
**Cleanup:**
32
+
33
+
- Removed legacy daemon/dead-code paths replaced by the reverse-pipe daemon flow.
34
+
- Removed unused daemon imports left after the reverse-pipe simplification.
35
+
36
+
**Release Verification:**
37
+
38
+
- Verified on a live CODESYS daemon test bench with a clean project state (`36/36 unchanged`) and daemon permissions open (`deny: []`).
39
+
- 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`.
> **Disclaimer**: This is a third-party tool. It is NOT an official product of CODESYS Group and is not affiliated with, sponsored by, or endorsed by CODESYS Group. This tool is provided "as is" and is not a replacement for official CODESYS products.
@@ -62,7 +62,7 @@ The quick PowerShell installer also checks for `python` up front and can offer a
62
62
63
63
## CLI + Reverse-Pipe Daemon
64
64
65
-
Version 2.5.1 adds an optional command-line interface for workflows that need fast, repeatable interaction with an open CODESYS IDE.
65
+
Version 2.6.0 focuses on the `cts`command-line workflow and the reverse-pipe daemon for fast, repeatable interaction with an open CODESYS IDE.
66
66
67
67
The daemon runs inside CODESYS through `Project_daemon.py`. The `cds-text-sync` CLI talks to it over a per-user Windows named pipe, so shell scripts and CI helpers can request CODESYS actions without opening additional script dialogs for every operation.
68
68
@@ -72,8 +72,8 @@ Typical commands:
72
72
73
73
```powershell
74
74
cts --help
75
-
cts ping --timeout 10 # minimal liveness check
76
-
cts status --timeout 10 # detailed daemon/project status
- PLC file listing, upload, and download commands.
91
92
- Application CRC checks for deployment verification.
92
93
- JSON-based test plans for repeatable validation.
93
94
- Access to the same XML-first project sync engine used by the classic `Project_*.py` scripts.
94
95
96
+
The 2.6.0 daemon workflow was verified on a live CODESYS project by running the main user-facing command set through `cts`: `ping`, `status`, permissions, raw calls, `project-info`, `project-tree`, export, compare, import, build, connect/disconnect, start/stop, `app-state`, PLC CRC, variable read/write, variable map/snapshot/restore, object read/update/delete, log reading, sync commands, application history/CRC/info, boot application creation, PLC upload, and JSON/text output modes.
0 commit comments