4.83.3 SPx Release Notes
4.83.3 SP3 Release Notes
| MES-7878 | Batch | 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-7988 | Batch | Fixed - New Batch Scripts now show up in the Recipe Editor without a module restart. | |
| MES-7987 | Batch | Fixed - Scripts in Transition Expressions now correctly work | |
| MES-7976 | Batch | Fixed - Update manually execution of document phases to always trigger phaseComplete when forcing the step complete or manually completing the document step. | |
| MES-7940 | Batch | 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-7746 | Batch | Fixed - Null or None tag values during batch evaluation now produce a clear log message instead of a NullPointerException. | |
| MES-7601 | Batch | New Feature - The Signature Template Manager now allows Ignition Security Rules to be used for Authorization Challenges. | |
| MES-6831 | Batch | 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-6319 | Batch | Perspective | Fixed - Recipe template load failures show the template name and recovery steps instead of an opaque UUID-only error. |
| MES-6170 | Batch | Perspective | Fixed - Batch Controller error popups now lead with a readable summary instead of dumping internal stack and UUID details in the primary message. |
| MES-6133 | Batch | 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-6009 | Batch | Fixed - Preallocate Resources recipe validation errors now use the correct phase name and clearer rules for procedure-level, duplicate, and loopback placements. | |
| MES-5873 | Batch | 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-5766 | Batch | Fixed - Validation now checks for a matching AND end for every AND begin logic structure. | |
| MES-5649 | Batch | Fixed - Missing or invalid tags in recipe transition expressions now show the tag path and a clear validation error instead of "Decode Failed". | |
| MES-7723 | Core | Enterprise | Added - 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-7985 | Core | Fixed - Corrected an issue in updating the Synced Marker Row after using system.mes.importConfiguration
| |
| MES-7984 | Core | Fixed - Serialization filter rejections now log the reason for the rejection. | |
| MES-7905 | Core | 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-7713 | Core | 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-7586 | Core | Improved - MES now logs ignition.conf / JVM parameter overrides used at startup. | |
| MES-7520 | Core | Fixed - MES module startup now warns when Runtime or Analysis datasources are not configured. | |
| MES-6897 | Core | Fixed - setMESObjectTypeName(None/null) now throws a clear message requiring a non-empty MES object type name. | |
| MES-6412 | Core | 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-6253 | Core | Fixed - addCustomProperty now reports when argument 7 (value) has the wrong type, including the expected method signature. | |
| MES-6171 | Core | Fixed - Live Analysis failure logs now include the analysis name and equipment path. | |
| MES-5448 | Core | 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-2340 | Core | 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-6546 | Enterprise | 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-7964 | OEE/Downtime | Documentation - Updated user documentation to describe two different schedule data points for Analysis. | |
| MES-7960 | OEE/Downtime | Fixed - 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-7822 | OEE/Downtime | Fixed - 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-6246 | OEE/Downtime | Fixed - 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-4861 | OEE/Downtime | Fixed - 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-7980 | Perspective | Fixed - The 'Move Equipment' actions in the Perspective Equipment Manager now reorder equipment as expected on task-routing front-end gateways. | |
| MES-7272 | Perspective | Settings&Changeover | Added - Perspective Recipe Import/Export component for importing and exporting transposed recipe-value CSV on MES equipment. |
| MES-6800 | Settings&Changeover | Vision | Fixed - Opening Multiple Recipe Editor with an invalid equipment path now reports that the equipment was not found, instead of a misleading license error. |
| MES-7157 | SPC | Fixed - The Perspective SPC Dynamic Location Filter now overrides Location Filters tied to SPC Analysis Settings. | |
| MES-7978 | Trace | Fixed - Fixed duplicate LotSequence issue when using auto-create lot with recordOperation and modifyOperation in quick succession | |
| MES-7052 | Trace | Fixed - createSegmentForOperation reports when no matching operations segment is found, instead of the contradictory "Multiple (0)" message. | |
| MES-5866 | Trace | Fixed - Recording a Trace operation with a duplicate userid now reports the conflicting userid and how to update the existing operation. | |
| MES-7810 | WebServices | Fixed - 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-7489 | WebServices | Fixed - Web service calls with empty or incomplete OAuth configuration now explain which settings are missing. | |
| MES-6878 | WebServices | Fixed - 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-6180 | Bug | Batch | Fixed - 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-6512 | Bug | OEE/Downtime | Feature - 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-7272 | New Feature | Perspective | Added - Perspective Recipe Import/Export component for importing and exporting transposed recipe-value CSV on MES equipment. |
| MES-7370 | Bug | Core | Fixed - 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-7544 | Bug | Batch | Fixed - 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-7791 | Bug | Batch | Fixed - 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-7796 | Bug | Batch | Fixed - 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-7827 | Bug | Batch | Fixed - 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-7864 | Bug | Perspective | 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-7872 | Improvement | Batch | Added - 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-7888 | Improvement | Core | Fixed - 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-7894 | Bug | WebServices | Fixed - 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-7909 | New Feature | Core | Added - 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-7911 | Bug | Batch | Fixed - 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-7923 | Bug | OEE/Downtime | Fixed - 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-7927 | Bug | OEE/Downtime | Fixed - 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-7941 | Bug | Core | Fixed - 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-7955 | Bug | DocumentManagement | Fixed - 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-7956 | Improvement | Improved - Improved logging around Batch UDT creation. | |
| MES-7957 | Bug | SPC | Fixed - 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-7958 | Bug | Batch | FIXED - 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-7962 | Bug | Batch | FIxed - Change batch parameter locking granularity to the parameter rather than the logic object to prevent lock convoy. |
| MES-7963 | Bug | Core | Fixed -Updated ws library to 8.20.1 |
| MES-7965 | Bug | Batch | Fixed - 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-7967 | Bug | Batch | Fixed - Performance improvements on building a BatchEBR during recipe and batch duration updates. |
| MES-7973 | Bug | Core | 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-7794 | Bug | Batch | Batch params attached to tags that change very near the end of RUNNING do not update value | Fixed - Resolved potential race condition when saving Batch Control Logics | |
| MES-7841 | Bug | Batch | Task-Routing | Phase Manager: GENERAL_PROTOCOL_EXCEPTION [100] on Analysis or Visual server | Fixed - Phase Manager no longer throws a GENERAL_PROTOCOL_EXCEPTION on a Task Routing Visual or Analysis gateway. |
| MES-7876 | Improvement | Batch | Trace | Track 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-7907 | Bug | Batch | 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-7916 | Bug | Batch | Creating a Batch Template from a UP or Operation within a Recipe exits to the recipe list view | Fixed - Issue causing Recipe Logic View to be closed when Saving a Template from a UP or Operation within a Recipe | |
| MES-7929 | Bug | Batch | Changesets - Batch Phase changes after Version 1 do not come through in Recipe Editor | Fixed - Corrected an issue where the latest version of a phase was not being pulled into recipes. | |
| MES-7806 | New Feature | Batch | Add filter to Batch List component | Improved - Changed recipe dropdown in the Batch List component to be a text box to allow filtering of the recipes. | |
| MES-7816 | Bug | Batch | when remote tag provider restarts, batch module loses connection to MES tags | Fixed - 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-7862 | New Feature | Batch | Batch E-Sig Component Property Feature | Added - Batch Command Signature Perspective component to gate batch commands with per-command e-signature templates via the pending authorization queue. | |
| MES-7891 | Bug | Batch | Read Only Batch Parameter Fields can be bypassed | Fixed - Prevent modification to read only fields in the Phase Manager if an actor modifies the HTML to remove the disabled attributes. | |
| MES-7920 | Bug | Batch | Recipe Editor has inconsistent display of Transition fill color | Fixed - When using a dark theme, the Recipe Editor will show transitions as white to be easier to see against the dark background. | |
| MES-7935 | Bug | Core | SPC | SPC: exception building path: AbstractMESEquipment.getPrimaryParentLink()" is null | Fixed - MES Locations are no longer missing their Primary Parent links on save. |
| MES-7925 | Bug | Core | Perspective | Task Routing Unable to Create analysis setting from Frontend | Fixed - The Perspective MES Analysis Selector no longer throws an Exception when attempting to create new Analysis Settings on Task-Routed Visualization servers. |
| MES-7808 | Bug | OEE/Downtime | Day (Production) From time stamp does not update after Non-Production day | Fixed - Production Day Live Analysis will now update the Production Day From-Timestamp after a day (or more) of non-production time. | |
| MES-7846 | Bug | OEE/Downtime | Inactive cell is included in the process segment and results in GW errors | Fixed - Deactivating a Cell will no longer spam Gateway error logs when its parent Equipment is in use for production. | |
| MES-7839 | Bug | OEE/Downtime | Perspective Schedule View - equipment filter does not work with comma | Fixed - The Perspective Schedule Viewer now accepts comma-delimited equipment path filters (copying Vision's behavior). | |
| MES-7845 | Bug | SPC | SPC Scheduled Samples immediately go to Waiting for Approval State | Fixed - 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-7913 | Bug | SPC | Task-Routing | Task Routing: SPC Sample Definition Manager not loading+log error | Fixed - Perspective SPC Sample Definition Manager works on Visualization Task Routing gateways. |
| MES-7914 | Bug | SPC | Task-Routing | Task Routing: SPC Analysis Selector CL fail on Visual and Analysis | Fixed - In a task routing environment, the Perspective SPC Charts can now load Control Limits correctly on the Visualization gateway. |
| MES-7918 | Bug | SPC | Perspective SPC Analysis Attribute Filters Not Respected On Change | Fixed - Impromptu changes to SPC Analysis Attribute Filters now updates their entries in chart table data in Perspective. | |
| MES-7908 | Bug | WebServices | Custom SOAP WSDLs do not Import Types Correctly | Fixed - Imported SOAP WSDLs now accepts arbitrary operation request/response names. | |
| MES-7867 | Improvement | Expose third-party OSS license summary in MES Gateway UI | Added - 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-7767 | Bug | Changesets | OEE | Fixed - Copy/pasted Material can now be renamed while in Open Changeset. |
| MES-7868 | Bug | Changesets | Task-Routing | Fixed - Enforce RPC signatures contain only Serializable fields |
| MES-7883 | Task | Changesets | 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-7919 | Bug | Changesets | 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-7921 | Bug | Changesets | 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-7922 | Bug | Changesets | Core | Fixed - Preserve Change Notes when serializing to and from a changeset |
| MES-7651 | Bug | Core | OEE | Fixed - Corrected colors on Vision Schedule View component. |
| MES-7804 | Bug | SPC | Task-Routing | Fixed - Corrected issue where analysis execution would fail in task routing environment due to PyDictionary being filtered out by the Object Input Filter. |