Logo

Description automatically generated

News

 

Announcements

Welcome to ControlPro v3.4!                                                                                 

ControlPro v3.4 will be releasing Monday (11/17/2025) morning at 08:00 EST. The big-ticket items are listed below. For a full list of what’s changed, see the release notes below.

 

 

Big-ticket items:

·         New database option: Microsoft SQL Server Express 2022

o   The most common cause for ControlPro crashes is loss of connection with the Microsoft SQL Server LocalDB database engine.

o   The SQL Server Express engine is a “beefier” engine.

o   Hopefully, this will resolve the database connectivity issues.

o   The migration is not automatic and requires installing “Microsoft SQL Server Express 2022”. Please contact MEI support to assist in moving over:

§  ICS Help Desk: (260) 470-2752

§  ICS ControlPro Support: softwaresupport@murrayequipment.com

·         Added Agvance SSI API interface type.

o   No need for FTP or share folder; CP communicated directly with SSI’s API.

o   Originated tickets created manually in CP can also be created in Agvance.

o   Can pull down entire product set at once.

·         Added ERP functionality:

o   Tickets now have release dates and hold flags.

o   Parties and equipment now have hold flags.

·         Tickets can now have multiple same materials.

o   E.g., “28%” as an aggregate of “32%” and “Water”, and also “Water”.

o   E.g., “Water” is allowed to be on each mix group.

o   Only a single individual material is allowed per mix group.

o   There is no limit on aliases or aggregates that map to a single material.

·         Systems now support manifold flushing (requires supporting PLC program):

o   Automated materials can have “Buffer Flushes” to put water between them and the next automated material injected into the manifold.

o   Manifolds can have “End-of-Batch Flushes” to fill them with water after a [sub-] batch.

o   ControlPro automatically calculates the total amount of flush water needed and deducts that amount from any water already on the blend.

o   Flush water does not need to be added to the ticket beforehand.

·         Added auto-rinse and auto-flush (requires supporting PLC program):

o   Rinse and flush materials are automatically added to batch tickets.

§  3rd party tickets are not flagged as non-exportable.

o   Necessary rinse and flush amounts are added to batch/sub-batch material requested amounts.

o   Full batch/sub-batch capacity validations prevent overfilling trucks.

o   Rinse water does not need to be added to the ticket beforehand.

·         Reworked the Material Search screen.

o   Added material forecasting and dispatch logic.

o   Search speed increased.

o   Visually cleaned up results grid.

o   Added options to extend search criteria to ingredient and aggregate materials.

·         Added an "Auto-Purge Tickets Before" date.

o   All tickets before the selected date will be automatically purged in all networked instances.

o   Selecting this date is enabled on CHub servers or by requesting access to the MEI Help Desk

·         The speed of justification workflows has been increased significantly.

·         Creating or importing tickets can now automatically send ticket summary emails to customers.

·         Material store transaction rework:

o   Live: Transactions should be live long enough for all CP instances to justify with each other. The current store amounts are calculated in real-time from archived starting points, minus all live transactions.

o   Archived: The amounts of archived transactions have already been applied to store archive starting points. They no longer affect store current amounts directly. They exist for historical reporting purposes. By default, transactions stay live for 7 days before they’re archived.

o   Purged: Transactions that fall past the purged threshold are permanently deleted. By default, transactions stay live and archived for 45 days before they’re purged. (7 days as live, 38 days as archived.)

·         Added Agnext sensor support.

·         Added ‘Each’ as a valid UoM option for billing-only materials.

 

 

Release Notes

08:00 (EST) November 17, 2025                                                                           

·         ControlPro: v3.4.10.x

·         ControlPro (Companion App): v3.4.0.2

 

ControlPro enhancements:

·         Breaking up the Details and Interfacing tabs on Originator Details screen.

·         Adding On Hold flag to originators.

·         Capturing gross/net weight with a scale now supports multi-ticket batches.

·         Reworked extra columns on the Batch tab on the System Details screen.

·         Application exceptions:

o   Now have levels: error, warning, and information

o   Now automatically delete themselves. (configurable on the Settings screen)

§  Errors: 7 days

§  Warnings & information: 3 days

o   Heartbeat exceptions are now warnings.

o   CP now monitors hard drive space and memory usage.

·         Added foreground latency KPIs.

·         Embedded Murray API Key for the Agvance API into the integration.

·         Allowing all non-in-progress loads to be adjusted.

·         Added SQL Server Express support.

·         Scales:

o   Moving the simulation controls.

o   Can now optionally create dispatches.

·         Override printers can now be scales as well as systems.

·         Scales can now be configured to validate as unattended.

·         Mass update of Helm Ag’s material IDs to support new SAP ERP solution.

·         Agvance API fully implemented.

o   Can create tickets in ControlPro and CP creates them in Agvance.

·         More terminal work.

·         System Details screen:

o   Rearranged Tickets tab columns to optimize horizontal screen real estate.

o   Ordering tickets:

§  Added order up/down action buttons.

§  Continuous processing now uses ticket order.

§  Order can now be set by drag-n-drop.

o   Limiting batches to 50 tickets.

o   Added validation requiring systems to have a mass capacity unit when processing tickets with aggregates.

·         Removed deprecated "AlwaysExportAs" KVP from originators.

·         Added a drag-n-drop adorner to show what component(s) are being dragged.

·         All builds now use Live wyDay product keys.

·         Ticket Details is now tall enough to display 8 materials.

·         Gave scanner status message and error flag a template tag.

·         Dispatch updates:

o   Added originator options to send ticket summaries on new dispatches and release date changes.

o   Renamed "XAT" to "Release (XAT).

o   Systems now validate dispatch release date.

·         ERP updates:

o   Added On Hold flags to party and equipment.

o   Validating all parties and equipment associated with batches are not on hold.

·         Scales now can detect scale head being offline.

·         Added formatted material actuals to material details output to PLC.

·         Multiple materials are now allowed on the same ticket, but not in the same mix group.

·         Rinsing and flushing:

o   Don't flag tickets as non-exportable when adding rinse or flush materials.

o   Added extra fields to the Batch tab to better display what’s going on.

o   Disallowing rinse/flush on MMG tickets and on all non-automated liquid systems.

o   Added manual sub-batch count.

·         Added calculated relative density (specific gravity) to materials.

·         When duplicating tickets/formulas, don't duplicate auto-added materials.

·         Scale auto-capture now works for non-RFID scales.

·         3rd party interfaces now select the instance to be active.

·         Organized 3rp party specific options.

·         Added ullage to material stores.

·         Tickets now have release dates and hold flags.

·         Systems now support manifold flushing (requires supporting PLC program):

o   Automated materials can have “Buffer Flushes” to put water between them and the next automated material injected into the manifold.

o   Manifolds can have “End-of-Batch Flushes” to fill them with water after a [sub-] batch.

o   ControlPro automatically calculates the total amount of flush water needed and deducts that amount from any water already on the blend.

·         Added auto-rinse and auto-flush (requires supporting PLC program):

o   Rinse and flush materials are automatically added to batch tickets.

o   Necessary rinse and flush amounts are added to batch/sub-batch material requested amounts.

o   Full batch/sub-batch capacity validations prevent overfilling trucks.

·         Added option to lock materials from being updated from 3rd party interfaces.

·         Reworked the Material Search screen:

o   Added dispatches.

o   Updated inventory forecasting logic.

o   Search speed increased.

o   Visually cleaned up results grid.

o   Added options to extend search criteria to ingredient and aggregate materials.

o   Added IsLocked and IsStabilizer.

·         Renamed "XAT" to "Release (XAT)”.

·         Added originator options to send ticket summaries on new dispatches and release date changes.

·         Added On Hold flags to party and equipment.

·         Validating all parties and equipment associated with batches are not on hold.

·         Terminal Project (WIP):

o   Added TerminalSystems.

o   Added TerminalScales.

o   Added Check-Ins.

o   Added TerminalWorkflow.

·         Scales now recognize loss of communication with the scale head.

·         The Smart Ounces option is now for all originators.

·         Added more details to duplicate load logging.

·         Reworked the logic for how satellites request justification from servers.

o   [Finished] multi-threading CHub communication update.

o   Redesigned the Network Log screen.

§  Window can now be maximized.

o   Added an ‘Abort Justification’ button. (MEI only)

o   Removed the ‘Safety Margin’ setting for recent timestamp justification.

·         ControlPro no longer waits for hung up background tasks to complete before closing.

·         Added a background task indicator to the Settings screen.

·         Added a DB DataKey KPI.

·         Added Sensor/Transaction Reconciliation logic.

o   Added sensor read interval setting.

·         Changed "Ounces" to be explicitly "Dry Ounces".

·         Converted ARS/SAP to have user configurable UoM

·         Added an "Auto-Purge Tickets Before" date.

·         Added more justification logging.

·         Added attempts to batch logging.

·         Logging:

o   Justification logging now creates its own files.

o   Logs are now hourly, not daily.

·         Streamlined New Report Wizard.

·         Tickets canceled from interfaces now audit the file name.

·         Added the 'Aggregate-Only" dispensing type.

·         Multi-threading CPI and interface importing and exporting.

·         Important email tests now show error messages.

·         Added archiving originator to archive ticket ID.

·         Added consignee point ticket-customer type. (Agvance)

·         Added support for a different last load size. (Agvance & legacy text)

·         Field images:

o   Are now stored on customer components if able. (Agvance & EFC)

o   Are updated on import.

o   Adjusted field image screen real estate.

·         Cleaned up some tabs and screen real estate on various windows.

·         Added ticket created and modified fields to the Ticket Details screen.

·         Added a "Send New Ticket Notifications" workflow.

·         Added the "Pushing batch material details" feature.

·         Added the Help menu option to email the last backup to MEI.

·         Only CHub servers now show memory management popup.

·         Multi-threading CHub endpoint workflows.

·         Added redundancy to material auto-justification. Added Agnext sensor support.

·         Justification:

o   Reimplemented server multi-pipeline workflow.

o   Cleaning up buttons on the Settings screen.

o   Compressing CPI and CHub data packets to speed up communication.

·         Printing and reports:

o   Updated Template Documentation to include modern instruction on how templates are created and used.

o   All printing activity will now happen in the background.

o   Reports now email .PDF and .CSV out on a single email.

o   Real numbers in print templates can now specify the decimal precision.

o   Added tags for alternate ID lists.

·         Material store transaction rework:

o   Adding transaction IDs to search and store transactions screens.

·         Updated EULA accepting workflow.

·         Implementing RFC 2898 cryptography for password hashing.

·         Renaming Party and Equipment "Unattended ID" fields and columns.

·         Settings screen:

o   Added max backup counts.

o   Added log and export paths to Data tab.

o   Removing duplicates from lists when sorting them.

·         Backups are now compressed into .ZIP files.

·         Billing-only materials:

o   Added 'Each' as a UoM option.

o   Can now have alternate IDs.

o   Added filter options to load delivery templates to include billing-only and/or PLC-only materials.

·         Added "Test" buttons in-grid for contacts.

·         Added the option to "Process Continuously".

·         All search screens now have Created, Modified, and Modified By columns.

o   Visibility controlled by the Show Extra Fields option.

·         Material store transaction rework:

o   Transactions now exist outside of material stores. Stores link back to them. This greatly increases justification performance.

o   New paradigm: transactions are now handled differently depending on their state.

§  Live: Transactions should be live long enough for all CP instances to justify with each other. The current store amounts are calculated in real-time from archived starting points, minus all live transactions.

§  Archived: The amounts of archived transactions have already been applied to store archive starting points. They no longer affect store current amounts directly. They exist for historical reporting purposes. By default, transactions stay live for 7 days before they’re archived.

§  Purged: Transactions that fall past the purged threshold are permanently deleted. By default, transactions stay live and archived for 45 days before they’re purged. (7 days as live, 38 days as archived.)

o   The Transactions tab has been reworked.

§  Transaction Archiver: the instance of CP that will automatically perform the normal archiving and purging workflow during its daily maintenance window.

§  Archive Transactions Now: performs the normal archiving and purging workflow.

§  Archive All Transactions: immediately archives all live transactions.

§  Purge Archived Transactions: immediately purges all archived transactions.

o   Note: If an instance of CP has not been able to justify for some time and has transactions that fall beyond the archive cut off, the transactions will be archived automatically without applying their amounts to the store archive starting points.

o   Archiving workflow now has a modal progress window.

o   Added a “Source” field to Transaction Search screen criteria.

o   Transaction IDs now reset annually.

·         Right clicking a checkbox now sets the value to null.

·         Search screens will now focus on the first text box when opened.

·         Added a “global app data modified by” field to Settings screen.

·         Beginning conversion of combo box values. (work in progress…)

 

ControlPro fixes:

·         Fixed an issue with adding tickets to systems that could result in zero-amount loads.

·         Fixed an issue the was preventing transactions to be created when a material was being used on two different batches.

·         Batch flushing and rinsing fixes:

o   Auto-rinse now adds the rinse amount to the batch requested.

o   Fixed issue with simulated actual rinse amounts.

o   Fixed an issue that was zeroing out rinse amounts.

o   Fixed an issue with rinses that was not calculating the total batch amount correctly.

o   Fixed an issue where a rinse material would overwrite a flush material’s requested amount.

·         Memory management:

o   Added a fail-safe to protect against multiple identical components being added to the internal memory management lists.

o   Fixed a component lookup issue that could result in duplicate components being loaded into memory.

o   Component lookups by UIDs take preference again.

·         Protected against a possible null error in reordering tickets on the System Details screen.

·         Protected against a random null error when opening up the print template configuration control.

·         Zero-load-material amounts bug:

o   Added an internal batch completion error as a sanity check to prevent batches from completing as zero-amounts.

o   Added a possible fix when assigning tickets to systems.

·         Systems no longer try to read HMI data while in simulation mode.

·         Calculating batches by “Remaining By Materials” will no longer request a negative batch material amount.

·         CP_CSV will now parse enumeration values with case insensitivity.

·         Fixed some bugs when trying to show errors at startup.

·         Scales:

o   Fixed some scale error messages from falling through the cracks.

o   Clearing ticket ID now clears the ticket.

·         Preventing failed ticket reexporting heartbeat tasks from staking on top of each other.

·         ARS/SAP interface:

o   Export errors now show the ticket ID.

o   Fixed some export errors.

·         Properly assessing FTP error messages.

·         Fixed aborting batches with Ignore Blend Ratio enabled.

·         Fixed issue with importing tickets with multiple materials.

·         Enabled grid row action buttons (delete buttons) while parent is not allowed to be modified.

·         Protected against app crashes when clicking the Escape key while editing an ID field.

·         Getting the correct manifold pulse unit.

·         Fixed issues with importing/exporting CP CSV FTPS interface files.

·         Multiple materials are now allowed on tickets from interfaces.

·         Failsafe ID uniqueness now is case sensitive.

·         Fixed memory management issues with failed imports.

·         Updated code signing certificate.

·         Batch error states:

o   Allowing complete and abort workflows to proceed when in an error state.

o   Don't read PLC configuration stuff if the PLC status is Error.

·         Material stores:

o   Stores can now be purged.

o   Warning and reserve amounts are only in violation if current amount is less than.

o   Better defaulting sensor statuses.

·         Fixing editable number fields to better enter negative numbers.

·         Added failsafe check to prevent duplicate components from being created in the database.

·         Limiting the initial size of the Network Log screen.

·         Fixed memory leak issues when looking up components by their children. E.g., searching by:

o   Dispatch

o   Load

o   Store

·         When automated materials or VARs are deleted, the Meter and VAR Total VAR/Materials columns are updated.

·         Auto-rinse/flush fixes.

o   Amount field is now searchable field.

o   Uncrossing pounds/amount wires for flush actuals.

o   Adding flush/rinse materials with default unit.

o   Account for non-rinse/flush aliases.

o   Removing validation preventing multiple material transactions per load.

·         When NTEP precision is applied, round numbers instead of truncating them.

·         Auto-rinse/flush fixes:

o   Multiple fixes with configuring batches.

o   Multiple fixes to distributing delivered amounts back onto ticket materials.

o   Unattended equipment with compartments now set manual sub-batch count to 2.

o   Manifold flush EoB amount is now editable by anyone.

o   Disable Fixed-Repeat while flushing.

o   Locking down sub-batch recalculate to By Material when rinsing/flushing.

·         More fixes to Material Search usage logic.

·         Fixed issue with searching for components in memory using partial IDs.

·         More fixes to flushing logic.

·         Fixed batch details logic for HMI display screen.

·         Duplicate active material VAR message now shows VAR name, not index.

·         Fixed issue with calculating on hold from ticket release date.

·         Rinsing and flushing:

o   Multiple bugs cleaned up.

o   Only add end-of-batch flush to the last sub-batch.

o   Ensuring that the end-of-batch flush is always sent.

o   Protect against not all meters having a manifold.

·         Allow Break/Fix by default.

·         Batch Material Details: send [---] for automated materials with 0 requested pulses.

·         Variables now require a Selected System Meter.

·         Reset current sub-batch when clearing the PLC.

·         Fixed sanity check logic for ticket with no loads.

·         Justification: only force NOW for ID summary discrepancies when external is newer.

·         Freeform text containing '%' characters now work correctly when searching.

·         Correctly reverting compound combo box fields on search criteria when reverting reports.

·         Interfaces better translate density unit.

·         Added significantly more logging to justification logs for debugging.

·         Fixed interlock check for in-progress justification.

·         Fixed some logic for justification and time stamp comparison.

·         Added better protection against ‘unavailable’ components at the CHub endpoints for multiple simultaneous incoming calls.

·         Ignoring satellite readbacks when the component was ‘unavailable’.

·         Truncating attribute values to 1024 characters.

·         Added more logging for justification and ticket duplication.

·         Fixed SQL issue when searching for archived tickets.

·         Added failsafe database ID-uniqueness validation to load and dispatch creation.

·         Fixed some possible issues with justification.

·         Added protections to component searches to prevent duplication of components in memory.

·         Fixed issue preventing force retries from completing.

·         Added child ID verification to justification.

·         Fixed memory locking issues with print templates.

·         Search screens now correctly display elapsed time.

·         Material search:

o   Fixed material usage logic to now include tickets with no loads.

o   Now correctly limits load criteria.

·         Fixed an issue that allowed child views to become unusable.

·         CHub servers close details screens of views that are to be updated.

·         Added better protection and some cleanup of duplicated components.

·         Fixed an issue that allowed 3rd party interfaces to avoid some ticket validations on CHub servers.

·         Fixed log error message color.

·         Multiple fixed to justification logic.

·         Protecting User Unput popup to always be on the foreground thread.

·         Validating that a system is enabled before it can start processing.

·         Only enable the Process button if the system has control of the PLC.

·         Fixed weekly backup logic to not backup every heartbeat.

·         Fixed Originators tab width.

·         CPG originator no longer shows up in the Exception Log.

·         Fixed Path error for justification logging.

·         Fixed EULA heartbeat threading and multiple window issues.

·         Duplicate load ID validation only flags new loads.

·         Added propagation logic to purge duplicate loads.

·         Ensuring log file names are valid.

·         Protected component purging workflow against some database issues.

·         Fixed issues with global data not updating and not notifying listeners.

·         Protected batch configuration workflow against dividing by zero sometimes.

·         Better protecting client payload parsing.

·         Validating printer name and paper source are not empty.

·         Fixed Agvance import issue with unprotected Field reference.

·         Added explicit duplicate load ID validation.

·         Fixed issues with "Modify Open Tickets With New [A-C] Defaults" workflow.

·         Justification:

o   If time stamps and modified ID match, stop justifying.

·         Combo box fields on the Material Details now disable correctly on alias materials.

·         Aliased and alias materials properly update their UIs when one or the other is modified.

·         Updated originator prefix migration tool to now migrate:

o   Alternate IDs

o   Alias material IDs

o   Unattended systems

·         Fixed logic issues around VARs without an assigned meter.

·         The external ticket logic now adjusts for offset MicroLogix PLCs.

·         Do not force batch amounts and ticket amounts to be the same. (volumetric aggregate densities may not line up.)

·         New report windows now persist properly.

·         Fixed issue with calls to a generic Report window. (These no longer exist.)

·         Fixed issues with searching internally for components.

·         Fixed issue with this instance of CP not being bolded in the grid.

·         Fixed issue with AgGateway not adding materials to clean export files.

·         Removed validation on external ticket materials.

·         Fixed the password migration SQL.

·         Protecting search screens against SQL errors and out of range values.

·         Fixed some issues with accessing internal lists.

·         Fixed some issues with exporting components via CPI.

·         Better thread protecting database restarts.

·         Fixed issue where ticket summaries would not email if there were no loads.

·         Popup windows created by CP should no longer appear behind other windows.

·         Fixed manual system originated search screen defaults for physical state.

·         Archived tickets now release their memory when they haven’t been looked at in a while from the UI.

·         Fixed issue preventing printing from Ticket Details screen.

·         Fixed crash issue with creating new reports.

·         Clients failing to communicate with CHub server no longer show crash report tool.

·         Fixed issue preventing tickets from being added to systems.

·         Dispatches can now be freely added to tickets even when they're not allowed to be modified from the originator.

·         Protecting multiple workflows against nulls and invalid castings.

·         Multiple fixes to multi-threading safety.

·         Put material store current balance calculations on background threads.

·         Fixed originator and load justification logic.

·         Fixed issues with post-season cleanup.

·         Removing "Any" options on details combo boxes.

·         Toning down the progress bar opacity.

·         Added Crash Reporting tool.

·         Protecting system ticket amount calculations from zero batch amounts.

·         (Temporarily including debugging symbols to help identify CHub crashes.)

·         Fixed 'State' column mappings on Create Ticket Wizard.

·         Fixed Ticket & Formula Search screen 'Total Amount' column mapping.

·         Fixed issues with email failing to identify the correct server.

·         Fixed material store Type values.

·         Fixed an issue preventing loads from being transferred.

·         Sorting transactions when reading from the database.

·         Fixing issues with database communication while saving parties and equipment.

·         Backfilling missing database records that are preventing cleanup in CHub servers.

·         Addressed multiple issues with the transaction rework.

·         Material store "Add Transaction" button is now disabled when the store does not use transactions.

·         So long as the unattended ticket isn't nulled out, the requested amount will not be reset.

·         Added more protections for interacting with grids.

·         Protecting material alias list from invalid material ID links.

·         Fixed UoM validation for ticket & recipe materials and material types.

o   Billing-only: Each or None

o   PLC-only: None

o   Normal: valid weight or volumetric UoM.

·         Sorting transactions before calculating the line item balances.

·         Fixed network log issues.

o   Log line groups now color code correctly.

o   Originator logs no longer duplicate.

o   Mutex lines are now gray.

·         Justification:

o   When a component is modified in a satellite, it is no longer read back in as a recently modified component.

·         Better protecting modal progress popup from multiple workflows.

·         Null protecting multi-view persistence.

·         Transaction archiving warning logic now checks for transactions, not stores.

·         Protecting against an edge case crash with print template managers.

·         Clients can now update global app data.