Sepasoft Service Pack (SP) Release Notes

MES 3.0 Release Notes



3.81.14 SP5 Release Notes

Bug Fixes

Ticket

Release Note

MES-7993

Updated Perspective dependencies.

MES-4852

Fixed an issue where deleting or renaming MES Equipment left orphaned MES Tag folders.

MES-6821

Fixed an issue where exposed OPC and Reference equipment-phase parameters could display outdated values in Batch Monitor, Batch Controller, and Perspective after phase edits. Parameter values now reflect live tag changes, including when entering the Running state without a default value.

MES-7277

Fixed an issue where removed control recipes remained in the database indefinitely. Removed recipes are now correctly marked for deletion according to the configured data retention period.

MES-7672

Fixed Batch Phase synchronization to update parameter default settings when shared properties change. Batch Phases can now be saved when referenced by queued Control Recipes, provided the changes do not alter the Batch tag structure.

MES-7972

Improved Analysis Gateway message processing by separating polling from full rebuild operations. Rebuilds now run on a dedicated worker thread, preventing long rebuilds from interrupting message polling.

MES-7997

Fixed an issue where custom property value filters could generate errors or return nonmatching objects when properties were missing or had no value.

MES-8009

Fixed an issue where importConfiguration() could generate database queries with an incorrect number of columns following a schema read error during startup.

MES-8022

Optimized Batch Execution Manager startup by using direct database queries to rebuild the batch queue, reducing queue repopulation time by approximately 99%.

MES-8025

Improved object synchronization performance by caching gateway UUIDs instead of repeatedly scanning the change log table. Calling system.mes.invalidateCache() forces the cache to reload.

New Features

Ticket

Release Note

MES-7917

Added support for synchronizing Operation Templates assigned to parent Unit Classes into Batch Recipes configured for descendant Unit Classes, while preserving the recipe's target Unit Class.

MES-7975

Added Expand All and Collapse All buttons to the Perspective Equipment Manager for equipment trees, Equipment Modes, and Equipment States, including filtered search results.

MES-8023

Added a loading spinner to the Multiple Recipe Editor to indicate when recipes are loading after being dropped into the editor.

Improvements

Ticket

Release Note

MES-6153

Added an optional State field to the Web Services OAuth 2.0 Authorization Code Grant tool to help protect against cross-site request forgery (CSRF) attacks.

MES-6283

Added the Calculation field to Unit Procedure Trace_User_ID parameters.

MES-7736

Enhanced system.mes.signature.authorization.queueAuthRequest() callbacks to support an optional data argument containing signer identities and timestamps for audit logging. Existing callbacks remain compatible.

MES-8006

Added the Step_Path parameter to Batch Phases.

MES-8015

Added a conf argument that allows phase duration to update only when the phase ends.

3.81.13 SP4 Release Notes

Type
Ticket ID
Module
Summary
Release Notes
BugMES-7990BatchIf Batch is Aborted while a UProc is Running but no Eqp Phases are Running, PLC will not know that it should abort.Fixed - When Aborting or Stopping a batch, PLI phases with an active Start command that are in Idle will now receive the command after going Running
BugMES-8000EnterpriseEnterprise gateway keeps stale enterpriseGateway after Ignition system name is changedFixed - Prevent the enterprise gateway from keeping a stale name in the enterprise configuration settings.

3.81.13 SP3 Release Notes

MES-7878Batch
 Added - Operators can now send Abort to a selected recipe step (including an equipment phase) from the Batch Controller command palette. Abort applies only to that step: the step goes to Aborted and the rest of the recipe continues. Recipe-level Abort still aborts the entire batch.  The confirmation dialog matches the target: Abort this step for a step, and Abort batch? for the recipe. A Stopped step can be aborted so the electronic batch record shows Aborted as the terminal state. Start remains unavailable on steps.
MES-7988Batch
 Fixed - New Batch Scripts now show up in the Recipe Editor without a module restart.
MES-7987Batch
 Fixed - Scripts in Transition Expressions now correctly work
MES-7976Batch
 Fixed - Update manually execution of document phases to always trigger phaseComplete when forcing the step complete or manually completing the document step.
MES-7940Batch
 Fixed - Fixed a failure where `system.mes.batch.formula.saveFormula()` threw a `ClassCastException` when a configuration changeset was open (commonly seen with gateway script message encoding set to ProtoBuf). Saving a modified formula in an open changeset now completes successfully, and formula `userVersion` continues to increment as expected.
MES-7746Batch
 Fixed - Null or None tag values during batch evaluation now produce a clear log message instead of a NullPointerException.
MES-7601Batch
 New Feature - The Signature Template Manager now allows Ignition Security Rules to be used for Authorization Challenges.
MES-6831Batch
 Fixed - When unit procedure or operation logic was removed from a batch recipe (editor or scripting), nested logic and step records could remain enabled. That blocked deletion of unused phases and could cause `validateRecipe` / save to treat removed charts as still present. MES now soft-disables the full child logic tree (including nested steps and links) when those structures are removed, for both recipes and templates. Phase-reference checks also ignore steps whose owning logic is disabled, so leftover orphaned rows no longer block phase delete.
MES-6319Batch
PerspectiveFixed - Recipe template load failures show the template name and recovery steps instead of an opaque UUID-only error.
MES-6170Batch
PerspectiveFixed - Batch Controller error popups now lead with a readable summary instead of dumping internal stack and UUID details in the primary message.
MES-6133Batch
 Fixed - Changing the tag value of a Monitor-type user parameter on Transfer In or Transfer Out phases during a running batch no longer floods the gateway logs with write/sync exceptions. Batch execution behavior is unchanged.
MES-6009Batch
 Fixed - Preallocate Resources recipe validation errors now use the correct phase name and clearer rules for procedure-level, duplicate, and loopback placements.
MES-5873Batch
 Fixed - Loading an Executed (historical) batch in Batch Controller or Batch Monitor now explains that completed batches must be viewed via Batch EBR / history reporting.
MES-5766Batch
 Fixed - Validation now checks for a matching AND end for every AND begin logic structure.
MES-5649Batch
 Fixed - Missing or invalid tags in recipe transition expressions now show the tag path and a clear validation error instead of "Decode Failed".
MES-7723Core
EnterpriseAdded - Work Orders can optionally synchronize in an Enterprise system from linked Operations Request and Operations Response equipment instead of every site that can process the material. Enable with JVM argument -Dcom.sepasoft.sync.workOrderStrategy=OPERATIONS. Default behavior is unchanged. With this setting, a Work Order stays on the creating gateway until operations are linked, then appears at the site(s) for that equipment. Extra copies already at other sites are not automatically removed.
MES-7985Core
 

Fixed - Corrected an issue in updating the Synced Marker Row after using system.mes.importConfiguration

 

 

MES-7984Core
 Fixed - Serialization filter rejections now log the reason for the rejection.
MES-7713Core
 New Feature - The MESChangelogFilter now has the showHistoricalNames() function, that will return a "Historical Name" column in the changelog dataset, displaying the name of that MES Object at the time the change was made.
MES-7586Core
 Improved - MES now logs ignition.conf / JVM parameter overrides used at startup.
MES-7520Core
 Fixed - MES module startup now warns when Runtime or Analysis datasources are not configured.
MES-6897Core
 Fixed - setMESObjectTypeName(None/null) now throws a clear message requiring a non-empty MES object type name.
MES-6412Core
 Fixed - Active operations no longer reload every response segment from storage on each internal access. Segment running-state checks on the one-second poll still refresh from the latest stored data, while begin/end and related segment work reuse the object already associated with the segment link. This reduces unnecessary load for OEE and Trace & Genealogy flows that use `beginSegment` / `endSegment`, with no change to intended begin, end, auto-begin, auto-end, or update-event behavior.
MES-6253Core
 Fixed - addCustomProperty now reports when argument 7 (value) has the wrong type, including the expected method signature.
MES-6171Core
 Fixed - Live Analysis failure logs now include the analysis name and equipment path.
MES-5448Core
 Fixed - Aborting or starting a Trace segment that is not running now names the segment and equipment and explains that another segment may already be active on that equipment.
MES-2340Core
 Fixed - Recording a tag collector value that is not a valid integer or number now returns a clear error naming the equipment and expected value type, instead of a misleading duplicate-row message.
MES-6546Enterprise
 Fixed - Issue where a child gateway that was already in sync did not receive equipment after that Site, Area, or Line was added as managed in Enterprise Settings. The items had been created on the enterprise (parent) first, so they never appeared on the child unless the equipment was edited again or the sync marker was reset. Saving Enterprise Settings with the new managed path now sends the current equipment, including descendants, to that child.
MES-7964OEE/DowntimeDocumentation - Updated user documentation to describe two different schedule data points for Analysis.
MES-7960OEE/DowntimeFixed - Perspective Analysis Selector: roles with illegal characters no longer block save. The Perspective Analysis Selector now hides MES user-source roles whose names contain illegal characters, matching Vision behavior. Previously, those roles appeared in permissions and could prevent saving a new analysis (and logged errors when updating an existing one).
MES-7822OEE/DowntimeFixed - an issue where an OEE analysis with a filter that matched no data (for example a valid equipment path and an invalid shift) threw a gateway NullPointerException. The Analysis Selector showed “Error executing analysis” and no rows. Empty OEE results now complete without that error, show the message `no row returned`, and no longer write `0.0` for OEE Quality. Live Analysis datapoint tags for those empty results are set to null with Error_Configuration quality (red overlay) instead of keeping the last good value.
MES-6246OEE/DowntimeFixed - system.mes.oee.updateEquipmentStateValue and updateEquipmentStateValues no longer allow blaming a downtime event on equipment that belongs to a different MES line. That previously stored a reference OEE analysis could not resolve and caused a null-pointer failure until the row was reverted.  Changing blamed equipment on the same line (cell to another cell, or cell to the line) is unchanged.  If a historical event already points at another line, analysis now fails with a clear error that names the equipment and timestamp, instead of a null pointer. Existing rows are not repaired automatically.
MES-4861OEE/DowntimeFixed - Changing equipment state without the required role now shows a clear message naming the user, missing role, target state, and equipment path, instead of an opaque console error.
MES-7272Perspective
Settings&ChangeoverAdded - Perspective Recipe Import/Export component for importing and exporting transposed recipe-value CSV on MES equipment.
MES-6800Settings&Changeover
VisionFixed - Opening Multiple Recipe Editor with an invalid equipment path now reports that the equipment was not found, instead of a misleading license error.
MES-7157SPC
 Fixed - The Perspective SPC Dynamic Location Filter now overrides Location Filters tied to SPC Analysis Settings.
MES-7978Trace
 Fixed - Fixed duplicate LotSequence issue when using auto-create lot with recordOperation and modifyOperation in quick succession
MES-7052Trace
 Fixed - createSegmentForOperation reports when no matching operations segment is found, instead of the contradictory "Multiple (0)" message.
MES-5866Trace
 Fixed - Recording a Trace operation with a duplicate userid now reports the conflicting userid and how to update the existing operation.
MES-7489WebServicesFixed - Web service calls with empty or incomplete OAuth configuration now explain which settings are missing.
MES-6878WebServicesFixed - Calling system.ws.runWebService() with a missing configuration now returns a clear configuration-not-found message in Gateway context instead of a NullPointerException.
MES-7950Settings & Changeover Added the Multiple Recipe Editor, allowing users to edit and save multiple MES recipes in a typed matrix with filtering, validation, and recipe management controls.
MES-7949Settings & Changeover Added - Multiple Recipe Editor recipe selection now supports selecting and dragging multiple recipe names to the editor.

 


3.81.13 SP2 Release Notes

MES-6180BugBatchFixed - If a calculation is defined in a custom Phase in the Batch Phase Manager, it can now be overridden in a Batch Recipe Editor without causing a Batch Phase sync error.
MES-7544BugBatchFixed - Batch List `enableEditParams` and `enableEditUnitAssignments` now correctly prevent editing of recipe parameters and unit assignments in the create/edit drawer when set to false. Those fields remain visible so operators can still review the values. Creating or saving a batch continues to work using the recipe defaults when editing is disabled.
MES-7791BugBatchFixed - For number-type Batch Master Parameters, entering a Calculation without a Value, no longer causes the Value to override the Calculation with a zero.
MES-7796BugBatchFixed - Unit Procedure and Operation phase parameters are now moved to their correct logic object during validation so that "extra parameters" errors are not reported
MES-7827BugBatchFixed - EBR panel details that use first() / last() (including the default Began At: {first(Begin_Date_Time)}) no longer pick an early null or blank history value. The first or last non-empty value is used instead, so equipment phase Began At shows the real begin time. If a date parameter has only empty history, the detail shows No date/time found.
MES-7872ImprovementBatchAdded - MES objects now support `getArtifactValueByName(name, versionNumber)` so scripts can read a specific historical artifact value, not only the latest. Use a positive version number for an absolute version from oldest to newest, `0` for the latest, and negative numbers to step back from the latest (for example `-1` for the previous version).
MES-7911BugBatchFixed - Fixed an issue where batch string parameters containing consecutive backslashes (for example `\\server\share`) were reduced to a single backslash after a Gateway restart while the batch was running. Values are now preserved correctly across restart. Values already corrupted on a previous build are not automatically corrected and must be re-entered if needed.
MES-7958BugBatchFIXED - When the batch engine adds new parameters to built in phases, ensure a PropertyValueChangeEvent setting the friendly name is saved to the change log.
MES-7961BugBatchFixed - When a steps active state changes, write that field directly to the MESBatchControlRecipeLogic instead of going through high-overhead saveMESObject
MES-7962BugBatchFIxed - Change batch parameter locking granularity to the parameter rather than the logic object to prevent lock convoy.
MES-7967BugBatchFixed - Performance improvements on building a BatchEBR during recipe and batch duration updates.
MES-7370BugCoreFixed - MES modules now report clear errors when required database tables cannot be created, including when the database user lacks CREATE TABLE privileges. Previously, schema setup could fail with no tables created and little or no indication in the gateway logs. Check datasource user permissions if you see these errors during install or gateway startup.
MES-7888ImprovementCoreFixed - system.mes.importConfiguration() now re-initializes MES runtime state after a successful import, including rediscovering Batch Process Cells. Batch queue commands work against the imported model without requiring a gateway restart. A failed import no longer leaves MES permanently stopped.
MES-7909New FeatureCoreAdded - A Batch license now includes Document Management. Gateways licensed for Batch can use Document Management features without a separate Document Management license.  A Document Management only license still does not include Batch. Customers who only license Document Management continue to get Document Management alone.  Vision Document Management components are unchanged by this release.
MES-7941BugCoreFixed - Upgraded transitive `fast-uri` to 3.1.4 (via `pnpm.overrides`) to address Aikido AIKIDO-2026-878106 / CVE-2026-16221 host-parsing SSRF issues.
MES-7973BugCore

Reverted - Reverted MES-7816

 

Reverted - Reverted a portion of MES-7782

 

Added - When a tag write events triggers more downstream batch parameter updates, pass along the original tag change timestamp.

MES-7955BugDocumentManagementFixed - a cross-site scripting (XSS) risk in the batch Document Viewer where enum select options and textarea values were written into the page using unsafe HTML APIs. The viewer now builds select options and persists textarea content with safe DOM methods so untrusted text is treated as plain text. Existing document load sanitization and save behavior are unchanged.
MES-6512BugOEE/DowntimeFeature - Added the "Active Run" Live Analysis period. Active-Run will only update Live Analysis while the Equipment has an active Operation UUID (as opposed to Start-of-Run which will continue updating).
MES-7923BugOEE/DowntimeFixed - Renaming or editing Equipment State Class or Mode Class values now updates OEE/downtime analysis labels and related caches immediately. A Production module restart is no longer required for those changes to appear in analysis results.
MES-7927BugOEE/DowntimeFixed - Same-second state overwrites now update both State and OriginalState to the retained (latest) value for that second. Override rules continue to use OriginalState, so they follow the final state for that second. A throttled gateway warning is logged when a state tag changes more than once within the same second.
MES-7864BugPerspective

Fixed - Horizontal scrolling and altering column-widths will no longer cause SPC Table-Charts' tables and graphs to drift apart, causing them to visually desynchronize.

 

Fixed - Added visible vertical column lines in SPC Table-Chart tables.

MES-7957BugSPCFixed - After system.mes.spc.sample.remove() (or purge), sample data is soft-cleared so enterprise/site sync can propagate the removal. Previously, those removed samples could still appear in the Location Sample List as sparse rows with an empty DefUUID/Definition. Sample list and sample lookup queries now exclude these soft-cleared (tombstone) rows, so removed samples no longer show in the list while remaining available for sync.
MES-7894BugWebServicesFixed - Hard-coded values and tag/expression bindings on RESTful consumer Request Message items (including URL Query String, headers, resource path, and request body) were not retained after saving and reopening the Designer. Those assignments now persist correctly across save and reopen, including Response Conversion items that use the same configuration path.
MES-7956Improvement Improved - Improved logging around Batch UDT creation.

 

3.81.13. SP1 Release Notes

MES-7794BugBatch Batch params attached to tags that change very near the end of RUNNING do not update valueFixed - Resolved potential race condition when saving Batch Control Logics
MES-7841BugBatchTask-RoutingPhase Manager: GENERAL_PROTOCOL_EXCEPTION [100] on Analysis or Visual serverFixed - Phase Manager no longer throws a GENERAL_PROTOCOL_EXCEPTION on a Task Routing Visual or Analysis gateway.
MES-7876ImprovementBatchTraceTrack and Trace in Batch recordOperation needs an option to use remaining lot quantity

Improvement - Added Auto Lot Completion functionality to recordOperation functions.

 

Improvement - Added new sub parameter to Material In parameters called Auto_Lot_Completion

MES-7907BugBatch The stepPath that is passed into scripts for BatchScript phase is incomplete Fixed - Made change to input the full step itemPath for the stepPath parameter for scripts called by the BatchScript phase action.
MES-7916BugBatch Creating a Batch Template from a UP or Operation within a Recipe exits to the recipe list viewFixed - Issue causing Recipe Logic View to be closed when Saving a Template from a UP or Operation within a Recipe
MES-7806New FeatureBatch Add filter to Batch List componentImproved - Changed recipe dropdown in the Batch List component to be a text box to allow filtering of the recipes.
MES-7816BugBatch when remote tag provider restarts, batch module loses connection to MES tagsFixed - If a 'Recipe' Value Source typed parameter uses 'OPC' or 'Reference' Tag Type, and the reference changes outside of the recipe value during execution, the Batch Engine will write back the recipe value to the referenced tag to keep the tag values and running values in sync.
MES-7862New FeatureBatch Batch E-Sig Component Property FeatureAdded - Batch Command Signature Perspective component to gate batch commands with per-command e-signature templates via the pending authorization queue.
MES-7891BugBatch Read Only Batch Parameter Fields can be bypassedFixed - Prevent modification to read only fields in the Phase Manager if an actor modifies the HTML to remove the disabled attributes.
MES-7920BugBatch Recipe Editor has inconsistent display of Transition fill colorFixed - When using a dark theme, the Recipe Editor will show transitions as white to be easier to see against the dark background.
MES-7935BugCoreSPCSPC: exception building path: AbstractMESEquipment.getPrimaryParentLink()" is nullFixed - MES Locations are no longer missing their Primary Parent links on save.
MES-7925BugCorePerspectiveTask Routing Unable to Create analysis setting from FrontendFixed - The Perspective MES Analysis Selector no longer throws an Exception when attempting to create new Analysis Settings on Task-Routed Visualization servers.
MES-7808BugOEE/DowntimeDay (Production) From time stamp does not update after Non-Production dayFixed - Production Day Live Analysis will now update the Production Day From-Timestamp after a day (or more) of non-production time.
MES-7846BugOEE/DowntimeInactive cell is included in the process segment and results in GW errorsFixed - Deactivating a Cell will no longer spam Gateway error logs when its parent Equipment is in use for production.
MES-7839BugOEE/DowntimePerspective Schedule View - equipment filter does not work with commaFixed - The Perspective Schedule Viewer now accepts comma-delimited equipment path filters (copying Vision's behavior).
MES-7845BugSPC SPC Scheduled Samples immediately go to Waiting for Approval StateFixed - SPC Samples set to "Once at Production Start/End" will now go to the "Due" or "Overdue" states; no longer immediately go to the "Waiting Approval" or "Approved" states.
MES-7913BugSPCTask-RoutingTask Routing: SPC Sample Definition Manager not loading+log errorFixed - Perspective SPC Sample Definition Manager works on Visualization Task Routing gateways.
MES-7914BugSPCTask-RoutingTask Routing: SPC Analysis Selector CL fail on Visual and AnalysisFixed - In a task routing environment, the Perspective SPC Charts can now load Control Limits correctly on the Visualization gateway.
MES-7918BugSPC Perspective SPC Analysis Attribute Filters Not Respected On ChangeFixed - Impromptu changes to SPC Analysis Attribute Filters now updates their entries in chart table data in Perspective.
MES-7908BugWebServicesCustom SOAP WSDLs do not Import Types CorrectlyFixed - Imported SOAP WSDLs now accepts arbitrary operation request/response names.

 


3.81.13 SP0 Release Notes

 Includes Permissive Start.

MES-7896BugBatchFixed - Added logic to stop and cleanup the SFC Chart for Unit Procedures and Operations when they are Stopped/Aborted
MES-7768BugBatchFixed - Unit Class exports can now be reimported into the same system creating a new entry of that Unit Class.
MES-7782BugBatchFixed - Updated execution logic to wait for Equipment phases in PLI mode to be set to Idle state before moving on, after the Transition is skipped for the Unit Procedure or Operation
MES-7865BugBatchFixed - an issue where Batch Transitions could fail to activate unless all preceding phases were active simultaneously. Transitions now activate correctly after each preceding phase has been active at least once.
MES-7887BugBatchAdded - Batch Formula and Batch Formula Class have been added as selectable object types in the MES Object Selector
MES-7899BugBatch

Fixed - Made change to ignore commands that are not applicable when Unit Procedure and Operation actions are not active.

 

Fixed - Made change to allow Stop command to be issued when in a "wait state" (Held/Paused).

 

Fixed - Cleanup usages of jetbrains Nullable annotations to use jspecify Nullable instead.

 

Fixed - Updated AbstractBatchAction#isPhaseActive to also check if the step's State is Stopped or Aborted.

MES-7901BugBatchFixed - issue causing paths starting with "{}" to not be handled properly in Transition Expressions.
MES-7789BugBatchFixed - Corrected an issue where the Batch Monitor component needed a page refresh if the 'enableChangeActiveSteps' property was bound to an expression
MES-7869BugBatchFixed - Recipe validation succeeds on recipes created from scripting.
MES-7877BugBatchFixed - Corrected an issue where the initial value of an 'Execution' or 'Monitor' value typed parameter would not be captured.
MES-7714BugOEE/Downtime

Fixed - an issue where newly created MES Counter tags did not immediately record their initial value to the database. The initial value is now stored and used as the counter’s zeroing point, removing the need to run the line once to generate initial counter values.

 

Fixed - an issue where newly created Equipment Counter tags did not appear in Live Analysis until an Analysis Cache Invalidation occurred.

MES-7900BugOEE/DowntimeFixed - The Perspective Analysis Selector's Data Points popup editor now loads, closes, saves, and refreshes properly.
MES-6679ImprovementOEE/DowntimeImproved - Perspective OEE Time Chart now has a property to control how the Equipment Path is displayed.
MES-7679BugPerspectiveFixed - an issue where importing Default SCO Values from a CSV file in the Perspective Equipment Manager could fail with an exception.
MES-7629BugSettings&ChangeoverFixed - Recipe value imports now correctly preserve exported parameter values when using the Recipe Editor Component. Previously, imported recipe values could appear as `0` even though the exported CSV contained the correct descendant/parameter values.