Skip to content

Releases: mbaumsti/Delphi-App-Watcher

## 🛠 version 3.1.2 – **Focus:** Compatibility fixes for **Delphi 10.2 Tokyo**

26 Apr 07:09

Choose a tag to compare

✨ What's new?

  • Separate Delphi packages (.dpk)

    • AppWatcherClientPackage_Pre104.dpk for Delphi 10.2 / 10.3
    • AppWatcherClientPackage.dpk for Delphi 10.4 and later
      (to solve $LIBSUFFIX incompatibility)
  • New Requirement

    • Raize Components are now officially required (for TRzNumericEdit).
  • Minor documentation updates

    • Updated README and French LISEZ_MOI with clearer requirements.

🐛 Bugfixes

  • Delphi 10.2 build errors fixed
    • No more issues with {$LIBSUFFIX}
    • No more runtime crash related to missing types.

🔄 Upgrade Notes

  • Make sure you open the correct package depending on your Delphi version.
  • If you don't have Raize Components, install them or replace TRzNumericEdit manually (e.g., with TSpinEdit).
  • No change on the executable side — binaries are identical to v3.1.1.

🙏 Special thanks again to [limelect](https://github.com/limelect) for testing on Delphi 10.2 Tokyo.

v3.1.1

24 Apr 18:32

Choose a tag to compare

🛠 AppWatcher v3.1.1 – Delphi 10.2 Compatibility Fixes

This release focuses on Delphi version compatibility improvements and minor internal cleanup.
There are no changes to the compiled executables since v3.1.0.


✨ Added

  • Compiler compatibility improvements
    • Conditional use of {$LIBSUFFIX 'Auto'} in .dpk to support Delphi 10.4+ only.
    • Added System.Types to AppWatcher_Lang.pas for compatibility with TStringDynArray in Delphi 10.2.

🐛 Fixed

  • Delphi 10.2.3 build issues
    • Removed unsupported StringGridApp.BeginUpdate / EndUpdate calls from AppWatcherMaster_main.pas.
    • Verified clean builds from Delphi 10.2 Tokyo to Delphi 12 Athens.

🔄 Upgrade Notes

  1. If you're using Delphi 10.2, re-compile the source to benefit from these fixes.
  2. Ensure your code doesn't rely on StringGrid.BeginUpdate/EndUpdate unless you're using a supported component (like TMS, VirtualTreeView, etc.).

🛈 Note: Binaries are unchanged from v3.1.0 – this release is source-only and improves Delphi compatibility.

🔄 version 3.1.0 - Add deployment rotation and TAWStringArray alias

23 Apr 17:04

Choose a tag to compare

✨ Added

  • Deployment with rotation

    • AppWatcherMaster_Deploy can now keep an automatically rotated backup history of deployed versions.
    • New [Backup] section in AppWatcher.ini
      Key Description Example
      MaxVersions Maximum number of backups to retain 2
      Folder Backup destination (leave blank = EXE directory) V:\Backup
    • When MaxVersions is reached, the oldest backup is removed before the next deployment.
  • Multi-version compatibility – TAWStringArray

    • Conditional alias in AppWatcher_Lang.pas
      • Delphi 12 + : TArray<string>
      • Delphi ≤ 11 : TStringDynArray
    • Eliminates E2010 “Incompatible types” across all supported Delphi versions.

🐞 Fixed

  • README: download link now points to /releases/latest, preventing 404 errors after a new tag is published.

🔄 Upgrade Notes

  1. Master only: ensure Folder is writable when rotation is enabled.
  2. Re-compile all projects so the new TAWStringArray alias is available.

🔄 version 3.0.0 - Named Pipes for Client ↔ Agent communication

11 Apr 06:06

Choose a tag to compare

✨ Added

  • 🧩 New utility: AppWatcherStub
    • Lightweight stub that connects to the master and restarts the Agent executable on demand.
    • Useful during Agent updates or replacements.

🔄 Changed

  • 🔁 Replaced TCP/IP with Named Pipes for Client ↔ Agent communication
    • Improved reliability and performance, especially for local inter-process communication.
    • Introduced new internal architecture based on the library NamedPipesForDelphi.
    • The original code has been modularized into:
      • PipesCommon: shared types/constants/utilities
      • PipeClient: client implementation
      • PipeServer: server implementation
  • ** Added a silent mode ** to stop and restart the application without warning the user

🔄 version 2.0.1 - Fixed bug in item deletion

10 Mar 18:36
ec104d7

Choose a tag to compare

🛠 Fixed

  • Bug in item deletion after sorting (DeleteCopyItem)
    • When sorting the list, the deletion was incorrect because the displayed index didn't match the actual index in FCopyList.
    • A new function GetRealIndexFromSelected now retrieves the correct index before deleting or modifying items.

🚀 Improved

  • Code refactoring: Centralized real index lookup
    • The GetRealIndexFromSelected function is now used in multiple places (DeleteCopyItem, AppListDblClick, BtnDelClick), avoiding duplicate code.
    • This ensures correct behavior even after sorting.

🔄 Upgrade Notes

  • This update does not break compatibility with 2.0.0.
  • If you were affected by deletion issues after sorting, upgrading is highly recommended.

v2.0.0

09 Mar 19:17

Choose a tag to compare

🚀 How to Use AppWatcher (Quick Test Guide)

📂 Installation

  • Extract all files into a folder of your choice.
  • Run AppWatcherAgent.exe (Allow it through the firewall if prompted) – it will appear in the system tray.
  • Run AppWatcherMaster.exe – it will connect to the agent and display its status.

🖥 Basic Test (Local Machine)

  • Start one or more instances of AppWatcherClient.exe.
  • In the Master interface, click "List Applications".
  • The clients will send their data to the agent, which will forward them to the Master.

🌐 Network Test (Multiple Machines)

  • Run AppWatcherAgent.exe on another machine in the network.
  • Start one or more clients on that machine.
  • Run AppWatcherMaster.exe on your main computer and click "List Applications".
  • The new agent and clients should appear in the list.

🛠 Testing Control Features

  • Stop an application: Select an app in the list, double-click to select its name in the edit box, and click "Stop Application".
  • Restart all stopped applications: Click "Start" to relaunch all stopped applications.

📌 Note: For full functionality, ensure firewall settings allow communication between the agent, master, and clients.

Precompiled binaries for quick testing. No installation required!

01 Mar 16:49

Choose a tag to compare

🚀 How to Use AppWatcher (Quick Test Guide)

📂 Installation

  • Extract all files into a folder of your choice.
  • Run AppWatcherAgent.exe (Allow it through the firewall if prompted) – it will appear in the system tray.
  • Run AppWatcherMaster.exe – it will connect to the agent and display its status.

🖥 Basic Test (Local Machine)

  • Start one or more instances of AppWatcherClient.exe.
  • In the Master interface, click "List Applications".
  • The clients will send their data to the agent, which will forward them to the Master.

🌐 Network Test (Multiple Machines)

  • Run AppWatcherAgent.exe on another machine in the network.
  • Start one or more clients on that machine.
  • Run AppWatcherMaster.exe on your main computer and click "List Applications".
  • The new agent and clients should appear in the list.

🛠 Testing Control Features

  • Stop an application: Select an app in the list, double-click to select its name in the edit box, and click "Stop Application".
  • Restart all stopped applications: Click "Start" to relaunch all stopped applications.

📌 Note: For full functionality, ensure firewall settings allow communication between the agent, master, and clients.