Find out all the small details that get changed and fixed over time in the framework
Workers 5.0
New Features
New tool: Workers 5.0 Debug Server (completely refactored, new UI design, new features)
New tool: Workers Public API Builder tool
Create / Edit Public API Request
Create / Edit Public API Request with Reply
Create / Edit Public API Response
Override Public API MHL cases
New tool: Create MHL Case tool
Create / Edit Local API Request
Create / Edit non-Public MHL case
Override non-Public API MHL cases
New tool: Change Worker Properties tool
New tool: Upgrade to Workers 5.0 project tool
New feature: Create Asynchronous Launcher VIs (in Create Launcher VI tool)
New feature: Worker User Library Config File Editor tool (in Worker User Library tool)
New feature: Worker.lvclass Public Properties accessible through class wire property node
New feature: Caller's Public Properties accessible through a Worker's Public Properties
New feature: subWorker's Public Properties accessible through a Worker's Public Properties
New feature: Launcher VIs tab added to Worker Hierarchy Viewer (WHV) tool
New feature: Dynamically Loaded Workers loaded from base classes now detected in WHV tool
New feature: Development tools display progress window whilst tool is performing operations
New feature: Set Initialization Data VIs automatically wired in to Caller's <Initialize> MHL case
New feature: NI VI Icon Library now used to generate all class and VI icons
New feature: Take header colors from other Worker class option added to tools that create classes
New feature: Workers at run-time are now identifiable by a backslash-delimited string (WID). This replaces the period-delimited ID string in previous versions of the framework
New feature: Workers example projects are now available through the Workers tools menu
New feature: All example projects updated. Now use Workers 5.0 generated API VIs
New feature: New DMM HAL Demo Project added to example project list
Upgrade tool changes
VI name change: Common Cases.vi -> MHL Cases.vi
VI name change: Setup subWorker -> Setup Statically-Linked subWorkers.vi
VI name change: subWorkers.ctl -> Statically-Linked subWorkers.ctl
'subWorkers' cluster in a Worker private data cluster renamed to 'Statically-Linked subWorkers'
Worker and Worker base class background class icons swapped
Other changes
Worker base class template now contains an Initialization Data.ctl
Worker and Worker base class template now contains a Response Cases.ctl in the class's private data cluster. This cluster is wired to a Worker's Initialization Data.ctl in the Worker's <Initialize> MHL case
Worker base class template MHL now contains the standard 4 Worker 'Framework Cases'
Create Base Class tool now add class icon header string to class XML file
Main VI ref added to Worker Public Properties
Caller added to Worker Public Properties
subWorkers array added to Worker Public Properties
Quickdrop Shortcut Ctrl+9 now opens Create MHL Case tool
Worker detection method changed in development tools, now by class inheritance and not from Alias tag in Worker class XML file
Worker Alias string written to class localized name property of class when new Worker created
Diagram disable structure removed around VTD node with Initialization Data.ctl in Worker template Main VI's MHL <Initialize> case.
When more than one target is detected in the project, the Target selection combo box will appear in the Workers tools menu.
Worker.lvclass : Callback Easy Reply.vi added to Workers palette.
All Case Labels added by the scripting tools are now created in Protected Scope.
All tools that create files can no longer accept \ / : * ? " < > | characters as inputs
Worker Alias string can on longer contain \ character.
Setup subWorker VIs (CNW tool) use ‘To more specific class’ node in place of ‘Preserve run-time class’ node
Format of Worker User Library config files has changed. Now editable with new editor tool.
All scripted VIs and CTLs now contain VI descriptions.
Repeat errors caught by Worker.lvclass:Error Handler.vi are now only ignored IF they have occurred within the same MHL case.
QD shortcut Ctrl+8 (Goto MHL Case) now uses filename after API prefix to determine associated MHL case name. This now works for (future proof) DD override API VIs also.
Worker Hierarchy Viewer tool renamed to Worker Call-Chain Viewer.
Workers 5.0 Debug Server changes
Task Manger tab -> Application Manager window
Live Message Log logging to file now possible
Clear Log option added to Message Log right click menu
Show/Hide Front Panel option added to Application Manager right click menu
Client mode removed.
Error log file generate by Debug Server application.
Not compatible with Workers v4.0 Debug Client Loader.vi.
Workers 5.0 Debug Client Loader.vi changes:
Debug Client Loader.vi can now detect and display MHL cases in Worker base classes (if MHL case is not overridden)
Debug Client Loader.vi has removed “Server Mode” and “Server Mode : Server Port” inputs, and is not compatible with Workers v4.0 Debug Server.
Functional Change
Worker.lvclass:Callback Reply.vi now sends upstream error to Worker.lvclass:Enqueue and Collect.vi (or Enqueue Callback Message.vi (poly) in Workers v4.0)
Deprecated / Removed features
Message.lvclass and Callback Message.lvclass palette VIs deprecated. Messaging now replaced with the new strictly typed Worker API VIs created by the new Worker API tools
Find subWorkers Queue.vi (poly) deprecated
Read Worker Attributes.vi (poly) deprecated
All uses of period-delimited Worker ID strings. Replaced with WID (backslash-delimited string)
Dynamically Load Worker.vi deprecated. Replaced with Dynamically Load Worker v2.vi.
<All subWorkers Initialize> and <All subWorkers Exited> cases are no longer added to a Workers MHL if they don’t exist, when adding a statically-linked subWorker to a Worker with the Create/Add Worker tool.
Debug Client Loader.vi has removed “Server Mode” and “Server Mode : Server Port” inputs, and is not compatible with Workers v4.0 Debug Server.
Bug Fixes
CNW tool would fail when creating a new Worker in non-English versions of LabVIEW
CNW tool would create a Worker without a Main.vi when creating a new Worker from a custom template Worker
Renaming Case Label tool now deletes old Case Label file from disk
Renaming MHL Case would cause broken link to associated Case Label in VIs that were not loaded into memory
Case Labels can be added to a virtual folder with user defined scope
Efficiency Improvements
A copy of the Worker's Main Data Wire has been removed from Worker.lvclass:Error Handler.vi resulting in improved Worker MHL loop speed.
Workers 5.0 Debug Server Message Logs process messages at approximately twice the speed of the Workers 4.0 Debug Server, in addition to being separated into Debug Client specific processes.
Workers 4.0
Main New Feature: Workers framework core and development tools can now be deployed and used on NI real-time targets.
New LabVIEW Requirement: Workers 4.0 is only available for development on LabVIEW 2017 or later.
VIPM Change: Workers now contains 3 VIPM packages: Workers Framework Core, Workers Development tools, Workers Debug Server
Licensing Change: Workers Framework Core (BSD-3), Workers Development tools (Workers EULA), Workers Debug Server (Workers EULA)
New Tool: Workers Debug Server (separate application)
New Tool: RT Worker Convert tool
New Tool: Worker Library tool
New Tool: MHL Viewer tool
New Tool: Create Base Class tool
New Tool: Change Class Inheritance tool
New Tool: Upgrade to Workers 4.0 project tool
Removed Tool: Workers Debugger tool (replaced with Workers Debug Server)
Removed Tool: Workers Library tool (replaced with Worker Library tool)
New Feature: Non-reentrant Worker Main VIs (Main NR.vi) add to framework core
New Palette VIs: Find subWorkers Queue.vi (poly); Read Alias.vi; Pass Error to Owner.vi; Write Message Data.vi; Write Worker Attributes.vi (poly); Worker Start Exiting.vi, Debug Client Loader.vi
New Palette VIs: Enqueue Standard Message.vi (poly) re-organized selection menus, and can now be used for sending both single and multiple messages.
New Palette VIs: Worker Alias added to Worker subWorkers Attributes.vi output cluster.
Deprecated VIs: Start Exiting Worker.vi (replaced with Worker Start Exiting.vi)
Removed VIs: Debugger Loader.vi (replaced with Debug Client Loader.vi)
Framework Functional Change: Every statically linked subWorker requires its own Setup subWorker VI, containing the Workers v4.0 Setup subWorkers CORE.vi.
Framework Functional Change: Application debugging is now achieved between new Debug Server application and Debug Client background tasks.
Framework Functional Change: Naming of dynamically loaded Workers Alias no longer given _DLWXX suffix.
Framework Functional Change: Alias for statically linked subWorkers is now defined by a string constant and not by the name of the Worker class constant.
Framework Style Change: Worker class tag format changed. Backwards compatible with pre v4.0 Workers.
Framework Style Change: Upgraded palette VI icon style.
Workers tools functional change: tools now display classes and their owning libraries.
Workers tools menu change: option to select RT target when RT targets are detected in open projects.
Workers tools additions: Back and Help buttons added to all Workers tools main windows.
Workers tools additions: Separate Compiled Code flag on all VIs created/added by Workers tools and Quickdrop shortcuts matches "separate compiled code from new project items" flag in owning project.
Create/Add Worker tool change: 'Create non-reentrant Worker' option displayed when tools runs on RT target.
Create/Add Worker tool change: Initialize Worker VI files created by the tool now use Worker Alias instead of Worker class name for filename identification.
Create/Add Worker tool change: Initialize and Setup subWorker VIs created by the tool now added to new 'subWorkers' virtual folder within a Worker.
Create Launcher VI tool change: Option provided to create Launcher VI containing Debug Client Loader.vi.
Worker Library tool Change: Tool reworked completely. Now accepts 3rd party Workers.
Worker Library tool Change: Message Pump Worker upgraded to v2.0 (BSD-0).
Worker Library tool Addition: TCP Server and Client Worker Library v1.0 (BSD-0) added.
Debug Server Functional Change: Now a separate Windows executable application. Communicates to remote and local Workers applications via custom TCP/IP interface.
Debug Server Task Manager Addition: Task Manager new column "Type". Right click menu additions "Remove Application" and "Start Exiting".
Debug Server Message Log Addition: Column filter history list added.
Quickdrop Shortcut Addition: Ctrl+9 allows you also rename MHL case and its corresponding case label.
Bug Fix: Attempted patch for Create/Add Worker tool, causing error when automatically wiring a new Worker's Main.vi to merge error node, for Chinese, Japanese, and Korean versions of LabVIEW.
Bug Fix: Whitespace trimmed for Head Worker Alias. Debugger would not detect Worker correctly if whitespaces existed in its filename.
Bug Fix: Create Launcher VI keeps user defined folder path after Launcher VI has been created
Workers 3.x
v3.1.1
- Bug Fix: Fixed issue with VI icons created by Workers tools not having the correct background layers (LabVIEW 2021 SP1).
v3.1.0
- Added: Workers Library tool added to Workers tools menu.
- Added: Message Pump Worker added to Workers Library.
- Changed: Worker templates now contain the four required framework MHL cases by default.
- Changed: All Workers in sample projects now contain the four required framework MHL cases.
- Changed: Documentation updated to support the new four required MHL cases.
- Bug Fix: Error 56002 would occur when adding a Worker to an auto-populating folder with the Create/Add New Worker tool.
v3.0.0
- Added: Upgrade tool to upgrade Workers v2.x projects to Workers v3.0, replacing missing VIs.
- Added: Common Base Class sample project with documentation.
- Added: Create/Add Worker tool now allows you to select the class your new Worker will inherit from.
- Changed: Majority of Worker.lvclass public API VIs are now dynamic dispatch.
- Changed: Workers Debugger now exists in a separate library from framework library.
- Changed: Significant cleanup of framework code. Many Workers v2.x VIs and some classes no longer exist.
- Changed: Workers.lvlib classes and VIs can be unlocked with password 'Workers'.
- Changed: Quickdrop shortcuts VIs now unlocked.
- Changed: Case Labels now contain the case string in a string constant on the case label's block diagram.
- Changed: Worker User.lvclass now deprecated. All Workers now inherit directly from Worker.lvclass by default.
- Changed: Workers can now be launched directly by Head Worker without use of a Launcher VI.
- Bug Fix: Initialization Data now assigned to correct Worker when multi-instances of the same statically linked subWorker is used.
- Bug Fix: Create/Add Worker tool now working with German and French versions of LabVIEW.
- Bug Fix: WHV tool would not display dynamically loaded Worker’s whose callers were in a library.