---
title: "4.83.0 SPx"
id: "4-83-0-spx"
project: "Release Notes Publication"
url: "https://docs.sepasoft.com/articles/release-notes-publication/4-83-0-spx"
updated: 2026-10-30T15:51:20Z
---

# 4\.83\.0 SPx

## Release Note Archive

* [4.83.1 SP3 Release Notes](/articles/release-notes-publication/4-83-0-spx/a/h3_58747428)
* [4.83.1 SP2 Release Notes](/articles/release-notes-publication/4-83-0-spx/a/h3__1507336513)

/articles/release-notes-publication/mes-4-0-current-service-pack-sp-release-notes/a/h3_1075168907

### 4.83.1 SP3 Release Notes

| MES-7681 | Core | Production | Fixed - Data retention now purges all batches outside of the cutoff date instead of limiting it to 1000 batches per day. |
| --- | --- | --- |
| MES-7458 | Batch | **Improved:**<br><ul><li><a href="/smart/project-imported-manual/system-mes-batch-queue-getparametervalue-batchqueueentry-path" target="_blank">batch.queue.getParameterValue(...)</a> and <a href="/smart/project-imported-manual/system-mes-batch-queue-getparametervalueasstring-batchqueueentry-path" target="_blank">getParameterValueAsString(..)</a> script functions have been updated to not require a Batch to be running to get the value of a parameter</li></ul><br><br>| ![Success](/resources/Storage/release-notes-publication/Success.png) | For parameters with a **Calculation Expression**, if the batch is not active, the last calculated value is returned (if available); otherwise, the Calculation Expression is returned. |<br>| --- | --- |<br><br><ul><li>Updated batch.queue.* script methods to accept either a <a href="/smart/project-imported-manual/batchqueueentry-object" target="_blank">BatchQueueEntry object</a> or a <span onclick="showDropdown(this,&#39;chpu17775847862470&#39;);" class=" CHHotspot CHDropdownHotspot">Batch ID</span>, where possible.<br><br><div id="chpu17775847862470" class="Article_hiddenBlock CHDropdown"><h4 style="" id="h4_1785924805" data-has-heading-anchor="true">batchID</h4><p>A&#160;<strong>batch ID</strong>&#160;is a unique identifier assigned to a batch within the Sepasoft MES (Manufacturing Execution System). It is used to reference and manage specific batches during their lifecycle in the batch queue. The batch ID is crucial for retrieving associated control recipes and logic objects, as well as for tracking the status and parameters of the batch.</p>
<p>For example, in the function&#160;<a href="/articles/user-manual/system-mes-batch-queue-getbatchobjects" onclick="return n(&#39;!user-manual/system-mes-batch-queue-getbatchobjects&#39;,this);">system.mes.batch.queue.getBatchObjects(batchID)</a>, the batch ID is passed as a parameter to retrieve the control recipe and logic objects associated with that specific batch.<br></p>
<h3 style="" id="h3_1166632638"></h3> <p></p></div></li><li>Implemented logic that automatically inserts a Start step into a BatchMasterLogic when <code data-start="87" data-end="96">addStep</code> is invoked before one exists, and links it to the newly added step, streamlining the creation of templates and recipes through scripting.<br><br></li><li>Changed behavior of the Back button in the Batch Recipe Editor component Settings view to go back to the recipe/template list if the item is a template and doesn&#39;t have a unit class assigned</li></ul><br>**Fixed:**<br><ul><li>Fixed an incorrect/misleading error being thrown in scripting when trying to add a link between two steps that are already linked.</li></ul><ul><li>Fixed an incorrect/misleading error being thrown in scripting when trying to getParameterValue for a parameter that does not exist</li></ul><ul><li>Improved error messaging in scripting when trying to save a template or recipe that has sublogic steps that did not have a valid logic reference set on them<br><br></li><li>Fixed issue in BatchRecipeEditor where the diagram would not be centered on load if the item was a template and didn&#39;t have a unit class assigned</li></ul><br>**Added:**<br><ul><li>Added logic to prevent saving a BatchMasterLogic object that does not have a Start step<br><br></li><li>Added logic to prevent removing the Start step from a BatchMasterLogic using the removeStep() method<br><br></li><li>Added logic to prevent adding more than one Start step to a BatchMasterLogic object<br><br></li><li>Added restrictions to BatchMasterLogic#setLogicType(String) method to prevent changing the logic type under certain conditions:<ul><li>Prevent changing the logic type to UNKNOWN</li><li>Prevent changing the logic type to Procedure</li><li>Prevent changing the logic type if logic item is a Procedure logic</li><li>Prevent changing the logic type if logic item has parent logic (e.g., Unit Procedure logic, Operation logic, or Operation Template)</li><li>Prevent changing the logic type from template to non-template or vice versa</li><li>Prevent changing the logic type if sublogic steps are present or child logics have been created from the logic item<br><br></li></ul></li><li>Added restrictions to BatchMasterLogic#addStep method to prevent adding a step under certain conditions:<ul><li>Prevent adding a step if the logic type is UNKNOWN</li><li>Prevent adding a step if the phase type is UNKNOWN</li><li>Prevent adding a step if the step order is negative</li><li>Prevent adding a sublogic step of the same type, e.g., UP -&gt; UP or Op -&gt; Op</li><li> Prevent adding a sublogic step of a higher type, e.g., trying to add a UP step to Operation logic</li><li>Prevent adding a sublogic step of a lower type, e.g., trying to add an Operation step to Procedure logic</li></ul></li></ul><br>**Added new convenience scripting methods:**<br><ul><li>BatchMasterLogic#addStep(String name, MESObjectLink phaseLink) - add a step with the specified name of phaseLink type at the next available stepOrder</li><li>BatchMasterLogic#addStep(MESObjectLink phaseLink) - add a step with a default name (&quot;step&quot;) of phaseLink type at the next available stepOrder</li><li>AbstractBatchLogicStepsProperty#setTransitionExpression(String expression) - Set the Transition_Expression parameter on a Transition step with the specified expression</li><li>AbstractBatchLogicStepsProperty#getTransitionExpression() - Get the Transition_Expression for a Transition step</li><li>AbstractBatchLogicStepsProperty#getPhaseType() - Get the logic phase type for a step</li></ul><br>**Other methods that do the same:**<br><ul><li>getLogicPhaseType()</li><li>AbstractBatchLogicStepsProperty#getOrder() - Get the stepOrder for a step</li><li>Other methods that do the same:</li><li>getLogicOrder()</li><li>getStepOrder()</li></ul> |
| MES-7781 | Batch | Fixed - Batches that are held while a Unit Procedures is waiting for allocation now properly allocate that Unit after the batch has been restarted and a Unit is free |
| MES-7754 | Batch | Fixed - Formula parameters visibility property now correctly defaults to 'True' if not specified |
| MES-7253 | Batch | Fixed - Batch Actions go to RUNNING after a restart |
| MES-7718 | Batch | Document Management | Improved - Updated batch components to apply more translations across Batch components, translate Recipe Names, Recipe Descriptions, Phase Names, Parameter Names, Parameter Values, Phase Types |
| MES-7585 | SPC | Fixed - Perspective Sample Definition Manager now allows attribute sample sizes different from the definition default, as long as the value is greater than zero. |
| MES-7749 | OEE/Downtime | Fixed - OEE Material XML Exports and Imports now handle description fields. |
| MES-5839 | Perspective | Fixed - Copy Equipment Path now reports clear in-app errors when clipboard access is unavailable instead of throwing a browser exception. |

### 4.83.1 SP2 Release Notes

| MES-7589 | Improvement | Batch |  | Add State\_Number\_Ack tag on Equipment, Transfer, and Sync Phases | Improvement - When a Batch recipe's Equipment Phase step's state changes, the system will now send out an acknowledgement message and echo the state to the new State\_Number\_Ack UDT as a flag that proves the state change has been successfully processed. |
| --- | --- | --- | --- | --- | --- |
| MES-7611 | Bug | Batch |  | Active steps not showing in the EBR | Fixed - Script methods getBatchEBR, getBatchBOM, and getRecipeBOM now return values using their actual data types when possible, instead of inconsistent types.<br><br><br><br>Improved - Phase start logic now records the initial parameter values to the EBR when a new phase execution begins.<br><br><br><br>Improved - Updated several eSignature parameters to record all history so they appear in the EBR when an eSignature phase starts as expected.<br><br><br><br>Fixed - MESIconButton no longer shows a title tooltip when it should not.<br><br><br><br>Fixed - Resolved a deadlock caused by lock-order inversion when setting the Batch Recipe State.<br><br><br><br>Improved - UserMessage and equipment-type phases no longer record MESSAGE\_ACK\_\* parameters to the EBR when message acknowledgement is not required.<br><br><br><br>Fixed - Convert large numbers to String to prevent precision loss when displaying very large numbers in the EBR Viewer.<br><br><br><br>Improved - Set the Batch List default sort order to Priority and Batch ID.<br><br><br><br>Improved - The EBR now records Command None entries for better visibility into how the batch engine issues and handles commands.<br><br><br><br>Fixed - Null or empty RecipeExecutionState values no longer default incorrectly to an ordinal value instead of a UUID.<br><br><br><br>Fixed - Null or empty State values now appear in the EBR as Unknown instead of UNKNOWN.<br><br><br><br>Fixed - Null or empty Command values now appear in the EBR as None instead of NONE. |
| MES-7704 | Bug | Batch |  | Possible deadlock on resetting of batches | Fixed - Deadlock no longer happens in the batch module while a batch is in the cleanup step and a RESET is issued |
| MES-7708 | Bug | Batch |  | Batch ChangeBy column in definition changelog is Null for Task Routing | Fixed - Changes are now attributed to the correct user when making changes in a Task Routing environment |
| MES-7733 | Bug | Batch |  | Batch Calculation Expressions may be encoded incorrectly when parameter names are similar | FIXED:<br><ul><li>Parameter paths in calculation expressions were being improperly encoded when parameter names are named similarly. This has been fixed.<br><br></li><li>When editing a previously saved Template that is missing a Unit Class, clicking the Save button appeared to do nothing. This has been fixed.</li></ul><br><br><br>ADDED:<br><ul><li>Validation for Calculation Expressions in Batch Recipes/Templates (BatchRecipeEditor and scripting).<br><br></li><li>Recipes with Calculation Expression errors will no longer be valid for Execution until the Calculation Expression errors are resolved.<br><br></li><li>Inline validation for Calculation Expressions in the BatchRecipeEditor component.<br><br></li><li>Added a &quot;Save with errors&quot; toggle that will allow users to still save the Parameter Settings when there is a known Calculation Expression error.</li></ul><br><br><br>IMPROVED:<br><ul><li>Improved logic for parsing Calculation Expressions to find &quot;param(...)&quot; calls to be more robust</li></ul> |
| MES-7759 | Bug | Batch |  | MES Unit state flickers to complete then running with multiple Operations in a UP | Fixed - Unit's Batch Detail's State parameter no longer updates when an the state of an Operation inside of it changes |
| MES-7765 | Bug | Batch |  | Operational Template not retaining parameter calculation value after saving | Fixed - Operational Template retains parameter calculation value after saving |
| MES-7367 | Improvement | Batch |  | Add Formula Name & Version to EBR | Added - Formula version is now captured and displayed in the Electronic Batch Record (EBR), appearing under the name Formula\_Version. |
| MES-7587 | Bug | Batch |  | Adding TransferOut / TransferIn phases to Unit Class not added to MES Tag provider | Fixed - Adding new custom exposed Phases to existing Unit Classes will now generate the corresponding MES tags on save. |
| MES-7602 | Bug | Batch |  | E-signature expression auto-complete crashes user's browser | Fixed - Autocomplete now limits options to first 100 matches to prevent browser performance problems when large list of options are rendered |
| MES-7670 | Improvement | Batch |  | Add BatchID to script phases as a default parameter | Improved - Added a new parameter batchID to Batch Scripts. |
| MES-7671 | Bug | Batch |  | in Phase Manager, do not evaluate param calculations. Instead, eval in recipe editor. | Fixed - Calculations are only validated in the Recipe Editor. |
| MES-7717 | Improvement | Batch |  | Make All Batch Recording Type Fields Editable | Improvement - All batch parameter Recording Type fields can now be changed in the Phase Manager and/or Batch Recipe Editor, except for hidden parameters and static parameters with no variable value source. |
| MES-7773 | Bug | Batch |  | Templates not updated with new parameters after Sync and Save if created before Propagate\_Mode\_To\_Parent | Fixed - Synchronize Logic parameters with templates<br><br><br><br><br><br><br><br>Fixed - Prevent an error removing extra sub-parameters from logic objects when a unit procedure or operation comes from a template |
| MES-7737 | Bug | Batch | Task-Routing | Batch Task Routing fails to load Enterprise Batch Recipe Settings | Fixed - Resolved issue where Batch Recipe States failed to load in a Task Routing environment |
| MES-7648 | Bug | Core |  | 4.0: Vision: Equipment Manager: cannot edit Shift | Fixed - 4.0 Shift tab in Vision Equipment Manager now correctly opens. |
| MES-7668 | Improvement | Core |  | No way to set the names/descriptions in Esig challenge | Improvement - The E-Signature authorization challenge now allows a custom title to be passed in via scripting, instead of always using the default text, "From Script." |
| Issue key | Issue Type | Custom field (Module) | Custom field (Module) | Summary | Custom field (Release Notes) |
| MES-7690 | New Feature | Perspective | Expose the equipment path/object selected in the Equipment Manager | Feature - The Perspective Equipment Manager will now display the currently selected Equipment Path at the bottom of the UI. The showEquipmentPathFooter setting will toggle on this feature. |
| MES-7757 | Bug | Settings&Changeover | Recipe Export/Import script functions do not respect equipment assignment | Fixed - The SCO CSV export system no longer includes child equipment assignments that do not actually exist.<br><br><br><br><br><br><br><br>Improvement - The Perspective SCO Tree Editor now accepts SCO CSV files (in addition to XML).<br><br><br><br><br><br><br><br>Feature - Scripting functions system.recipe.exportRecipeXML and system.recipe.importRecipeXML have been added as counterparts to the legacy CSV versions. |
| MES-7764 | Bug | Settings&Changeover | 4.0 S & C Vision Recipe Editor Table component Class Exception | Fixed - Vision Settings and Changeover Editor Table no longer throws exception |

###