What's New
Stay up to date with the latest features, improvements, and fixes
What's New in Margin Master
Stay up to date with the latest features, improvements, and fixes.
MarginMaster v2026.523.25959 v2026.523.25959
May 23, 2026 1 change-
Strategy backup download timeout increased
Fixed a bug where downloading strategy backup files would fail with a timeout error after 60 seconds. This particularly affected Store 1838 and other locations with large backup files or slower internet connections. The timeout has been increased to 300 seconds (5 minutes) to ensure successful downloads.
MarginMaster v2026.522.26011 v2026.522.26011
May 22, 2026 8 changes(2 deployments combined)-
Smart throttling for automatic cloud strategy backups
The automatic backup system now compares the current pricing strategy content against the last uploaded version using a hash comparison. If the strategy content is identical and was uploaded within the past 4 hours, the cloud upload is skipped. Any genuine change to pricing strategies triggers an immediate upload regardless of timing. This reduces redundant cloud uploads while ensuring all meaningful changes are backed up promptly.
-
Smart throttling for automatic cloud strategy uploads
The auto-backup service now computes a hash of the strategy data before uploading to the cloud. If the content is identical to the last upload and less than 4 hours have passed, the upload is skipped. This prevents redundant uploads triggered by routine operations when pricing strategies haven't actually changed, while still ensuring backups remain reasonably current.
-
Simplified issue status logic
Streamlined the logic that determines which support issues to display by removing the version comparison check. This makes the behavior more predictable and ensures stores always see the current status of their issues.
-
Pricing strategy backup restore now handles legacy date values
The backup restore process now guards against invalid date values (DateTime.MinValue) when restoring pricing strategy steps, custom groups, SKU assignments, and SKU-level exceptions. Store 1038 was generating over 130 error fingerprints and 480+ errors because legacy backup JSON contained dates set to 0001-01-01, which caused SQL Server datetime overflow errors. The system now replaces these invalid dates with the current date/time during restore.
-
Issue notification pill clears on resolution
Removed the version check that kept the support issue notification pill visible until the store updated past the resolved version. The pill now clears immediately when an issue status changes to Resolved or Closed, providing real-time feedback on issue status regardless of which version the store is currently running.
-
Epicor MySQL vendor import handles missing creation dates
Added protection against SqlDateTime overflow in the Epicor MySQL import process when updating or inserting vendor store details. This issue affected Waters Hardware (store 5787) after a recent change. The import now ensures CreateDate is set to a valid value before writing to the database, preventing database update failures.
-
Track last cloud upload timestamp and content signature
Two new application settings store the timestamp and SHA256 hash of the most recent successful strategy upload to the cloud. These values are used to determine whether a new upload is necessary based on content changes and elapsed time.
-
Strategy backup upload tracking
Added two new application settings to track the timestamp and content hash of the last successful cloud strategy upload. These values enable the throttling logic to determine whether a new upload is necessary.
MarginMaster v2026.521.35243 v2026.521.35243
May 21, 2026 2 changes-
Increment rounding now respects strategy step filters
The Rounding_Increment SQL procedure now accepts and applies the step's filter criteria (whereSQL parameter), ensuring that only items matched by the current strategy step are rounded. Previously, it would round every item in the table with FuturePrice > $0.99, causing earlier step results to be clobbered (e.g., ACE2016 prices like $12.99 being incorrectly rounded down to $12.00 or $249.99 to $249.00).
-
Increment-only rounding schemes now calculate prices correctly
Added a new code path (Rounding_IncrementOnly_SetSourcePrice) for rounding schemes that define increments but no left/right price-point levels. Previously, these schemes would produce $0.00 for every item because the standard rounding logic would find no matching price-point entries, leaving Rounding_Increment with nothing to work with. The new path first sets FuturePrice to the source price calculation, then applies increment rounding to produce the intended result.

