{ "version": "0.13.0", "notes": "# 0.13 PROD (2026-09-19)\r\n\r\n## Changes\r\n- App auto-update: BETA/PROD builds check their channel's update server on startup, and a green\r\n **Update X.Y** badge appears in the title bar when a newer build exists. Clicking it (or\r\n **Update & restart** in **About**) downloads the signed installer and installs it; the app\r\n restarts automatically.\r\n- **About** gains an **Update** panel (after App, before Requirements) showing the update status\r\n (not checked / checking / up to date / update available / updating / [ERROR]), the current and\r\n new version, the release date, the release notes, and a **Check for updates** button. A failed\r\n check or install now shows an error toast and a **Messages** log entry.\r\n- Config: **Themes** moves to the top, and a new **Auto-Update** card adds **Check for updates on\r\n start** (enabled by default) to allow or disable the automatic startup check.\r\n- `scripts/release.ps1 -Publish`: signs the NSIS installer with the minisign key in\r\n `updater.key` (gitignored) and publishes it, plus the `latest-.json` manifest, to the\r\n channel's rolling Gitea release (`latest-dev` / `latest-beta` / `latest-prod`) - the update\r\n source for installed apps.\r\n- Software Explorer: program blocks can be exchanged in **SIMATIC SD** format (`.s7dcl`/`.s7res`).\r\n The folder **Import...** and the block **Export...** now each open a format dialog (XML source\r\n or SIMATIC SD) with TIA Portal V20 and newer. On V19 both go straight to the XML dialog and\r\n the SD choice is hidden.\r\n- Software Explorer: block import/export shows a progress bar while TIA Portal works, and a\r\n failed file dialog now surfaces an error instead of silently doing nothing.\r\n- Software Explorer: right-click a **PLC** (software item) or a **block** to **Compile** it (the\r\n result reports error/warning counts, with a progress bar while TIA Portal works). Right-click a\r\n **folder** to **Copy DB list**, which copies the folder's DB blocks as `Name (Number)` lines to\r\n the clipboard.\r\n- **Tag Tables**, **UDTs**, and **Watch Tables**: right-click a **PLC** (software item) or a\r\n **folder** to **Import...** an XML source into that folder, and right-click a **tag table / UDT /\r\n watch table** to **Export...** it to an XML source file (with a progress bar while TIA Portal\r\n works).\r\n- Software Explorer: **Import...** (Blocks / Tag Tables / UDTs / Watch Tables) now accepts **multiple\r\n files** at once, and right-clicking a **folder** to **Export...** writes every item directly inside it\r\n as `.xml` into a chosen directory — a **Replace existing file(s)?** dialog confirms before any\r\n target file that already exists is overwritten.\r\n- Software Explorer (Blocks / UDTs / Watch Tables): right-click a **PLC** or a **folder** to **Refresh**\r\n or **Compile** just that subtree, so working in one folder no longer forces a re-read of the whole\r\n project.\r\n- **Watch Tables**: **Import...** now offers a **format choice** (XML / CSV / Tag). CSV and Tag sources\r\n (a `Name,Address,Type,Comment` grid) are converted to TIA XML before import, so a hand-written grid can\r\n be imported directly.\r\n- **Watch Tables (fix):** a CSV/Tag row with an empty `Name` (an address-only entry) no longer emitted an\r\n invalid empty `` element that TIA rejected as an inconsistent table — the `Name` is now omitted,\r\n matching TIA's own export.\r\n- Connection: when the attached TIA Portal is closed, the app now **auto-detaches** (the\r\n instance list is polled every 5 s while attached) instead of staying attached to a dead\r\n process - previously a re-opened TIA Portal appeared in the list without any Attach button.\r\n- Connection: the Attach button stays disabled while attaching instead of showing a spinner.\r\n- Status badges no longer show `[OK]`/`[WARN]`/`[ERR]`/`[INFO]` text prefixes.\r\n- **Manual** and **Release notes** cards now fill the available window height and scroll\r\n internally, so a long manual no longer stretches the whole window and forces page-level\r\n scrolling.\r\n- Hardware > **Devices** now loads the device list automatically the first time the subtab is\r\n opened (matching Drives / IO / Safety), instead of staying empty until you refresh.", "pub_date": "2026-09-19T21:47:27.6072689Z", "platforms": { "windows-x86_64": { "signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVUUHhTZEdaL0IzQ2pZSGVZNW1XalpaSER0RkhxMWsyZGp2dVZGYkJnY3pKRkxLaEZJMjA4bjRKZVpmZWxFMXVPci9KaHlKREV5NlVwdWJmS1h6RUNhYkgyNGZxTkhXeHdvPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzg5ODU0NDIzCWZpbGU6VGlhVG9vbHMtMC4xMy1wcm9kLTkxNjlmNzUuZXhlCkMrVzJ1TVJEYkp6YmVNaWkxL3JOeHl6V3lHVmxxNE9qY3JMUm5jVUd5NFpJOTRkeGg0aWZYajJDbDRhWlNzaVZMeGVTeXNpZndnd3hJVlovOGFqV0F3PT0K", "url": "https://giteakaput.duckdns.org/AI/TiaTools2/releases/download/latest-prod/TiaTools-0.13-prod-9169f75.exe" } } }