Increase queue buffer size from 100 to 1000. We should consider making this user configurable as well.
Issue: MIRTH-2665
MIRTH-2666: Modified Message so that it stores a single private reference to the merged connector message, instead of recreating a new one every time. This is done lazily (as needed), whenever Mirth/Donkey needs to get the merged connector message. JavaScriptScopeUtil has been updated so that the channel map placed in postprocessor scopes is unmodifiable, but the response map is modifiable (so that custom responses can still be placed in there). Channel.finishMessage has been updated so that it updates the source response map with the entries from the merged response map before updating it in the database.
Precompile batch adaptor patterns
Issue: MIRTH-2667
Renamed various operations to make the naming scheme consistent.
Issue: MIRTH-2657
MIRTH-2636: Moved user-specific APIs into designated wrapper classes in the server/userutil and connect/userutil packages. The only classes which should reference anything in these userutil packages are JavaScriptScopeUtil and ValueReplacer. Nearly all non-deprecated method signatures from 2.x have been preserved in the 3.0 userutil wrappers, and deprecated as necessary. To that end, the MessageObject class has been added back as a wrapper class, and JSSU adds "messageObject" back into JavaScript scopes, to keep legacy compatibility. Every deprecated method also logs an error entry to the server log as well.
The javascript attachment dialog now sets save enabled to true when OK is pressed if the script was changed.
Issue: MIRTH-2581
MIRTH-2636: Added license headers to previously added files.
MIRTH-2636: Added wrapper classes for Message and ConnectorMessage specifically for use in VTL contexts. This allows us to add the getId() method back as deprecated, so that user templates will still work (server errors will be logged though).
MIRTH-2636: Added license header to AlertSender.
Updated Donkey server build to include model and util packages so that dependent projects don't have to include the model jar separately.
Issue: MIRTH-2250
Fixed bug with migrating unrecognized connectors, the ExtensionController was being used, which wouldn't work on the client side.

Hardcoded a reference to a migrator class that will run migration on the Email Reader connector if it is detected.

Added Migrator.getUninstallStatements() method which will allow plugins to return a list of sql statements to uninstall the plugin from the database.

Extracted logic from Migrator.executeScript() that read statements from a sql file and put it into a readStatements() method so plugins can easily read statements from an uninstall script file to return via getUninstallStatements().

Added Migrator.tableExists() so that plugin Migrator classes can detect if a table exists. Replaced similar logic in ServerMigrator with a call to this method.

Added a new abstract method to Migrator: migrateSerializedData() - in case plugins need to migrate serialized content in the database as ServerMigrator does.
Issue: MIRTH-2647