MIRTH-4159: Fixed similar issue with collapsing where multiple iterators in adjacent rows can overwrite each other. Now the invokeLater block will check if the selected node actually changed, and load the row data manually if so. This is because the list selection listener is (intentionally) not allowed to trigger while the will-collapse listener is making changes.

MIRTH-4153: Fixed issue where the dashboard filter would not work correctly when there are over 100 channels. The filter is now passed in on all requests instead of just the first one, and the servlet will correctly filter remaining channels by name.

MIRTH-4153: Fixed issue where the dashboard filter would not work correctly when there are over 100 channels. The filter is now passed in on all requests instead of just the first one, and the servlet will correctly filter remaining channels by name.

MIRTH-4159: Fixed issue where rule/step content can get mixed when expanding or collapsing Iterators without first selecting them. The expand/collapse listener will now always set the updating flag (if it isn't already), and reset it in an invokeLater block to ensure the list selection listener doesn't incorrectly update the table model.

MIRTH-4159: Fixed issue where rule/step content can get mixed when expanding or collapsing Iterators without first selecting them. The expand/collapse listener will now always set the updating flag (if it isn't already), and reset it in an invokeLater block to ensure the list selection listener doesn't incorrectly update the table model.

MIRTH-3732: Update to previous tweaks; the fix before actually caused refreshing the channel table to no longer preserve selected states. So now the controller is updated from within the tag field only when necessary.

MIRTH-4127: Added additional warnings to the reprocess/remove dialogs so that it's harder for users to accidentally affect multiple messages at once. Users are now forced to type something in deliberately in order to perform these actions, though that option can be turned off in the Administrator settings. The User Authorization roles have also been split up so administrators can choose to allow users the ability to remove/reprocess a single message but not multiple at once.

MIRTH-4129: Additional fixes for the metadata search parameters in the API. The servlet is now correctly using the "full string" representation of the operators. The JAX-RS converter is now correctly accounting for some operators being substrings of others, and also allowing the user to specify whitespace in the search terms.

MIRTH-3685: Modified the statistics update statements to use GREATEST (or CASE for SQL Server / Derby). This way statistics will be consistent and not allowed to go negative for both the in-memory Statistics cache and the actual values written to the database.

MIRTH-4055: Fixed the response status handling of the Web Service Sender to be more in line with how the HTTP Sender works. Now, the status will be forced to ERROR only when a SOAP fault is detected. In all other cases, the message will remain QUEUED.

MIRTH-4071: Fixed issue where the JavaScript authorization script stopped working after stopping/restarting an HTTP Listener. The shutdown method was being called in onStop, when it should have been called in onUndeploy.

MIRTH-3823: A new source transformer step called Destination Set Filter has been added. This allows easier use of the destination set filtering feature we added in 3.1. Users can select the behavior (remove, removeAllExcept, removeAll), the specific destinations to exclude, and the actual conditional logic, which is the same format as the Rule Builder.