Ticket: https://sandfield.atlassian.net/browse/CD-453
Assigned to: Nikhil
Updated: 16 March 2026
Update Migration.cs for older migartion which was causing issues with migrator
Ticket: https://sandfield.atlassian.net/browse/CD-411
Assigned to: Nikhil
Updated: 27 February 2026
Replaced Octopus deploy steps with Azure Pipeline artifact publishing
Build outputs for Sandfield.Messaging and Sandfield.Messaging.WorkWithModule are now published as pipeline artifacts
Added GitVersion.SemVer variable to the pipeline
Ticket: https://sandfield.atlassian.net/browse/CD-104
Assigned to: Gavin
Updated: 20 February 2025
Fix the migration for servers debug logging option
Ticket: https://sandfield.atlassian.net/browse/CD-340
Assigned to: Lennox Young
Updated: 19 February 2026
Updated SDK response DTOs to hide certain fields which are not usable
Updated SDK to support functionality to update a Message
Ticket: https://sandfield.atlassian.net/browse/CF-34987
Assigned to: Josh Shiu
Updated: 13 February 2025
Message Routing Retry Number inheriting source retries, changing to destination retries
Ticket: https://sandfield.atlassian.net/browse/CD-340
Assigned to: Lennox Young
Updated: 30 January 2026
Added an API interface for Messaging
Assigned to: Remus
Updated: 19 January 2026
Ticket: https://sandfield.atlassian.net/browse/CF-23349Â
Bulk resetting message failures now clears their error message. This change makes it consistent with individually resetting a messages failure count.
Assigned to: Remus
Updated: 19 January 2026
Ticket: https://sandfield.atlassian.net/browse/CD-282Â
Cleaned up the existing pagination code to make it easier to include this new functionality.
Assigned to: Remus
Updated: 19 January 2026
Ticket: https://sandfield.atlassian.net/browse/CF-23349Â
Changed code to show button regardless of message direction
The stored procedures called by the buttons were updated prior to this by other devs to allow for this functionality.
Assigned to: Nikhil
Updated: 19 January 2026
Ticket: https://sandfield.atlassian.net/browse/CD-343Â
Fixed dbo.MES_stpMessage_ProcessSentMessage - was using outdated 2015 version, now uses latest version
Renamed file from MES_stpMessage_ProcessSentMessage.sql to dbo.MES_stpMessage_ProcessSentMessage.sql to match correct naming convention
Assigned to: Nick
Updated: 16 January 2026
Ticket: https://sandfield.atlassian.net/browse/CF-37575Â
Previous size was only 100, so it wasn't store the encrypted password properly. So I increased it to 2000.
Add password decryption on AwsAccount UI.
Assigned to: Eve
Updated: 2 January 2026
Ticket: https://mainfreight1.aha.io/releases/CF-R-13Â
Load Secrets from Azure Key Vault if KeyProvider is set to Azure.
Assigned to: Gavin
Updated: 2 December 2025
Ticket: https://mainfreight1.aha.io/develop/features/CF-98Â
Update the transport type for Crossfire Notification transports and filter notifications by transport.
Assigned to: Nikhil
Updated: 27 November 2025
Ticket: https://sandfield.atlassian.net/browse/CD-343Â
Updated WorkWithList stored procedures to use Message.PartnerID instead of DeliveryTypeDetail.PartnerID for correct partner display and filtering
Updated MSG.WorkWithList_FailedMessage, MSG.WorkWithList_Message, MSG.WorkWithList_MessageSummary,MSG.WorkWithList_MessageArchive
Updated MES_stpMessage_ProcessSentMessage to preserve PartnerID when archiving messages from tblMessage to tblMessageArchive
Routes "Keep Partner from Source" feature
Ticket: CD-104
Assigned to: Gavin
Updated: 24 October 2025
Add debug logging option to servers
Ticket: https://sandfield.atlassian.net/browse/CF-36259
Assigned to: Josh Shiu
Updated: 24 November 2025
Change Unlogged Error on dashboard to Error Message has been Purged
Ticket: https://sandfield.atlassian.net/browse/CF-36002
Assigned to: Michael Xie
Updated: 20 November 2025
Updated OpenPgpEncryptionProvider to correctly handle PGP private keys without passphrases.
Ticket: https://sandfield.atlassian.net/browse/CD-332
Assigned to: Scott Ferguson
Updated: 11 November 2025
Prevent page locking when bulk updating schedules by using a table variable instead of a temp table.
Ticket: https://sandfield.atlassian.net/browse/CF-34801
Assigned to: Nikhil Kamble
Updated: 16 October 2025
Removed all references of TinyMCE
Ticket: https://sandfield.atlassian.net/browse/CF-35029
Assigned to: Nikhil Kamble
Updated: 08 September 2025
Updated MSG.Certificate_EmailNearExpiryAlert_Active SP to return MessageID and set the message to "Ready" & aded SQL Job
Assigned to: Scott
Updated: 3 October 2025
Add indexes from XF cloud that are not in the initial install
Assigned to: Gavin
Updated: 5 September 2025
Use the default keep for days setting for transports
Ticket: https://sandfield.atlassian.net/browse/CF-35029
Assigned to: Nikhil Kamble
Updated: 15 August 2025
Added SP to get Active Certificates which are expiring in next 30 days
Ticket: https://sandfield.atlassian.net/browse/CD-275
Assigned to: Nikhil Kamble
Updated: 15 August 2025
Added Name field to Route for better identification of Routes
Implemented unique constraint for Route names (allows multiple null values)
Updated Transport Routes list with Route Name as the primary column & Sort
Added DeliveryTypeDetail filter by Transport Routes
Updated default sorting to prioritise Route Name
Added Route name validation to prevent duplicate names during creation/updates
Assigned to: Nick
Updated: 20 Aug 2025
Refactored the following items:
Set the default WarningLevel -> 1, so it will only log the errors. It was logging the Debugs (3).
Refactored the code ReplaceValues() by callling TSql function inside it.
App.config file doesn't need to be deployed as it is the Sandfield.Messaging.dll.config.
Assigned to: Nick
Updated: 18 Aug 2025
Fix opening up partner from Aws account window - missing association
Fix storing the username instead of user ID for CreatedBy & LastModifiedBy
Assigned to: Eve
Updated: 28 Mar 2025
Don't let users delete certificates if they are being used by a transport.
Show a warning message if they try.
Add Issuer Name and Serial Number field to certificates (read-only).
These fields are updated when the certificate is uploaded to the DB.
Assigned to: Nick
Updated: 29 July 2025
This stored procedure was manually added in XF env, so all the new envs don't have this SP.
Assigned to: Scott
Updated: 30 May 2025
Fix owner for schemas when they are created by migrator
Assigned to: Eve
Updated: 16 May 2025
Fix transport entity lookup not being filtered to permitted entity codes.
Assigned to: Nick
Updated: 06 May 2025
Improved the Transport Type Work With List by including the transport type name.
Assigned to: Jacob
Updated: 29 April 2025
Updates the nvarchar limit from 50 to 255 in the MSG.Lookup_DeliveryTypeDetail for the @Value parameter.
Assigned to: Nick
Updated: 28 Apr 2025
When updating the Partner's Schedule Threads, it will error missing SELECT and INSERT permissions on the tables.
Assigned to: Nick
Updated: 23 Apr 2025
Match 'Sandfield.Database.Migrator' nuget version with the main database migrator v4.0.1
Assigned to: Nick
Updated: 25 Mar 2025
Increase Address string length to 500 on the Server page (UI)
Increase Address string length in database as well
Data fix on the OAuthToken table
Add HTTP transports Setting "ServerOverride"
Add UI for ServerOverride
Assigned to: Nick
Updated: 21 Mar 2025
Missing WKW.ObjectAssociation for the new work with object "MSG.Setting"
Assigned to: Nick
Updated: 18 Mar 2025
Messaging WorkWithModule is now using the new version of nugets, including SAL.Messaging
Assigned to: Scott
Updated: 12 Mar 2025
Assigned to: Scott
Updated: 12 Mar 2025
Assigned to: Nick
Updated: 11 Mar 2025
Assigned to: Nick
Updated: 05 Mar 2025
It should be using string.IsNullOrEmpty()
Assigned to: Nick
Updated: 03 Mar 2025
Downgrade Microsoft.Identity.Client to 4.56.0
Assigned to: Scott Ferguson
Updated: 12 Feb 2025
Performance improvements to the transport attachments tab proc and dbo.tblMessageArchive index rework
Assigned to: Scott Ferguson
Updated: 30 Jan 2025
Two schedules on one transport issue still persists. Fix the trigger and it should be fixed now.
Assigned to: Scott Ferguson
Updated: 23 Jan 2025
Performance fix and supporting indexes for Notification_SelectAggregate
Assigned to: Jacob Clark
Updated: 9 Jan 2025
Implemented CustomRoute boolean result so that if false, we do not route the message.
Assigned to: Scott
Updated: 07 January 2025
Add new fields to the WKW Certificate listing from Henrys change.
Assigned to: Scott
Updated: 14 Jan 2025
Fix transport attachments / Logs tab loading time
Assigned to: Nick
Updated: 4 Dec 2024
Fix transport setting for previous commit
Assigned to: Michael
Updated: 3 Dec 2024
Fixed the attachments tab resizing issue so that the container resizes dynamically.
Assigned to: Nick
Updated: 29 Nov 2024
Fix OAuth2 functionality to make it useable
Refactor the UI and add OAuth 2 Scope field
Fix creating transport route from the transport. This error occurs when the transport name has the apostrophe symbol.
Assigned to: Scott Ferguson
Updated: 17 Dec 2024
Add index for notifications feature since the procs were slow
Assigned to: Scott Ferguson
Updated: 31 Oct 2024
Fix scheduling bug when changing the schedule that a transport is running on. The old schedule would not get reloaded and thus the transport would run on two schedules at once
Assigned to: Nick
Updated: 15 Nov 2024
Upgrade Scheduling nuget
Assigned to: Nick
Updated: 13 Nov 2024
Fix server insert as it was missing inserting a column, which will cause the engine to unable to start
Clean up and update the nugets to match the version with Crossfire and scheduling
Vulnerable patching System.Text.Json -> 8.0.5
Assigned to: Nick
Updated: 05 Nov 2024
It was previously pulling instances that aren't even enabled
Assigned to: Nick
Updated: 18 Oct 2024
When open HTML Body on message, when you inspect, it will complain that "page2.js" is not found even though that file never existed even from older commits.
Assigned to: Nick
Updated: 08 Oct 2024
MSG.Partner synonym was missing if run the database migration from scratch
Assigned to: Nick
Updated: 16 Sept 2024
Missing data in tblDataType, tblPriority
Missing permissions
Improve [MSG].[Lookup_Entity] to also check if entity is active
Fix [SCH].[Schedule_Import_Internal] on hard coded engine location
Missing SP [MSG].[Message_Logs]
Fix logic issue in transport Flow tab
Add indices to tblStatusLog
Fix server insert with settings
Assigned to: Davi Oliveira
Updated: 26 Sept 2024
Introduced a new migration class _202409261648_Migration using FluentMigrator to add a nullable Status column to the MessageArchive table. Created a new stored procedure [dbo].[MessageArchive_Update] to update tblMessageArchive with conditional updates and set LastModified timestamp.
Assigned to: Nick
Updated: 10 Sept 2024
Fix hard coded messaging user
Assigned to: Nick
Updated: 09 Sept 2024
Rename variable "EDIDatabaseName" in config file in Database Migration
Assigned to: Nick
Updated: 06 Sept 2024
Drop column "CustomXMLFilters" in table DeliveryTypeDetail from Messaging as it is not being used
Assigned to: Lennox
Updated: 06 Sept 2024
Fixed typo
Added release docs to solution
Assigned to: Lennox
Updated: 06 Sept 2024
Updated migrator to add certificate workwith object when it doesn't exist
Assigned to: Nick
Updated: 04 Sept 2024
Missing SPs when running the database migration from scratch
Update vulnerable version of moment.js
Assigned to: Gavin Cheng
Updated: 21 Aug 2024
Include the server name when exporting a transport.
Use the server name (if exists) to match a server when importing a transport.
Assigned to: Nick
Updated: 15 Aug 2024
Better warning for deleting aws account
Fixed route UI
Assigned to: Nick
Updated: 31 Jul 2024
Fix invalid column
Assigned to: Nick
Updated: 24 Jul 2024
Add missing synonyms in 202212211314.
Fix incorrectly assigned security context in 202212211314.
Add missing column in 202303211203.
Fix invalid file path in 202407011550.
Fix incorrect security context permission in 202407011550.
In 202407171600:
Add the same missing synonyms from 202212211314.
Add the same missing column from 202303211203.
Add missing column, constraint and value in [SCH].[Instance]
SCH.Instance was missing constraint and missing default value. So add a query for those.
Add AWS Account base URL to tblSetting
Add AWS transfer family domain to WKW.Setting
Add missing WKW.ObjectAssociation
Missing necessary AWS fields in Transport types
Other Stored Proc changes
Missing migration for some SP.
Missing Entity and password when reopen Aws Account page.
Improve UX on Aws Account
Fix missing server in transport when select aws account
Aws account and protocol arent stored correctly in transport table
In the server vb, MT() function should check the null and empty value after the encryption and not before the encryption.
When server insert, we never pass in the setting xml. We only add the value when update the server.
Updated SFTP transport to prefill the input/output folders
Assigned to: Gavin Cheng
Updated: 17 Jul 2024
Upgrade BouncyCastle.Cryptography to 2.4.0.
Remove BouncyCastle and BouncyCastle.Crypto.dll.
Assigned to: Lennox Young
Updated: 17 Jul 2024
Fixed migration issues with AWS Transfer Family
Assigned to: Gavin Cheng
Updated: 11 Jul 2024
Add back deprecated names for SettingXml for compatibility.
Updated the transport settings to decrypt all passwords when used within the application
Assigned to: Lennox Young
Updated: 1 July 2024
Assigned to: Gavin Cheng
Updated: 30 May 2024
Add MSG Settings to Messaging -> Advanced -> Settings. You can open, update, or delete any setting.
Update Cryptography SDK to 2.0.5, the version that fixed the async issue
Assigned to: Nick Huang
Updated: 13 June 2024
Remove AutoRestart option for Schedules
Assigned to: Gavin Cheng
Updated: 14 June 2024
Wrong schema for schedule step
Assigned to: Nick Huang
Updated: 11 June 2023
Fix variable in code for migration
Assigned to: Nick Huang
Updated: 11 June 2023
Fix pipeline for subfolder deployment
Assigned to: Nick Huang
Updated: 11 June 2023
Move messaging to subfolder, so update the messaging location and the schedule steps
Assigned to: Nick Huang
Updated: 10 June 2023
Added extra Interface that we alter for new changes and keep existing Interface functionality the same. (This does mean that any changes to the new interface will require changes to the custom routes that use the Extended Interface.)
Added a new toggle for the Extended use and hid this button if there is not a CustomRoute present. Furthermore, we have also altered the extended functionality features to be hidden if ExtendedCustomRoute is not checked.
Assigned to: Jacob Clark
Updated: 7 June 2024
Fix - Forgot to route original message in custom route
Assigned to: Nick Huang
Updated: 17 May 2024
Add a checkbox in Transport Route to allow user to route the original message or not
Update all stored procedures that associate to Route
Add a new function CustomRoute() and update MessageQueue class to allow the Custom Route to choose to route the original message or a list of processed messages.
Assigned to: Nick Huang
Updated: 06 Oct 2023
Assigned to: Lennox Young
Updated: 07 May 2024
Fixed procs to remove encryption id
Assigned to: Lennox Young
Updated: 07 May 2024
Fixed objects to not do the entity check when it's not provided e.g. when you create a new object.
Assigned to: Lennox Young
Updated: 01 May 2024
Updated salcor to version 3.4.1
Updated scheduling to 21.2.1