MES 4.0 Current Service Pack (SP) Release Notes

4.83.3 SPx Release Notes



4.83.3 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 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-6319BatchPerspectiveFixed - Recipe template load failures show the template name and recovery steps instead of an opaque UUID-only error.
MES-6170BatchPerspectiveFixed - 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-7723CoreEnterpriseAdded - 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-7905Core Fixed - If a gateway still has a Parent Gateway configured but that parent is no longer connected on the Gateway Area Network, Enterprise Settings now shows the stored parent in the Parent Gateway list as `{name} (not connected)`. You can select **None** and save to clear the parent setting through the UI instead of editing the resource file manually.
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-7980PerspectiveFixed - The 'Move Equipment' actions in the Perspective Equipment Manager now reorder equipment as expected on task-routing front-end gateways.
MES-7272PerspectiveSettings&ChangeoverAdded - Perspective Recipe Import/Export component for importing and exporting transposed recipe-value CSV on MES equipment.
MES-6800Settings&ChangeoverVisionFixed - 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-7810WebServicesFixed - SOAP dateTime values with zero fractional seconds (for example `2026-01-28T11:06:33.000+01:00`) could be truncated to forms such as `2026-01-28T11:06:33`, dropping milliseconds and often the timezone offset. That could cause failures with strict SOAP partners and with provider **Auto-convert input dateTime to Date object**.  Web Services now always formats SOAP dateTime / dateTimeStamp values with three-digit milliseconds and an offset (for example `yyyy-MM-dd'T'HH:mm:ss.SSSXXX`). Provider auto-convert also accepts XSD-legal dateTimes with or without fractional seconds.
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-7950  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-7949  Added - Multiple Recipe Editor recipe selection now supports selecting and dragging multiple recipe names to the editor.

 


4.83.3 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-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-7272New FeaturePerspectiveAdded - Perspective Recipe Import/Export component for importing and exporting transposed recipe-value CSV on MES equipment.
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-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-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-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-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-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-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-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-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-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-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-7956ImprovementImproved - Improved logging around Batch UDT creation.
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-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-7962BugBatchFIxed - Change batch parameter locking granularity to the parameter rather than the logic object to prevent lock convoy.
MES-7963BugCoreFixed -Updated ws library to 8.20.1
MES-7965BugBatchFixed - an issue where, in a Task Routing system, the Authorization Challenge List (Pending Authorization Requests) failed to load when authorization challenges were present. The list now loads on the frontend gateway and pending requests can be viewed and completed as expected.
MES-7967BugBatchFixed - Performance improvements on building a BatchEBR during recipe and batch duration updates.
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.

 

 

4.83.3 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-7929BugBatch Changesets - Batch Phase changes after Version 1 do not come through in Recipe EditorFixed - Corrected an issue where the latest version of a phase was not being pulled into recipes.
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.
MES-7867Improvement Expose third-party OSS license summary in MES Gateway UIAdded - third-party SBoM information is now integrated into the modules and is available as a link in the MES gateway pages footer.

 

4.83.3 SP0 Release Notes

Changesets Stable Release

MES-7767BugChangesetsOEEFixed - Copy/pasted Material can now be renamed while in Open Changeset.
MES-7868BugChangesetsTask-RoutingFixed - Enforce RPC signatures contain only Serializable fields
MES-7883TaskChangesets Added - Feature Flag for Changesets, upgrading systems will default to disabled, new systems will default to enabled. Configuration option stored in data\config\resources\core\productiongateway\mes-meta-data\config.json.  See documentation for details.
MES-7919BugChangesets Fixed - Corrected an issue where a rename event could be ignored if the system sees the rename event as stale when it should not be.
MES-7921BugChangesets Fixed - When attempting to save multiple objects that have the same name, but the object requires unique or sibling unique names, throw an exception instead of renaming and appending ' - 1'
MES-7922BugChangesetsCoreFixed - Preserve Change Notes when serializing to and from a changeset
MES-7651BugCoreOEEFixed - Corrected colors on Vision Schedule View component.
MES-7804BugSPCTask-RoutingFixed - Corrected issue where analysis execution would fail in task routing environment due to PyDictionary being filtered out by the Object Input Filter.