MIRTH-3135: Fixed bug that caused high-volume channels to become unresponsive when multiple queue threads are used.
MIRTH-3097: Added LinkageError catches on deserialization in ObjectXMLSerializer.
MIRTH-3098: JAR files are no longer loaded into the classpath via the launcher for incompatible plugins.
MIRTH-3137: Fixed NullPointerException occurring when exporting encrypted message data.
MIRTH-3141: Fixed NumberFormatException happening when importing channels from 2.x with a blank or invalid Number of Header Records field.
MIRTH-3094: Code templates are now always appended to scripts with a terminating line feed.
Fixed destination queued messages not being processed if another queued message was deleted. The size of the queue was decremented one too many times in this scenario. Queued messages would have still be sent in the correct order, but the last message would not have been sent until the channel was restarted. This was because the queue was releasing the message after it had been invalidated, and the invalidate method now retrieves the size in order to dispatch an event. Now we are releasing the message first before invalidating the queue. Since these two operations will be synchronized if an exception was caught, no other threads will be able to access that released message from the data store before the queue is invalidated.
Issue: MIRTH-3162
MIRTH-3092: The ACK codes on the HL7 v2.x response validation properties now support comma-separated lists of values, and the defaults have been changed to "AA,CA", "AE,CE", and "AR,CR". Migration from 2.x will automatically set those as the defaults, but migration from 3.0.0 or 3.0.1 will _not_ automatically update them.