Releases: mbaumsti/Delphi-App-Watcher
Releases · mbaumsti/Delphi-App-Watcher
## 🛠 version 3.1.2 – **Focus:** Compatibility fixes for **Delphi 10.2 Tokyo**
✨ What's new?
-
Separate Delphi packages (.dpk)
AppWatcherClientPackage_Pre104.dpkfor Delphi 10.2 / 10.3AppWatcherClientPackage.dpkfor Delphi 10.4 and later
(to solve$LIBSUFFIXincompatibility)
-
New Requirement
- Raize Components are now officially required (for
TRzNumericEdit).
- Raize Components are now officially required (for
-
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.
- No more issues with
🔄 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
TRzNumericEditmanually (e.g., withTSpinEdit). - 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
🛠 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.dpkto support Delphi 10.4+ only. - Added
System.TypestoAppWatcher_Lang.pasfor compatibility withTStringDynArrayin Delphi 10.2.
- Conditional use of
🐛 Fixed
- Delphi 10.2.3 build issues
- Removed unsupported
StringGridApp.BeginUpdate/EndUpdatecalls fromAppWatcherMaster_main.pas. - Verified clean builds from Delphi 10.2 Tokyo to Delphi 12 Athens.
- Removed unsupported
🔄 Upgrade Notes
- If you're using Delphi 10.2, re-compile the source to benefit from these fixes.
- Ensure your code doesn't rely on
StringGrid.BeginUpdate/EndUpdateunless you're using a supported component (likeTMS,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
✨ Added
-
Deployment with rotation
AppWatcherMaster_Deploycan now keep an automatically rotated backup history of deployed versions.- New
[Backup]section inAppWatcher.iniKey Description Example MaxVersionsMaximum number of backups to retain 2FolderBackup destination (leave blank = EXE directory) V:\Backup - When
MaxVersionsis 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
- Delphi 12 + :
- Eliminates E2010 “Incompatible types” across all supported Delphi versions.
- Conditional alias in
🐞 Fixed
- README: download link now points to
/releases/latest, preventing 404 errors after a new tag is published.
🔄 Upgrade Notes
- Master only: ensure
Folderis writable when rotation is enabled. - Re-compile all projects so the new
TAWStringArrayalias is available.
🔄 version 3.0.0 - Named Pipes for Client ↔ Agent communication
✨ 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/utilitiesPipeClient: client implementationPipeServer: 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
🛠 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
GetRealIndexFromSelectednow retrieves the correct index before deleting or modifying items.
- When sorting the list, the deletion was incorrect because the displayed index didn't match the actual index in
🚀 Improved
- Code refactoring: Centralized real index lookup
- The
GetRealIndexFromSelectedfunction is now used in multiple places (DeleteCopyItem,AppListDblClick,BtnDelClick), avoiding duplicate code. - This ensures correct behavior even after sorting.
- The
🔄 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
🚀 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!
🚀 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.