Sepasoft Service Pack (SP) Release Notes

3.81.12 SPx Release Notes

3.81.12 SP3

The SP3 release refines the Batch module by enhancing BatchMasterLogic validation and expanding the scripting functions. These updates enable more dynamic interaction with batch data while enforcing structural rules to preserve recipe integrity during configuration.

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-7458Batch

Improved:

Success 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.
  • Updated batch.queue.* script methods to accept either a BatchQueueEntry object or a Batch ID, where possible.

    batchID

    batch ID 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.

    For example, in the function system.mes.batch.queue.getBatchObjects(batchID), the batch ID is passed as a parameter to retrieve the control recipe and logic objects associated with that specific batch.

  • Implemented logic that automatically inserts a Start step into a BatchMasterLogic when addStep is invoked before one exists, and links it to the newly added step, streamlining the creation of templates and recipes through scripting.

  • 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't have a unit class assigned

Fixed:

  • Fixed an incorrect/misleading error being thrown in scripting when trying to add a link between two steps that are already linked.
  • Fixed an incorrect/misleading error being thrown in scripting when trying to getParameterValue for a parameter that does not exist
  • 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

  • Fixed issue in BatchRecipeEditor where the diagram would not be centered on load if the item was a template and didn't have a unit class assigned

Added:

  • Added logic to prevent saving a BatchMasterLogic object that does not have a Start step

  • Added logic to prevent removing the Start step from a BatchMasterLogic using the removeStep() method

  • Added logic to prevent adding more than one Start step to a BatchMasterLogic object

  • Added restrictions to BatchMasterLogic#setLogicType(String) method to prevent changing the logic type under certain conditions:
    • Prevent changing the logic type to UNKNOWN
    • Prevent changing the logic type to Procedure
    • Prevent changing the logic type if logic item is a Procedure logic
    • Prevent changing the logic type if logic item has parent logic (e.g., Unit Procedure logic, Operation logic, or Operation Template)
    • Prevent changing the logic type from template to non-template or vice versa
    • Prevent changing the logic type if sublogic steps are present or child logics have been created from the logic item

  • Added restrictions to BatchMasterLogic#addStep method to prevent adding a step under certain conditions:
    • Prevent adding a step if the logic type is UNKNOWN
    • Prevent adding a step if the phase type is UNKNOWN
    • Prevent adding a step if the step order is negative
    • Prevent adding a sublogic step of the same type, e.g., UP -> UP or Op -> Op
    • Prevent adding a sublogic step of a higher type, e.g., trying to add a UP step to Operation logic
    • Prevent adding a sublogic step of a lower type, e.g., trying to add an Operation step to Procedure logic

 Added new convenience scripting methods:

  • BatchMasterLogic#addStep(String name, MESObjectLink phaseLink) - add a step with the specified name of phaseLink type at the next available stepOrder
  • BatchMasterLogic#addStep(MESObjectLink phaseLink) - add a step with a default name ("step") of phaseLink type at the next available stepOrder
  • AbstractBatchLogicStepsProperty#setTransitionExpression(String expression) - Set the Transition_Expression parameter on a Transition step with the specified expression
  • AbstractBatchLogicStepsProperty#getTransitionExpression() - Get the Transition_Expression for a Transition step
  • AbstractBatchLogicStepsProperty#getPhaseType() - Get the logic phase type for a step

 Other methods that do the same:

  • getLogicPhaseType()
  • AbstractBatchLogicStepsProperty#getOrder() - Get the stepOrder for a step
  • Other methods that do the same:
  • getLogicOrder()
  • getStepOrder()
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-7585SPCFixed - Perspective Sample Definition Manager now allows attribute sample sizes different from the definition default, as long as the value is greater than zero.
MES-7749OEE/DowntimeFixed - OEE Material XML Exports and Imports now handle description fields.
MES-5839PerspectiveFixed - Copy Equipment Path now reports clear in-app errors when clipboard access is unavailable instead of throwing a browser exception.

 

3.81.12 SP2

MES-7589ImprovementBatch Add State_Number_Ack tag on Equipment, Transfer, and Sync PhasesImprovement - 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-7611BugBatch 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.

 

Improved - Phase start logic now records the initial parameter values to the EBR when a new phase execution begins.

 

Improved - Updated several eSignature parameters to record all history so they appear in the EBR when an eSignature phase starts as expected.

 

Fixed - MESIconButton no longer shows a title tooltip when it should not.

 

Fixed - Resolved a deadlock caused by lock-order inversion when setting the Batch Recipe State.

 

Improved - UserMessage and equipment-type phases no longer record MESSAGE_ACK_* parameters to the EBR when message acknowledgement is not required.

 

Fixed - Convert large numbers to String to prevent precision loss when displaying very large numbers in the EBR Viewer.

 

Improved - Set the Batch List default sort order to Priority and Batch ID.

 

Improved - The EBR now records Command None entries for better visibility into how the batch engine issues and handles commands.

 

Fixed - Null or empty RecipeExecutionState values no longer default incorrectly to an ordinal value instead of a UUID.

 

Fixed - Null or empty State values now appear in the EBR as Unknown instead of UNKNOWN.

 

Fixed - Null or empty Command values now appear in the EBR as None instead of NONE.

MES-7704BugBatch Possible deadlock on resetting of batchesFixed - Deadlock no longer happens in the batch module while a batch is in the cleanup step and a RESET is issued
MES-7708BugBatch Batch ChangeBy column in definition changelog is Null for Task RoutingFixed - Changes are now attributed to the correct user when making changes in a Task Routing environment
MES-7733BugBatch Batch Calculation Expressions may be encoded incorrectly when parameter names are similar

FIXED:

  • Parameter paths in calculation expressions were being improperly encoded when parameter names are named similarly. This has been fixed.

  • When editing a previously saved Template that is missing a Unit Class, clicking the Save button appeared to do nothing. This has been fixed.

 

ADDED:

  • Validation for Calculation Expressions in Batch Recipes/Templates (BatchRecipeEditor and scripting).

  • Recipes with Calculation Expression errors will no longer be valid for Execution until the Calculation Expression errors are resolved.

  • Inline validation for Calculation Expressions in the BatchRecipeEditor component.

  • Added a "Save with errors" toggle that will allow users to still save the Parameter Settings when there is a known Calculation Expression error.

 

IMPROVED:

  • Improved logic for parsing Calculation Expressions to find "param(...)" calls to be more robust
MES-7759BugBatch MES Unit state flickers to complete then running with multiple Operations in a UPFixed - Unit's Batch Detail's State parameter no longer updates when an the state of an Operation inside of it changes
MES-7765BugBatch Operational Template not retaining parameter calculation value after savingFixed - Operational Template retains parameter calculation value after saving
MES-7367ImprovementBatch 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-7587BugBatch Adding TransferOut / TransferIn phases to Unit Class not added to MES Tag providerFixed - Adding new custom exposed Phases to existing Unit Classes will now generate the corresponding MES tags on save.
MES-7602BugBatch E-signature expression auto-complete crashes user's browserFixed - Autocomplete now limits options to first 100 matches to prevent browser performance problems when large list of options are rendered
MES-7670ImprovementBatch Add BatchID to script phases as a default parameterImproved - Added a new parameter batchID to Batch Scripts.
MES-7671BugBatch in Phase Manager, do not evaluate param calculations.  Instead, eval in recipe editor.Fixed - Calculations are only validated in the Recipe Editor.
MES-7717ImprovementBatch Make All Batch Recording Type Fields EditableImprovement - 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-7773BugBatch Templates not updated with new parameters after Sync and Save if created before Propagate_Mode_To_Parent

Fixed - Synchronize Logic parameters with templates

 

Fixed - Prevent an error removing extra sub-parameters from logic objects when a unit procedure or operation comes from a template

MES-7737BugBatchTask-RoutingBatch Task Routing fails to load Enterprise Batch Recipe SettingsFixed - Resolved issue where Batch Recipe States failed to load in a Task Routing environment
MES-7648BugCore 4.0: Vision: Equipment Manager: cannot edit ShiftFixed - 4.0 Shift tab in Vision Equipment Manager now correctly opens.
MES-7668ImprovementCore No way to set the names/descriptions in Esig challengeImprovement - 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."
MES-7690New FeaturePerspectiveExpose the equipment path/object selected in the Equipment ManagerFeature - 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-7757BugSettings&ChangeoverRecipe 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.

 

Improvement - The Perspective SCO Tree Editor now accepts SCO CSV files (in addition to XML).

 

Feature - Scripting functions system.recipe.exportRecipeXML and system.recipe.importRecipeXML have been added as counterparts to the legacy CSV versions.

MES-7764BugSettings&Changeover4.0 S & C Vision Recipe Editor Table component Class ExceptionFixed - Vision Settings and Changeover Editor Table no longer throws exception

 

3.81.12 SP1

Release Date: 2/27/2026

Ticket Number
Module

Description
MES-7421
Core
Perspective

Fixed - The Perspective Analysis Selector will no longer require a date range for filter options that do not rely on dates.


Improvement - The Perspective Analysis Selector will now display an error message in the UI when a failure occurs when the user attempts to load filter options.

MES-7499
Core


Fixed - system.mes.exportConfiguration() is no longer requires the SCO Module.
MES-7667
Core


Fixed - The Perspective Authentication modal is no longer blocked by the Pending Authorizations List
MES-7673Batch Fixed - Batch components should be largely translated at this point.
MES-7687Batch New Feature - Custom User Message Phases now have editable Recording Type fields in the Phase Manager.
MES-7706BatchTask-Routing

Fixed - Task routing issue when creating Batches via the Batch List component.

 

Improvement - Added Task Routing support to the Perspective SPC Analysis Selector

MES-7682Batch Fixed - Create the Batch Root Master Template object during startup if it does not exist.
MES-7709Batch Fixed - Improved handling of step renames in Batch Recipe transition expressions and corrected validation logic for AND_BEGIN steps.
MES-7677SAPConnector Fixed - SAP RFM functions that have input parameters that are table types can now correctly apply values from mapping to a BC Chart array input parameter.
MES-7678SPC Fixed - SPC Analysis Selector now automatically refreshes when the start or end date range is changed.
MES-6829Trace Fixed - A system lock will now prevent a Lot being used in asynchronous operations from being given a duplicated sequence number during that time frame.

 

3.81.12 SP0

Release Date: 1/30/2026

Ticket Number
Module

Description
MES-7349Batch Improved - When propagating the batch HOLD command up from a step to it's parent, propagate up on a new thread so that it isn't delayed by waiting for the command to propagate to child steps.
MES-7578Batch  Added - Changes to the calculation field of a recipe parameter inherited from a phase will prevent overwriting during sync-and-save.
MES-7653Batch Fixed - Made change to check for mismatched column sizes for tables of tag collectors that extend from AbstractMultiValueTagCollector (which is currently BatchParamTagCollector and MESEquipmentOperationUUIDTagCollector) and notify users via ignition logs to update their DB with the appropriate alter table query
MES-7509Batch Fixed - Adding or importing a batch template now correctly uses the latest template contents instead of stale cached data.
MES-7666Batch 

Fixed - Made change to explicitly set encoding as UTF-8 when exporting/importing XML data



Improved - Implemented an import progress bar that will show when importing Batch Recipes and Batch Templates in the Batch Recipe Editor component



Improved - Increased performance of Batch Recipe/Template import for very large recipe/template XML files

MES-7311BatchCoreAdded - ChangeEventInfoMeta now includes a `getDisplayPath` method which returns a human-readable version of the path.
MES-3838Core Added - Support for database clustering by adding primary keys to all MES tables.
MES-7492Core Fixed - Enterprise Sync no longer stalls when processing mixed-case usernames for Personnel objects.
MES-7461PerspectiveSPCAdded - UI for dynamic factor headers in Perspective SPC Analysis Selector filters.
MES-7622PerspectiveSPC

Fixed - Corrected an issue where the SPC Pareto Chart wouldn't display a chart on an initial load.







Fixed - Corrected an issue on all SPC charts where the chart wouldn't reload on a page refresh.