Release 26.2.1 build 16547 version d04212bb4a (Tue, Sep 15, 2026) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5772: The shared cache cleanup thread now retries when the database is briefly unreachable, instead of stopping and logging an error every minute until the database returns. o Fix bug #5046: The HA in-memory table performance alert is no longer raised on MariaDB and SQL Server systems during startup when the table engine cannot yet be determined. o Fix bug #5493: qie.doSelectQuery() and pQuery.doSelectQuery() again return null when a query matches no rows, instead of returning a result that contains only the column header row. Dependency Upgrades o Upgrade jetty from version 12.1.10 to 12.1.13. Release 26.2.1 build 16546 version a8daa8b82f (Thu, Sep 10, 2026) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5493: qie.doSelectQuery() and pQuery.doSelectQuery() now return the column header row with a row count of 0 when a query matches no rows, matching qie.doQuery(); and qie.doQuery(), pQuery.doQuery() and pQuery.callStoredProcedure() again return null when a statement such as an UPDATE produces no result set. o Fix bug #5758: The Test Path button on a File source now validates the resolved source directory, so a folder or UNC share name containing a period is reported as found instead of "Path not found". o Fix bug #5758: The Test buttons for the Alternate Config Backup Path and the DICOM Storage Path now validate the entered folder instead of its parent. o Fix bug #5757: The Test Path button for the archive path on File, Network Share, and FTP nodes now preserves an absolute root supplied by a node tag such as {cc:archivePath} instead of resolving the path under the QIE working directory. Release 26.2.1 build 16544 version 073b4330a6 (Fri, Sep 4, 2026) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5755: qie.getFileName() returns the complete original filename including its path again, restoring its pre-26.2.1 behavior for existing scripts; use source.getFileName() for the leaf filename alone. o Fix bug #5754: In the Test Window, source.getFileName()/getFileDirectory() and message.getFileName()/getFileDirectory() returned empty strings; they now return the source file's name and directory, matching live processing. Release 26.2.1 build 16543 version db810b898d (Wed, Sep 2, 2026) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5518: JSON getCount() and getJSONArrayCount() now correctly count the elements of a JSON array node whether or not the node path ends with a trailing /[]. o Fix bug #5493: qie.doConditionQuery() and pQuery.doConditionQuery() again return null (not an empty message model) when the query matches no rows. Dependency Upgrades o Upgrade spring-security from version 7.0.7 to 7.1.1. o Upgrade apache camel from version 4.21.0 to 4.22.0. Release 26.2.1 build 16541 version 9d884b92e2 (Fri, Aug 21, 2026) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5719: Mask the password and SSH key passphrase in the FTP/SFTP connection test result and channel status log, and mask the basic authentication and bearer token credentials in the web service request log. Dependency Upgrades o Upgrade spring from version 7.0.8 to 7.0.9. o Upgrade spring-security from version 7.0.6 to 7.0.7. o Upgrade jackson from version 3.2.1 to 3.2.2. o Upgrade jackson-databind from version 2.22.1 to 2.22.2. Release 26.2.1 build 16540 version ba64d97fb7 (Thu, Aug 13, 2026) ---------------------------------------------------------------------------- Dependency Upgrades o Upgrade bouncycastle from version 1.84 to 1.85. o Upgrade httpClient5 from version 5.6.2 to 5.6.4. o Upgrade tika-core from version 3.3.0 to 3.3.2. Release 26.2.1 build 16539 version 7402f405b4 (Tue, Aug 4, 2026) ---------------------------------------------------------------------------- General Changes & Enhancements o Update QIE documentation to use Markdown and HTML instead of Word docs and PDF documents (enhancement #5087). o Enhance the Channel Queue destination Queue ID drop-down to display the source channel's name next to each queue ID (enhancement #5566). o Add ability to update DB/DICOM/WS Connection, Form, and Variable Names on import (enhancement #5511). o Add ability to persist Shared Cache to the database (enhancement #5522). o Improve performance of the DICOM pixel purge during the nightly purge process by using a pool of threads to delete the files (enhancement #5527). o Update Rhino script errors to use the binding name instead of the object name (enhancement #5545). o Update dependency search failure messages to be more descriptive and change alert titles from 'ERROR' to 'WARNING' (enhancement #5528). o Add ability to format X12 and Edifact messages from the editor window. The editor will simply add a line ending to each segment making it easier to read the message (enhancement #5526). o Add option for recursive folders on File, Network Share, and FTP source nodes, added source metadata node tags, added getFileDirectory() code wizard function (enhancement #5370). o Add CPU information to the monitor server resources dialog (enhancement #5513). o Add ability to configure the maximum number of log messages that are displayed in the channel status tab and test window (enhancement #5461). o Add Log Level selection to Test Window (enhancement #5460). o Update SecureSocketListener TLS handshake errors so that the logs show up on the channel and include the client IP information (enhancement #5512). o Add "Script Variable" target to standard mapping functions (enhancement #5347). o Add ability to encrypt the QIE database password used in the '-Dconnection.password' java option (enhancement #3702). o Remove Alt-D delete shortcut from Zone pages like Channel, Web Service Connection, Database Connection, etc (enhancement #5365). o Enhance script variable and shared cache to display a string value in the UI that better handles complex objects like arrays, maps, lists, etc (enhancement #5450). o Add ability to enable the "Global Alert Handler Script" without needing to enable SMTP (enhancement #5322). o Update code wizard documentation for qie.addInboundMessage() and qie.queueInboundMessage() to better describe the differences between the two (enhancement #5492). o Change enabled scheduled script to use green power button (enhancement #5496). o Add ability to add a new part to the MultiPartBuilder that uses Content-Disposition other than form-data, enabling custom, attachment, and inline (enhancement #5464). o Update calling a REST web service using the MultipartBuilder to use the content-type from the builder instead of requiring the user to pass in the content-type (enhancement #5464). o Add ability to view shared cache from the main application menu and from the test logs dialog (enhancement #5382). o Add message model to MessageModelException so that it is obvious what message model hit the exception (enhancement #5479). o Add Software Bill of Materials (SBOM) to the generated war under /WEB-INF/sbom/ (enhancement #5372). o Node Tags for Shared Cache are now available in the node tag lookup dialog (enhancement #5439). o Allow the user to delete Zone objects that are being used (enhancement #5405). o Update the ace editor search to support 1 character search. To prevent browser locking up it limits to 500 results or the java option -Dqie.maxSearchResults override (enhancement #5416). o Add note to channel stats dialog to clarify the time and count for the rolling averages (enhancement #5406). o Add ability to use custom JKS truststore for LDAP authentication (enhancement #5325). o Display Headers, Params, and Content in TabPanelLeft (enhancement #5396). o Add ability to export message cache in the Export Messages process (enhancement #5289). o Add ability to export message-specific data during messages export (enhancement #5136). o Add searchable documentation for code wizard and java options (enhancement #5227). o OpenAI API updates (enhancement #5327). o Add a note to the Require User Authentication checkbox on the HTTP Listener to clarify it is used for user interaction (enhancement #4677). o Add ability to run QIE in HA without using memory optimized tables (enhancement #5316). API Changes o Add qie.parseEDIFACTString() scripting function to parse a string as an EDIFACT message (enhancement #5530). o Add ability to pass in a native JSON object to qie.createJSONMessage(), qie.parseJSONString() and message.setJSONObject() (enhancement #5538). o Added a new node tag {r:} with corresponding qie.resolve() method, useful for QIE conversion projects (enhancement #5509). o Update qie.doQuery(), qie.doSelectQuery(), and qie.doQueryParameterized() to return an empty CSV message model instead of a null value when no query results are found (enhancement #5493). o Added 2 new email methods: qie.sendEmailWithCC, qie.queueEmailWithCC (enhancement #5491). o Add new qie.isChannelDebug() call that will return true if the user is in the test window, or the channel logging is set to debug (enhancement #5464). o Enhanced the existing deduceBoolean method to accept an "expanded" parameter that recognizes a wider range of commonly used boolean-like values (enhancement #5481). o Added NodeTags for shared cache (enhancement #5439). o Add getHL7FieldCount() and change getRepetitionCount() to getHL7RepetitionCount() for HL7 messages (enhancement #5430) o Add getASTMFieldCount() and getASTMRepetitionCount() for ASTM message (enhancement #5430) o Add ability to pass the field repetition instance for checkNodeExists(), getNode() and setNode() calls for HL7 and ASTM messages (enhancement #5433) o Enhance JSON message model with new function 'removeFromJSONArray' (enhancement #5446). o Add new sharedCache object having a feature set similar to messageCache and channelCache (enhancement #5371). o Deprecate the qie.sharedCache() methods. Add new sharedCache object for consistency with messageCache/sharedCache (enhancement #5371). Bug Fixes o Fix bug #5702: Message Cache doesn't escape HTML br tags. o Fix bug #5693: A DICOM listener configured with the same SOP class in more than one transfer syntax now advertises all of them, instead of only the last one listed. o Fix bug #5685: Speed up the HTML-detection regex used for XSS escaping so long field values no longer hang the UI, and escape tags whose attributes are separated by tabs or newlines. o Fix bug #5676: The 'Invert Search (not)' message search option on the Completed, Processing, Outbound, and Error tabs returned all messages instead of only the messages that do not match; inverted searches now also cover response text and messages with no error text. o Fix bug #5675: Clicking the search icon after hand-clearing the message or source search box no longer throws a 'Query format invalid' error; a blank search dialog opens instead. o Fix bug #5661: Stop the MSSQL database permissions alert from falsely firing when the database name contains a period or other special characters. o Fix bug #5639: The two-argument qie.deduceBoolean(value, expanded) scripting form threw an EvaluatorException instead of evaluating the value against the expanded set of boolean-like values. o Fix bug #5638: REST web service calls no longer hang when the endpoint returns HTTP 429 or 503 with a Retry-After header; the response is returned to the calling script immediately. o Fix bug #5616: A DICOM message received while its channel is stopping is no longer placed in the error queue; the receiver now declines it without an acknowledgment so the sending system resends it after the channel restarts. o Fix bug #5616: A channel stop could abandon the acknowledgment for a message that was already received and persisted, causing the sending system to re-send the message and create a duplicate after restart; the stop now drains in-flight acknowledgments on both receivers and senders (configurable via the new qie.ackDrainTimeoutInSeconds java option). o Fix bug #5620: ASTM socket sends that lose an ENQ/ENQ contention race now back off for a randomized interval rather than a fixed one second, so two endpoints sending at the same time no longer retry in lock-step and repeatedly re-collide. o Fix bug #4921: Back and Forward buttons no longer log the user out; they now step through the in-app navigation history and the back button is blocked while a modal window is open. o Fix bug #5602: Message and source filter indexers now self-recover from a duplicate-index constraint violation instead of looping on the same message indefinitely. o Fix bug #5581: HL7 messages reassigned mid-flow in a DICOM channel now display correctly on the Completed tab. o Fix bug #5558: The channel cache field no longer requires a selection when editing a published mapping, which has no access to channel caches. o Fix bug #5548: System Variable object in Node Tag Lookup doesn't show all System Variables. o Fix bug #5549: Correct node path lookups for CSV in the Node Lookup dialog. o Fix bug #5567: Zone color displays incorrectly when creating a new zone. o Fix bug #5544: Always import the pre-processor script settings. o Fix bug #5532: DICOM getNode('/') should return toString(). o Fix bug #5448: Very rarely a dicom listening port will hang. This addresses those rare cases. o Fix bug #5553: XML addChild() does not correctly account for whitespace and can sometimes create duplicate tags. o Fix bug #5551: Uncaught client exception is thrown if the OptimisticLockException is deeper in the stack trace than the first caused by. o Fix bug #5547: HA channel restart can cause messages to error when postMessageResponse() is called after the restart and the message was processed by a different node than the original. o Fix bug #5534: DICOM getNode(), getAllNodes(), and getLastNode() broken with wildcard nodepath. o Fix bug #5535: Empty DICOM sequences are displaying '1' in the VM column. o Fix bug #5526: Pasting X12 or Edifact messages into the editor cause client side exceptions. o Fix bug #5525: Not able to check Import Sample Messages and Overwrite Existing Channel Cache at the same time. o Fix bug #5520: Fix labels and order in the source type drop-downs for the Node Tag lookup dialog, Mapping function dialogs and Database Query/Web Service parameter source drop-downs. o Fix bug #5370: Trailing comma in config causes UI error in Standard WS Mapping for OpenAI operation containing error. o Fix bug #5518: JSON getCount() returns the wrong number of values when the object is an array. o Fix bug #5517: JSON removeAllNodes() does not remove both matching nodes in an array if they are next to each other in the array. o Fix bug #5516: JSON Array Filtering does not return the object if the separator '/' is the only thing after the filter '[]'. o Fix bug #5507: UTF-8 characters do not display in the source and message tab on the channel page. o Fix bug #5013: Searching for messages with date/time strings that are not 8 or 17 digits in length causes an error. o Fix bug #5505: Exception thrown when loading channel messages that have had the message or response purged. o Fix bug #5503: getNode('MSH-1') should return '|', not 'MSH'. o Fix bug #5469: Unable to enter a channel cache value longer than 223 characters. o Fix bug #5499: Paused channel processes messages when the QIE environment is processing a high volume of messages. o Fix bug #5441: Cancel button on Mapping Function and Condition Item dialogs still allow changes to show. o Fix bug #5498: Pasting text into a text editor pops an client-side exception dialog. o Fix bug #5494: Clear the AI Companion question field when a new thread is selected. o Fix bug #5489: [required] node tag indicator is not working with the parse-as indicator. o Fix bug #5485: 'Extract & Format Code' fails on some valid JSON messages. o Fix bug #5394: Database source and destination node's parameterized query parameter does not delete when the parameter when it is removed from the SQL statement. o Fix bug #5362: Change 'Msg' to 'Src id' in channel status log. o Fix bug #5362: Change 'Message ID' label to 'Source ID' in channel status log detail dialog and error form dialog. o Fix bug #3942: Move the 'Refresh From Script' menu buttons into the sample message editors on both the Sample Message dialog and the Test Window. o Fix bug #5390: Script Variables cannot be used in a Custom Script destination. o Fix bug #5422: Script Variables not being added to auto complete. o Fix bug #5409: Calling createTextMessage() without encoding does not use default channel encoding. o Fix bug #5471: Importing channel with changes to condition or mapping nodes don't take effect until after user modifies the channel after import. o Fix bug #5430: Fix checkNodeExists(), setNode() and getNode() to all return the same error when instance is used in both nodePath and as a method parameter. o Fix bug #5458: JsonMessageModel returning false for an empty string in the checkNodeIsBlank() call. o Fix bug #5456: Sample message refresh script returns a NativeJavaObject instead of a string or byt[]. o Fix bug #5370: Code completion function documentation pop-up can be rendered partially off-screen. o Fix bug #5428: Deadlock resolving and discard erred message with split table. o Fix Bug #5427: Escape key should only close pop-up windows. o Fix bug #5421: Exception thrown when saving channel cache after two threads update at the same time. o Fix bug #5411: Bug in HPath Filter with MSH/FHS/BHS segments. o Fix bug #5419: Saving updated channel cache is locking the whole system instead of just the one channel. o Fix bug #5408: System Variable string values with UTF-8 characters are corrupted after export and import configuration. o Fix bug #5407: Client exception when opening the channel stats in an HA environment. o Fix bug #5402: CSV header row is removed when using group by row count set to blank and check the ignore empty rows. o Fix bug #5403: Resizing revision history compare window does not keep the left and right windows the same size. o Fix bug #5403: Always use the code comparison window instead of a text comparison window. o Fix bug #5401: Revision history unsaved changes showing as the before instead of as the after. o Fix bug #5388: Fix the node titles and descriptions in the visual channel editor. o Fix bug #5369: Remove import only option from the test query results table and the FormattedCsvDialog. o Fix bug #5386: Pass database connection name to the AI agent. o Fix bug #5387: Message and Completed tabs should not scroll. o Fix bug #4839: Move/Save-as "Resolve Dependencies" randomly appears to not find dependencies. o Fix bug #5344: Mixed Base64 utils corrupt DICOM file. o Fix bug #5336: Dicom Test Button from Connections page fails when C-ECHO is not present in capability set. o Fix bug #5356: Dicom Preview Image button was not converting correctly as many image types as it should have been. o Fix bug #5332: Purge can run out of memory with messages that contain 1 million+ log messages. o Fix Bug #5319: Remove "Description" field on both the source and destination node custom script. o Fix bug #5324: Import of XML with multibyte UTF characters munges the characters. o Fix bug #5317: Oauth GET requests error because they do not have payloads. o Fix bug #4651: Allow blank channel cache. o Fix bug #2809: Zones not sorted correctly in License Group dialog. o Fix bug #5306: SQL Assistant can return more tables than needed. o Fix bug #4521: Mapping Function Condition: Unchecking the "Condition" checkbox does not fire change event. Dependency Upgrades o Upgrade parsson from version 1.1.7 to 1.1.9. o Upgrade jetty from version 12.1.7 to 12.1.10. o Upgrade bouncy castle from version 1.83 to 1.84. o Upgrade apache camel from version 4.18.0 to 4.21.0. o Upgrade log4j from version 2.25.3 to 2.26.1. o Upgrade jaxws-rt from version 4.0.3 to 4.0.4. o Upgrade commons-net from version 3.12.0 to 3.13.0. o Remove dependency on com.fasterxml.jackson.core:jackson-core. o Upgrade hibernate from version 7.1.7.Final to 7.1.20.Final. o Add dependency to tools.jackson.core:jackson-core and jackson-databind version 3.2.1. o Upgrade jakarta.xml.ws-api from version 4.0.2 to 4.0.3. o Upgrade spring from version 6.2.12 to 7.0.8. o Upgrade spring-security from version 6.5.9 to 7.0.6. o Upgrade GWT from version 2.12.2 to 2.13.0. o Upgrade httpclient5 from version 5.5.1 to 5.6.2. o Upgrade commons-codec from version 1.20.0 to 1.21.0. o Upgrade awssdk:auth from version 2.38.4 to 2.42.24. o Upgrade mariadb-java-client from version 3.5.6 to 3.5.9. o Upgrade bouncycastle from version 1.82 to 1.83. o Upgrade tomcat-jdbc from version 11.0.14 to 11.0.20. o Upgrade commons-lang3 from version 3.19.0 to 3.20.0. o Upgrade commons-text from version 1.14.0 to 1.15.0. o Upgrade oauth2-oidc-sdk from version 11.30.1 to 11.37. o Upgrade rsyntaxtextarea from version 3.6.0 to 3.6.2. o Upgrade commons-cli from version 1.10.0 to 1.11.0. o Upgrade dcm4che from version 5.34.1 to 5.34.2. o Upgrade jackson-databind from version 2.20.1 to 2.22.1. o Upgrade rhino script engine from version 1.8.1 to 1.9.1. Release 25.4.1 build 16524 version a7764518f3 (Wed, Mar 25, 2026) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5471: Importing channel with changes to condition or mapping nodes don't take effect until after user modifies the channel after import. Dependency Upgrades o Update dependency on log4j-slf4j-impl to log4j-slf4j2-impl. o Upgrade apache camel from version 4.16.0 to 4.18.0. o Upgrade jetty from version 12.1.4 to 12.1.7. o Upgrade spring-security from version 6.5.6 to 6.5.9. Release 25.4.1 build 16523 version 9934c6722d (Wed, Feb 25, 2026) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5410: Error queue counts are always set to zero after purge on channels that are using table split. Release 25.4.1 build 16522 version fe5c57cf9e (Mon, Feb 23, 2026) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5429: Processor throws exception during startup of the channel that is not fully initialized. o Fix bug #5428: Deadlock resolving and discard erred message with split table. Release 25.4.1 build 16521 version 0a8522c6ad (Sun, Feb 1, 2026) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5392: Disable table split when running SQL Server 2017. Release 25.4.1 build 16519 version f6dcd81b8f (Fri, Jan 23, 2026) ---------------------------------------------------------------------------- General Changes & Enhancements o Add instance information to all log messages in the senders and receivers (enhancement #5358). Bug Fixes o Fix bug #5374: Unable to focus on ace editor when a published function uses 'param=""' as the parameter (using a default value). o Fix bug #5306: SQL Assistant can return more tables than needed. o Fix bug #5359: User input fields like object names that are rendered are exposed to XSS attacks for authenticated users. Release 25.4.1 build 16513 version 925f2e68bb (Mon, Jan 5, 2026) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5352: Ai does not display pasted XML correctly and returns 500 error. o Fix bug #5346: "Save as" copies MessageDataLocation when it shouldn't. o Fix bug #5326: Bugs in OpenAI API Web Service generated code for parts. o Fix bug #5330: Channel using table split doesn't populate zone name in log dialog. o Fix bug #5318: Monitor server resources heap totals are not valid and show values greater than the -Xmx limit. Dependency Upgrades o Upgrade log4j from version 2.25.2 to 2.25.3. o Upgrade Rhino script engine from version 1.8.0 to 1.8.1. Release 25.4.1 build 16511 version e0b3b281eb (Wed, Nov 19, 2025) ---------------------------------------------------------------------------- General Changes & Enhancements o Add limit to concurrent HTML to PDF conversions that can happen at the same time to prevent memory errors (enhancement #5313). o Expand postMessageResponse to generate additional example snippets (enhancement #4978). o Add ability to use a cached connection pool for http requests (enhancement #5307). o Add new Location field to the web service function dialog that is appended to the base URL (enhancement #5303). o Add ability to specify CSV field separator in the standard create CSV message dialog (enhancement #5175). o Update standard web service mapping dialog to retain web service parameters when changing the web service connection to a new one that has the same REST type (enhancement #5288). o Add ability to force a new DICOM association between every request (enhancement #5231). o When searching messages based on path, the "Exact Match" option was removed and the node path matching was enhanced to be more efficient (enhancement #5040). o Add ability to disable column sorting on a system variable table (enhancement #5109). o Add ability to have a first-in-first-out channel based on an ID field in the message (enhancement #4173). o Add node information to sender log entries when running in HA environment (enhancement #5292). o Add alert if the environment is using a qieLauncher that relies on RMI instead of plain socket (enhancement #4883). o Add new Global Error Handler that can handle error messages from all channels in the environment (enhancement #4354). API Changes o Add ability to append to a file using qie.appendToFile (see enhancement #5085). Bug Fixes o Fix bug #5315: WsConnection: IHE Web Service Profiles are not saved when saving the WS Connection. o Fix bug #5310: FTP/File Sender reporting large file handling error alert when it should not. o Fix bug #5309: Exceptions thrown when calling source.getNode() from multiple node paths on a complex channel. o Fix bug #5306: Unselecting Override URL does not reset the URL correctly. o Fix bug #5261: Host and Schema fields are no longer required for DB Connections when manually setting the connection URL. o Fix bug #5305: Channel properties dialog always reports missing value on alternate email addresses for alerts when changing other non-related properties. o Fix bug #5297: License Notes tool tip on About dialog is truncated when it contains an apostrophe. o Fix bug #5285: Log entry shows as a blank line in the grid. o Fix bug #5089: Degraded HA environment admin alert is not removed when switching from an HA configuration to a non-HA configuration. o Fix bug #5287: NullPointerException loading ServerDicomResponse. o Fix bug #5271: Published functions are not included in the auto-complete when creating a scheduled script. o Fix bug #5286: Database deadlock exception thrown when deleting the search worker object. o Fix bug #5280: Hyperlinks in the auto-complete snippets do not work. o Fix bug #4969: XML Editor error parsing valid XML. o Fix bug #5009: Fix UI issue with node path lookup using XML with special characters. o Fix bug #4979: Extract and Format does not work for JSON array. o Fix bug #5272: Unable to import some PFX certificate and private key files. o Fix bug #4528: Changes made to the messageModel are not retained if a call to message.discard() is made in the same mapping node. o Fix bug #4386: Unable to open SOAP web service mapping function after changing the wsConnection on another tab. o Fix bug #5253: Preprocessing scripts logs do not show in test window logs. o Fix bug #5277: Client exception when quickly navigating through multiple channels in the QIE console. Dependency Upgrades o Upgrade commons-io from version 2.20.0 to 2.21.0. o Upgrade commons-codec from version 1.19.0 to 1.20.0. o Upgrade jackson-core and jackson-databind from version 2.20.0 to 2.20.1. o Upgrade spring security from version 6.5.5 to 6.5.6. o Upgrade spring from version 6.2.11 to 6.2.12. o Upgrade tomcat-jdbc from version 11.0.11 to 11.0.14. o Upgrade mysql-jdbc from version 13.2.0.jre11 to 13.2.1.jre11. o Upgrade bouncy-castle from version 1.81 to 1.82. o Upgrade Apache camel from version 4.14.0 to 4.16.0. o Upgrade dcm4che from version 5.34.0 to 5.34.1. o Upgrade jetty from version 12.1.0 to 12.1.4. o Upgrade log4j from version 2.25.1 to 2.25.2. o Upgrade mariadb-jdbc-driver from version 3.5.5 to 3.5.6. o Upgrade httpclient5 from version 5.5 to 5.5.1. o Upgrade commons-lang3 from version 3.18.0 to 3.19.0. o Upgrade oauth2-oidc-sdk from version 11.28 to 11.30.1. o Upgrade jakarta.mail-api from version 2.1.4 to 2.1.5. o Upgrade angus-mail from version 2.0.4 to 2.0.5. o Upgrade jakarta.activation-api from version 2.1.3 to 2.1.4. o Upgrade tika-core from version 3.2.2 to 3.2.3. o Upgrade soapui from version 5.9.0 to 5.9.1. o Upgrade awssdk:auth from version 2.33.4 to 2.38.4. o Upgrade hibernate from version 6.6.28.Final to 7.1.7.Final. Release 25.3.1 build 16500 version caf3a6ca49 (Mon, Dec 22, 2025) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5343: Mutex for loading messages from the database deleted in error when pod shuts down. Release 25.3.1 build 16499 version 9795185321 (Thu, Oct 23, 2025) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5291: Mssql-jdbc driver version 13.x requires additional DB permissions causing QIE to fail starting up after upgrade. o Fix bug #5290: Checkbox on Oauth2 with credentials to include basic authentication in token request is not working. o Fix bug #5295: Exception thrown when trying to preview DICOM image. Dependency Upgrades o Fix bug #5291: Downgrade mssql-jdbc from version 13.2.1.jre11 to 12.10.2.jre11. Release 25.3.1 build 16498 version 4dffd576e9 (Fri, Oct 17, 2025) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5287: NullPointerException loading ServerDicomResponse. o Fix bug #5286: Database deadlock exception thrown when deleting the search worker object. Release 25.3.1 build 16497 version c8c7835f4 (Wed, Oct 1, 2025) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5268: Message detail dialog log messages accumulate when using next and previous buttons. Dependency Upgrades o Update spring from version 6.2.10 to 6.2.11. o Update spring-security from version 6.5.3 to 6.5.5. Release 25.3.1 build 16496 version be073d667a (Fri, Sep 18, 2025) ---------------------------------------------------------------------------- General Changes & Enhancements o Add ability to authenticate users using OpenID Connect (OIDC) providers such as Microsoft Entrada ID (enhancement #5094). o Enhance node tag lookup to prepend 's:' to source node tags generated (Enhancement #4827). o Add ability to filter threads by name, type, channel, or messageId in the view threads dialog (enhancement #5249). o Display the FTP URI when testing the connection (enhancement #5217). o Break the logged FTP URI parameters onto separate lines to improve readability (enhancement #5217). o Update channel receivers to no longer update the channelCache "LAST_RUN" value (enhancement #5218). o Update jetty thread names to have the process or channel name making it easier to work with thread dumps (enhancement #5246). o Add SQL AI Assistance to AI Module (enhancement #5005). o Add ability to use AWS Default Credentials Provider to obtain credentials for AWS Signature (enhancement #5229). o Enable message table split (enhancement #5129). o Added the ability to use node paths/channelCache variables in Web Service Configurations (enhancement #5057). o Web Service token content is now edited via a table editor for clarity and accuracy and template drop down was added (enhancement #5059). o Web Service token config field is now 17 lines instead of 10, and some helpful description text has been added based on the type of WS being created (enhancement #4773). o Added a test button for Web Service OAuth with JWT configurations (enhancement #5035). o Add ability for socket receivers to accept proxy protocol v2 headers (enhancement #5219). o Add new 'Alt+W' hotkey to toggle word wrap in when an editor (enhancement #4975). o Introduce schema update for table split (enhancement #5201). API Changes o Add ability to convert well-formatted XHTML to a PDF document (enhancement #5078). Bug Fixes o Fix bug #5270: Exceptions occurring during reading of Dicom files with split-pixel enabled can leave orphaned pixel data files behind. o Fix bug #5269: Nightly backup fails in HA environments on occasion when trying to purge old admin alerts. o Fix bug #4958: WsConnection ClientCookieJar code only sends last cookie in the jar. o Fix bug #4954: Fixed race condition causing Search Worker to abort after 30 seconds when performing certain searches. o Fix bug #5019: Add detail to rejected incoming DICOM connections. o Fix bug #5028: Enhance javax. scripting errors to include hint to use Packages.jakarta. o Fix bug #5103: Invalid and selected fields are not highlighted. o Fix bug #4770: Unable to import DER encoded certificates. o Fix bug #5056: Clear encryption setting when changing from FTP to SFTP. o Fix bug #5202: Loading spinner prevents user interaction after error saving Channel. o Fix bug #5244: Invalid path alert displays incorrectly when testing the alternate backup path with an invalid path. o Fix bug #5245: Thread status dialog throws an exception about the CompositeId if a processor thread is processing a message when the dialog is opened. o Fix bug #4804: Disable Find Dependencies menu option when new object is not yet saved. o Fix bug #5086: Purge log messages should not include null values. o Fix bug #5103: Invalid and selected fields are not highlighted. o Fix bug #5243: Queue Receiver responds will return null instead of the content of the qie.postMessageResponse(). o Fix bug #5242: Exception is thrown if running a test message on an unsaved channel. o Fix bug #5236: When viewing large DICOM fields through the UI an exception was thrown if fields exceeded 20MB. o Fix bug #5232: Error message not shown when setting retention policy too high. o Fix bug #5198: Message path for processed messages does not match the channel in some circumstances. o Fix bug #5077: Old DB Connection information can get re-cached in some instances due to race conditions. o Fix bug #5176: Group is not honored when extending the path on HL7, X12, ASTM, and Edifact message models. Dependency Upgrades o Upgrade jakarta.mail-api from version 2.1.3 to 2.1.4. o Add dependency for oauth2-oidc-sdk version 11.28 (enhancement #5094). o Upgrade jjwt from version 0.12.6 to 0.13.0. o Add direct dependency to the angus-mail package that was included in the jaxws-rt package, updated to version 2.0.4. o Upgrade commons-cli from version 1.9.0 to 1.10.0. o Upgrade commons-net from version 3.11.1 to 3.12.0. o Upgrade tomact-jdbc from version 11.0.9 to 11.0.10. o Upgrade commons-text from version 1.13.1 to 1.14.0. o Upgrade commons-csv from version 1.14.0 to 1.14.1. o Upgrade commons-compress from version 1.27.1 to 1.28.0. o Upgrade commons-fileupload2-jakarta version 2.0.0-M1 to commons-fileupload2-jarkarta-servlet6 version 2.0.0-M4. o Remove dependency to commons-lang, commons-lang3 will be used instead (enhancement #5239). o Upgrade dcm4che from version 5.33.1 to 5.34.0. o Upgrade log4j from version 2.24.3 to 2.25.1. o Upgrade mariadb jdbc driver from version 3.5.3 to 3.5.5. o Upgrade mssql jdbc driver from version 12.10.0.jre11 to 13.2.0.jre11. o Upgrade commons-io from version 2.19.0 to 2.20.0. o Upgrade commons-lang3 from version 3.17.0 to 3.18.0. o Upgrade commons-codec from version 1.18.0 to 1.19.0. o Upgrade soapui from version 5.8.0 to 5.9.0. o Add dependency to awssdk:auth version 2.33.4 (enhancement #5229). o Upgrade commons-beanutils from version 1.10.1 to 1.11.0. o Upgrade tika-core from version 3.1.0 to 3.2.2. o Upgrade apache camel from version 4.11.0 to 4.14.0. o Upgrade Rhino script engine from version 1.7.15 to 1.8.0. o Upgrade bouncycastle from version 1.78.1 to 1.81. o Upgrade Hibernate from version 6.6.13.Final to 6.6.28.Final. o Upgrade Jetty from version 12.0.19 to 12.1.0. o Upgrade Spring from version 6.2.6 to 6.2.10. o Upgrade SpringSecurity from version 6.4.5 to 6.5.3. o Upgrade tomcat-jdbc from version 11.0.6 to 11.0.11. o Upgrade httpclient5 from version 5.4.3 to 5.5. o Upgrade jackson-core and jackson-databind from version 2.18.3 to 2.20.0. o Add dependency to flying-saucer version 9.13.3 to support HTML to PDF conversions (enhancement #5078). Release 25.2.1 build 16487 version ae34569a8f (Wed, Sep 17, 2025) ---------------------------------------------------------------------------- Bug Fixes o Fix channel status refresh exception when environment is using deprecated forms module. Release 25.2.1 build 16486 version e4c01a2a0f (Fri, Sep 12, 2025) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5274: Channel logs from another channel showing when running in HA mode. o Fix bug #5276: Unable to send email via smtps from a mapping script. o Fix bug #5273: getDicomBytesForFile() fails when split pixel data is enabled and the dicom file contains no pixel data. Release 25.2.1 build 16485 version 9ac2868c3a (Tue, Sep 9, 2025) ---------------------------------------------------------------------------- General Changes & Enhancements o Add ability to use node tags in DICOM storage path (enhancement #5257). Bug Fixes o Fix bug purging legacy pixel data. o Fix bug #5265: Implicit Little Endian encoded DICOM files fail to reattach pixel data when the Source Node is "File". o Fix bug #5267: Purge performance problems when splitting the DICOM pixel data to storage. o Fix bug #5221: Split DICOM pixel data into a separate file only when pixel data exists. o Fix bug #5222: When a DICOM association becomes invalid it can sometimes prevent other DICOM files from processing correctly. Release 25.2.1 build 16483 version b6a3218041 (Thu, Aug 21, 2025) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5254: UserID's that are full email addresses are unable log into QIE and change password. Release 25.2.1 build 16482 version d5f83acfba (Wed, Aug 6, 2025) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5241: Unable to load message from database due to message cache values missing channel id. o Fix bug #5248: Search thread dies without logging out the error to the log file. Release 25.2.1 build 16481 version b4a3fff91c (Tue, Jul 22, 2025) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5238: Reconcile forms and Patient Not Found forms throw an exception because they are unable to get the log4j logger. Release 25.2.1 build 16479 version dbaa1a9bc6 (Tue, Jul 1, 2025) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5228: IIS Reconcile Post not working. o Fix bug #5226: Source message detail shows message as being 'Sent' instead of 'Received'. Release 25.2.1 build 16478 version b5d277716c (Thu, Jun 26, 2025) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5224: Error management form buttons and email URL are not working. Release 25.2.1 build 16477 version 46c554f0c0 (Fri, Jun 20, 2025) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5223: QIE is unable to start if the environment is using old database that has INT for the messageId's instead of BIGINT. Release 25.2.1 build 16476 version 7a1d286049 (Thu, Jun 12, 2025) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5220: Database constraints and indexes only drop the first when there are multiple on startup. Release 25.2.1 build 16475 version f515f07746 (Wed, Jun 4, 2025) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5216: FTP receiver does not re-evaluate node tags in the source path between checks. o Fix bug #5215: Starting channel in package throws exception due to no thread context user ID. o Fix bug #5212: Hibernate Upgrade causes service to stop during schema update on old databases. o Fix bug #5208: Incorrect label on error detail screen for child message ID. Release 25.2.1 build 16473 version 9aa694e5d8 (Wed, May 21, 2025) ---------------------------------------------------------------------------- General Changes & Enhancements o Add progress bar to log export process to allow user feedback on process time (enhancement #5149). o Change destination node description from "Channel Queue" to "Queue" (enhancement #5194). o Update code wizard documentation for Force Node parameter in the message.setAllNodes() and message.setNode() (enhancement #5162). o Adjust length of db_connection.connection_url from 16384 to 8000 so that it doesn't try to exceed the max length in MSSQL (enhancement #5179). o MySQL HA: Remove Admin Alert for Memory Tables using InnoDB (enhancement #5177). o Enhance error messages for PGP decryption (enhancement #5169). o Add ability to log out arrays with new StringUtils.arrayToString() method (enhancement #5091). o Added ability to use node tags on Stream Path for FileReceiver, NetworkShareReceiver, and FTPReceiver (enhancement #5111). o Add ability to pass in the error message to use in the email alert when calling qie.throwAckError() (enhancement #5058). o Add AI web service connection type (enhancement #5006). o Add AI chat support to QIE (enhancement #5025). o Add new security headers and the ability to set custom security headers on the console (enhancement #5116). o Add ability to use node tags on the FTP or Socket host fields (enhancement #4541). o Add JSHint ignore commands to the code wizard (enhancement #5090). o Update Management API to mock a response to a start channel request in a development environment (enhancement #5102). o Add date filters to Advanced Message Search (enhancement #4972). o Update cloud license engine to support reporting monthly amounts instead of daily (enhancement #5071). o Add utility helpers to make it easier to make multipart web service calls (enhancement #5079). o Add java option to have QIE not use the default database password (enhancement #5082). o Add HAPI R4b to code wizard (enhancement #5084). Bug Fixes o Fix bug #5209: Log view editor displays as JSON instead of TXT causing syntax error highlighting. o Fix bug #5199: Keyboard shortcut for Editor option "View -> Go to -> Error" was not working correctly. o Fix bug #5081: Saving channel overwrites newer changes in published mapping. o Fix bug #5130: Purging messages on channels with views configured can trigger lock timeout exceptions. o Fix bug #5189: Import fails with error: Unable to find field: apiKey on class: ServerWsConnection. o Fix bug #5197: Channel with published mapping randomly shows as deleted in revision history. o Fix bug #5051: Channel Queue sender does not retry the message or error it when no ACK is received, but is expected. o Fix bug #5183: Slow channel load on channels with a large number of channel nodes on the visual channel editor. o Fix bug #5170: Add DicomResponse to database migration. o Fix bug #5182: Failed and corrupted nightly message purge process prevents all future nightly purges. o Fix bug #4831: Two identical private keys with different names in the same zone cause exceptions on both import and export. o Fix bug #5160: Exception thrown when adding a second parameter in WS mapping. o Fix bug #5151: Using a file destination with Large File Handling Option "Stream messages to disk" gets null error and creates 0 byte file. o Fix bug #5152: qie.getStreamPath returns null when option is not checked. o Fix bug #5127: Ace Editor Typing and then navigating via arrow keys or mouse and then typing more resulted in double undo. o Fix bug #5158: Web service connection that uses 'OAuth2 with JWT' has the signing certificate labeled as 'Private Key' instead of 'Signing Cert'. o Fix bug #5134: Script variables with the same name as a reserved word breaks built-in functions. o Fix bug #5145: QIE not shutting down with critical error when it is not able to persist messages to the inbound queue. o Fix bug #4564: Table header and row cells do not show whitespace in their values when in non-edit mode. o Fix bug #5069: Adding DICOM Services on a source node and then not saving/cancelling and switching back to Accept All Presentation Contexts throws exception. o Fix bug #5111: Stream Large Files option doesn't work right when Stream Path is a channel cache variable. o Fix bug #5054: Renaming DB Connection name causes the old named connection to remain in cache. o Fix bug #5054: Update channel load so that the latest version of the Variables, WS Connections, DICOM Connections, and DB Connections are used instead of the version with the channel. o Fix bug #5133: HTTPReceiver ignored java option for qie.maxThreadPoolThreads, and qie.minThreadPoolThreads if the checkbox on the source node is not checked. o Fix bug #5115: Message exception log messages display as JSON instead of TXT causing syntax highlighting errors. o Fix bug #5105: Arrow keys to navigate message model tree editor stop working after first arrow key. o Fix bug with self-signed certificate generation where the SubjectAlternativeName is added to the certificate as a blank value (this is not allowed in Java 21). o Fix bug where old self-signed certificates can't load with Java 21 because of a blank SubjectAlternativeName tag, when using BouncyCastle it can still read the certificate up. o Fix bug #5117: white space is now preserved inside comment blocks and multi-line string literals when using auto-indent. o Fix bug #5110: MappingFunctionDialog: Switching between connections causes inconsistent UI. o Fix bug #5093: Source node set to manually run will execute on multiple nodes in a cluster under some conditions. o Fix bug #5099: Invalid message error with FixedLength when the first field is a 1 character field. o Fix bug #5063: Exception thrown when formatting XML without prolog and the environment is using the hapiQie-6.10.5.jar. Dependency Upgrades o Upgrade analytics-core and out-app-analytics-provider in SoapUI from 5.5.4 to 5.5.5. o Upgrade mssql-jdbc from 12.8.1.jre11 to 12.10.0.jre11. o Add out-app-analytics-provider dependency due to soapui upgrade. o Upgrade equalsverifier from version 3.16.1 to 3.18.1. o Upgrade Log4j from version 2.24.0 to 2.24.3. o Upgrade jakarta.xml.ws-api from version 3.0.1 to 4.0.2. o Upgrade soapui from version 5.5.0 to 5.8.0. o Upgrade rsyntaxtextarea from version 3.5.1 to 3.6.0. o Upgrade tika-core from version 2.9.2 to 3.1.0. o Upgrade mariadb-java-client from version 3.4.1 to 3.5.3. o Upgrade httpclient5 from version 5.3.1 to 5.4.3. o Remove jaxb-impl dependency. o Upgrade tomcat-jdbc from version 10.1.28 to 11.0.6. o Upgrade Jetty from version 12.0.12 to 12.0.19. o Upgrade jaxws-rt from version 3.0.2 to 4.0.3. o Upgrade jackson-core, jackson-databind from version 2.17.2 to 2.18.3. o Upgrade amqp-client from version 5.21.0 to 5.24.0. o Upgrade Apache Camel from version 4.7.0 to 4.11.0. o Upgrade commons-beanutils from version 1.9.4 to 1.10.1. o Upgrade commons-io from version 2.16.1 to 2.19.0. o Upgrade commons-codec from version 1.17.0 to 1.18.0. o Upgrade commons-text from version 1.11.0 to 1.13.1. o Upgrade commons-csv from version 1.11.0 to 1.14.0. o Upgrade commons-compress from version 1.26.1 to 1.27.1. o Upgrade commons-lang3 from version 3.16.0 to 3.17.0. o Upgrade Hibernate from 5.6.15.Final to 6.6.13.Final. o Upgrade dcm4che from version 5.28.0 to 5.33.1. o Upgrade GWT from version 2.11.0 to 2.12.2. o Upgrade Spring from version 6.1.12 to 6.2.6. o Upgrade Spring-Security from version 6.3.2 to 6.4.5. o Upgrade jakarta.mail-api from version 2.0.1 to 2.1.3. o Remove com.sun.mail.jakarta.mail dependency. o Remove log4j-web dependency. o Remove javax.servlet-api dependency. o Remove jakarta.json-api version 1.1.6 dependency. o Remove woodstox-core dependency. o Remove log4j-1.2-api dependency. Release 24.3.1 build 16463 version 1bf142c27b (Fri, Jan 17, 2025) ---------------------------------------------------------------------------- General Changes & Enhancements o Add new security headers and the ability to set custom security headers on the console (enhancement #5116). Bug Fixes o Fix bug #5120: HTTP Receiver: Exception thrown when requiring user authentication. Release 24.3.1 build 16462 version 50cb51eb73 (Thu, Dec 12, 2024) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5098: Calling the probePort without a query was hanging indefinitely. Release 24.3.1 build 16461 version 8cd96f7c7f (Wed, Nov 20, 2024) ---------------------------------------------------------------------------- General Changes & Enhancements o Added a note stating that channel log entries are not in the zone and global status pages for clarity. Release 24.3.1 build 16460 version f93e49ca1a (Fri, Oct 25, 2024) ---------------------------------------------------------------------------- General Changes & Enhancements o Add ability to use system variable node tags in FTP Apache Camel parameters (enhancement #4448). o Add ability to use node tags on FTP or Socket host (enhancement #4541). o Channel Queue Id drop down selection is now alphabetically organized for easier selection (enhancement #4999). Bug Fixes o Fix bug #5049: NPE occurs when querying enable_pixel_removal column on channel. o Fix bug #5039: JSON float values that end in .0 are converted to scientific notation. o Fix bug #5046: MySQL 8.x does not support MEMORY engine in HA environments. o Fix bug #5045: Excess queries to update instance queue counts in HA environment. o Fix bug #5047: Remove references to EOL database engines in the Windows installer and database examples. o Fix bug #4073: Cntrl-z undoes twice what it should. o Fix bug #5032: Allow all LDAP configuration options to be edited on the system config page. o Fix bug #5016: Exporting Log from channel fails in HA environments. o Fix bug #5020: JWT token errors out with an exception for 'iat' values. o Fix bug #5017: De-Identify DICOM fails on sequences. o Fix bug #5001: In HA environments Queue Counts are now only reported once instead of once per node in the cluster. o Fix bug #4696: Log to the channel at DEBUG level when server sockets establish and terminate connections. o Fix bug #4970: Renamed published functions don't rename on import. o Fix bug #5004: Maximizing source from the message detail dialog disables menu options and shortcuts. o Fix bug #4834: DICOM persistent associations for Study and pool management. o Fix bug #4750: Scheduled Script: Executor not shutdown when the scheduler is stopped. o Fix bug #4991: Alerts getting grouped together in gmail instead of grouping by channel. o Fix bug #5032: Allow all LDAP configuration options to be edited on the system config page. Dependency Upgrades o Upgrade Rhino script engine from 1.7.14 to 1.7.15. o Upgrade MSSQL JDBC driver from 12.4.2.jre11 to 12.8.1.jre11. o Upgrade Jetty from version 11.0.23 to 12.0.12. o Upgrade Apache Camel from 4.5.0 to 4.7.0. o Upgrade JJWT from 0.12.5 to 0.12.6. o Upgrade Spring from 6.1.6 to 6.1.12. o Upgrade Spring Security from 6.2.4 to 6.3.2. o Upgrade Tomcat JDBC from 10.1.23 to 10.1.28. o Upgrade Apache Commons-lang3 from 3.14.0 to 3.16.0. o Upgrade Apache Commons-net from 3.10.0 to 3.11.1. o Upgrade jakarta.servlet-api from 6.0.0 to 6.1.0. o Upgrade jakarta.annotation-api from 2.1.1 to 3.0.0. o Upgrade rsynctaxtextarea from 3.4.0 to 3.5.1. o Upgrade Apache commons-cli from 1.6.0 to 1.9.0. o Upgrade jackson-core from 2.17.0 to 2.17.2. o Upgrade jackson-databind from 2.17.0 to 2.17.2. o Upgrade Log4J from 2.23.1 to 2.24.0. o Upgrade MariaDB JDBC Driver from 3.3.3 to 3.4.1. o Upgrade woodstox-core from 6.4.0 to 7.0.0. Release 24.2.1 build 16455 version b6314a8568 (Thursday, Oct 17, 2024) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5064: Java option added to modify the Json parser's default max string limit of 20MB. o Fix bug #5067: Correct exception when splitting pixel data is enabled and C-ECHO command is received. Release 24.2.1 build 16449 version 63c5f5dcc0 (Wed, Oct 9, 2024) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5052: HTTP Receiver not preserving peer certificate in XML payload. o Fix bug #5048: Separating Pixel data from DICOM should be stored with lossless compression. Release 24.2.1 build 16447 version 50df05398 (Tue, Sep 10, 2024) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5041: Separating Pixel data from DICOM to a separate folder and then subsequently rejoining it under certain transfer encodings would result in a corrupted file. Release 24.2.1 build 16446 version 5670f8270 (Wed, Sep 4, 2024) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5038: qie.doQuery() returning 'org.mariadb.jdbc.MariaDbBlob@XXXXX' instead of blob data. Release 24.2.1 build 16445 version aac63d1e5c (Fri, Aug 30, 2024) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #5034: Admin alert for failed build download never removed upon successful download. o Fix bug #5036: Old user theme causing client exception when logging out or changing theme. o Fix bug #5031: Indentation for code was lost when formatting with single line comments/todos sitting just above the code block. Release 24.2.1 build 16444 version 99e5d4423d (Tue, Aug 27, 2024) ---------------------------------------------------------------------------- General Changes & Enhancements o Add ability for the web service connection to require client authentication from the server (enhancement #5021). o Add ability to send email from a different address than what is configured in the system config page (enhancement #5026). Bug Fixes o Fix bug #5029: Null pointer exception when the preprocessor script returns null bytes. o Fix bug #5029: Update preprocessor log messages to log out as debug instead of warn. o Fix bug #5029: Fix transaction annotation on the MessageServiceImpl and SourceServiceImpl for read only connections when doing lookups only. Release 24.2.1 build 16442 version 90f0f3c505 (Tue, Jul 16, 2024) ---------------------------------------------------------------------------- General Changes & Enhancements o Add ability to have a backup node only report healthy if the primary node is down (enhancement #4997). o Rename qie.containerProbePort to qie.probePort to eliminate confusion about option only being used on containers (enhancement #4995). o Update k8s-qie.yml with comments about external jars and hosting recommendations (enhancement #4688). o Update code wizard documentation for using bytes instead of a string w/postMessageResponse (enhancement #4887). o Add setting on web service connection that will lowercase HTTP headers (enhancement #4729). o Replace spring HttpInvokerProxy with standard HttpClient for calls to the Qvera licensing service (enhancement #4543). o Update the for-loop generator to use getCount() and a 1-based for-loop in its code template instead of getAllNodes() and a 0-based for-loop (enhancement #4387). o Warn users of possible backwards-incompatibility when importing a new configuration into an older system (enhancement #4555). o Dicom files now always offer image preview with instructions if the image cannot be displayed (enhancement #4896). o Logging out or locking the UI screen will close child windows like viewed logs, opened documentation, and previewed DICOM images (enhancement #4924). o Add ability to export private key in a password protected PEM format (enhancement #4939). o Add ability to encrypt QIE database fields using standard RSA key (enhancement #4940). Bug Fixes o Fix bug #4993: Database password logged out to standard out when passing value using environment variable with underscores. o Fix bug #4987: Recreate CifsContext to clear DFS Referral cache on connection failure for network drive. o Fix bug #4564: Table header and row cells do not show whitespace in their values when in non-edit mode. o Fix bug #4914: source.getMessageId() returns -1 in an advanced search custom script. o Fix bug #4932: Prompt to save channel before publishing a mapping if the mapping's mapping node has not been saved. o Fix bug #4615: Encrypted sftp,smtp,migrated_database fields that contain potentially sensitive information. o Fix bug #4973: ISO8583 messages truncate LLLLVAR data to 999 characters. o Fix bug #4901: Admin alert about channel count changes to licenses can exceed the field limit causing the nightly check-in to fail. o Fix bug #4073: CTRL-Z undoes last 2 items -- Updated Ace Editor o Fix bug #4908: Export channel logs needs to treats the "from" date as inclusive. o Fix bug #4485: User not clearly notified when channel save fails. o Fix bug #4762: Node Tag Lookup Dialog's "Parse As" does not update the node tag when format is changed. o Fix bug #4587: Allow node tags to be used in username and password fields for network share. o Fix bug #4906: HL7 checkNodeExists() was returning false when it should be true for certain grouped segments. o Fix bug #4964: class java.math.BigDecimal cannot be cast to class java.lang.Long o Fix bug #4469: Cloning a web service connection with global ssl certificates erroneously says the certificate(s) are not in the global zone and fails to clone. o Fix bug #4927: Remove "View Formatted XML" menu item from the text editor. Dependency Upgrades o Upgrade org.glassfish:jakarta.json:1.1.6 to jakarta.json:jakarta.json-api:1.1.6 (enhancement #4915) o Upgrade Jetty from 9.4.53.v20231009 to 11.0.20. o Upgrade Spring from 5.3.31 to 6.2.2. o Upgrade SpringSecurity from 5.8.9 to 6.2.2. o Upgrade Hibernate from javax to jakarta. o Upgrade GWT-Servlet from javax to jakarta. o Upgrade jakarta.mail from 1.6.7 to 2.0.1. o Add jakarta.mail to project. o Upgrade commons-fileupload version 1.5 to commons-fileupload2-jakarta version 2.0.0-M1. o Upgrade gwt-sl from 1.7 to 1.7-jakarta. o Replace commons-fileupload 1.5 with commons-fileupload2-jakarta 2.0.0-M1. o Upgrade JJWT from 0.11.5 to 0.12.5. o Upgrade Log4J from 2.20.0 to 2.23.1. o Upgrade mariaDB-java-client from 2.7.12 to 3.3.3. o Upgrade Tomcat-JDBC from 10.1.17 to 10.1.18. o Upgrade httpclient5 from 5.2.1 to 5.3. o Upgrade commons-lang3 from 3.12.0 to 3.14.0. o Upgrade commons-text from 1.10.0 to 1.11.0. o Upgrade commons-net from 3.9.0 to 3.10.0. o Upgrade logrecorder-api from 2.7.0 to 2.9.1. o Upgrade commons-codec from 1.15 to 1.16.1. o Remove woodstox-core dependency. o Upgrade rsyntaxtextarea from 3.3.1 to 3.4.0. o Upgrade commons-cli from 1.5.0 to 1.6.0. o Upgrade jackson-core from 2.16.1 to 2.16.2. o Upgrade jackson-databind from 2.16.1 to 2.16.2. o Upgrade tika-core from 2.7.0 to 2.9.1. Release 24.1.1 build 16425 version 40658b3ad3 (Tue, May 21, 2024) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #4976: Nightly purge batch query not using correct index to retrieve candidate records. Release 24.1.1 build 16424 version 5095089ab5 (Thu, May 9, 2024) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #4987: Dicom files with private data tags beyond the pixel data (7FXX) caused a double file header to be generated. o Fix bug #4959: Exports from old version of QIE into newer versions of QIE containing dicom connections would throw exceptions. Release 24.1.1 build 16423 version 37b7575d57 (Fri, Mar 22, 2024) ---------------------------------------------------------------------------- General Changes & Enhancements o Add ability to Enable/Disable Scheduled scripts on source node (enhancement #4874). o Add java option to override the 10MB log export limit (enhancement #4891). o Rest Web Service calls can now receive responses and stream them directly to a file/network location (enhancement #4056). o Move Logic from Message Processing DAO Methods to Service Methods (enhancement #4800). o Update copyFile to support netFile like moveFile (enhancement #4676). o Add ability to gather channel statistics and then access them through the script interface wrapper, management API, and channel page (enhancement #4877). o Update DicomMessageModel so that getAllNodes can be used with relative paths '//'. o Add ability to authenticate users using LDAP server (enhancement #3443). o Add ability to use roles as part of the user management (enhancement #3443). o Add new System Config option allowing a Non-HA system to show HA fields and validation (enhancement #4753). o Add ability to specify role(s) on dicom connections (enhancement #4480). o Updated the install guide (New JRE requirements, Easier configuration due to enhanced installers, Updated Application Parameter information, Updated supported database versions) API Changes o Deprecate qie.getFileName() to source.getFileName() (enhancement #4846). o Deprecate qie.getFileExt() to source.getFileExt() (enhancement #4846). o Deprecate qie.getFileNameWithoutExt() to source.getFileNameWithoutExt() (enhancement #4846). o Deprecate qie.getRemoteAET() to source.getRemoteAET() (enhancement #4846). o Deprecate qie.getCalledAET() to source.getCalledAET() (enhancement #4846). o Deprecate qie.getRemoteIPAddress() to source.getRemoteIPAddress() (enhancement #4846). o Sort capabilities added to JSON/CSV message models (enhancement #4815). o Add ability to de-identify messages and then re-identify them as needed (enhancement #4779). o Added node instance calls for inbound/processing/outbound queues for finer control over actual counts (enhancement #4758). o Added DHE cipher suite to the list of weak ciphers (enhancement #4900) Bug Fixes o Fix bug #4905: Private Data Tag with HEX value fails to render DICOM in UI o Fix bug #4898: Exception thrown when two searches are started at the same time, and an expired search is in the map. o Fix bug #4897: Internal parameterized queries converted to dynamic queries to avoid MSSQL optimization issues. o Fix bug #4894: Exception thrown when starting a new search. o Fix bug #4890: Dicom Preview Image was not working when pixel data is stored on disk storage instead of in database. o Fix bug #4889: The option to delete source blobs from channel properties no longer leaves behind orphaned dicom pixel data. o Fix bug #4856: Login Page now accepts all UTF-8 characters for the password field. o Fix bug #4842: deduceDate() and formatDate() now correctly return null for dates containing a 0 for the month or day field. o Fix bug #4870: Saving published mappings takes too long and the transaction is too large. o Fix bug #4855: qie.encodeURL() should use '%20' instead of '+' for spaces. o Fix bug #4878: JsonEditor wasn't properly mapping when the view->format() was called. o Fix bug #4871: Break import up into multiple transactions to support large imports. o Fix bug #4835: When a mapping node function of type "Database Query" is copied and pasted, if it contains parameters they will now also copy over correctly. o Fix bug #4848: json filters involving parent nodes now should process fine. o Fix bug #4862: Navigation Collapsed setting not taking effect after logging out. o Fix bug #4869: Ctrl+F for dicom files doesn't work when stepping through test window. o Fix bug #4865: Unable to use setNode() using a relative path and an instance in JSON. o Fix bug #4795: Message export when client was in different timezone than server was returning invalid logs. o Fix bug #4755: Unable to migrate QIE database to an Azure DB. o Fix bug #4844: Message table missing index in MSSQL environments causing slow channel startup. o Fix bug #4851: Exception thrown when doing a debug log statement from inside a custom view condition. o Fix bug #4706: Default Zone/Other Zones with same name as Imported Config could cause import issues where items would show as "New" when they were really existing. o Fix bug #4933: Missing published function on published function mapping function when importing. Dependency Upgrades o Upgrade QIE to use Java 17 and drop support for Java 8 and Java 11. o Upgrade GWT from version 2.10.0 to 2.11.0. o Upgrade MariaDB JDBC Driver from 2.7.10 to 2.7.11. o Upgrade tomcat-jdbc from 10.0.27 to 10.1.17. o Upgrade jackson-core and jackson-databind from 2.15.2 to 2.16.1. o Upgrade Apache camel from version 3.14.9 to 4.3.0. o Upgrade BouncyCastle from version 1.70 to 1.77. o Upgrade Apache commons-io from 2.12.0 to 2.15.1. o Upgrade jcifs-ng from 2.1.9 to 2.1.10. o Upgrade mssql-jdbc from 11.2.3.jre8 to 12.4.2.jre8. o Upgrade spring from 5.3.30 to 5.3.31. o Upgrade spring-security from 5.8.7 to 5.8.9. o Upgrade Jetty from 9.4.52.v20230823 to 9.4.53.v20231009. o Upgrade Apache commons-compress from 1.21 to 1.25.0. o Upgrade RabbitMq client from 5.16.0 to 5.20.0. Release 23.4.1 build 16409 version 9b9682fbe1 (Wed, Jan 31, 2024) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #4895: Channel startup fails with lock exceptions, and slow initialization of the QIE engine in large MSSQL environments. o Fix bug #4894: Exception thrown when starting a new search. Release 23.4.1 build 16408 version 0d9aadf420 (Thu, Jan 18, 2024) ---------------------------------------------------------------------------- Dependency Upgrades o Upgrade Jetty from version 9.4.52.v20230823 to 9.4.53.v20231009 (Fixes vulnerability CVE-2023-36478). o Upgrade amqp-client from 5.16.0 to 5.20.0 (Fixes vulnerability CVE-2023-46120). Release 23.4.1 build 16407 version a81910f7d9 (Tue, Jan 2, 2024) ---------------------------------------------------------------------------- Bug Fixes o Upgrade library to protect against Terrapin vulnerability (CVE-2023-48795). Dependency Upgrades o Upgrade jsch from 0.2.1 to 0.2.15. Release 23.4.1 build 16406 version c6044a9174 (Tue, Dec 19, 2023) ---------------------------------------------------------------------------- General Changes & Enhancements o Add system default theme indicator when adjusting environment themes (enhancement #4765). Bug Fixes o Fix bug #4879: Rest WS Call with empty content using OAuth2 Bearer token uses a content-type of 'application/x-www-form-urlencoded' instead of the content type provided to the call. Release 23.4.1 build 16405 version 71f94f3ee7 (Tue, Dec 12, 2023) ---------------------------------------------------------------------------- Bug Fixes o Fix bug causing log page to report that QIE has stopped responding and redirect the user to the login page. o Fix bug #4862: Navigation Collapsed setting not taking effect after logging out. Release 23.4.1 build 16404 version 15236286fa (Tue, Nov 21, 2023) ---------------------------------------------------------------------------- General Changes & Enhancements o Add ability to specify a default theme for a system (enhancement #4781). o Add an alert that encourages clients to upgrade to Java 17 (enhancement #4618). o Add ability to queue inbound records for persistence improving performance of non-sequential receivers (enhancement #4836). o Store user settings in the database in addition to in cookies (enhancement #4782). o Standard Mapping Substring to allow negative index (enhancement #4775). o Add support for larger key sizes when generating a private key (enhancement #4803). o Provide dropdowns for sources and targets (enhancement #4372). o Update jetty receivers to disable DHE cipher suites by default (enhancement #4791). o Management API: Add ability to import configuration file without private keys that are password protected (enhancement #4739). o Add ability to get thread and throughput information from the container probe port for use in scaling metrics (enhancement #4724). o Add new "QIE Container Guide" to the help menu (enhancement #4724). o Clean up code duplication on Receiver, Sender and Scheduled Script mutex services (enhancement #4749). o Add option to pickup DICOM files via FileReceiver and split out pixel data for efficiency purposes (enhancement #4730). o Enhance the purge monitor to generate an admin alert and email admins if the purge fails due to an exception (enhancement #4725). o Dicom files can now be fully tested via the test window (enhancement #4223). o Add "AWS Signature" as a valid authentication protocol for a web service connection (enhancement #4710). o Add option to always base64 encode content on an HTTP Receiver (enhancement #4509). o Add ability to send DICOM messages via DICOM Sender on a destination node (enhancement #4692). o Add ability to export public key as JWK file (enhancement #4691). o Update clear error management overrides to be more efficient and use a progress bar (enhancement #4657). o Add ability to escape web service node tag values for JSON and other types (enhancement #4506). o Add ability to filter inbound DICOM connections by ip address (enhancement #3226). API Changes o Added a new call parseDICOMFile() that allows the loading of dicom data with an option to skip pixel data (enhancement #4554). o Add ability to pass in custom format parameter to the qie.deduceDate() function (enhancement #4501). Bug Fixes o Fix bug #4796: HA environment channel status not reported to all users when other nodes have not stopped. o Fix bug #4829: Remove all channel level mutex records when a channel stops. o Fix bug that would cause our file receivers to stop processing due to a large message until all other channel inbound queues are zero. o Fix bug #4812: Closing browser window does not log the user out of their session. o Fix bug #4821: Appearance Settings font resets to 9pt. o Fix bug #4822: Restrict and validate user settings values from cookies or entered in the Appearance Settings dialog. o Fix bug #4825: Import dialog does not close when no channels to restart are found. o Fix mac install script to properly add the H2 library to the libs.txt file. o Fix bug #4816: Remove 'Set undo_log' for H2 during purge process. o Fix bug #4807: Import Config: Package with Published Mapping fails. o Fix bug #4796: "undefined" label shows in some cases when a channel is starting or stopping. o Fix bug #4817: Fixed length channel won't save if the groupBy value is not set. o Fix bug #4814: Channels with hundreds of nodes can get exceptions when persisting the message and logs due to the path exceeding the field length. o Fix bug #4794: Log content that was received when server responds to HTTP request with an invalid transfer-encoding. o Fix bug #4813: VisitableDestinationNode's unhandled message destination name is not reported in the error message. o Fix bug #4809: qie.getMd5Hash() not thread safe causing invalid outputs if two thread call for a hash at the same time. o Fix bug #4598: Channel Move/Save As fails to find dependencies when the channel has a published function mapping function. o Fix bug #4126: 'Run on connection' scheduled scripts are only allowed with ISO 8583 channels. o Fix bug #4716: Update QIE system menu so that the items are alphabetically listed. o Fix bug #4733: ErrorManagementFormConfigurations show multiple times in revision history. o Fix bug #4777: Update managementAPI to use TLSv1.2 by default. o Fix bug #4776: Console session cookie doesn't have the httpOnly flag set. o Fix bug #4769: qie.moveFile() creates a folder with the filename if the destination path contains a specified filename. o Fix bug #4735: Missing column exceptions will no longer cause exceptions in logs on startup. o Fix bug #4757: Fixed length data dictionary fails when importing a tab delimited file as the system variable. o Fix bug #4746: System variable value is not encrypted in export. o Fix bug #4732: (F2) Search from dicom mapping node throws exceptions. o Fix bug #4741: Update processing queue size to take into account the source blob that exists in the queue. o Fix bug #4734: Move executeHQL and related executeHQL calls that are outside of the DAOs, inside the DAOs. o Fix bug #4718: Importing doesn't copy forceModificationForAudit flag over if item already existing, result in missing revisions in revision history. o Fix bug #4712: Credentials System Variable: Editing any field other than the password field blanks out the previously-saved password. o Fix bug #4714: Linked system variable doesn't get removed from cache when it updates causing the changes to not take effect. o Fix bug #4715: New credentials system variable's password button text reads the last text displayed. o Fix bug #4713: Unable to get a SHA256 hash of a blank string. o Fix bug #4487: Clicking in and then away from an SqlEditor on a source or destination node causes the channel to prompt user for unsaved changes when no changes were made. o Fix bug #4704: Unable to use the 'Publish Mapping' option from the mapping node panel. o Fix bug #4703: Processor threads throttling in high volume environment when they shouldn't. o Fix bug #4695: Searching messages fails in some HA environments when RPC requests and send round robin to the nodes. o Fix bug #4648: Remove web service sources from standard condition node. o Fix bug #4679: Loading script variable revision history with multiple script variables results in NoUniqueResultException. o Fix bug #4540: Secure DICOM client throws internal SSL error when running Java 17. o Fix bug #4690: NullPointerException thrown in some cases when import a certificate. o Fix bug #4531: Copy channel hangs if the channel contains a very large script. o Fix bug #4505: Standard mapping wizard fails when using a DB Query Result sample message. o Fix bug #4547: qie.deduceDate help text should note that the output date object is in the local QIE server timezone. o Fix bug #4560: When calling postDICOMMessage in a channel, if it is high volume, the system will throw PoolExhaustedExceptions. o Fix bug #4993: HAPI library documentation links don't open a new window, but use the current browser window. o Fix bug #4674: Ctrl+F fires the change event when editing a published function. o Fix bug #4600: Overwriting certificate don't take effect on the channel. o Fix bug #4569: Enhance HA schema generation to only initialize Hibernate once instead of twice. o Fix bug #4659: Convert Spring data layer from XML to annotations for dynamic configuration. Dependency Upgrades o Upgrade woodstox-core from 6.2.6 to 6.4.0. o Upgrade jetty from version 9.4.51.v20230217 to 9.4.52.v20230823. o Upgrade commons-io from 2.11.0 to 2.12.0. o Upgrade mssql-jdbc from 11.2.2.jre8 to 11.2.3.jre8. o Upgrade spring from 5.3.27 to 5.3.30. o Upgrade spring-security from 5.7.8 to 5.8.7. o Upgrade mariaDB-java-client from 2.7.7 to 2.7.10. o Upgrade camel FTP from 3.14.7 to 3.14.9. o Upgrade jakarta.activation-api from 2.1.0 to 2.1.2. o Upgrade jackson-core and jackson-databind from 2.14.2 to 2.15.2. o Upgrade Rhino JavaScript engine from 1.7.7 to 1.7.14 (enhancement #3911). o Upgrade jshint from 2.10.2 to 2.13.6 (enhancement #3911). Release 23.2.1 build 16394 version 9f352c9b68 (Fri, Sep 1, 2023) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #4772: Proxy not being used on web service calls after upgrade to httpClient5. o Fix bug #4771: Nodes are missing in cases where two nodes have different revision when starting a channel and loading revision history. o Fix bug #4765: Login screen shows default theme color then slowly fades in the user's custom theme color. Release 23.2.1 build 16393 version 91cbf1355a (Thu, Aug 24, 2023) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #4763: QIE unable to cleanup primary keys on revision history if object only has a deleted record. Release 23.2.1 build 16391 version f214346309 (Thu, Aug 10, 2023) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #4748: Saving published mapping from a channel doesn't generate a revision. o Fix bug #4747: Backup node runs tasks instead of primary node in some race conditions. o Fix bug #4743: Invalid XML character error on import if credentials system variable does not have both username and password specified. o Fix bug #4742: Content-Type parameters being dropped when calling rest web service endpoint. Release 23.2.1 build 16390 version 4aa6c7dfa1 (Thu, Aug 3, 2023) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #4736: content-type parameter getting dropped from SOAP web service calls. Release 23.2.1 build 16389 version ba0a75bb09 (Mon, Jul 31, 2023) ---------------------------------------------------------------------------- Bug Fixes o Fix bug causing revision history update to fail in some cases. Release 23.2.1 build 16388 version ba0a75bb09 (Wed, Jul 12, 2023) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #4719: Channel doesn't process messages correctly when node has been deleted. Release 23.2.1 build 16386 version da863c904b (Tue, Jun 27, 2023) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #4700: Channel unable to start after being imported a second time. Release 23.2.1 build 16385 version 7530e3d141 (Tue, Jun 13, 2023) ---------------------------------------------------------------------------- Bug Fixes o Fix bug #4700: Channel revision history one to many relationships are loaded with channel revision instead of closest revision. o Fix bug #4701: Update log setting for new HTTPClient5 so that debugging doesn't fill up logs. o Fix bug causing channel to start incorrectly after upgrading to 23.2.1. o Fix bug #4694: Show/Hide password icon has hard-coded white background that clashes with dark themes. Release 23.2.1 build 16384 version 143d39672f (Wed, May 17, 2023) ---------------------------------------------------------------------------- General Changes & Enhancements o DICOM Channel add ability to use wildcard local AET (enhancement #4534). o DIMSE requests now allow for large dicom files to have their pixel data removed prior to message processing (enhancement #4224). o Enhance "available build" admin alert to include date when the currently installed build was replaced by a newer build (enhancement #4621). o Improve DICOM timeouts for closing idle Associations (enhancement #4481). o Add ability to receive NDJSON batch files from the JSON receiver (enhancement #4445). o Update license service to cache license information needed for client login instead of reloading from database each time (enhancement #4535). o Add option to run alerts through a global script (enhancement #3937). o Add ability to filter connections by IP address on Socket and HTTP receivers (enhancement #4604). o Adjust logging of "Connection Refused" and "Connection Timed Out" for HTTP requests to debug to prevent excess chatter in the qie.log. o Add hostname and ip address to the instance id in the "Monitor Server Resources" dropdown when running in HA configuration (enhancement #4601). o Update DicomConnectionPage, WsConnectionPage, DestinationNodePanel, and SourceNodePanel to default new TLS version to "Support all (JVM TLS defaults)" (enhancement #4585). o Update DestinationNodePanel to default the trust policy to "Trust All Certificates" instead of "Use JVM Keystore/Truststore" (enhancement #4585). API Changes o Add a qie.escapeJson to the scriptInterfaceWrapper (enhancement #4507). o Add qie.getDicomConnectionNames() to code wizard (enhancement #4612). o Fix mismatched method name ScriptInterfaceWrapper.getDbConnectionUrl vs. ChannelNodeHelper.getDbConnectionURL (enhancement #4613). Bug Fixes o Fix bug #4682: QIE theming overrides parts of custom branding. o Fix bug #4685: Exception thrown when generating SOAP Envelope from WSDL. o Fix bug #4667: qie.moveFile() failures when using network share files with domain restrictions. o Fix bug #4632: Rework channel save so we don't compare changes with what is in revision history. o Fix bug #4638: NetworkShare File Receiver: Always fails on the first try. o Fix bug #4614: Remove function statement from the Channel Error Handler script. o Fix bug #4632: Rework channel save so we don't load changes from revision history to compare changes with what is in revision resulting in more efficient save calls. o Update DicomConnection to check if IPv6 is enabled before using IPv6 loopback address. o Fix bug #4643: Inconsistent return value name in code wizard menu for escape functions. o Fix bug #4644: Mute alert throws an error on long alerts. o Fix bug #4595: Rewrite Envers Lazy Loading Queries to not do Table Scans. o Fix bug #4635: Database Migration monitor thread can write invalid data during the restart because it is not shutdown correctly. o Fix bug #4626: Certificate export dialog includes global certificates in the export list. o Fix bug #4625: Database migration fails when migrating into MariaDB and standard conditions exist. o Fix bug #4574: The message tabs show that the messages have been deleted if using option to not compress the database. o Fix bug #4323: Passwords can be accessed from the browser developer tools. o Fix bug #4609: jettysessions table not created when multiple QIE schemas exist in database. o Fix bug #4544: dicom.log stopped in 5.0.51. o Fix bug #4481: DICOM - Close associations sooner after receiving a final response. o Fix bug #4588: Loading the channel start priority from the system config page causes a client exception. o Fix bug #4593: Dicom Editor Search would throw an indexOutOfBounds exception when a search match was found in trimmed text. o Fix bug #4577: Importing via Management API fails when two children have same referenceId. o Fix bug #4578: Import creates an empty zone for original when importing to destination zone. Dependency Upgrades o Upgrade httpclient 4.5.14 to httpclient5 5.2.1 (enhancement #4594). o Upgrade apache commons-fileupload from 1.4 to 1.5. o Upgrade apache commons-csv from 1.9.0 to 1.10.0. o Upgrade apache log4j from 2.19.0 to 2.20.0. o Upgrade Spring-Security from 5.7.5 to 5.7.8. o Upgrade hibernate from 5.6.14.Final to 5.6.15.Final. o Upgrade spring from 5.3.24 to 5.3.27. o Upgrade jcifs-ng from 2.1.8 to 2.1.9. o Upgrade jackson-core from 2.14.1 to 2.14.2. o Upgrade jackson-databind from 2.14.1 to 2.14.2. o Upgrade tika-core from 2.6.0 to 2.7.0. o Upgrade jetty from 9.4.50.v20221201 to 9.4.51.v20230217. Release 5.23.1 build 16371 (Wed, Feb 8, 2023) ---------------------------------------------------------------- Bug Fixes o Fix typo in adding ciphers to the Jsch for SFTP, causing connection failures. Release 5.23.1 build 16361 (Mon, Jan 17, 2023) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to send over a persistent secure socket (enhancement #4586). o Update QIE installer to download and install Java 17 instead of Java 8. o Update QIE installer to download and install MariaDB 10.6 instead of MariaDB 10.5. o Update QIE installer to use a default of 2048m instead of 1024m. o Add ability to use an import or generated RSA key for SFTP authentication (enhancement #4551). o Add ability to call qie.callRESTWebService() and pass a String, File, InputStream, or byte[] as the content instead of just String. o Update the test runner to report caused by to the user when giving an exception, this is used when testing FTP or database query. o Add ability to generate a public SSH key from private SSL Key (enhancement #4551). o Add a debug message if parameters are ignored due to content being provided when calling a REST web service (enhancement #4556). o Add menu option to URL Encode / Decode the currently highlighted script (enhancement #4439). o Update the message when QIE Server stops responding to use the HTTP Status Code. o Add version_info to the channel status call response in Management API (enhancement #4379). o Enhance the nightly check in service to use https by default instead of http (enhancement #3834). o Add ability to have all HTTP headers be converted to lowercase to support HTTP/2 specifications (enhancement #4536). o Added ability to generate Instance UID for DICOM using qie.generateDICOMInstanceUID() (enhancement #4466). o Provide pop-out capabilities for DB Parameter Editor, Target Editor, Script Variables Editor and Channel Cache Editor (enhancement #4142). o Add metadata to export configuration files (enhancement #4488). o HL7 HPATH now supports repeating fields with conditions (enhancement #4184). o Add ability to find recently changed objects for the entire QIE environment (enhancement #2841). o Add ability to delete channel/zones from the management API (enhancement #4407). o Updated the Dockerfile to install tzdata on our base image so that the timezone can be set by using the environment variable TZ (Example -e TZ=American/Denver). o Consolidated the file permissions checks into utility methods for consistency (enhancement #4391). API Changes o Add new aesEncryptBytes and aesDecryptBytes methods to code wizard (enhancement #3980). o Add ability to create/modify/remove users using Management API (enhancement #4378). o Add new message model 'Fixed Length' to replace the current 'Fixed Width' with many enhancements (enhancement #1064). o Improved xpath parsing to support empty brackets when referencing an array element (enhancement #4425). Bug Fixes o Fix bug #4583: Start channel takes a long time for large channels with a lot of nodes. o Fix bug #4568: HTTP Receiver logs out a warning with every message when extracting the content as the message. o Fix bug #4567: NPE in QieLogLogger when calling executeDbQuery from DbReceiver source. o Fix bug #4566: When extracting the content as the message on HTTP receiver we should check that the bytesOut are null or an empty array. o Fix bug #4565: DICOM channel increases memory usage over time unless channel is restarted. o Fix bug with messages showing in reverse order on final page when running against H2 database. o Fix bug #4546: Scheduled Script not being removed on import. o Fix bug #4558: CSR generated with the SAN extension even when there are no SANs. o Fix bug #4539: Inconsistent behavior when importing a channel. o Fix bug #4490: Test window fails when DICOM SR has more than 2000 nodes. o Fix bug #4512: F2 node path lookup - Switching from JSON to DICOM message throws error Class$S158. o Fix bug #4513: User Authentication on HTTP listener fails when password contains special character. o Fix bug #4392: Published Mappings in packages were not correctly locking/unlocking. o Fix bug #4494: DICOM getDICOMSequence nodePath not working with complex where clause. o Fix bug #4465: DICOM checkNodeExists always returns true. o Fix bug #4487: Clicking in and then away from an SqlEditor on a source or destination node causes the channel to prompt user for unsaved changes when no changes were made. o Fix bug #4491: DICOM Sample messages are read only. o Fix bug #4373: Revision History: Display incorrectly shows that items were deleted. o Fix bug #4470: Password Strength - Uses NONE when it should use system default. o Fix bug #4434: Standard Mapping Function Wizard incorrectly reports node path errors. o Fix bug #4522: Standard Mapping Function Wizard validation messages are sometimes misleading. o Fix bug #4515: Make source/destination node database field labels consistent. o Fix bug #4411: DICOM Tag Display issue fix for VR types (ST,LT,UT). Dependency Upgrades o Upgrade Jetty from 9.4.48.v20220622 to 9.4.50.v20221201. o Upgrade rsyntaxtextarea from 3.3.0 to 3.3.1. o Upgrade RabbitMQ from 5.14.2 to 5.16.0. o Upgrade jackson-core from 2.13.4 to 2.14.1. o Upgrade jackson-databind from 2.13.4.1 to 2.14.1. o Upgrade hibernate from 5.6.12.Final to 5.6.14.Final. o Upgrade tika-core from 2.5.0 to 2.6.0. o Upgrade mariadb-jdbc driver from 2.7.5 to 2.7.7. o Upgrade commons-net from 3.7.2 to 3.9.0. o Upgrade httpclient from 4.5.13 to 4.5.14. o Upgrade spring security from 5.5.8 to 5.7.5. o Upgrade spring framework from 5.3.23 to 5.3.24. o Update MSSQL JDBC driver from version 9.4.1.jre8 to 11.2.2.jre8. o Upgrade GWT from 2.9.0 to 2.10.0. o Upgrade Apache Camel from 3.14.0 to 3.14.7. Release 5.0.51 build 16228 (Fri, Dec 2, 2022) ---------------------------------------------------------------- Bug Fixes o Fix bug #4549: pQuery.doConditionQuery() throws exception when no result is found and querying a MSSQL database. o Fix bug #4548: Null pointer when using archive to file with UNC path. Release 5.0.51 build 16118 (Wed, Oct 26, 2022) ---------------------------------------------------------------- General Changes & Enhancements o Enhance "Test Connection" on the db connection page to use the standard connection pool for test instead of generating its own db connection (enhancement #4525). Bug Fixes o Fix bug #4527: message.addObjectToJSONArray() calls with a native JSON object that has java.lang.String values fails to parse correctly. o Fix bug #4281: The "Redirect to login" sends the user to an invalid page causing a 404 Not Found response. o Fix bug #4520: Hibernate Error When Saving Channel with a condition attached to a mapping node. o Fix bug #4523: Dependencies in custom message destination nodes are not found. Release 5.0.51 build 16051 (Fri, Oct 14, 2022) ---------------------------------------------------------------- Dependency Upgrades o Downgrade apache camel from 3.14.5 to 3.14.0 due to a change in the available cipher suites. Release 5.0.51 build 16033 (Thu, Oct 13, 2022) ---------------------------------------------------------------- General Changes & Enhancements o Stop channels every morning if a dev license is installed (enhancement #4463). Bug Fixes o Fix bug #4518: Control characters in published function descriptions cause client exceptions when opening javascript editor. o Fix bug #4483: Last row of grids now viewable and cannot be scrolled into view. Dependency Upgrades o Upgrade jcifs-ng from 2.1.7 to 2.1.8. o Upgrade tomcat-jdbc from 10.0.16 to 10.0.27. o Upgrade rsyntaxtextarea from 3.1.1 to 3.3.0. o Upgrade jakarta.annotation-api from 2.0.0 to 2.1.1. o Upgrade jackson-core from 2.13.2 to 2.13.4. o Upgrade jackson-databind from 2.13.2.2 to 2.13.4.1. o Upgrade dcm4che from version 5.22.5 to 5.28.0. o Upgrade jjwt-api, jjwt-impl, jjwt-jackson from 0.11.2 to 0.11.5. o Upgrade hibernate-core from 5.6.5.Final to 5.6.12.Final. o Upgrade springframework from 5.3.20 to 5.3.23. o Upgrade apache camel from 3.14.0 to 3.14.5. o Upgrade apache tika-core from 2.4.0 to 2.5.0. o Upgrade apache log4j from 2.17.2 to 2.19.0. Release 5.0.51 build 15851 (Fri, Sep 30, 2022) ---------------------------------------------------------------- General Changes & Enhancements o Log the jar name, size, canRead, and canWrite for any external jar loaded (enhancement #4504). o Add new formats to the deduce date 'yyyyMMdd HHmmss.sss', 'yyyyMMdd HHmmss', 'yyyyMMdd HHmm', 'yyyyMMdd HH:mm:ss.sss', 'yyyyMMdd HH:mm:ss', 'yyyyMMdd HH:mm' (enhancement #4496). Bug Fixes o Fix bug #4497: DB parameterized query parameters not working for all parameter types. o Fix bug #4498: Parameterized queries should not escape values for SQL. o Fix bug #4499: DbSender, DbReceiver and TestDbConnection pass wrong zone ID to ParameterizedQueryImpl constructor. o Fix bug #4503: DbQueryParameterEditor does not support shift-tab to tab backwards through editable columns. o Fix bug #4502: Calling setNode with '/' does not replace the contents of the message, it simply appends to the message. o Fix bug #4473: Old QIE database is not able to upgrade to 5.0.51 due to foreign key constraint error. Release 5.0.51 build 15798 (Thu, Sep 8, 2022) ---------------------------------------------------------------- General Changes & Enhancements o Add instanceId and host information to the info log when a message is received by a channel in an HA environment (enhancement #4468). API Changes o Add functions to get hostname, ip address, instance id, and HA status from the scripting environment (enhancement #4467). Bug Fixes o Fix bug #4471: Saving channels is slow in a large environment (200+ channels). o Fix bug #3880: Delete sessions from the database when upgrading the QIE engine. o Fix bug #4470: Password Strength - Uses NONE when it should use system default. Release 5.0.51 build 15762 (Wed, Aug 24, 2022) ---------------------------------------------------------------- General Changes & Enhancements o Added new MariaDB106UnicodeDialect and updated SQLServer2016UnicodeDialect. o Update qieLauncher to automatically add the --add-options parameters if they are missing and the environment is running Java 17 or greater (enhancement #4375). o All SQL calls now include default query logging (enhancement #4384). o Update Windows installer to support Java 17 (enhancement #4375). o Add admin alert and email if HA environment not running expected number of nodes (enhancement #4443). o When exporting configurations you are prompted if you have unsaved changes (enhancement #4347). o Exporting a system variable now uses the variable name as the default filename instead of text_file.txt (enhancement #4336). o Added additional support for date formats of the variety yyyyMMdd'T'HHmmss.SSSzzz (enhancement #4353). o Additional error information provided when an error occurs deleting a file (enhancement #4345). o File Receiver: Large files now automatically slow down processing to avoid out-of-memory conditions (enhancement #4127). o Add thread safe caches and mutexes (enhancement #4285) o Add node tag and script variables as possible source values in a standard mapping (enhancement #4371). o Add ability to call a published function from the mapping function dialog (enhancement #4250). o Update Windows installer to only prompt user for Java 8 or Java 11 (enhancement #4382). o Add Pre-Run Script to DB QUERY Source Node (enhancement #4119). o Add "Channel Queue" receiver and sender to send message directly to another channel (enhancement #756). o Add ability to call a .toString() on the pQuery object to output query and parameters in a debug state (enhancement #4368). o Added editor popup for DICOM messages (enhancement #4306) o DICOM Responses are now logged and can be viewed on the Message Detail Panel (enhancement #4222) o DICOM Editor now has search capabilities. (enhancement #4307) o Add ability to store credentials in a system variable (enhancement #4239). o Added admin alerts and emails for locked users and invalid login attempts (enhancement #4245). o Added icons to the users list on the User page to show enabled, disabled and locked user accounts (enhancement #4245). o Add notes to destination node (enhancement #4309). o Add AWS EC2 Install Guide to Help menu (enhancement #3917). o Add ability to install MariaDB with QIE when running the Windows installer (enhancement #4295). o HAPI-QIE: Update HAPI Plugin to include libraries for generating narrative text and to support USCore Profile validation (enhancement #4019). o Create admin alert and send emails to administrators, if SMTP is configured, about license channel limits changing when license keys are refreshed during check-in (enhancement #4298). o Add ability to use Two-factor authentication (enhancement #4228). o Add ability to export endpoint list as CSV (enhancement #4277). o Add ability to extract and display base64 encoded content from a log window, such as a PDF document (enhancement #4251). o Add an admin alert if QIE is running against the H2 database on a production server (enhancement #4294). o Updated QIE Backup and Disaster Recovery Manual to include Backing up to Cloud Storage. o Add ability to use message cache with the network share path (enhancement #4264). o Update JSON message model to create sub-elements when using setNode and addObjectToJSONArray (enhancement #4133). o Add channels running vs Licensed channels alerts (enhancement #4197). o Allow SFTP to use a localWorkDirectory (enhancement #4267) o Add ability to manage running QIE threads from the console (enhancement #4255). o Ace Editor: Add help menu that contains a list of editor hot-keys selected (enhancement #4113). o Added ability to run certain scheduled scripts in the Test Window while testing a message (enhancement #4198). o Added code wizard method for writing DICOM files in mapping nodes (enhancement #4215). o Several improvements to DICOM exports, DICOM attributes now separately exportable (enhancement #4096). o Added ability to get outbound queue count by specific endpoint (enhancement #4055). o Add ability to see line number and cursor position in the Test Log text editor. (enhancement #4188). o Added ability to see script variables' values in the "Test Log and Caches" dialog (enhancement #4123). o Add ability to search specific zone and specify number of results (enhancement #4138). o Add pQuery.callStoredProcedure() to Code Wizard to return all stored procedure results (enhancement #4165). o Include the license groups with the "Licenses" instead of the "System Configuration" when importing and exporting QIE configurations (enhancement #4168). o Require unique names for license groups (enhancement #4068). o Modification of auto-generated volume or OEM license group names is not permitted (enhancement #4074). o Add hint to use PreferredAuthentications custom option for sftp timeouts (enhancement #4117). o Enhance channel properties description so that it can be maximized for easier viewing. (enhancement #4322) API Changes o HL7 Message: Add ability to get all sub-components of a field using getAllNodes with a wildcard (ex. PID-3.1.*) (enhancement #4431). o HL7 Message: Add ability to get all components of a field using getAllNodes with a wildcard (ex. PID-3.*) (enhancement #4431). o Added getMessageCount() to the code wizard, which exposes historical message counts (enhancement #4258). o Added getRepetitionCount() to the code wizard for HL7 messages (enhancement #4305). o createFixedWidthMessage() now supports an encoding parameter (enhancement #4193). o Update qie.parse___Message() methods to use a messageType default encoding instead of using the source node encoding if no encoding is specified (enhancement #1873). o Re-enable ability to define channel-level script variables (enhancement #4111). o Add a custom (script) destination (enhancement #444). Bug Fixes o Fix bug #4462: Channel receiver exceptions when updating the 'LAST_RUN' channel cache using a scheduled receiver in an HA environment. o Fix bug #4461: Unable to start QIE after upgrading when running against a MariaDB database and using the MySQLUnicodeDialect. o Fix bug #4458: TLS Handshake times out when using a client socket on a receiver. o Fix bug #4400: "A result set was generated for update" error when starting QIE. o Fix bug #4427: ftp test says 1 file found when there is a bunch. o Fix bug #4290: Fixed Width: Tree in test window shows only one row. o Fix bug #4369: A valid license check attempt is now performed prior to license related warnings. o Fix bug #4337: Channel out-of-date when adding a channel to a package. o Fix bug #4334: Error message retention cannot be less than message retention now enforced. o Fix bug #4332: Possibility of duplicate endpoint-ids removed. o Fix bug #4446: When unlocking a package from the functions screen it now correctly shows the page. o Fix bug #4441: Update the AbandonedInstanceRecoveryRunnable to wait for one more heartbeat interval and then check if the instance is still expired before terminating instance. o Fix bug #4441: QIE will restart instead of shutdown when missing a heartbeat in an HA configuration when running on Windows or Linux. o Fix bug #4435: Update process monitor to log any caught exceptions for a receiver that is run manually. o Fix bug #4426: Unable to use an alternate quote character without quoting all columns. o Fix bug #4221: DICOM messages, when replayed, throw exceptions due to no connection. o Fix bug #4414: Secure Socket Sender Server in destination node not working. o Fix bug: Updated default tags for qie.createDICOMFromImage(). o Fix bug #4410: Ctrl-G does not open goto line dialog on mac. o Fix bug #4402: OAuth2 With JWT fails if the signing certificate, and it's associated private key are not named the same. o Fix bug #4409: v-user and v-pass node tags not processed when finding dependencies. o Fix bug #4370: Parameterized query wizard updated to use a list of possible sources similar to those of available in standard mappings. o Fix bug #4395: Unable to run QIE with MariaDB 10.6 and 10.7. o Fix bug #4374: Target's "Set Equal To" is blank when editing a WS mapping function. o Fix bug #4388: Saving Published Mapping changes through a Channel needs to save all dependent channels. o Fix bug #4360: New Mapping Functions in an existing Published Mapping are not assigned a referenceId. o Fix bug #4381: Channel "Save As" does not copy query parameters. o Fix bug #4380: dbQueryParameter serialization error opening message on status tab. o Fix bug #4377: FindDependencies can throw a StackOverflowException. o Fix bug #4366: Source node with DBQuery causes nodeLookup dialog to fail. o Fix bug #4321: Preprocess scripts cannot access channelCache. o Fix bug #4282: Response Received and Message Result get out of sync. o Fix bug #4350: Exporting/Importing individual objects from the Global Settings does not work using the management API. o Fix problem causing only first public certificate to be found in .pem file. o Fix bug #4326: System variable of type 'Table' can display columns that will not allow the user to resize them properly. o Fix bug #4329: Fixed System Variable Date validation and improved the notification of any validation message. o Fix bug #4333: Add DICOM RLE Support. o Fix bug #4328: Cached queue counts don't get reset after purge in HA environment. o Fix bug #4097: DICOM Editor Import/Export DICOM files corrupts the file. o Fix bug #4299: Auto Update CRON string does not take effect until next run. o Fix bug #4287: Password Field - fast typing or long press results in masked chars in value. o Fix bug #4318: Increase timeout for Plugin Download. o Fix bug #4289: Preprocessor Script responseBytes only work when bytesOut is null. o Fix bug #4272: Messages that show as Large message not included in search results. o Fix bug #4249: FindDependencies does not look in strongly-typed channel cache values. o Fix bug #4230: Refreshing channel caches does not always work. o Fix bug #4159: channel cache not updated when importing and using "Update Channel Cache Only". o Fix bug #4179: error "Publishing Mapping" when channel hasn't been saved yet. o Fix bug #4046: Table variable can cause problems during export/import configuration. o Fix bug #4206: Channel Cache of type Channel does not save channel name. o Fix bug #4208: Mouse Wheel Scroll occasional exceptions when testing. o Fix bug #4122: Warn user about script variables when replaying step while testing a message. o Fix bug #4186: After logging in, hitting the Esc key causes an Uncaught Client Exception. o Fix bug #4165: Fix pQuery.doQuery() to return first set of results, ignoring update counts. o Fix bug #4170: Fix channel status stopped alerts to not send for disabled channels. o Fix bug #4144: Duplicate zone name check can throw SQL exception. o Fix bug #4069: Match license groups by reference ID or name during import. o Fix bug #4217: DB source SQL query/update statement and param editors not visible if you select another format first. o Fix bug #4327: Exporting and then importing a channel with CSV source node and 0x09 (tab) separator character results in the tab being converted to 0x20 (space). o Fix client exception when opening the "Standard Mapping Wizard" using the Firefox browser. o Fix bug #4346 - Channel Saving Instead of Rolling Back Transaction when Exception is Thrown o Fix bug #4325: Web service mapping function's web service connection can be lost when the mapping function is copied and pasted into another channel. o Fix bug #4349: FindUsages does not find strongly-typed channel cache variables when scripts use getBoolean(key), getDate(key)or getNumber(key). o Fix bug #4308: Added large file handling options to FTP, File, and Networkshare Receivers. o Fix bug #4207: Script variables' names are not validated to be legal JavaScript identifiers. o Fix bug #4229: Enhance database and web service mapping functions to not require function targets. Dependency Upgrades o Upgrade springSecurity from 5.5.5 to 5.5.8. o Upgrade springframework from 5.3.19 to 5.3.20. o Upgrade commons-csv from 1.8 to 1.9.0. o Upgrade jakarta.activation-api from 2.0.1 to 2.1.0. o Upgrade log4j from version 2.17.1 to 2.17.2. o Upgrade jaxb-impl from 3.0.1 to 3.0.2. o Upgrade rabbitmq from 5.10.0 to 5.14.2. o Upgrade jackson-core and jackson-databind from 2.11.3 to 2.13.1. o Upgrade tika-core from 2.2.1 to 2.4.0. o Upgrade jakarta.mail from 1.6.5 to 1.6.7. o Upgrade JettyVersion 9.4.4 to 9.4.5. o Upgrade tomcat-jdbc from 10.0.14 to 10.0.16. o Upgrade spring-security from 5.5.4 to 5.5.5. o Upgrade Hibernate from 5.4.33 to 5.6.5.Final o Upgrade bouncyCastle from 1.69 to 1.70. Release 5.0.50 build 15445 (Tue, Mar 29, 2022) ---------------------------------------------------------------- Bug Fixes o Fix bug #4356: Use an event timeout to detect problems with the event runner in an HA configuration. Release 5.0.50 build 15406 (Thu, Mar 10, 2022) ---------------------------------------------------------------- Bug Fixes o Initiate refresh of system variable cache on import in EnterpriseHA mode. o Fix client exception when opening the "Standard Mapping Wizard" using the Firefox browser. Release 5.0.50 build 15381 (Mon, Feb 28, 2022) ---------------------------------------------------------------- Bug Fixes o Fix bug #4315: Fixed Regex for finding parameterized query parameters. Release 5.0.50 build 15323 (Tue, Feb 8, 2022) ---------------------------------------------------------------- Bug Fixes o Fix bug #4315: Unable to open channel node dialogs when using Safari due to browser javascript exception. Release 5.0.50 build 15301 (Mon, Jan 31, 2022) ---------------------------------------------------------------- General Changes & Enhancements o Enhance performance of the doTableLookup() calls by caching the variables in the engine if they are static (enhancement #4312). Release 5.0.50 build 15270 (Tue, Jan 18, 2022) ---------------------------------------------------------------- Bug Fixes o Fix bug #4302: Alert sender using TLSv1.0 when sending alerts causing problems with Office365. o Update log4j from 2.17.0 to 2.17.1 to fix CVE-2021-44832. o Fix bug #4284: Selecting node from tree view doesn't scroll cursor into view. Release 5.0.50 build 15222 (Mon, Dec 20, 2021) ---------------------------------------------------------------- Bug Fixes o Upgrade Apache Log4j2 from 2.16.0 to 2.17.0 to close CVE-2021-45105 vulnerability. o Fix bug with DB Receiver Update statement not running correctly as non-parameterized query. Release 5.0.50 build 15206 (Wed, Dec 15, 2021) ---------------------------------------------------------------- Bug Fixes o Upgrade Apache Log4j2 from 2.15.0 to 2.16.0 to close CVE-2021-45046 vulnerability. o Fix bug #4278: source db query forcing parameterized query. Release 5.0.50 build 15186 (Sat, Dec 11, 2021) ---------------------------------------------------------------- General Changes & Enhancements o Update QIE to mask the database username and password from the log output when starting the service (enhancement #4283). Bug Fixes o Upgrade Apache Log4j2 from 2.13.1 to 2.15.0 to close CVE-2021-44228 vulnerability. o Fix bug #4266: Menus disappear when changing system variable type. o Fix bug #4280: Search terminates before all results are returned. Release 5.0.50 build 15157 (Wed, Dec 1, 2021) ---------------------------------------------------------------- Bug Fixes o Fix bug #4278: Parameterized query picking up :: and @@ in the select statement as parameters. o Fix bug #4265: Importing CSV to system variable table without header causes VariableNotFoundException. o Fix bug #3990: Passing null value into pQuery.set{Timestamp/Int/Long/Short/Double/Float/Date/Time/Boolean}() throws an exception. Release 5.0.50 build 15132 (Wed, Nov 3, 2021) ---------------------------------------------------------------- General Changes & Enhancements o Add alert to user when trying to download or install QIE update while running in a container environment (enhancement #4271). Bug Fixes o Fix bug #4269: Channel status shows incorrectly when running in kubernetes cluster. o Fix bug #4235: Improve SFTP/FTP Receiver for large file sets. o Fix bug #4174: '&' in an FTP password does not work. Release 5.0.50 build 15089 (Thu, Oct 21, 2021) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to import zone configurations into a different zone using the ManagementAPI (enhancement #4257). Bug Fixes o Fix bug #4261: qie.throwSendError() can falsely increment the outbound counts. o Fix bug #4247: FindUsages/FindDependencies should return partial results if an exception is encountered. Release 5.0.50 build 15067 (Tue, Oct 12, 2021) ---------------------------------------------------------------- Bug Fixes o Fix bug #4244: Start/Stop/Pause all channels from the 'Global Status Page' throws an exception. o Fix bug #4182: Changing a web service connection type does not preserve the authentication values. o Fix bug #4237: Source Node: Unable to save HTTP receiver without a certificate selected. o Fix bug #4246: FindUsages can throw NPE if legacy channel caches with null cache types exist. Release 5.0.50 build 15036 (Wed, Oct 6, 2021) ---------------------------------------------------------------- Bug Fixes o Fix bug #4240: New tables created using MyISAM engine when running MySQLUnicodeDialect. o Fix bug #4234: Receiver thread hangs until next scheduled execution when stopping a channel. Release 5.0.50 build 15016 (Fri, Sep 17, 2021) ---------------------------------------------------------------- General Changes & Enhancements o Add admin alert if QIE is running MyISAM engine in MySQL or MariaDB (enhancement #4211). o Increase the amount of text that is displayed in the log message grids to fill the entire column width (enhancement #4194). o Update code wizard documentation for creating new message to better describe the encoding that will be used (enhancement #4137). o Add ability to include static HTTP headers and static OAuth2 HTTP headers to calls made with a web service connection (enhancement #4039). o Default the QIE system name to the server hostname and the system type to production for new installations (enhancement #4151). o Display Certificate Chains as a tree view when possible (enhancement #4002). o Default QIE Launcher to open in current window without popup (enhancement #4131). o Add ability to deduce .NET Serialized JSON dates (Example: /Date(1335205592410-0500)/) using the qie.deduceDate() function (enhancement #4141). o Add help page to show the different java options that can be used to configure QIE (enhancement #4139). o Update default encoding for "Text" message type from ISO-8859-1 to UTF-8 (enhancement #1873). o Add parameterized query to source/destination nodes (enhancement #3981). o Add ability to specify a template when creating a new CSV message. (enhancement #4024). o Update javascript editor to allow for esversion 6 functions (enhancement #4120). o Add ability to adjust proxy settings from the license page (enhancement #2660). o Add ability to specify TLS protocol when connecting to secure endpoints (enhancement #3908). o Enhance text editor to always display node path information, if possible (enhancement #4038). o Enhance XML and JSON editor to always display node path information, even when no tree view is available (enhancement #4038). o Make hyperlinks in Code Wizard popups clickable (enhancement #4065). o Add the ability to email a user their User Id or Temporary Password (enhancement #3973). o Add contains, starts-with, etc functions to non-XPath node paths (enhancement #3945). o Add ability to create a 'View' on the completed tab (enhancement #3901). API Changes o Remove deprecated QIE Web Service call (enhancement #4130). o Add ability to pass a byte[] into the getSHA256Hash and getSHA1Hash methods as well as a string. Bug Fixes o Fix bug #4231: Export config: Dependency check selects whole system. o Fix bug #4226: ExportConfig breaks and cannot continue when dependencies are found and packages exist on the QIE system. o Fix bug #4225: Payload field needs to be larger for some Web Service Configurations. o Fix bug #4218: Changing the tls version to be used on the WsConnection does not take effect immediately. o Fix bug #4219: caseSensitive not working for functions in hpath. o Fix bug #4178: SMTP changes are not pushed to all nodes in a cluster. o Fix bug #4206: Channel Cache of type Channel does not save channel name. o Fix bug #4205: FindUsages does not find usages in strongly-typed channel cache values. o Fix bug #4203: Unable to call fixed-width-message setNode() with a null value. o Fix bug #4200: Unable to set the final byte of a fixed-width-message using a node path. o Fix bug #4136: Source Node Encoding not use in test window. o Fix bug preventing message cache from being used in parameterized queries on the destination node. o Fix bug #4187: NullPointerException reports in logs when trying to get the lastIncrementedId on a system that is running without any channels running. o Fix bug #4175: Unable to search error queue. o Fix bug #4180: Empty gzipped content in HTTP Response can cause java.io.EOFException. o Fix bug #3908: Disable TLS 1.3 by default on Java 8--can be re-enabled with the qie.enableTls13OnJava8 JVM option. o Fix bug #4177: Add X-Frame-Options header to all HTTP responses to mitigate clickjacking attacks. o Fix bug #4169: Unable to set hibernate dialect in environment variable. o Fix bug #4180: Empty gzipped content in HTTP Response can cause java.io.EOFException. o Fix padding exception when changing the system type to/from test and a license is already installed. o Fix bug #3456: Fixed channel stopped alert from triggering when the QIE service is restarted. o Fix bug #4161: Exception thrown when exporting configuration and a certificate reference is invalid. o Fix bug #4156: Certificate page hangs when loading certificates with a circular reference. o Fix bug #4135: Receiver file path node tag lookup doesn't allow anything but a source node path. o Fix bug #4145: Suppress Hibernate ERROR logs reporting StaleObjectException. o Fix bug #4052: Download new QIE release fails causing attempts every 15 minutes. o Fix bug #4107: Revision History: No Revision History on Scheduled Scripts. o Fix ConcurrentModificationException when pulling published functions from cache. o Fix bug #4134: Archive Path doesn't evaluate template for each archive. o Fix bug #4103: Force DB receiver to finish current result set before stopping. o Fix bug #4041: Unable to set node to blank in the standard mapping function dialog. o Fix bug #4106: NPE encountered when cutting and pasting a mapping function. o Fix bug #4109: ChannelPage's restartQIE needs to account for QIE in clustered mode. o Fix bug #4076: Two channels can consume all of the processor threads preventing other channels from being able to process messages. o Fix bug #4064: Fix bug preventing UTF-8 characters from being used in a certificate password. o Fix bug #4035: Thousands of messages in the processing queue can cause OutOfMemory exceptions. Release 5.0.49 build 14737 (Mon, Jun 14, 2021) ---------------------------------------------------------------- General Changes & Enhancements o Default the QIE system name to the server hostname and the system type to production for new installations (enhancement #4151). Bug Fixes o Fix bug #4155: Add alert to QIE if MySQL/MariaDB database is using MyISAM table engines and using a MySQL55 or greater dialect. o Fix ConcurrentModificationException when pulling published functions from cache. o Fix bug #4134: Archive Path doesn't evaluate template for each archive. o Fix bug #4103: Force DB receiver to finish current result set before stopping. o Fix bug #4041: Unable to set node to blank in the standard mapping function dialog. Release 5.0.49 build 14561 (Fri, May 7, 2021) ---------------------------------------------------------------- Bug Fixes o Fix bug #4132: Inactivity alerts don't migrate correctly from the pre .48 build to the .48 build. o Fix bug #4129: MySQL 8 uses a camel case JettySessions table instead of lowercase jettysessions table. This causes exceptions in the log when starting the QIE service. Release 5.0.49 build 14492 (Thu, Apr 22, 2021) ---------------------------------------------------------------- General Changes & Enhancements o Add option for the scheduled script to be run on all nodes or just one node when running in HA environment (enhancement #4108). Bug Fixes o Fix bug #4087: Correct tall popup not displaying descriptions correctly. o Fix bug #4105: QIE Restarts when DB connections become unavailable without giving the engine time to recover the connections in the connection pool. o Fix bug #4104: Adjust validationInterval from 30 seconds to 3 seconds for QIE connection pool. o Re-label trust policy "Use System Settings (Deprecated)" to "Use JVM Keystore/Truststore" to more accurately describe what the option does. o Fix bug #4100: Migrating historical data after the initial migration has completed can cause duplicate erred message migration. o Fix bug with secondary instance not acknowledging the take over request by the primary instance. o Fix NPE when primary instance is waiting for secondary instance to acknowledge the take over request. o Fix problem with sender thread not stopping when a primary instance takes over processing. Release 5.0.49 build 14399 (Thu, Apr 8, 2021) ---------------------------------------------------------------- General Changes & Enhancements o Change Standard Mapping labels for 'Source Node Path / Value' and 'Target Node Path / Value' and update Standard Mapping Wizard to dynamically change the field labels accordingly (enhancement #4062). Bug Fixes o Fix bug #4089: Channel start take a long time in some environment. o Fix bug #4094: SOAP web service call causing out of memory exceptions when using the trust policy "Use System Settings (Deprecated)". o Fix bug #4093: Resolve errors with large message can trigger an outOfMemoryException or Java Heap Space exceptions. o Fix bug #4086: Secure DICOM Receiver can block waiting for handshake. o Fix bug #4092: Api calls to /appVersion, /channelStatus, and /qieStatus don't work due to the spring security upgrade. o Fix bug #4091: Secure socket receiver hangs if the client connection does not send data during the TLS handshake. Release 5.0.49 build 14353 (Thu, Mar 25, 2021) ---------------------------------------------------------------- Bug Fixes o Fix bug #4061: DICOM Export Messages not working. o Fix bug #4031: License group cannot be deleted even though all zones are removed. o Fix bug #4081: 'Error importing configuration: id to load is required for loading' exception encountered during import config. Release 5.0.49 build 14315 (Thu, Mar 18, 2021) ---------------------------------------------------------------- General Changes & Enhancements o Add qie.getZoneName() and qie.getChannelId() to the Code Wizard (enhancement #4010). o Enhance the parameterized query set parameter functions to accept a string in addition to the typed parameter (enhancement #3990). o Add received and completed counts to the ChannelStatus API (enhancement #4009). o Add access to all zone level object to the access.log (enhancement #4050). o Add access to messages to the access.log (enhancement #4050). Bug Fixes o Fix bug #4072: Channel Inactivity Alert throws exception when client workstation clock is in the past compared to the QIE server clock. o Fix bug #4036: Unable to move object from a zone to global zone without changing name. o Fix bug #4022: Using qie.findPreviousMessage() in test window no longer throws null error. o Fix bug #3968: Unable to click on "see this KB" in the newNetFile description on the code wizard. o Fix bug #4060: Changing the DICOM Logging Level sometimes fails to take effect. o Fix bug #4042: Typed Channel Cache values show blank on edit. o Fix bug #4063: Endpoint Id not showing up on all endpoint types. Release 5.0.49 build 14246 (Fri, Mar 5, 2021) ---------------------------------------------------------------- General Changes & Enhancements o Allow DICOM Requests to be sent through the original association. o Add new access.log that contains user console access logs, and management api access logs (enhancement #4050). Bug Fixes o Fix error in test window when displaying some DICOM messages: "String index out of range:". o Fix bug #4053: Muting alerts does not mute error email alerts or the sender/receiver errors. o Fix bug #4031: VBL license group with no license cannot be deleted. Release 5.0.49 build 14209 (Thu, Feb 25, 2021) ---------------------------------------------------------------- Bug Fixes o Fix bug causing HTTP content to be missing on HTTP Receiver. Release 5.0.49 build 14203 (Wed, Feb 24, 2021) ---------------------------------------------------------------- Bug Fixes o Fix bug: Content-Type parser throwing java.lang.IllegalArgumentException: MIME type may not contain reserved characters. o Fix bug #4041: Standard mapping does not allow for blank string (it places 'null' instead of '' into the script). o Fix bug #4043: Refactor HTTP user authentication to use /login and /authenticate URIs. Release 5.0.49 build 14184 (Fri, Feb 19, 2021) ---------------------------------------------------------------- Bug Fixes o Fix bug #4032: Resolved NullPointerException when using new callingAET parameter for postDICOMRequest. Release 5.0.49 build 14170 (Wed, Feb 17, 2021) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to override the calling AETitle on DICOM requests (enhancement #4032). o Add ability to send message out on an ASTM Socket receiver (enhancement #4033). API Changes o Add new call qie.getChannelEncoding() to get the channel configured encoding. Bug Fixes o Fix bug #4034: Start all channels can get stuck and never complete if one of the start threads dies due to unexpected exception. o Fix bug #4030: User Authentication directing to the system name not FQDN. o Fix bug #4017: Testing OAuth does not include details about the error. o Fix bug #4029: ChannelCache in HA environment gets out of sync between two different QIE nodes. Release 5.0.49 build 14083 (Fri, Feb 5, 2021) ---------------------------------------------------------------- Bug Fixes o Fix bug #4028: Node tag time offsets not working. o Fix bug #4027: Database exceptions thrown in HA mode while getting a mutex when running with MSSQL as the back-end service. Release 5.0.49 build 14058 (Mon, Feb 1, 2021) ---------------------------------------------------------------- General Changes & Enhancements o Update QIE to flush a DB connection pool after 99 consecutive PoolExhaustedExceptions (enhancement #4018). o Update FTP Sender and Receiver to default to "Passive" transfer mode (enhancement #3985). o qie.getRemoteIPAddress() and qie.getRemoteAET() added to Code Wizard for DICOM Channels (enhancement #3970). o Added Node Tag Format Indicator to Base64Decode. ie: [base64-decode] (enhancement #3941). o Added Node Tag Format Indicator to parse and getNode after evaluating the original nodePath. ie: [XML@/root/value] (enhancement #3941). o Create a standard function for parameterized query (enhancement #3803). o Add option "Create directory if it does not exist" to Network Share endpoints (enhancement #3967). o Add ability to set a breakpoint in a mapping node for the test window (enhancement #1148). o Add ability to map multiple fields on a single standard mapping function (enhancement #3940). o Enhance the "Unknown Segment" error thrown when a line feed is in an HL7 message to give more direction on how to fix it (enhancement #3910). o Enhance the DB Migration to validate that the source and destination systems are on the same version of QIE (enhancement #3936). o Modify system to check database schema version instead of build number when determining if node in a cluster needs to stop (enhancement #3944). o Add ability to change font settings in all QIE editors. o Add ability to get the segment delimiter for HL7 messages (enhancement #3909). o Updated QIE User Interface with new icons and colors. o Add ability to define multiple inactivity alerts for different times and different days for a single channel (enhancement #3865). o Upgrade HttpClient from 4.5.5 to 5.0.1 to better support Java 11 (enhancement #3946). o Replace Java 11 unsupported ca.juluisdavis:not-yet-commons-ssl dependency (enhancement #3938). o Replace uses of not-yet-commons-ssl Hex class with the most common alternative used in code (enhancement #3938). o Replace uses of not-yet-commons-ssl PKCS8Key class with bouncy castle PemParser to extract PrivateKey from .pem and .der files (enhancement #3938). o Added a new option 'Override Alert Recipients' that does not email the administrator users, only the emails addresses specified in the emails text box (enhancement #3829). o Update QIE to use AES 256 by default on new database instead of AES 128 (enhancement #3442). o Add ability for organizations to specify their own AES key to be used with the database (enhancement #3442). o Upgrade Apache Camel FTP from version 2.15.6 to 3.4.4 (enhancement #2028). o Add ability to alert when channel status is 'stopped' (enhancement #3456). o Package publications can specify alternate zone name when being published (enhancement #3768). o Expose HTTP Headers on SOAP web service endpoints (enhancement #3769). o Update Spring to 5.2.5.RELEASE o Update Spring Security to 5.3.1.RELEASE o Update Hibernate to 5.4.12.Final o Update Log4j2 to 2.13.1 o Update MariaDb to 2.6.0 o Update H2 to 1.3.175 o Update mysql-connector-java to 8.0.19 o Add ability to specify Channel Cache Type (enhancement #1528). API Changes o Remove Centricity & STC IWeb connection types from the WS Connection page. o Add ability to download and install new versions of QIE using the ManagementAPI (enhancement #3966). Bug Fixes o Fix bug #3998: FileNotFoundException thrown when executing manual check of a network share. o Fix bug #3991: pQuery.getOutputParameter not working with @paramName or :paramName. o Fix bug #4006: Log messages from the pre-process, error handler, and user authentication scripts don't show up in the channel logs, only on the zone status page. o Fix bug #3977: Searching within a view for a date/time range does not work. o Fix bug #3996: Message errors when bad hl7 is received and pre-process script sets bytesOut to null. o Fix bug #3971: Getting "Unable to locate process status information record." when importing configuration. o Fix bug #3987: Can't search 4 or less numbers in the Message or Completed Tab. o Fix bug #3999: OutOfMemoryError from inbound DICOM Receiver. o Fix bug #3997: CSV Message model does not quote null values on output, but does quote empty strings. o Fix bug #3994: Channel critical inactivity alert throws JavaScript exception when value is invalid. o Fix bug #3999: OutOfMemoryError from inbound DICOM Receiver. o Fix bug #3992: ProcessStatus askedToStop field never gets reset. o Fix bug #3978: Add ability to specify a sender to only send on a single QIE instance running in an HA cluster. o Fix bug #3984: DICOM Channel with a non-DICOM sample message pops misleading error message. o Fix bug #3986: Set maxlength in UI for user encrypted fields to 223. o Fix bug #3939: Unchecking "Extract first content as message" does not remove the pre-process script. o Fix bug #3912: qie.escapeHL7() method now escapes any segment delimiters found in the value along with other special characters. o Fix bug #3943: ChannelPropertiesAuditAdapter amPm() prints 12 noon as "AM". o Fix bug #3829: Inactivity Alerts time fields now contain minute increments. o Fix bug #3906: getWeeklyMessageCountForThrottlingCalculation() includes the first day of the next week. o Fix bug #3867: Java 11 defaults to TLSv1.3 causing connection issues with older version of Apache2. o Fix bug #3806: Class constructors misidentified as published functions during find dependency call. o Fix bug #3804: System Variable Table is trimming off blank fields at end of row. o Fix bug #3818: Show Global Settings tree node with restricted access for user with view-only zone permissions during configuration export. o Fix bug #3825: Publication action on import is always blank. Release 4.0.48 build 13777 (Mon, Nov 23, 2020) ---------------------------------------------------------------- Bug Fixes o Fix bug #3969: Add try/catch method to in-memory tables queries to recover from disconnected database connections. Release 4.0.48 build 13687 (Wed, Nov 11, 2020) ---------------------------------------------------------------- API Changes o DICOM: Add JPG to DICOM Function. (enhancement #3948) Bug Fixes o Bug #3959: DICOM: Manage multiple outbound associations to the same destination. o Bug #3963: DICOM: Optimize DICOM Receiver threads and allow inbound association limits. o DICOM: qie.postMessageResponse() now automatically updates the MessageIDBeingRespondedTo tag. o DICOM: Updated default DICOM Listener On Request Script. o Improved visibility for steps of adding OpenCV for DICOM. Release 4.0.48 build 13557 (Thu, Oct 22, 2020) ---------------------------------------------------------------- API Changes o Add ability to use a non-https probe port in Kubernetes when running a secure console using the java option qie.containerProbePort. Bug Fixes o Fix Null Pointer Exception when resolving errors from a destination queue that has been deleted from the channel. Release 4.0.48 build 13505 (Mon, Oct 12, 2020) ---------------------------------------------------------------- API Changes o Added ability to change the Transfer Syntax of a DICOM message (enhancement #3954). Bug Fixes o Fix bug with DICOM Listener setting the maxPDUSize to bytes instead of kb. o Fix bug in DICOM sender/receiver not preserving the transfer syntax. Release 4.0.48 build 13453 (Tue, Sep 29, 2020) ---------------------------------------------------------------- Bug Fixes o Fix problem with the purge monitor throwing an exception during the nightly purge. o Update DICOM Connection to default Verification SOP Class to Implicit VR Little Endian. Release 4.0.48 build 13439 (Wed, Sep 23, 2020) ---------------------------------------------------------------- API Changes o Add DICOM group functions and mergeDICOM (enhancement #3933). Release 4.0.48 build 13430 (Wed, Sep 9, 2020) ---------------------------------------------------------------- Bug Fixes o Fix bug #3930: Updates to published functions don't take effect on all nodes in HA mode. o Fix bug #3927: Download plugin throws an exception when running on H2 database. Release 4.0.48 build 13405 (Wed, Sep 2, 2020) ---------------------------------------------------------------- General Changes & Enhancements o Added Plugin Download Dialog for HAPI and VTD. o Added HAPI java library integration into QIE. o Add default content to the REST Content Encoded web service calls to give the user a hint on the proper format for JSON tags /*{m:/}*/ (enhancement #3889). o Enhance Shift + F5 for CSV to use single or double quotes (enhancement #3634). o Update Jetty 9.4 to latest version. o Add ability to specify that a database source node's database connection be read-only or read/write when used for the source node's database query (enhancement #3835). o Add ability to specify that a database connection's test query be run with a read-only or read-write connection on the database connection page (enhancement #3835). o Add ability to specify if a custom script receiver runs on a single instance or all instances in an HA cluster (enhancement #3882). o Add ability to probe the QIE service to determine if a specific listening port is up and running on a QIE instance (enhancement #3856). o Add parameter to allow binary data to be returned in a web service call (enhancement #3839). o Enhance QIE to use java option or environment options to set VM options when QIE is running (enhancement #3776). o Add admin alert if not all QIE instances are running with the same external libraries (enhancement #3812). o Add alert if external libraries don't match other instances in the cluster (enhancement #3815). o Add ability to specify timestamp format to return when executing SQL queries (enhancement #3444). o Add a timeout field used by the Test DB Query button on the DB Connection Page (enhancement #3724). o Add a timestamp column to the View Logs page (enhancement #3718). o Make the 'Partial Log File' warning more prominent on the View Logs page (enhancement #3718). o Enhance restart options when running in clustered environment, let user decide to restart this instance or all instances (enhancement #3643). o Force system type to be set before importing configuration (enhancement #3810). o Enhance nightly backup options when QIE is running in containerMode (enhancement #3775). o Allow OUTPUT parameters with qie.getParameterizedQuery() (enhancement #3779). o Add ability to receive the http content as the message instead of the XML structure with meta-data (enhancement #3787). o Add ability to specify in the test window if the preprocess script will execute (enhancement #3809). o Add support for OAuth2 with Client Credentials (enhancement #3579). o Change FTP to always default to binary transfer mode (enhancement #3757). o Add ability to send a DICOM message from another channel. o Add DICOM network operations like C-STORE, C-GET, etc (enhancement #2326). API Changes o Add ability to get a SHA256 digest from the code wizard (enhancement #3919). o Add ability to manage channel state (start/stop/pause/resume) externally using new REST based API (enhancement #3864) o Add ability to import or export QIE configurations externally using new REST based API (enhancement #3864). o Add DICOM methods for simpler access of pixelData (enhancement #3870). Bug Fixes o Fix bug #3913: Channels don't stop if the database is unavailable and the system is shutting down. o Fix bug #3903: Any function description popup that contains a '\' in the description or parameter gets the '\' and the next character get removed from the auto-complete popup. o Fix bug #3845: Disable text search via keyboard shortcut in read-only mapping function text editor. o Fix bug in secure console setting to enable wildcard certificates on jetty 9.4 (9.3 used the SslContextFactory(), 9.4 requires the SslContextFactory.Server()). o Fix bug #3887: Unable to receive ASTM message from device using the ASTM socket. o Fix bug #3880: Session manager throws an exception after upgrading the QIE engine to a new build. o Fix bug #3876: Last Msg Received and Last Erred Message timestamps show incorrectly when running QIE in a clustered environment. o Fix bug #3859: qie.moveFile(NetFile, NetFile) where destination is a file (not a folder) creates incorrect file name in the wrong folder. o Fix bug #3853: Unnecessary findDependencies call made when selecting a package or the Packages folder from Import/Export dialogs. o Fix bug #3861: Variables and SSL Certs are not found when finding dependencies. o Fix bug #3866: View fails to work when the message type is different than the source type. o Fix bug #3855: Creating package throws exception, leaves app locked behind "loading" mask. o Fix bug #3857: Thousands of processor threads cause performance degradation in the engine. o Fix bug #3846: "Save As" on a WS Connection, System Variable, and DICOM Connection copies the reference_id when it clones causing problems with the find_dependency and find_usages functions. o Fix bug #3814: VTD needs to download on each instance in a QIE cluster. o Fix bug #3824: DICOM connection action on import always states it is new. o Fix bug #3811: User with view-only permissions cannot see zone objects in Global Settings zone. o Fix bug #3753: Delete channel does not remove channel from ChannelManager cache on other QIE instances. o Fix bug #3816: Changing European Date or HTTP proxy settings requires all instance be restarted in a QIE cluster. o Fix bug #3820: Changing HTTP proxy settings doesnt prompt for a QIE restart. o Fix bug #3813: VTD library is required error needs to be changed for containers to indicate that other nodes in cluster need to be updated. o Fix bug #3802: Script Variables cannot include a space in the name since they cause script errors when present. o Fix bug #3792: CSV header row is still displayed on message tab if using line endings instead of . o Fix bug #3794: Fix purge process to work in a clustered environment. o Fix bug #3777: Memory optimized table schema changes cause errors. o Fix bug #3797: JDBC Session Manager for find[Usages|Dependencies|Text]. o Fix bug #3807: Find[Usages|Dependencies|Text] - cancel button shown before we have findProcessId. o Fix bug #3808: Find[Usages|Dependencies|Text] - missing onFailure handlers for the find... async calls. o Fix bug #3796: Update Server Resources dialog to properly display thread counts and memory usage in a clustered environment. o Fix bug allowing multiple nodes to update the schema at the same time. o Fix bug #3799: Fix Test Window to work when running in a clustered container mode. o Fix bug #3800: Output all logs to standard out when running in a container so that the container manager can have access to the logs. o Fix bug #3801: Store HTTP session information in the database (instead of cache) to allow for clustered environments. o Fix bug #3793: Fix import config problems when running in a clustered environment. o Fix bug #3795: Fix Resolve/Discard/Resubmit progress bar when running in a clustered environment. o Fix bug #3782: Dependencies referenced by ID not identified during importConfig. o Fix bug #3608: Add a note to the FTP Configuration tab that the 'Move file to' folder is relative to the incoming 'Path' specified. Fix the 'Test FTP' button to work correctly. o Fix bug #3789: FindUsage|Dependencies - unsupported message source types whose class definitions have been removed from the app cause a NullPointerException when attempting to log. o Fix bug #3585: NetworkShare receiver logs warnings that it is unable to delete the file when receiving a single file. o Fix bug #3734: FindUsage/FindDependencies on system variable that is used by another system variable. o Fix bug #3780: FindDependency visitor would only find the first node tag in a string/script. o Fix bug #3781: FindDependencyVisitor node tag regex only finds one node tag per line of text. o Fix bug #3778: Fix problem with channel being reported as opened in another tab when it is not. o Fix bug #3650: QIE is not able to deduceDate() from date strings in the 'yyyyMMdd H:mm' or 'yyyyMMdd HH:mm' formats. Release 4.0.47 build 13104 (Fri, May 29, 2020) ---------------------------------------------------------------- Bug Fixes o Fix bug #3832: Large batch files cause backlog in the inbound queue. Release 4.0.47 build 12663 (Wed, Apr 15, 2020) ---------------------------------------------------------------- Bug Fixes o Fix bug #3784: FindDependencies - ChannelCache keys being reported as missing dependencies. o FIx bug #3785: FindUsages - ChannelCache usages not found in published functions or published mappings. Release 4.0.47 build 12610 (Sun, Mar 29, 2020) ---------------------------------------------------------------- Bug Fixes o Fix memory leak when scripts create new NetFile's without closing them when completed. o Fix bug #3771: Using '{mc:filename}' as the FTP path now works without adding '.{no-extension}' to it. o Fix bug with saving daily message counts and not using the correct index in MSSQL. o Fix bug #3773: Javascript editor: Unable to insert standard function at the end of the script using 'F6'. Release 4.0.47 build 12463 (Thu, Mar 5, 2020) ---------------------------------------------------------------- General Changes & Enhancements o Upgrade MSSQL JDBC Driver from 7.0.0.jre8 to 8.2.1.jre8. Bug Fixes o Fix bug causing exception when adding a description to the destination node before setting the type. o Fix bug #3711: Out-of-date channel prompt displays when it shouldn't on save. Release 4.0.47 build 12394 (Fri, Feb 28, 2020) ---------------------------------------------------------------- General Changes & Enhancements o When the displayed channel is out-of-date, add a confirmation prompt to alert the user that they will overwrite any changes that have been made by other users (enhancement #3711). o When the displayed channel is out-of-date, add a confirmation prompt to alert the user that they will be starting or restarting a newer version of the channel (enhancement #3745). Bug Fixes o Fix bug causing QIE Standard to crash when upgrading from 46 to 47. o Fix bug #3727: Modifying a channel that uses a published mapping, causes the published mapping to be modified, even if no user-edits are made. o Fix bug #3750: Modifying a published mapping causes an out-of-date warning to be displayed on each channel that uses the published mapping. o Fix bug #3746: Code Wizard documentation of returnFullHttpResponse parameter neglects to clarify error handling. o Fix bug #3716: Login errors are only displayed for a split-second. Release 4.0.47 build 12303 (Fri, Feb 21, 2020) ---------------------------------------------------------------- General Changes & Enhancements o Enhance File/FTP/DB/NetworkShare receiver to log a warning after a minute of inbound yielding due to inbound or outbound queue overflow (enhancement #3666). o Add detected timestamp to abnormal shutdown alerts (enhancement #3697). o Add ability to give an instance priority over other instances when receiving messages on file based receivers when running in HA mode. o Update MacOS 10.15 Catalina Installer Procedures (enhancement #3659). o Add ability to run multiple instance of QIE against a single database. o Update apache commons-csv library from v1.4 to v1.7 (enhancement #3546). o App to use Daily Message Counts instead of in memory queues. (enhancement #3571). o Block ability to start a channel that is set to persistence level 0 when QIE is running in a high availability environment (enhancement #3588). o Add support for SMB 2.0 and partial support for SMB 3.0--end to end encryption is not supported (enhancement #3454). o Add 'Output file with no extension' check-box to FTP Destination Node Panel (enhancement #3543). o Add 'Use ".{no-extension}" to write to a file without an extension.' to the Code Wizard description for the FTP Write File commands (enhancement #3543). o Add ability to pass all channel exceptions to a Global Error Handler (enhancement #3326). o Add "Saving..." and "Moving..." mask to the "Save As" and "Move" dialogs when the find dependency call is run. o Add ability to Base64 encode MD5/SHA1 hashes (enhancement #3405). o Decrease minimum scan interval on NetworkShareReceiver from 5 seconds to .5 seconds. o Update QIE to dynamically set the max threads based on amount of memory allocated (enhancement #3730). Bug Fixes o Fix problem with error message counts reporting after the messages were resolved/completed. o Fix bug #3748: Patient not found form error on getMessageQueueId. o Fix bug #3742: Add SystemEvent for Saving a Channel. o Fix bug #3741: Optimize channelStatus refresh for large number of channels. o Fix bug #3740: Muting alerts on running channels cause the messages to error. o Fixed incorrect inactivity status for active channels. o Fix bug #3658: "Changes pending..." message incorrectly displayed after another user saves changes to a channel. o Fix bug #3698: Channel/form counts and daily message counts not reported if single-license-autogenerate-license-group mode. o Fix bug #3706: Dashboard license group filter list can contain duplicate entries. o Fix bug #3701: FTP Receiver can process partially written files due to no read-lock. o Fix bug #3685: Nightly purge with zero day retention should not purge current day messages. o Fix bug #3681: Source/Message blobs are not purged when message.discard() is called. o Fix bug #3671: Exceptions thrown during the startup of a channel don't get reported to the channel log file. o Fix bug #3664: DB Senders and Receivers and WS Senders are caching the connection information at channel startup instead of using common caching. o Fix bug #3663: WS mapping function manual URL flag not being set correctly on import when using a google health care WS function. o Fix bug #3662: Message exceptions thrown when a SQL node fails in a MariaDB Galera cluster. o Fix bug #3594: Unable to publish a locked package. o Fix bug #3590: Add ability to change message processing and persistence levels on a locked channel. o Fix bug #3595: QIE Std should throw warning when trying to import a package. o Fix bug #3648: Find dependencies - SSL certificates not found in some socket/HTTPListener source nodes and some socket destination nodes configurations. o Fix bug #3652: Find dependencies - SSL certificate used for OAuth on web service connection not found when web service connection used in a channel. o Fix bug #3653: Stop showing message destinations in usage/dependency hierarchies. Unnecessary object that the user does not see represented in the UI. o Fix bug #3654: Find dependencies - Include SSL certificates' SSK keys in the dependency list. o Fix bug #3649: License not correctly linked to non-global license group when importing configuration file. o Fix bug #3642: High Availability: Caching needs to be added to the system event log to coordinate changes for each instance. o Fix bug #3645: PurgeByDropTables feature removed. o Fix bug #3607: Find Usages: SSL key and certificate not found in HTTPs Listener source node, secure socket destination node and certificates created from SSL keys. o Fix bug #3628: Using a Node Tag with a time component in the node tag prefix does not work. o Fix bug #3547: XPaths without a leading slash are returning inconsistent results. o Fix bug #3635: Custom branding not properly processed during get/refresh license when running on MySQL with MySQL driver (possibly MariaDB driver also). o Fix bug #3628: Using a Node Tag with a time component in the node tag prefix does not work. o Fix bug #3550: qie.deduceDate() produces null error when date is formatted as MM/dd/yyyy h:mma (single digit hour). o Fix bug #3606: QIE is not able to deduceDate() from date strings returned from the MSSQL PRINT function. o Fix bug #3619: Daily Message Counter does not handle splits directly to destination nodes. o Fix bug #3578: Update JSHint to the lastest version to allow using all of the currently documented JSHint options. o Fix bug #3560: Fix logging of REST web service calls that have duplicate or overridden 'Host', 'Content-Encoding' or 'Content-Type' HTTP headers to clarify which header is ignored. o Fix bug #3552: If a schema update fails on an upgrade, QIE should shutdown. o Fix bug #3507: Getting index out of bounds error when setting the value of a previously empty trailing column in a CSV message. o Fix bug #3508: NodeTagLookup dialog displays the certificate names with private keys instead of private key names. o Fix bug #3196: Rewrite 'Save As/Move' code to use newly-added find dependency logic. o Fix bug #1784: Java Stack Traces reported back to Qvera have non-code references removed. Release 3.0.46 build 11470 (Thu, Oct 3, 2019) ---------------------------------------------------------------- Bug Fixes o Fix bug #3630: HTTP Receiver leaves messages in memory when connection is closed before response is sent. o Fix bug #3623: Clicking out of the field after pasting a new password does not trigger the password strength calculation. Release 3.0.46 build 11304 (Tue, Sep 10, 2019) ---------------------------------------------------------------- Bug Fixes o Fix bug reading PGP key from file. o Update PGP Encryption to use just the filename in the pgp header instead of the whole file path. Release 3.0.46 build 11218 (Wed, Aug 28, 2019) ---------------------------------------------------------------- General Changes & Enhancements o Add additional logging to the HTTP receiver when a client connection closes before the HTTP request has been received. Release 3.0.46 build 11198 (Thu, Aug 22, 2019) ---------------------------------------------------------------- General Changes & Enhancements o Add warning alert if the HTTP Receiver gets a back-log of messages that need to be processed. o Add ability to specify the number of threads assigned to an HTTP receiver using a java option. Bug Fixes o Fix bug in PGP Utils preventing the system from finding the private key for the file when decrypting. Release 3.0.46 build 11181 (Wed, Aug 21, 2019) ---------------------------------------------------------------- General Changes & Enhancements o Add java option (qie.setAcceptQueueSize.{port}) to override the http acceptor queue size from the default. Bug Fixes o Fix error log message reporting that thread died unexpectedly when it actually was supposed to stop. Release 3.0.46 build 11118 (Wed, Aug 7, 2019) ---------------------------------------------------------------- Bug Fixes o Fix bug #3586: Client exception thrown when double clicking in the area below the last channel on the channel page. o Fix bug #3585: File receiver logs warnings that it is unable to delete the file when receiving a single file. o Fix bug #3584: Unable to change filter on the dashboard when running in QIE Standard. Release 3.0.46 build 11058 (Thu, Jul 25, 2019) ---------------------------------------------------------------- Bug Fixes o Fix bug #3553: Change ParameterizedQuery.setBytes() to take a Byte[] or a byte[]. o Fix bug #3542: Fix the path descriptions on the FTP code wizard functions. o Fix bug #3561: Web Service timeout in QIE after bytes are received if other end does not close the connection. Release 3.0.46 build 10937 (Wed, Jul 3, 2019) ---------------------------------------------------------------- General Changes & Enhancements o Admin Alerts button is now always visible for Administrators and refreshes the list of Admin Alerts when clicked (enhancement #3488). Bug Fixes o Fix bug #3555: Revision history dialog throws exception when trying to find the latest and oldest revision and nothing exists. o Fix bug #3551: Fix concurrency issues when incrementing daily message counts. o Fix bug #3147: Remove field from message_queue table preventing a table rebuild on upgrade. o Fix bug #3520: Unable to save a scheduled script without a CRON string that is configured to run before/on start/stop or on connection. o Fix bug #3537: Source Filter with results returns zero results on non H2 databases. Release 3.0.46 build 10785 (Thu, May 30, 2019) ---------------------------------------------------------------- Bug Fixes o Fix bug #3458: Unable to use Channel Cache node tags in a scheduled script. o Fix bug #3506: Unable to use qie.addInboundMessage() in an Ack script. o Fix bug #3523: Any QIE admin account can unlock a package if no Author License is installed. o Fix bug #3531: Writing file backups fail if directories don't exist. o Fix bug #3529: Clicking the mapping node revision history icon on a channel that hasn't been saved yet throws NullPointerException. o Fix bug #3520: Scheduled script on source node with bad CRON breaks all other scripts. o Fix bug #3513: Unable to update channel cache if the source node is locked in a package. o Fix bug #3517: Unable to add a password to a new package. Release 3.0.46 build 10693 (Fri, May 10, 2019) ---------------------------------------------------------------- Bug Fixes o Fix bug #3512: Licensing check when closing out the 'About' dialog incorrectly reports channel count exceeds message and stops channel. Release 3.0.46 build 10669 (Tue, May 7, 2019) ---------------------------------------------------------------- General Changes & Enhancements o Deprecate the 'mt' node tag and replace with more appropriate 'alt' tag for 'Alternate Message' that is passed into evaluate template call (enhancement #3510). o Enhance the 'Node Tag Lookup' dialog to remember last object selected, and remember the state of the 'Escape for JSON' flag (enhancement #3510). Release 3.0.46 build 10634 (Wed, May 1, 2019) ---------------------------------------------------------------- General Changes & Enhancements o Add 60-second delay to nightly check-in thread before it tries to check in during QIE start-up (enhancement #3504). Bug Fixes o Fix bug #3503: Nightly backup cleanup can purge a backup file 1 day before it is supposed to when switching from standard time to daylight savings time. o Fix bug #3502: Calculating the number of days since last check-in is rounding up. Release 3.0.46 build 10614 (Fri, Apr 26, 2019) ---------------------------------------------------------------- General Changes & Enhancements o Toggle default behavior for new channels from first-in, first-out to simultaneous processing. o Enhance the add???toJSONArray() functions to create the array if it does not exist (enhancement #3475). Bug Fixes o Fix bug #3496: Password field fails to work properly when password is pasted in by right-click -> 'Paste'. o Fix bug #3497: ArrayIndexOutOfBoundsException in the QIE Web Service Receiver. o Fix bug #3494: Global System Status grid loses resets scroll position on refresh. o Fix bug #3495: Resubmitted messages are counted as new messages when inbound queue max memory is exceeded. Release 3.0.46 build 10574 (Thu, Apr 18, 2019) ---------------------------------------------------------------- General Changes & Enhancements o Enhance script errors to include stack trace in test window (enhancement #3482). Bug Fixes o Fix bug #3490: DAO methods that update the database are not marked with @Transactional to provide a read-write connection. Release 3.0.46 build 10555 (Fri, Apr 12, 2019) ---------------------------------------------------------------- General Changes & Enhancements o Enhance the find declaration pattern matching when in javascript editor. o Enhance script errors to include stack trace in test window (enhancement #3482). o Add ability to toggle from getAllNodes to getNode in the node lookup dialog (enhancement #3262). o Add note to 'qie.callRESTWebService()' description about adding content-type when no content is used in the call (enhancement #3417). o Deprecate QIE Webservice listener (enhancement #3470). o Add native support for OAuth2 using JWT, and Google Healthcare API (enhancement #3457). o Added the ability to support up to femto seconds rounded to the nearest milli second (enhancement #3421). o Add alert if obsolete apache http logging options are set (enhancement #3445). o Add ability to fine tune the connection pool manager for database connections (enhancement #3439). o Update log viewer to disable spellcheck, use monospaced fonts, and allow user to toggle word wrap (enhancement #3426). o Add java startup arguments to the nightly backup file (enhancement #3325). o Add database connection information to the "Server Resources" dialog (enhancement #3386). o Add ability to mute error notifications by channel (enhancement #2428). o Add ability to parse MTOM content received back from a REST web service call (enhancement #3410). o Add new system functions to get QIE version and build (enhancement #3396). o Add ability for QIE Admin to instruct QIE to programmatically remove an installed license whose license ID is no longer found (enhancement #3223). o Add ability to mute admin alerts (enhancement #3318). o Add Subject Alternative Names to the certificate detail view (enhancement #3375). o Add ability for partners to brand their QIE installations (enhancement #3225). o Add alert if the log queue size exceeds 100,000 log messages (enhancement #3369). o Add XCA profiles to the operations list for the "IHE Web Services Profile" web service connection (enhancement #3352). o Add admin alert for improper shutdown (enhancement #1421). o Search Messages dialog: Add ability to open regex lookup from the contains field and implemented the F2 and F4 keys (enhancement #3322). o Force QIE to check-in on start-up if the build version has changed (enhancement #3271). o Add ability to search messages using regular expression (enhancement #3264). o Return last check-in date for other QIE instances where an license is installed (enhancement #3256). o Database Connection drop down fields now require a valid DB Connection (enhancement #3310). o Add empty text hints to Database and Web Service Connection drop down fields (enhancement #3310). o Add ability to copy file to the file utils in the code wizard (enhancement #3305). o Enhance qie.base64Encode to accept a charset and add format indicator for charset (enhancement #1822). o Add native PGP encryption and decryption functions to the code wizard (enhancement #2837). o Allow searching messages within a view or ad-hoc search (enhancement #477). o Add published functions to the auto-complete options in the javascript editor window. o Add ability to edit javascript from the variable page (enhancement #3269). o Add ability to configure logging level for discarded bytes on a socket receiver (enhancement #3072). o Ability for customer to allocate number of channels for an asset per QIE instances (enhancement #2859). o Add ability to create file with no extension on file sender (enhancement #2746). o Add admin alert when an H2 database exceeds 2 gigs in size (enhancement #3252). o Add ability to use Channel Cache when creating a Condition (enhancement #1471). o Add ability to override the default log configuration (enhancement #3266). o Add ability to display system variable as Javascript, also enabling access to the code wizard (enhancement #3268). o Enhance the Test Window and Debug level logging to include pass or fail details for each condition item on a Condition node (enhancement #81). o Add ability to compare messages and logs in a side-by-side view or top/bottom view (enhancement #3077). o Add an admin alert when the alternate backup location is not configured (enhancement #2849). o Add 'Launch' button to HTTP listener config page on Source Node (enhancement #3227). o Add alert on ACK script if a return or qie.throwAckError() are not found (enhancement #2812). o Increase performance of Nightly Purge by purging small batches instead of one record at a time (enhancement #3192) o Change FTP absolute path in FTP endpoint from warning to error message (enhancement #2028). o Add ability to compare messages using new compare dialog (enhancement #3077). o Add ASTM socket protocol to the senders and receivers (enhancement #3152). o Show the current node path in the Test Window (enhancement #197). o Improve startup of the QIE service by using multiple threads to load the channel status for each channel (enhancement #3205). o Allow users to configure alerts at the channel level (enhancement #285). o Allow System Administrator to uncheck email alerts at the zone level (enhancement #2692). o Added ability to set a channel's startup priority directly from the Channel Startup Priorities dialog (enhancement #2930). API Changes o Add qie.createZipFile() and qie.extractZipFile() functions to the code wizard (enhancement #1460). Bug Fixes o Fix bug #3486: Make "QIE has been permanently stopped" message easier to read. o Fix bug #3464: Make critical admin alerts unable to be muted and move them to the top of the list in the admin alert dialog. o Fix bug #3474: QIE Shutdown process can be stopped due to a database error, causing un-anticipated side effects of a partially shutdown QIE instance. o Fix bug #3472: Free pass allocated after license has been retrieved is not applied after check-in. o Fix bug #3466: Zone objects with spaces in their names are not reported when finding dependencies. o Fix bug #3467: Status bar description shows incorrectly if HTML tags are used in a mapping node description. o Fix bug #3468: Evaluating template in standard mapping function does not escape the '\' character in the template. o Fix bug #3465: Copying a MappingFunction, shares the same FunctionTarget. o Fix bug #3431: Update lock down logic to better notify users of pending lock down due to lack of checking into QIE. o Fix bug #3462: When making a large volume of web service connections, linux systems can throw a 'Too many open files' error. o Fix bug #3461: License dialog automatically closed if it cannot call home for allocatable channel count. o Fix bug #3459: Ctrl+Z can blank out the AceEditor. o Fix bug #3448: Query exception is thrown when trying to display the inbound queue. o Fix bug #3395: Test path fails with cannot write file message. o Fix bug #3338: Add a Maximize button to global find dialog. o Fix bug #3421: Update deduce date to support a timzone even when no time element is found in the date (Ex. yyyyMM-zzzz). o Fix bug #3440: The created timestamp on messages set to persistence level 0 can be incorrect if the message sits in the inbound queue. o Fix bug #3432: Scheduled Scripts being overwritten by package update. o Fix bug #3434: Display As drop down on variable page doesn't display if a variable of type table is the first loaded. o Fix bug #3428: Home page header text is not centered on resolutions greater than 1024x768. o Fix bug #3394: Security scans can cause QIE to shutdown. o Fix bug #3423: Save As/Move fails when a zone object with the original zone object name already exists in target zone. o Fix bug #3422: Save As/Move dialog validates all zone objects' names against published function naming rules. o Fix bug #3416: Deduce date fails with a timezone of 'Z'. o Fix bug #3367: Replacing certificate with an updated one, does not automatically take effect on web service connection. o Fix bug #3234: Mac right command key with c for copy causes a change event to be fired. o Fix bug #3401: Update MSSQL JDBC driver to 7.0.0-jre8. o Fix bug #3409: Daily Message Counter thread is not properly reinitialized after it has unexpectedly died. o Fix bug #3402: 'Save As/Move' published function dialog can rename function incorrectly. o Fix bug #3406: 'Save As/Move' published function dialog does not enforce naming constraints. o Fix bug #3391: Do not delete a license if refreshing it fails. o Fix bug #3376: Receiving CSV fails to group messages correctly if the record contains line endings as part of the content. o Fix bug #3359: Source message blob gets purged before the message is completed. o Fix bug #3289: Keyboard paste in new PasswordField on Mac doesn't mask. o Fix bug #3341: Fix MTOM web service to use default charset even if there is multiple parts used in the call. o Fix bug #3341: Outbound SOAP web service call shows two 'Content-Type' headers being sent, when only one is included. o Fix bug #3317: Improve licensing error messages. o Fix bug #3324: HTTP error response not returned when channel configured at persistence level 0. o Fix bug #2784: Unable to insert another target after editing target node path. o Fix bug #3314: A user with Manage/View permissions can no longer edit mapping functions in the test window. o Fix bug #3313: JSON escaped published function description for code wizard. o Fix bug #3313: SyntaxError thrown on Published Functions page when there are more than one published function. o Fix bug with the 'resolveAll' causing persistence level 0 messages to be written to the inbound queue and never purged. o Fix bug causing persistence level 0 messages to be marked as still inbound when they are sent to the error queue. o Fix bug causing messages that are inbound to never be purged, even when you select to purge all messages and errors. o Fix bug #3301: Import doesn't use name in import file when importing into new zone. o Fix bug #3291: Calling postMessageResponse twice in a row throws an exception instead of logging a warning. o Fix bug #3280: Query exception retrieving log messages on channel page. o Fix bug #2543: Error Management Forms counted toward license total. o Fix bug #1514: Changing the System Configuration Password Strength does not take affect until user logs in again. o Update queries to log to qie.log always if the timeout is exceeded. o Fix bug #3270: Adding a condition to a mapping function does not enable the Save button. o Fix bug #2053: Extra whitespace in the libs.txt causes the library to not be loaded or show as selected in the System Configuration | Manage External Libraries dialog. o Fix bug #3267: Log message not correct when operation is POST and web service is configured as URL Encoded. o Fix bug #2654: Uncaught client exception thrown after QIE upgrade. o Fix bug #2894: Testing DB Query hangs on large data fields. o Fix bug #3265: Node Lookup Dialog fails to generate a valid HPath using a group by expression. o Fix bug #3234: Toggling the comments in the published function page and the system variable page does not enable to save changes button. o Fix bug #3147: Allow configuration of quotes on db query. o Fix bug #2644: Scripts with non-UTF8 characters cause exceptions on import. o Fix bug #3038: The instance parameter used in the setJSON*() calls should be 1-based not 0-based. o Fix bug #3222: Call to 'qie.isChannelRunning()' should always return true when called from the test window. o Fix bug #3182: Update file receiver to delete zero byte files after 60 minutes from last modified timestamp. o Fix bug #1494: Changes to REST Web Service URL do not change Mapping Functions. o Fix bug #3209: Invalid jetty.port start-up values are not safely handled. o Fix bug #3167: Non-admin users can see license information in the 'About QIE' dialog. o Fix bug #2759: Certain browsers overwrite values in password fields by auto-filling from saved password lists. Release 3.0.45 build 9958 (Tue, Mar 19, 2019) Revision# 10412 ---------------------------------------------------------------- Bug Fixes o Fix HTTPReceiver to use a regular expression to extract the charset from the content-type string. Release 3.0.45 build 9957 (Mon, Jan 14, 2019) Revision# 10301 ---------------------------------------------------------------- General Changes & Enhancements o Add ability to get database connection properties for a connection from the code wizard (enhancement #3390). Bug Fixes o Fix bug #3393: Node sequence numbers show incorrectly after adding new connectors in some cases. o Fix bug #3383: Channel cache revision history is only added the first time it is saved. Release 3.0.45 build 9955 (Wed, Dec 19, 2018) Revision# 10268 ---------------------------------------------------------------- General Changes & Enhancements o Update QIE to alert admins and Qvera if the message cache ID's are approaching the max limit for Integers (enhancement #3379). Bug Fixes o Fix bug #3381: Add variables to the exclusion list to not audit unless saved by user. o Fix bug #3380: Volume-based license installed on QIE versions prior to .45 are not properly handled in .45. o Fix bug #3377: Hibernate exception when searching for errors from scheduled script in multiple channels. Release 3.0.45 build 9954 (Tue, Dec 4, 2018) Revision# 10194 ---------------------------------------------------------------- General Changes & Enhancements o Add ability to prevent session caching on a Secure Socket Client outbound connection (enhancement #3371). Bug Fixes o Fix bug #3232: Messages get stuck in the inbound queue, without the ability to remove them. o Fix bug #3357: Unable to change name of a channel associated to a package. o Fix bug #3358: When importing a package that deletes items, it will prompt twice asking them if it is okay, resulting in a double import. o Fix bug #3356: Find Dependency incorrectly finds native JavaScript 'switch' statement as missing dependency. Release 3.0.45 build 9953 (Tue, Nov 20, 2018) Revision# 10148 ---------------------------------------------------------------- Bug Fixes o Fix bug #3316: Bottom empty row gets removed from the editor while user is attempting to add content. o Fix bug #3355: NullPointerException occurs when clicking OK on the http parameter dialog with no parameters. o Fix bug #3354: URL encoded web service on destination node fails validation with missing content type when it should not be validating content type. o Fix bug #3353: System Configuration - show channel start priority throws exception. o Fix bug #3347: Importing certificates throws LazyInitializationException. o Fix bug #3346: Visual channel editor allowing paths without destination node. o Fix bug #3349: Searching for errors from schedule script not returning full list of results. o Fix bug #3103: Client Exception when creating an endless loop in the visual channel editor. Release 3.0.45 build 9952 (Thu, Nov 8, 2018) Revision# 10107 ---------------------------------------------------------------- General Changes & Enhancements o Add cron string validation when saving variable linked to external source. o Enhance QIE to detect NoClassDefFound errors and shutdown the service when detected (enhancement #3287). Bug Fixes o Fix bug #3334: Resubmitting a batch of messages get processed in reverse order. o Fix bug #3330: Search for messages in inbound queue not working. o Fix bug #3329: Import configuration dependencies are reported as missing when they exist. o Fix bug #3331: NullPointerException occurs when testing a message on the source trying to convert a channel from client to server o Fix bug #3332: The node tag defined under the 'Channel Properties' -> 'Advanced' tab does not work on the completed tab if the completed message is not the same type as the source. o Fix bug #3328: DICOM preamble check for null values o Fix bug #3333: Fixed qie.parseDICOMString() and qie.createDICOMMessage() o Fix bug #3290: OEM and VBL licenses install in their own custom license group which causes confusion when attempting to start channels. o Fix bug #3307: Licensing enforcement errors after license group changes. o Fix bug #3315: Zone status page out-of-sync after forms have been disabled during the nightly check-in licensing check. o Update ExternalVariableUpdater.java class to catch exceptions with the CRON string and send alert to admins if there is a problem. o Fix bug #3309: New QIE releases above build number 10000 are not reported as available for download or installation. o Fix bug #3306: Unable to access channelCache from a source node timeout script. o Fix bug #3304: Socket receiver pre-process script receives the block footer bytes when it shouldn't. o Fix bug #3300: Persistence Level 0 channel can not error message when using the MySQL JDBC connector. o Fix bug #3295: While importing a large configuration, interacting with the item tree can cause tree nodes to disappear. o Fix bug #3294: Importing updated package does not override view or edit package contents. o Fix bug #2684: Unable to run advanced search on message if the source is HL7 and destination is XML. o Fix bug #3279: Multiple emails sent to the same user when a message goes to the error queue. o Fix bug #3278: Error form displays multiple times when the app is loaded from a "manage error" email link. o Fix bug #3277: Users with error permissions in a zone cannot use error management forms. Release 3.0.45 build 9947 (Wed, Sep 12, 2018) ---------------------------------------------------------------- Bug Fixes o Fix bug #3275: TCP Source IP Address used in filename when '*' is used as the filename (it should use a UUID, not the IP Address). Release 3.0.45 build 9911 (Thu, Aug 23, 2018) ---------------------------------------------------------------- Bug Fixes o Fix bug #3258: Publishing a mapping with unsaved mapping functions doesn't copy the unsaved mapping functions. o Fix bug #3257: Channel page loads as having changes due to published mapping. o Fix bug #3254: Null Channel Exception when trying to start channel after moving Inbound messages to Erred queue. o Fix bug #3237: Rework dashboard filter and chart to fit minimum supported resolution. o Fix bug #3247: OEM licenses need to be added to their own unmodifiable license group upon install. o Fix bug #3240: Script variable not defined exception after resuming channel from paused or erred state. Release 3.0.45 build 9869 (Fri, Aug 10, 2018) ---------------------------------------------------------------- Bug Fixes o Fix bug #3245: Secure socket receiver spikes the CPU to 100% on linux systems. o Fix bug #3232: Messages get stuck in the inbound queue when the QIE service is not stopped correctly. o Fix bug #3212: Dashboard charts load time for large message counts is suboptimal. o Fix bug #3238: Unable to import tab separated table into system variable. o Fix bug #3235: Selecting Published Mapping in a Mapping Node on a channel does not update the mapping when channel saved. o Fix bug #3233: java.lang.StackOverflowError occurs on a chain that contains itself. o Fix bug #2827: Web Service Destination Parameter Source Value allows more data than can be saved to the DB. o Fix bug #3224: Source node's scan interval does not allow the minimum or maximum values reported as valid. o Fix bug #2805: Save As on a published function does not update the function name within the function. Release 3.0.45 build 9746 (Mon, July 9, 2018) ---------------------------------------------------------------- API Changes o Add an optional 'annotate' parameter to the Code Wizard method qie.convertFHIRJSONtoXML() (enhancement #2915). Bug Fixes o Fix bug #3219: Unable to load HTML form in a package. o Fix bug #3217: Unable to import configuration after updating to 3.0.45. o Fix bug #3215: Mapping node in locked package does not execute each mapping function. o Fix bug #3210: copy and paste of web service results in nulls. Release 3.0.45 build 9691 (Thu, June 21, 2018) ---------------------------------------------------------------- API Changes o Add ability to specify socket connection timeout on web service calls (enhancement #2801). Bug Fixes o Fix bug #3189: Indexes are not correct for efficient queries when gathering messages in each queue. o Fix bug #3192: Index not correct on MySQL database for getting batch of records to purge. o Fix bug #3198: DB Connection pool defaulting to 100 connections instead of 8. o Fix bug #3194: Find Usage call throws a StackOverflowException when the script has too many strings. o Fix bug #3190: Deduce date not working without seconds (plus timezone). o Fix bug #3191: NullPointerException is thrown when loading an error management form. Release 3.0.45 build 9630 (Thu, June 14, 2018) ---------------------------------------------------------------- Bug Fixes o Fix bug #3187: QIE not properly shutting down with new QieLauncher socket. Release 3.0.45 build 9606 (Fri, June 8, 2018) ---------------------------------------------------------------- Bug Fixes o Fix bug #3185: Exception thrown when added new node to visual channel editor, then expanding the editor. o Fix bug #3183: Exception thrown when testing a message on a locked package channel. o Fix bug #3181: Find Usage: Database connection usages are not found in source or destination nodes. Web service connection usages are not found in destination nodes. o Fix bug #3180: Fix NullPointerException when message is sent to the error queue, with an error management form configured. o Fix bug #3179: Truncate large DICOM messages gracefully when they exceed the message size limit for the test window. Release 3.0.45 build 9556 (Thu, May 31, 2018) ---------------------------------------------------------------- General Changes & Enhancements o Restructure Code Wizard menu structure for source and message functions (enhancement #2724). o Update socket receiver to record remote IP address with the message (enhancement #3046). o Add new function 'qie.getRemoteIPAddress()' to retrieve the remote IP address of the sending system (enhancement #3046). o Add ability to find dependencies in channels, html forms, published functions and published mappings via context menu (enhancement #2925). o Include the before and after test messages as sample messages in the Node Path Lookup dialog if the test tab is visible (enhancement #2956). o Update Microsoft JDBC Driver from 4.0.2206 to 6.4.0.jre8 (enhancement #2836). o Ship the MariaDB JDBC driver version 2.2.3 with QIE (enhancement #3071). o Add ability to see unsaved changes from the audit dialog (enhancement #2377). o Add ability to revert to a previous version of an object (enhancement #2377). o Added ability to cancel find dependencies search during export configuration, find usage search and find text search (enhancement #3033). o Add ability to Base64 encode/decode from inside of the QIE editor window (enhancement #2896). o Add warning when system cannot detect a return statement in a custom condition script (enhancement #2783). o Add ability to remove XML comments by calling message.removeComments() (enhancement #2891). o Change the search messages dialog so that it is clear that it is doing a 'contains' search (enhancement #2865). o Change the Error Management Base URL to default to the server name and port of the local QIE install (enhancement #2823). o Add ability to view system logs from inside of QIE (enhancement #2729). o Change the 'Start' button to 'Restart' while the channel is running and 'Resume' while the channel is paused (enhancement #2752). o Enhance QIE to remember the cursor position for Variables, Published Functions, load and post scripts on HTML Forms (enhancement #2756). o Add inbound messages count charting and data export (enhancement #2745). o Add parameterMap functions to the code wizard (enhancement #2718). o Always display certificate chain even if we don't have the private key (enhancement #2640). o Change QIE Launcher to use a normal TCPIP Socket instead of using Java RMI to communicate with the QIE JVM (enhancement #1451). o Add ability to terminate other QIE servers that are causing license limits to be exceeded (enhancement #2716). o Add the server name to the Login window, Home tab, About dialog, Lock dialog and License detail dialog (enhancement #2695). o Add ability to find usages of channel cache variables (enhancement #2069). o Add ability to output human readable print of a parameter map (enhancement #2721). o Add debug statement with the parameter map values when using a parameter map in an evaluate template (enhancement #2721). o Add ability to see a list of other QIE servers where a license is installed (enhancement #2588). o Add ability to find usages of forms in other forms (enhancement #2699). o Add ability to run QIE without having it encrypt the messages in the database (enhancement #1177). o Add multi-threading to "find usage" for better performance (enhancement #2687). o Enhanced find dependencies logic to search for all items in all locations (enhancement #2508). o Add ability to turn off sending stack traces in error message emails to prevent the inclusion of PHI (enhancement #2645). o Add ability to generate code using the standard mapping function dialog from within a javascript editor (enhancement #302). o Alert users when absolute paths are used in FTP source or destination paths (enhancement #2028). o Update Apache Camel to 2.15.6 from 2.12.0 (enhancement #2028). o Fix bug causing endless timeout scenario trying to connect to FTP via implicit TLS in FTP via explicit TLS mode. o Upgrading to commons-net 3.3 from commons-net 2.0. o Enhance node tag with ability to use a format indicator to format date values directly from the node tag (enhancement #1998). o Enhance node tag to support '[required]' format indicator so that if a tag resolves to blank or null it will error the message (enhancement #1998). o Enhance node tag to support '[raw]' and '[no-escape]' format indicator so that you can embed XML or JSON into a message without having the node value escaped (enhancement #1640). o Add qie logging if service is started using the 'qie.preloadLibDir' property (enhancement #2401). o Enhance the View Endpoints dialog to always open fullscreen (enhancement #2580). o Add certificate information to inbound HTTPS messages. o Add a progress bar to the import configuration dialog (enhancement #2405). o Enhance the Message Detail dialog to remember which tab the user last selected (enhancement #1750). o Combine the Test Log, Message Cache and Channel Cache dialogs into a single pop-up dialog in the Test Window (enhancement #1936). o Enhance the Code Wizard moveFile() function to return the file name and extension of the destination file in case it is renamed to avoid overwriting an existing file (enhancement #2463). o Test Connection button on the DB Connection page now executes the validation query as well (enhancement #2494). o Add the ability to scroll the error message that pops up in the Test window (enhancement #2452). o Remove legacy audit history (enhancement #2510). o Add ability to do a global text search (enhancement #1324). o Enhance Error Management Email with Distinct Error Search option (enhancement #2123). o Upgrade jetty from v7.6 to v9.3 (jetty is used for HTTP listeners). o Add ability to use https to log into QIE instead of just http (enhancement #2323). o Enhance the editors to accept Ctrl+R and Ctrl+H to bring up the replace dialog (enhancement #2176). API Changes o Added isToday(date) function to the code wizard (enhancement #3045). o Add ability to get the column count from a CSV message model using a new qie.getColCount() method (enhancement #3066). o Add ability to pass message types into the qie.evaluateTemplate() method and reference them with new 'mt' node tag (enhancement #3027). o Added native message model support for EDIFACT (enhancement #2991). o Remove XMPP as a valid message source. o Added native message model support for DICOM. Bug Fixes o Fix bug #3174: Node lookup dialog does not work with a an array as the root node on a JSON message. o Fix bug #3173: Html Forms include their content in script fields for find dependency searches. o Fix bug #3172: View Dependencies call fails for script with a one single quote mark or one double quote mark in a comment. o Fix bug #3154: Changing a web service soap envelope does not save unless something else on the dialog is changed also. o Fix bug #3144: The OK button is not aligned correctly on the JavaScript editor pop-up dialog. o Fix bug #3045: isDateWithin now inclusively includes today. o Fix bug #2893: Message tabs stop refreshing after testing a message. o Fix bug #3137: Null pointer exception thrown while finding dependencies during certain configuration imports. o Fix bug #3132: Find dependencies search does not notify user if non-viewable package items were skipped during the search. o Fix bug #3127: ScriptUtil's removeComments() method erroneously removes xPath and multi-line JavaScript comments wrapping node tags in strings. o Fix bug #3136: HTTP receiver throws exception when receiving an HTTP post request from an HTML form upload. o Fix bug #3126: User can insert a license that is already installed on the QIE server. o Fix bug #3129: Editing a license that has been deleted from within another user session throws unhandled exceptions. o Fix bug #3124: Unable to import table in variable page (Java 9 only). o Fix bug #3113: Licenses expiring today should allow QIE to run until 11:59PM tonight. o Fix bug #3123: Licenses' license group is not correctly labeled "Global" in the About dialog. o Fix bug #2924: Including comments before the new child node when calling addChild(), addChildBefore() and addChildAfter() now works. o Fix bug #3106: A dependency check is performed but not necessary when selecting a non-global zone in the import configuration dialog when there is no Global Settings node in the import file. o Fix bug #3034: Always display one row on a system variable table even if it is empty. o Fix bug #3080: ChannelCache variable node tags used in Channel properties dialog are no longer found. o Fix bug #3079: Web service invocations using qie.callRESTWebService() are not found in find usages or as dependencies in import/export configuration. o Fix bug #3076: Find Text/Usages "showing first 100" doesn't take them in zone-sorted order. o Fix bug #2194: Update link in the header toolbar (Help-->How to add JDBC drivers to QIE) to point to the KB instead of PDF document. o Fix bug #2872: Publishing a mapping to Global Settings does not consider dependencies in mapping functions. o Fix bug #3050: Exporting and then trying to save an object that hasn't been exported before fails. o Fix bug in the JSON message model causing floats to output as a string instead of a number when using message.setJSONNumber(). o Fix bug #3065: Node lookup dialog does not work correctly on a CSV message if the sample message does not contain quoted values. o Fix bug #3067: Node lookup dialog gives a node path of 'Header Row' instead of '*[0]' when selecting the header row from the tree model. o Fix bug #3063: Opening a mapping function and then pressing the 'OK' button without any changes acts as if changes were made. o Fix bug #3054: Removing all attributes from an XML message when the root node includes that attribute throws a 'Removing root node is not allowed' error. o Fix bug #3052: Null Exceptions when moving empty binary messages to outbound queue. o Fix bug #3051: Linked table variables with windows line endings don't import correctly. o Fix bug #3030: User is shown usages in zone for which they do not have view permissions when attempting to delete an item. o Fix bug #3012: Group by message does not work on X12 messages unless the segment separator is a line ending. o Fix bug #3010: Multiple segments in the value does not work with a setNode on X12 messages. o Fix bug #3011: Call to setNode fails if the element separator is different than default on X12 messages and the node is being added to the end of the segment. o Fix bug #2927: Release Notes are not displaying in the Help | About dialog until you click into the editor. o Fix bug #2994: System type appears to be saved after attempting to set its value results in an error message. o Fix bug #2957: Revision History dialog doesn't close after getting pop-up 'You do not have permissions to perform this operation'. o Fix bug #2951: Unable to test message before saving channel. o Fix bug #2953: License dropped from license group after adding zones group. o Fix bug #2952: Keep channel running flag does not work when a 'Run Before Channel Starts' script errors out. o Fix bug #2929: Error when Clearing All Overrides in System Configuration. o Fix bug #2947: HTTP Receiver does not parse "multipart/form-data" requests correctly. o Fix bug #2952: Keep channel running flag does not work when a 'Run Before Channel Starts' script errors out. o Fix bug #2929: Error when Clearing All message retention overrides in System Configuration. o Fix bug #2947: HTTP Receiver does not parse "multipart/form-data" requests correctly. o Fix bug #2839: Memory leak when resolving all errors. o Fix bug #2938: Channel editor shows wrong water mark text and is editable when source node is editable. o Fix bug #2922: Source node script is not displayed if it was on another tab when the browser was resized. o Fix bug #2788: Publishing a publication should give a mask indicating that it is working. o Fix bug #2871: Convert FHIR JSON to XML fails if the first attribute is not 'resourceType' in the resource array. o Fix bug #2860: Trim extra spaces from License ID and Activation Code before attempting to retrieve the license. o Fix bug #2861: Find Usages of HTML Forms is finding incorrect matches in scripts. o Fix bug #2842: Issued date for license is incorrectly displayed. o Fix bug #2760: Fix the proxy utils to skip non-proxy hosts if the host is invalid preventing other exceptions. o Fix bug #2755: Change History display needs to be HTML escaped. o Fix bug #2770: Exception thrown when enabling a node while the channel is stopped. o Fix bug #2794: QIE hangs trying to load error queue when error management form is configured and binary data is received. o Fix bug #2782: Add better description to the scheduled script timeout variable. o Fix bug #2757: Find usage results are now sorted by ordinal position when applicable. o Fix bug #2709: Ack error emails contain PHI when the responder includes it as part of the error. o Fix bug #2708: Enhance error message returned when QIE cannot connect to qvera.com. o Fix bug #2681: getLicense call failing for mismatched asset to installation does not give the user an informative message. o Fix bug #2648: Report better exception when setting node on blank CSV message with headers. o Fix bug in Node Lookup Dialog throwing exceptions when the values changed. o Fix bug #1306: Find dependencies not finding applyXSLTransform usages. o Fix bug #2152: Find dependencies not looking at condition nodes. o Fix bug #2684: Unable to search completed messages using node path when the completed message type if different than the source message type. o Fix bug #2370: Using node tag lookup on the source or destination node will now append the tag instead of replacing the value with the tag. o Fix bug #2662: Resolved issues with qie.escapeHL7() and qie.unescapeHL7(). o Fix memory leaks in the AceEditor and in most of the dialogs. o Fix bug #2628: Searching for messages without specifying anything to search on now gives a more helpful message. o Fix bug #2520: Find Usages hyperlinks do not take you to the specific item. o Fix bug #2618: FindUsages not looking at WsDestinationParameter or WsDestinationAttachment. o Fix bug #2476: qie.getFileName() does not work in test window. o Fix bug #2571: Add ability for qie.writeFile() to write both a 'String' and 'byte[]' to a file. o Fix bug #2562: RMI Kill thread is stopping the QIE service before channels are able to shutdown in cases where it takes more than 5 minutes to stop. o Fix bug #1532: Find usages of published functions as parameter values. o Fix bug #1532: Fixed published mappings not being found in Find Usages. o Fix bug #1532: Fixed published functions finding themselves during Find Usage. o Fix bug #1532: Fixed duplicate fields in Find Usages. o Fix bug #2296: FTP Receiver processes same message over and over again when it can't archive a file. Release 3.0.44 build 9086 (Tue, Jan 30, 2018) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to get enveloped segment groups using 'ST=[group=*,SE]' syntax with X12, HL7 and ASTM message types where ST=start segment and SE=end segment (enhancement #2887). o Add ability to use sample HL7, ASTM, or X12 messages without a header segment (enhancement #2890). Bug Fixes Fix bug #2913: Clicking on published mapping node in a channel causes save/cancel buttons to enabled as if a change was made. o Fix bug preventing complex node paths from being used in the X12 message model. o Fix bug #2886: X12 messages should display in a human friendly format in the sample message dialog, test window, and node lookup path even if they don't have line endings. o Fix bug causing advanced node path menus from not displaying in the node lookup dialog for X12 messages. o Fix bug preventing the node path lookup results from displaying in a human friendly format on X12 messages. o Fix bug preventing the 'Copy Selected Path' from working correctly when the instance in the node path was greater than 9 (Ex. NM1[10]-3 would not remove the [10]). o Fix bug causing the node lookup dialog to refresh the sample message when the dialog is re-opened on the same channel. o Fix bug #2900: Node lookup dialog hangs when there are a large number of nodes rendered. o Fix bug #2879: Mapping node description does not update when selecting a published mapping. Release 3.0.44 build 8937 (Thu, Dec 7, 2017) ---------------------------------------------------------------- General Changes & Enhancements o Updated Mac OS and Linux Install Instructions. o Change 'Customer ID' to 'License ID' and 'Password' to 'Activation Code' (enhancement #2730). o Remove the support expiration date from the About dialog (enhancement #2797). o Create QIE Browser Shortcut in the Start Menu during installation (enhancement #2665). Bug Fixes o Fix bug #2817: message.removeAllNodes with filter doesn't work on HL7, ASTM, and X12 message models. o Fix bug #2763: Removed unused parameter "query" from pQuery.doConditionQuery signature in code wizard. o Fix bug #1147: Exception is Thrown when Script Variable is Renamed. o Fix bug #2808: HTTP receiver responses are delayed up to 500ms. o Fix bug #2806: Null pointer exception when license refresh fails in QIE Standard. o Fix bug #2801: Connection timeout not being set on web service calls, only the SO_TIMEOUT. o Fix bug #2796: Concurrent modification exception thrown to the client during database migration. o Fix bug #2793: Wrong root certificate included in cert chain when multiple certificates exist with the same subject identifier. o Fix bug #2761: Socket receiver sends ACK messages even when it is unable to save the message to the database. o Fix bug #2787: LazyInitializationException thrown when loading conditionNodes on a channel in a package. o Fix bug: qie.writeFile erroneously throws an an IOException if the directory path exists, and the shouldCreatePath is true. o Fix bug #2774: Error when Editing Profile from Application Menu after changing password from application menu. o Fix bug #2772: Remove deprecated java options in installers for Java 9 release. Release 3.0.44 build 8640 (Wed, Sep 20, 2017) ---------------------------------------------------------------- API Changes o Add helper methods to the X12 message model to retrieve the Segment, Element, and Component separators. Bug Fixes o Fix bug causing two line endings to be added between segments when grouping X12 segments, but parsing without a header. o Fix bug #2742: Auto-fill password setting value in disabled WS Connection or DB Connection screen causing the application to lock. o Fix bug preventing binary ISO-8583 messages from being tested in the test window. o Fix bug with findPreviousMessage() function being called from a test window condition node. Release 3.0.44 build 8601 (Thu, Sep 7, 2017) ---------------------------------------------------------------- API Changes o Add LLLLLVAR and LLLLLLVAR data types to ISO 8583 message type. Bug Fixes o Fix bug #2735: XPath with text() in function returns tag name instead of the text when using VTD. Release 3.0.44 build 8587 (Fri, Sep 1, 2017) ---------------------------------------------------------------- API Changes o Add ability to use multiple filters in JSON node paths (enhancement #2703). o Add ability to filter nodes using 'contains()', 'starts-with()', and 'ends-with()' in the JSON node path filters similar to XPath (enhancement #2703). o QIE Installer: Use the Windows SDK to sign the InnoSetup installer (enhancement #2651). o QIE Installer: Create QIE Browser Shortcut (enhancement #2665). o QIE Installer: Specify Jetty Port durring install process (enchancement #2717). o Add ability to get a list of form names available to the zone (enhancement #2714). o Add ability to get the URL Key of a form by name (enhancement #2714). Bug Fixes o Fix bug downloading WSDL on HTTPS Soap web service connection. o Fix bug #2723: Changes made from the test panel are not cached. o Fix bug #2703: Fixed bug in JSON message model related to array management. o Fix bug: HTTP throws an exception if it receives a '&' is used instead of a '?' on the request URI. o Fix bug #2715: Message model tree is out of sync on XML message when using the DOM. o Fix bug: Error saving trusted certificates. o Fix bug: The "Hold messages in outbound queue for at least" (sendDelay) check box and field values are cleared out after channel save. o Fix bug #2707: Log warning when a zero byte file is received by the FTP receiver. Release 3.0.44 build 8361 (Wed, Jul 12, 2017) ---------------------------------------------------------------- Bug Fixes o Fix bug #2680: Importing licenses from export file now calls home to QIE Admin to retrieve the license correctly. o Fix bug #2681: Nightly check-in handles license exceptions from QIE Admin correctly. o Fix bug #2682: Expired license not showing most recent expire date. o Fix bug #2670: Logs get out of sync due to the sort_order getting out of sync. o Fix bug preventing channel changes from being cached in case of browser crash. Release 3.0.44 build 8303 (Mon, Jun 26, 2017) ---------------------------------------------------------------- Bug Fixes o Fix new SFTP calls to encode using commond-codec base64 instead of using GWT base64 utils. Release 3.0.44 build 8282 (Thu, Jun 22, 2017) ---------------------------------------------------------------- Bug Fixes o Fix bug #2650: After searching for messages, QIE no longer allows the user to click on the next page button when on the last page. o Fix bug #2667: The Certificate screen no longer displays the expiration date. o Fix bug #2671: Daily message count email throws exception if channel that processed messages was deleted. Release 3.0.44 build 8264 (Tue, Jun 20, 2017) ---------------------------------------------------------------- Bug Fixes o Fix bug #2664: Daily Message Count email has incorrect "Completed Grand Total" when more than one channel is reported in a single zone. o Fix bug #2594: Using a single node tag for both the filename and the filename extension does not work in the Source and Destination nodes. o Fix bug #2643: X12 tree and value not working in Node Path Lookup dialog when X12 messages does not use default delimiters. o Fix code wizard to call 'base64DecodeXML' instead of 'base64DecodeXml'. Release 3.0.44 build 8235 (Tue, Jun 13, 2017) ---------------------------------------------------------------- General Changes & Enhancements o Streamline initial login for setting admin password, setting system type, and installing licenses. o Update the login window to default the user name and password with a hint when logging in for the first time. API Changes o Add ability to get a list of available SslKeys, SslCertificate, WsConnections, DbConnection, and Variables for use in a form drop-down selection (enhancement #2653). Bug Fixes o Fix bug #2656: Unable to set system type when proxy server is required. o Fix bug #2659: Message Detail Dialog reloads with each refresh of an active search. o Fix bug causing qie.readFTPFile calls to all use SFTP and not plain FTP. o Fix bug #2647: XML Message: removeAllNamespaces() throws exception when single quotes are used in the namespace attribute. Release 3.0.44 build 8197 (Fri, May 26, 2017) ---------------------------------------------------------------- API Changes o Update channel status service to allow response to be in a JSON or XML format instead of just a String. o Add ability to get the last message received and last erred time stamps from a script (enhancement #2637). Bug Fixes o Fix bug #2636: Unable to add column to CSVMessage if a row > 1 contains more columns than row 1 does. o Fix bug #2635: CSV output from a form grid does not properly escape quote characters. o Fix bug #2625: Exception thrown when deleting a package. Release 3.0.44 build 8148 (Wed, May 17, 2017) ---------------------------------------------------------------- General Changes & Enhancements o QIE Installer now allows user to select which java version to use and reports when Java is not found on the system (enhancement #2630). Bug Fixes o Fix bug #2609: Unable to search for messages that cannot be parsed correctly. o Fix bug #2611: Unable to manually type in page # when on page #1 of the message, error, or completed tab. o Fix bug #2620: Web Service connection not allowing passwords longer that 45 characters. o Fix bug #2602: Stale object exception thrown when checking for update. o Fix bug #2626: Non-administrator users not getting email alerts. o Fix bug #2612: Testing FTP endpoint throws Null Pointer Exception if the endpoint is SFTP, but QIE configured for plain FTP. o Fix bug #2604: Allow 0 channel license to be added to a volume-based license group. o Fix NPE when QIE service stops during the nightly check-in random wait. Release 3.0.44 build 8099 (Thu, May 11, 2017) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to Send/Receive/Test FTP files from mapping nodes (enhancement #1381). o Enhance 'Extract & Format Code' option to handle JSON, HL7, and ASTM formats (enhancement #2365). o Add Single Quote Selection options to Editor (enhancement #2607). o Add validation that ensures all of the packages in the zone are deleted before allowing the zone to be deleted (enhancement #2605). Bug Fixes o Fix bug #2590: Unable to display CSV file in the FormattedCsvDialog if the delimiter is a UTF-8 character. o Fix bug #2619: Unable to get JSON nodes if the root is a JSON array and not a JSON object. o Fix bug #2616: User permissions of "View" won't allow viewing message detail. o Fix problem with the session cookie being removed from the client browser due to time sync problems between the workstation and the qie server. o Fix NPE when calling qie.isChannelRunning() from the test window while the channel is stopped. o Fix bug #2610: qie.callRESTWebService throws null pointer exception when returnFullHttpResponse is used and the returned payload is null. o Fix bug #2584: Pre-process log messages showing even if the pre-process script is not set to run. o Fix bug #2596: Session times out when sitting on a secure form. Release 3.0.44 build 8029 (Mon, May 1, 2017) ---------------------------------------------------------------- General Changes & Enhancements o Update the 'How to Add JDBC Drivers to QIE' link to use the qvera KB article instead of out-dated document (enhancement #2194). Bug Fixes o Fix bug #2595: FTP receiver throws an out of memory exception if the source has a large volume of messages. Release 3.0.44 build 7985 (Mon, Apr 24, 2017) ---------------------------------------------------------------- Bug Fixes o Fix bug #2590: Unable to process CSV file using UTF-8 special character as a delimiter. o Fix bug #2587: System Type field is not being audited for changes. o Fix bug #2589: FTP Receiver receives the same file over and over when using the 'Disconnect after use' check box. o Fix bug #2585: Unable to test non-UTF8 messages in the QIE test window. o Fix bug #2577: DB Migration database connection cannot be changed after it has been tested once. o Fix bug #2581: Licenses with forms enabled but no channels show up as disabled. o Fix bug #2578: Escaped quotes cause the tree grid to be off by the number of quotes found in the value. Release 3.0.44 build 7913 (Fri, Apr 14, 2017) ---------------------------------------------------------------- General Changes & Enhancements o Update responding receivers to respond with a generic '500 Internal Server Error' when QIE is unable to process a message (enhancement #2572). Bug Fixes o Fix bug #2576: Search stopping due to timeout exception when QIE server is low on resources. o Fix bug #2574: Call qie.warn(null) causes an exception. o Fix bug #2573: Exception thrown when parsing a CSV message with special characters inside the value of a field. Release 3.0.44 build 7870 (Tue, Apr 11, 2017) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to XSL transform from a string template instead of using system variable (enhancement #1797). Release 3.0.44 build 7848 (Fri, Mar 31, 2017) ---------------------------------------------------------------- Bug Fixes o Fix bug #2561: XML is being invalidated if there is a valid XML prolog inside of a CDATA element. o Fix bug #2421: Log messages with the same milliseconds are sometimes displayed out of order on the Log tab in the Message Detail dialog. o Fix bug #2462: When a form is disabled due to licensing, the alert does not include the Zone that the Form is found in. o Fix bug #2559: Test Window - Select spawned message popup persists if you select the current message instead of a spawned message. Release 3.0.44 build 7822 (Tue, Mar 28, 2017) ---------------------------------------------------------------- Bug Fixes o Fix bug #2558: HTTP Receiver: Headers not being passed to channel on MTOM requests. o Fix bug #2467: The Next and Previous buttons on the Message Detail dialog get disabled when moving from one page to another. o Fix bug #2499: Unable to edit a Published Mapping from the Test Window. o Fix bug #2442: Empty sample message causes a null error in the Node Path Lookup dialog. o Fix bug #2493: ASTM message displays with binary editor on Message Result dialog. o Fix bug #2513: View Endpoints dialog shows Hidden for some items. Release 3.0.44 build 7740 (Thu, Mar 16, 2017) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to move a 'Global Zone' object down to a non global zone, where the object is only being referenced by the target zone. o Added JSON Tutorial to the Help Menu. Bug Fixes o Fix bug #2165: Unable to move or copy a published function to another zone if it has dependencies. o Fix bug #2207: Unable to move or copy a form to another zone if it has dependencies. Release 3.0.44 build 7659 (Fri, Mar 3, 2017) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to escape node tag values for JSON (enhancement #2488). o Add ability to use node tags in the error form email configuration (enhancement #2477) o Add ability to run test query from the 'DB Connection' page (enhancement #624). o When testing a 'DB Query' from the source node, the results now open in a grid dialog (enhancement #624). o Enhance the XML editor validation to check for unclosed tags (enhancement #2443). o Add ability to create a new JSON message model and set the value at the same time (enhancement #2427). o Add ability to create CSR and Self-Signed certificates with 'Subject Alternative Names'. o Add ability to use a custom PKIXCertPathChecker on the HTTPReceiver. o Add ability to use standard SslContextFactory certificate validation options on the HTTPReceiver. o Add ability to include use custom XML prolog (enhancement #2268). o Update nightly check in to use it's own thread to give more flexibility in checking in when the regular schedule is missed (enhancement #2340) o Add last check in time and QIE home directory to the 'Server Resources' window (enhancement #2340) o Added new qie.notInTestWindow() and qie.inTestWindow() functions to indicate if the script is being run from the test window or not (enhancement #2307) o Add ability to run parameterized query from the code wizard (enhancement #2174). o Remove the JDBC to ODBC bridge driver from the DB Connections page dropdown, this driver is not supported as of Java 1.8 (enhancement #2328). o Add 'Quote Selection' and 'Unquote Selection' to the Editor Menu (enhancement #2254). o Add a warning message that is logged when it takes more than 10 attempts to find a unique filename on a File, FTP or Network Share destination or when using the Code Wizard moveFile() function (enhancement #2272). o Add a double arrow collapse button to minimize the log messages grid on the Global & Zone Status pages (enhancement #2306). o Enhance QIE to remember the maximized state of the editor windows between screens and sessions (enhancement #2235) o Enhance StringUtils.isBlank() to account for 'undefined' JavaScript variables (enhancement #2244) o Include the number of enabled forms on the Global System Status and Zone Status pages (enhancement #2227). o Add the ability to filter the zones that are displayed on the Global System Status page by License Group (enhancement #2227). o Add ability for file archive and network share archive to create directories if they don't exist (enhancement #2230). o Admin alert will now notify user if the nightly backup is failing (enhancement #1522). o Add ability to search for values in a system variable table (enhancement #1029). o Add ability to specify multiple, comma separated email addresses for a User account (enhancement #2159). o Enhance REST Web Service to include OPTIONS, HEAD and TRACE operations (enhancement #2246). o When appending CSV messages into a file on a destination node, QIE will now skip CSV header rows if the file already exists (enhancement #2217). o Alert admins when an alternate backup configuration fails (enhancement #2295). o Add new "View Endpoints" menu item under the "Application Menu", this option will list all endpoints used in QIE grouped by sender/receiver type (enhancement #1879). o Enhance JSON message model to display tree view and allow for node path lookup (enhancement #2245). o Add new Code Wizard methods to convert FHIR messages from JSON to XML and from XML to JSON (enhancement #2247). o Add ability to link a system variable to an external source file (enhancement #2188). o Add additional StringUtils methods to the Code Wizard and break the StringUtils menu out into sub-menu's (enhancement #2157). o Add SFTP Proxy Settings to System Config page to replace the java options in the service manager (enhancement #2232). o Added preprocess script to the FileReceiver, SocketReceiver, SecureSocketReceiver, NetworkShareReceiver, FTPReceiver, WSReceiver, and HTTPReceiver (enhancement #1520). o Enhance REST Web Service to include PATCH operation in addition to GET, POST, PUT, and DELETE. o Add ability to run a channel purge without stopping the channel (enhancement #2126). o Calling setAllNodes() or removeAllNodes() on a message that doesn't have any of the specified nodes will no longer throw an exception (enhancement #1579). o Add ability to call message.setNode('/', someValue) on a fixed width message (enhancement #2117). o Changed session management so users don't have to re-login when working with error management forms (enhancement #2061). o Enhanced user security to allow locking a user after x invalid attempts. Added User login info to Manage Users page and defaulted number of attempts to 5 on System Config page (enhancement #2139). o Update XML VTD Message Model to remove local copy of message bytes to save memory while processing messages (enhancement #2111). o Enhance editor search to cycle search results with the enter key, if the search field is still in focus. o Add validation and error information about invalidity when saving system variables (enhancement #2071 and #2072). o Added additional security for users with manage errors permissions (enhancement #2075). o Add the ability to have a script run before a channel stops (enhancement #1198). o Add the ability to discard all inbound or outbound from a scheduled script (enhancement #1427). o Update login page, home page, about dialog and lock dialog to differentiate between Enterprise Edition and Standard Edition. o Enhance with ability to create Standard Edition of QIE which can be licensed with a limited free license. o Add ability to choose whether to initialize an inbound message as a copy of the source or start with an empty message (enhancement #2057). o Add license group logic for volume-based licenses (each volume-based license must belong to its own license group) (enhancement #2162). o Add access to Node Tag look-up dialog from the custom export data field in the Export Messages dialog and the Custom Data to Display text fields on Channel Properties -> Advanced tab (enhancement #2160). o Add ability to specify custom data when exporting messages (enhancement #1256). o Change License Dialog so focus is on customer ID field when dialog loads (enhancement #2155). o Add release notes buttons to the QIE Update Status section of the System Configuration page (enhancement #456). o Add nested for-loop generator to the View menu in the Custom Script editor (enhancement #1445). o Add ability to automate error management from scheduled scripts (enhancement #957). o Add new function qie.base64DecodeXML() to Code Wizard (enhancement #2044). o Move test window 'Replay Step' button next to the 'Step' button (enhancement #2132). o Add Migrate QIE Database dialog to the System Configuration page to allow migration of the QIE database from one system to another (enhancement #778). o Add a new menu item of "Remove Value" in the Code Wizard -> Channel Cache menu(enhancement #2102). o Implement volume-based licensing (enhancement #1599). o Add the ability to select the entire XML element, even if it has no text or child elements, by including '/.' at the end of the XPath (enhancement #2042). o Enhance deduce date with option to default to European date format (dd-MM-yyyy) instead of US format (MM-dd-yyyy) (enhancement #1776). o Update QIE to extract war to the QIE home directory instead of the JVM temp directory (enhancement #1422). o Add urlEncode() and urlDecode() functions to the Code Wizard (enhancement #1949). o Enhance 'Last Message Received' and 'Last Erred Message' times to include a hover over which includes the full timestamp and a friendly duration string (enhancement #1186). o Enhance the Channel page to show how long the channel has been running in the Visual Channel Editor's status bar (enhancement #1186). o Add the year to the QIE log screens and enhance QIE to display all dates with the year first (enhancement #1910). o Enhance qie.formatDate() to always treat 'YYYY' as 'yyyy' to avoid problems due to "week year" being used instead of "year" (enhancement #1892). o Enhance QIE to sort Zones, Channels, Web Service Connections, Database Connections, System Variables, Published Mappings, Published Functions, and Users without regard to case (enhancement #1940). o Add ability to create and manage packages (enhancement #358). API Changes o Add new JSON script functions for message.setJSONBoolean, message.setJSONNull, message.setJSONNumber, message.setJSONObject, and message.setJSONString. o Add new option to qie.createCSVMessage() in the Code Wizard to create a new CSV message with headers (enhancement #2217). Bug Fixes o Fix bug #2511: QIE opens in a new window if on the login screen for more than one minute. o Fix bug #2483: Source node server socket host field not disabled when it should be. o Fix bug #2500: XML validator fails if XML comment is adjacent to an XML tag and not on it's own line. o Fix bug #885: Auto Indent sometimes adds extra indents when it should not. o Fix bug #2479: Unable to delete SSLKey or SSLCertificate. o Fix bug #2476: qie.getFileName() now returns a fabricated name when called in the test window. o Fix bug #2472: XML validator fails when a tag spans multiple lines. o Fix bug #2468: Revision History: Missing mapping functions when viewing changes. o Fix bug #2465: Unable to load revision history in channel with db connection. o Fix bug #2466: AttachDetachException after clicking "View Associated Message" in the message detail dialog. o Fix bug #2450: Using Command+C to copy text from a System Variable triggers a change. o Fix bug #2448: JSON validation fails when using a Node Tag as the JSON primitive value of a field. o Fix bug #1881: Using text() in the XPath does not work when using the VTD XML library. o Fix bug #2441: Web Service cookies not being cleared when changes are made. o Fix bug #2440: Debug mode not staying enabled for the duration specified. o Fix bug #2458: "Failed to check in..." admin alert is not updated or deleted unless the application has entered lockdown mode. o Fix bug #2455: "Application is throttled..." admin alert is not updated or deleted properly. o Fix bug #2456: Create New JSON Message now requires the message template. o Fix bug #2431: qie.postMessageResponse() result not visible for processed messages. o Fix bug #2447: An error occurs when trying to load a channel that has been deleted in another tab or by another user. o Fix bug #2446: Special characters in XML message are corrupted when resubmitting a message that has been edited. o Fix bug #2430: Exception thrown when testing a secure socket connection. o Fix bug #2432: Test Window error message is too long to view. o Fix bug #2434: Special characters in an XML message cause an error to pop-up when opening the Message Detail dialog. o Fix bug #2433: An empty message causes an error when bringing up the Message Detail dialog. o Fix bug #2429: Unable to open the channel revision history on certain systems when the channel contains UTF-8 characters. o Fix bug #2426: Error setting HL7 subcomponent when no field instance is specified and multiple instances exist--in other words, the repeating character is present for the field. o Fix bug #2380: Clicking on a node in the CSV tree view does not highlight the correct data in the message. o Fix bug #2409: Message throughput is slow when running QIE on Java 8. o Fix bug #2406: Record modified by another user on import. o Fix bug #2402: Login redirect after importing system configuration. o Fix bug #2357: Replay Step not resetting the test logs. o Fix bug #2357: Replay set not resetting the message. o Fix bug #2331: Give user friendly message when a session expires. o Fix bug #2230: Validate archive path on file receiver before receiving file to prevent message from being processed twice. o Fix bug #2292: When opening the same channel in two different tabs, QIE will no longer prompt the user if they want to restore unsaved changes. o Fix bug #2292: When opening the same channel in two different tabs, QIE will now open the second channel in read only mode. o Fix bug #2321: Add a system configuration option to allow daily message count email to include all enabled channels, even if they didn’t process any messages. o Fix bug #2330: Changing a user's password with other unsaved changes to the user causes an error. o Fix bug #459: FTP upload takes a long time when the source filename is repeated. o Fix bug #2304: Evaluate template for ws-pass or ws-user gets old values after changing the web service connection. o Fix bug #2300: Dates with +0000 do not deduce o Fix bug: Abbreviated timezone labels (PST, MST, CST, EST, etc) were ignored in deduceDate. o Fix bug #2193: Unable to use source.getCreatedTimestamp() while searching for messages. o Fix bug #2176: Disable Ctrl-H for find and replace, the user should use Ctrl+R instead. o Fix bug #2261: Unable to clear out channel cache description. o Fix bug #2230: Unable to use node tags in the archive path on source node. o Fix bug #1939: Improve soap+xml and multipart matching. o Fix bug #2249: QIE Form gets into an infinite redirect loop after timeout. o Fix bug #2077: Source message doesn't change when scrolling through error messages. o Fix bug #2089: Entering a long form URL key causes error on save. o Fix bug #2293: No log is created when an ACK is sent from the timeout script. o Fix bug #1590: Closed View Only and Manage permission security loopholes. o Fix bug #2250: DB Query doesn't seem to respect Scan Interval when set to Continuous. o Fix bug #2287: Importing multiple channels on MSSQL, while other channels are running, can create a deadlock. o Fix bug #2242: Parsing large CSV messages takes a long time. o Fix bug #2138: The test window hangs if the test message generates a large number of log messages. o Fix bug #2209: Quoting a single value on a CSV message fails in the test window, but works in production. o Fix bug #2196: Large volume of log entries on a single message causes the message detail dialog to hang. o Fix bug #2237: Changed user revision history to handle user IDs as case sensitive. o Fix bug #2180: Format Code fails when the script is empty or null. o Fix bug #2128: Fixed HPath, XPath and partial value message search issues. o Fix bug #2206: Add node id and name to log message when a sender has an exception. o Fix bug #2046: Add alert to user when re-playing a step after manually modifying channel cache values. o Fix bug #2090: Unable to replace a space (' ') with nothing using the Replace Mapping Function. o Fix bug #1979: On the Channel edit page, clicking on the Inbound, Processing or Outbound tab while on any channel node tab (Source, Condition, Mapping, Destination) navigates to the Status tab instead. o Fix bug #2082: Removed 'Select' (Toggled select/deselect) and 'Edit Row' options in the import configuration editor, to prevent errors when accessing the row options that are no longer used. o Fix bug #2166: Find usage not working with multiple nested method calls. o Fix bug #2153: Always use a new socket connection on non-persistent connections when re-sending a message due to an ACK failure. o Fix bug #2168: Use of repeated node path names in the Nested for-loop Creator, created non-unique JavaScript variable names that failed syntax check. o Fix bug #1817: Message to error fails if it can't save the message cache. o Fix bug #882: Fix default message display node path when changing the message type on a channel. o Fix bug #1220: Add menu to copy node path option in Node Lookup Dialog when working with a CCDA document to allow copying by instance or copying by CCDA section code. o Fix bug #2092: Add ability to save a license group even if there are no assigned zones. o Fix bug #1739: Ensure build is still marked valid by Qvera prior to showing it as available, prior to downloading it and prior to installing it. o Fix bug #2035: Editing the sample message in the node lookup dialog resets the advanced mode. o Fix bug #2015: The resize event is being ignored on the 'Published Function' page when you collapse the navigation bar. o Fix bug #1923: System variable type table gets corrupted when importing a table with a line break inside a quoted field. o Fix bug #568: HTTP Listener timeout script response not returned. o Fix bug #849: When an ACK error is received on a sender, and the sender tries a second time, the original ACK is lost. o Fix bug #1831: Convert ID's in the message, message_queue, and log tables from integer to long. o Fix bug #1186: Ensure that the TimeZone is displayed consistently between the Message and Log tabs. Release 2.0.43 build 6769 (Wed, Oct 5, 2016) ---------------------------------------------------------------- General Changes & Enhancements o Enhance the grid widget in QIE Forms to support editable dateField and textField column types. (enhancement #2248) Bug Fixes o Fix bug #2257: Large (700+K lines) HL7 message takes a long time to receive. o Fix bug #2218: QIE exports the wrong extension for a p12 keystore. o Fix bug #1426: Script error is reported on a commented out line that is indented and includes qie.createXMLMessage(). Release 2.0.43 build 6698 (Wed, Sep 7, 2016) ---------------------------------------------------------------- General Changes & Enhancements o Added tool-tip to show whole license in case it is longer than the width allows. (enhancement #2221) o Enhance editor search to cycle search results with the enter key, if the search field is still in focus. Bug Fixes o Fix bug #1390: Changes made to a mapping or condition in the Test window are not saved. o Fix bug #1979: On the Channel edit page, clicking on the Inbound, Processing or Outbound tab while on any channel node tab (Source, Condition, Mapping, Destination) navigates to the Status tab instead. o Fix bug #2222: Form page tabs display the previously selected form's content. o Fix bug #2128: Searching XML messages using Xpath is not working. o Fix bug #2128: Searching for messages using partial value is not working. o Fix bug #2128: Searching for HPath value in a second segment not working. o Add ability to specify Cipher Suites and Protocols on an individual HTTPS listener. o Fix bug Maximum call stack size exceeded when loading a large HL7 message in Editor. o Fix bug #2211: UI unresponsive after selecting a channel. o Fix bug #2183: User login name is case sensitive and it shouldn't be. o Fix bug #2173: QIE is changing µg/dL to ᄉg/dL in test window. o Fix bug #2186: Sample Message changes after save and reset while testing. o Fix bug #2181: qie.postMessageResponse() throws an exception if the line endings are not linux '\n'. Release 2.0.43 build 6546 (Wed, Jul 14, 2016) ---------------------------------------------------------------- Bug Fixes o Fix bug #2047: Testing a CSV message that adds a row with 'message.setNode()' call throws an error, but works in normal processing. o Fix bug parsing FTP path when a channel uses a binary message. o Fix exception when using an ISO-8583 sample message in the node lookup dialog. o Fix bug #2097: Series not showing on Immunization reconcile form. Release 2.0.43 build 6458 (Tue, Jun 14, 2016) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to parse X12 message from custom javascript (enhancement #2140). o Change email comparison on single use password to be case insensitive. o Update javascript editor to highlight todo lines instead of leaving them as a comment line. Bug Fixes o Fix bug #2143: X12 text highlighting not working, everything showing as plain text. o Fix bug #2136: Invalidate session and issue new session upon successful login. Release 2.0.43 build 6403 (Wed, Jun 1, 2016) ---------------------------------------------------------------- General Changes & Enhancements o Add the ability to use 'group=' in the node path of X12 messages (enhancement #2120). o Enhance the table lookup error message to include the System Variable table and column names (enhancement #2118). Bug Fixes o Fix bug #2129: HTTP receiver gets stuck in an infinite loop when processing a message that has line endings in the 'Content-Type' header. o Fix bug #2119: Path highlighting in the F2 lookup tree view does not work correctly for X12 messages. o Fix bug #2121: Line ending detection not working correctly for X12 messages. o Fix bug #2122: Renaming a variable used in condition causes exception opening condition dialog. Release 2.0.43 build 6376 (Tue, May 24, 2016) ---------------------------------------------------------------- Bug Fixes o Fix bug #2108: Using 'message.setNode('/', xmlWithProlog);' in a script drops the prolog. o Fix bug #2110: qie.deduceDate returns a NullPointerException for a null date instead of just returning a null value. o Fix bug #2107: CTRL+F (Find) in an editor makes the window think a change has been made forcing the user to cancel changes that don't exist. o Fix bug #2105: Form Grids with missing columns prevents buttons from working. Release 2.0.43 build 6347 (Tue, May 10, 2016) ---------------------------------------------------------------- Bug Fixes o Fix bug #2088: Password recovery email doesn't display temporary password correctly. Release 2.0.43 build 6320 (Tue, May 3, 2016) ---------------------------------------------------------------- Bug Fixes o Fix bug causing 404 errors on the HTTP receiver when the encoding is followed by a ';' in the content type. o Fix bug causing cached copies of system variables to be saved when creating a new variable. o Fix bug #2055: Clicking rapidly on the 'Next' button in the test window can causing mapping functions to be skipped. Release 2.0.43 build 6288 (Fri, Apr 22, 2016) ---------------------------------------------------------------- General Changes & Enhancements o Add the number of message results to the "Message Results (X)" tab (enhancement #2041). o Add ability to discard erred message from HTML forms (enhancement #2060). o Enhance Network Share path field hints to include examples (enhancement #2040). o Add ability to specify the maximum number of messages to be processed on a channel at a time (enhancement #2013). o Auto save cached copy of a channel that is being modified so that it can be recovered in case of a browser crash (enhancement #2006). o Remove 'Variable', 'WS Endpoint URL', 'WS Username', and 'WS Password' from advanced searching as these are not valid objects to search with (enhancement #1430). o Add a warning prompt that comes up when you try to edit an HTML Form that uses the same URL Key as another HTML Form configured in the system (enhancement #1996). o Add ability to create missing sub-folders on file destination (enhancement #788). o Enhance QIE to cleanup the log files in the {qie.home}/logs directory after 28 days (enhancement #1067). o Enhance Test Window logging to include error and qie.postMessageResponse() in the Test Log (enhancement #1938). o Improve performance of Java 8 by removing old java 6 and 7 garbage collection overrides. o Add commas to the message counts in the global status page and the zone status page to make the counts easier to read. o Add ability to specify charset encoding on all message types (enhancement #1873). o Added the ability to copy text when comparing revisions in the revision history (enhancement #1935). o Added ability to connect to network share from a source node and from scripts (enhancement #467). o Throttle processing messages if the completion queue gets backed up (enhancement #1908). o Add ability to specify segment delimiter on HL7 and ASTM message types (enhancement #1890). o Add a 'Resubmit' and 'Resubmit All' button to the completed tab (enhancement #1643). o Add ability to specify delimiter in the 'View CSV Formatted Data' dialog (enhancement #1882). o Add the message path to the Test Log messages (enhancement #1725). o Add the ability to disable Warning and Critical levels altogether both at the Global System Level and for each individual Channel (enhancement #542). o Remove the Processing Warning and Critical thresholds from the System Configuration page and Channel Properties dialog (enhancement #901). o Add ability to save channel with undefined (empty) mapping nodes (enhancement #1338). o Assume UTF-8 character set encoding instead of ISO-8859. o Add last message received and last erred message to the status pages (enhancement #1855). o Rename 'Column Configuration' to 'Message Data To Display' (enhancement #873). o Enhance error message when the browser is unable to retrieve files for the management console and prompt user to restart the service. (this only happens when Windows cleans out the temp directory where the QIE files were extracted while the service is running) o Enhance QIE to allow importing an existing configuration on new installations (enhancement #1344). o Change the 'Once' execution option to 'Manual' (enhancement #1699). o Enhance the CRON usages to allow multiple CRON strings (enhancement #1547). o Add ability to create a new X12 message using the New Message mapping function dialog (enhancement #1149). o Enhance the socket receiver to log all of the bytes that are discarded or not processed (enhancement #647). o Enhance error message when testing an endpoint url and an invalid WSDL is returned so that there is no confusion as to whether or not we connected to the endpoint url (enhancement #1290). o Add ability to recover lost or forgotten password (enhancement #786) o Add 'Hold messages in outbound queue for at least x ms' option to destination nodes (enhancement #443) o Enhance the license dialog to allow for users to make notes regarding the license (enhancement #1277) o Rewrite the license group dialog to make it easier to know what licenses belong to the group (enhancement #1277) o Add ability to replay a node after making changes instead of resetting the test window and starting over (enhancement #1661) o Add ability to search for messages by message execution path (enhancement #1606). API Changes o Added div type widget to QIE Forms. o Added widget id attributes to QIE Form widgets. o Change message.setHL7EndOfLine() to message.setEndOfLine() and implement for ASTM, Fixed Width, HL7 and X12 message types. Bug Fixes o Fix bug #2038: Remove 'Resubmit' and 'Resubmit All' buttons from the error tab. o Fix bug #2039: Source filter table should not be audited. o Fix bug #2054: Random date format exceptions when processing messages. o Fix bug #2051: QIE hangs when loading a channel after service restart. o Fix bug #1390: Mapping tab and Test tab are not in sync when you make changes to Mapping or Condition nodes. o Fix bug #1323: Unable to modify a sample message in the F2 Node Path Lookup Dialog. o Fix bug #2029: When replacing values in the editor with the "Replace All" button, the save/cancel buttons are not enabled. o Fix bug #2016: Unable to perform an advanced search on the Completed tab when searching for values on the message instead of the source. o Fix bug #1291: Prevent timers from executing on the browser when the object that they are associated with has been closed (such as closing the tab for the channel page). o Fix bug #1716: Add ability to stop a thread stuck in an infinite loop while testing. o Fix bug #2018: Sample Message is corrupted when saving the Channel. o Fix bug #1023: Automatically hide tree view after clicking "Edit Source Message". o Fix bug #1893: Message tab shows invalid format error if the channel is configured to "Delete source message data upon completion". o Fix bug #2016: Unable to perform an advanced search on the Completed tab when searching for values on the message instead of the source. o Fix bug #1950: Unable to save UTF-8 characters in a system variable table. o Fix bug #1980: Unable to refresh the search results when searching for messages. o Fix bug #1785: The 'Target' grid label 'Create' does not display correctly in the standard mapping dialog. o Fix bug #1823: Published Function 'Save As' does not preserve the parameters and their descriptions. o Fix bug #1851: CSR file should contain 64 byte encoded lines, not one large encoded line. o Fix bug #1823: Published Function 'Save As' does not preserve the parameters and their descriptions. o Fix bug #2002: Error Form search results columns not resizing properly when window is resized. o Fix bug #527 : Unable to search for an empty field in an HL7 message. o Fix bug #2003: Error Management Forms is no longer limited to 425px in height. o Fix bug #1911: Deduce date does not support milliseconds without a decimal. o Fix bug #1894: Sub-components do not display in the HL7 Tree View if there is only a single component. o Fix bug #1942: Using [base64] with 'mc' and 'cc' node tags outputs an empty string. o Fix bug #1966: "Require Secure Access" is not being enforced for HTML Forms. o Fix bug #1979: On the Channel edit page, clicking on the Completed tab while on any channel node tab (Source, Condition, Mapping, Destination) navigates to the Status tab instead. o Fix bug #1991: Calling setNode() on a non-existent XPath that includes a where-clause causes an Invalid Character error. Now it returns a user friendly error message. o Fix bug #1997: Getting a MessageModelException error calling getNode(). This occurs in the rare case that (1) the number of VTD-XML nodes is divisable by 64 and (2) getNode() is being called on the last node in the message and (3) it is an empty node without attributes or text. o Fix bug #1975: Message detail dialog shows message as still being processed after a message.discard() is called. o Fix bug #2000: Reworded the email message sent when license counts are exceeded to split out the channel vs form counts and reworded the message to eliminate confusion. o Fix bug causing an error sending 'HTTP Status: XXX' responses from an HTTP Receiver. o Fix bug #1969: SOAP envelop builder gets a forward slash in the namespace causing errors. o Fix bug #1922: Channel Status log table gets cut off when changes are pending. o Fix bug #1964: Get node on CSV message throws an 'ArrayIndexOutOfBoundsException' if the last column is missing on a row. o Fix bug #1943: Run once receiver continuously logs error message that the receiver stopped unexpectedly. o Fix bug #1957: Drop down list not working in QIE form grid. o Fix bug #1955: Certificate link icon causes the certificate name to wrap on the certificates page. o Fix bug #1946: Add required 'mustUnderstand="1"' attribute to the soap header by default to standard SOAP envelopes. o Fix bug #1929: Exception thrown when importing an old channel configuration after you have changed a mapping type from standard to custom. o Fix bug #1921: Expiring certificate alert gets a null error when sending if the zone has been deleted, but the certificate is still there. o Fix bug #1924: When editing a mapping function script, escape will close dialog without a prompt causing changes to be lost. o Fix bug #1900: Changing a user's password from the Manage Users screen now updates the Last Changed date. o Fix bug #1800: Export needs to export trusted certificates in the same sort order so that comparing different exports don't show that certificates changed. o Fix bug #1912: Added duplicate name checking for channel when saving an existing channel. o Fix bug #1914: Added zone ID filter to certificates in revision history dialog. o Fix bug #1788: Total memory value in the 'Memory Usage Dialog' displaying double the amount of actual memory when running java 8. o Fix bug causing Form test button to not work when there are pending changes. o Fix bug #1729: Mis-typed node name in a Condition Node doesn't throw an error. o Fix bug #1812: Customizing a standard mapping function no longer clears the custom description. o Fix bug #1789: Deduce date fails with international time zones. o Fix bug #1816: Multiple threads initiate a 'stopChannel' command at the same time causing error messages to be reported. o Fix bug #796 : Require User to login after importing users by selecting the System Configuration. o Fix bug #1149: X12 message format does not use end of segment separator. o Fix bug #1671: Fix backwards compatibility issue with export going from 43 to 42. Release 2.0.42 build 5905 (Tue, Dec 29, 2015) ---------------------------------------------------------------- General Changes & Enhancements o Enhance the System Configuration page to scroll to Advanced Settings once the button is clicked (enhancement #1897). Bug Fixes o Fix bug #1899: Notification emails are sent to inactive users. o Fix bug #1898: Inactivity warning highlighting does not reset in the Global Status Page until you log out and log back in. o Fix bug causing message search to continue indefinitely if the user navigates away from the message tab. o Fix bug #152: XPath values returned by NodeLookupDialog should not include namespace. Release 2.0.42 build 5847 (Thu, Dec 10, 2015) ---------------------------------------------------------------- Bug Fixes o Fix bug causing message results to show as purged when exporting messages. Release 2.0.42 build 5826 (Wed, Dec 2, 2015) ---------------------------------------------------------------- Bug Fixes o Fix bug in node path lookup dialog where it would not auto-populate the node path for EVN segment. o Fix bug #1820: Getting an error on the script window that a published function is already defined. o Fix bug #1819: Find column usages not validating table name when finding matches. o Fix bug with find usages of tables when the qie.doTableLookup is passing in a list of columns and values. o Fix bug #1752: Preserves session when using the Form Test button. Release 2.0.42 build 5788 (Mon, Nov 30, 2015) ---------------------------------------------------------------- General Changes & Enhancements o Update qie_backup_and_disaster_recovery document with High Availability section. Bug Fixes o Fix bug #1811: Scripts can be changed even though the editor is greyed as read-only. o Fix bug #1752: "We're unable to verify user's permissions to manage the erred message." comes up when trying to open the Error Management Form for an erred message. o Fix bug #1859: Advance search not applying condition items to the search and loosing those condition items when returning to the advance search dialog. Release 2.0.42 build 5745 (Fri, Nov 20, 2015) ---------------------------------------------------------------- General Changes & Enhancements o Disable cron string execution logging unless channel is in debug mode. Release 2.0.42 build 5736 (Thu, Nov 19, 2015) ---------------------------------------------------------------- General Changes & Enhancements o Added new java option "-Dqie.preloadLibDir=" to specify preloaded jars for the QIE environment. (enhancement #1845). Bug Fixes o Increase minimum processor threads from 1 to 2 to prevent backlog on processing messages. o Fix bug causing nightly purge to hang in some cases. o Fix bug #1841: Unable to save file to a path made up entirely of node tags. o Fix bug causing UTF-8 characters to be corrupted when using qie.base64Decode() and qie.base64Encode(). o Fix bug causing purge to fail when the purge threads have errors. o Fix bug causing error bringing up revision history. o Fix bug #1833: Concurrent modification exception when sending message to multiple destinations. o Fix bug causing null error trying to bring up the channel revision history when the error management form is missing from the revision history's error management form configuration record. o Fix bug causing null error when a thread is trying to wake any sleeping processor threads. Release 2.0.42 build 5594 (Wed, Nov 4, 2015) ---------------------------------------------------------------- Bug Fixes o Fix bug #1805: Processing thread gets 'StaleObjectStateException' when removing message from inbound queue. o Fix bug #1744: WSDL not parsing correctly when it contains 'utf-8' special characters. o Fix bug #1815: Disable Rhino code optimization to prevent PermGen memory continual growth and GC. This also results in 10x performance increase in Rhino script execution. o Fix bug that causes an error to be returned if the user tries to delete a view twice. o Fix bug #1806: Source filter indexer stops indexing records if the channel has more than a 100 record gap in messages. o Fix bug causing custom receiver to throw an error if it takes more than .5 seconds to get a database connection on a database query call. Release 2.0.42 build 5550 (Thu, Oct 29, 2015) ---------------------------------------------------------------- Bug Fixes o Fix bug #1803: Searching with a string that begins with equals sign (=) locks up browser. o Fix bug #1798: When making calls from one QIE channel to a second, QIE can get stuck processing unless you put the first channel into first-in-first-out mode. o Fix bug #1799: Name and description lengths for published function parameters need to be limited in the UI. o Fix QIE to update both the main table and the audit tables when increasing length of string fields for QIE database fields. o Fix bug #1733: Channel takes too long to save. o Fix bug #1524: Fix database lock timeout errors with the source filter indexer. o Fix bug #1524: Fix database lock timeout errors with the system log on H2. o Fix bug #1769: Source filter indexer thread dies without restarting making it appear that the views are not indexing correctly. o Fix bug #1765: Messages in the error queue showing 'Message is still being processed by channel' even though it is not. o Fix bug #1743: Invalid 'Purge appears to have hung' error messages thrown when running the nightly purge. o Fix bug #1771: Web Service gets a 'premature EOF reached, XML document incomplete' when downloading WSDL or when testing some connections. o Fix bug #1770: Importing a web service connection without it's SSL certificate causes errors on copy or move. o Fix bug #908: Unable to use node path lookup dialog when using a processed message as the sample message until after the channel is saved. o Fix bug causing read-only error trying to update revision history on startup. o Fix bug causing large messages to be excluded when searching for errors. Release 2.0.42 build 5456 (Thu, Oct 22, 2015) ---------------------------------------------------------------- Bug Fixes o Fix bug with missing channel and zone on user access log entries. o Fix bug causing long running queries while retrieving logs in status windows. o Fix bug preventing the user from changing the column configuration on the fly for the Processing, Outbound and Completed tabs. o Fix bug #1748: Import Channel, Save As and Move operations were losing the reference to the error management forms. o Fix bug #1746: Tree View should be shown by default. Enhance QIE to remember the state from session to session. o Fix bugs testing messages from the Message Detail dialog. o Fix bug #1755: When using the VTD-XML parsing library, a corrupt XML shows that it failed with the DOM instead of the VTD. o Fix bug #1751: Unable to discard messages in the inbound queue. o Fix bug #1524: Fix deadlocks on the system log tables. o Fix bug #1756: File receiver reports trouble deleting files on network shares, but the files are already deleted. o Fix bug #1758: Duplicate messages are being created when the inbound queue fills up with large messages. o Fix bug #1743: The nightly purge fails with a message of 'Purge appears to have hung'. o Fix bug #1757: The nightly purge fails with an IndexOutOfBounds error. o Fix bug #1524: Fix lock timeout errors accessing the system log, message and message queue tables. o Fix bug #1745: Resolving an erred message with a modified source message doesn't use the modified source message. o Fix bug #1747: Unable to resolve or discard all when using the message search dialog. o Fix bug #1753: Fix divide by zero error in process monitor. o Fix bug #1740: Return user friendly errors when testing an IHE Profile or SOAP web service connection. o Fix bug causing channel shutdown to wait indefinitely for thread to stop. o Fix bug #1742: Getting a read-only connection error when trying to resolve errors. o Fix bug #1738: Viewing an XML message cache variable detail in the Test window HTML escapes the XML value changing it to non-valid XML. o Fix bug causing 'Too many errors' warning to come up in the JavaScript code editor. Release 2.0.42 build 5346 (Wed, Oct 14, 2015) ---------------------------------------------------------------- General Changes & Enhancements o Update thread management so that it gives priority to the sender and receiver threads instead of the processor threads. o Enhance the process monitor to include the error that caused a thread to die so that the error can be included in the log message. Release 2.0.42 build 5321 (Fri, Oct 9, 2015) ---------------------------------------------------------------- General Changes & Enhancements o Enhance system exports to be exported in a zip file to save disk space (enhancement #1697). o Added ability to create export as plain text (enhancement #1671). o Change default Ack Script to use qie.throwAckError() (enhancement #1230). o Show the error tab by default when launching the Message Detail dialog from the Errors tab (enhancement #1594). o Add source.checkNodeIsBlank(), source.checkNodeIsNotBlank(), message.checkNodeIsBlank(), message.checkNodeIsNotBlank() to Code Wizard (enhancement #1267). o Added ability to pass 'endpointURL' into the qie.evaluateTemplate() call. Added this to the code wizard. (enhancement #707). o Encrypted sensitive information such as user names and passwords when exporting configuration (enhancement #617). o Create better error when setNode is called with an instance of 0 instead of current index out of bounds error (enhancement #1581). o Added the ability to move and copy Channels, WS Connections, DB Connections, Variables, Forms, Mappings, Functions, Certificates and Keys to different zones (enhancement #224). o New web service, database connection, mapping function, system variable, or published mapping are available on other tabs immediately without changing the page (enhancement #1482). o Add new ASTM (American Society for Testing and Materials) message format (this is the predecessor to the HL7 format). o Add ability to view formatted csv from any dialog with 'Shift-F5' (enhancement #1508). o A channel that is waiting to be restarted after an error can now be stopped (enhancement #1439). o Put advanced system settings behind a 'show/hide advanced settings' button on the system administration page (enhancement #1364). o Log tabs displays new log entries while message is still processing without having to close and reopen. o Add ability to get full response back from webservice call (enhancement #1521). o Add 'Found Count' to the status bar when searching (enhancement #1442). o Add show node path button to base editor (enhancement #1220). o Add smart XPath logic for CDA documents to structure path to use codes instead of instance (enhancement #1220). o Add message.formatJSON() to Code Wizard (enhancement #1486). o Improve performance of the 'Resolve All' and 'Discard All'. Add progress bar to the 'Resolve All' and 'Discard All' button (enhancement #1274). o Increase performance of the inbound queue by giving a queue to each channel instead of sharing a queue with all channels. o Added the ability to use GMT timezones and UTC offsets to QIE deduceDate function and date fields (enhancement #1095). o Enhance purge runner to purge log entries not associated to a channel based on the system retention policy. o Added ability to format the Message column of the Completed message tab using node tags, identical to the way the Processing and Outbound message tabs are customizable by using the Advanced tab of the Channel Properties dialog (enhancement #1349). o Added email validation on the System Configuration page, the Users page and the Error Management Form Configuration dialog (enhancement #1365). o Encrypted nightly check-in payload (enhancement #1313). o Added the ability to deduce dates in the format of "Fri Mar 20 00:00:00 GMT-600 2015" (enhancement #1362). o Force the user to purge messages before deleting the channel to prevent exceptions where large volumes of messages are being purged with the channel (enhancement #693). o Update code wizard default optional parameters to have an * on them to make it easier to know what parameters are optional after the code snippet has been inserted into the script. o Updated installer to allow installation of all QIE files to a drive other than the root drive (i.e. C:\) on machines running Windows (enhancement #623). o Update Ace editor (used in the javascript window) from version 1.1.0 to 1.1.9. o Add auto complete to javascript editor (this can be controlled by two new options in the view menu). o Enhance text editor to be able to format JSON in addition to the existing "format XML" menu item. o Enhance message dialog, error dialog to use the same dialog so that they behave the same way as each other. o Enhance QIE to compress and encrypt the log messages to minimize the database size (enhancement #559). o Created MS SQL dialect classes for SQL Server 2012 and 2014 and updated the QIE Install Guide accordingly (enhancement #1315). o Added the ability to specify complex HPaths inside of the message search (enhancement #533). o Enhance resubmit logging when erred message is resubmitted to show who resubmitted the message (enhancement #1227). o Added the ability to specify an operator when searching by message ID in message search (enhancement #679). o Added the ability to configure max search results in system configuration (enhancement #435). o Maximize button and menu options are enabled when the editor is disabled (enhancement #1284). o Added qie.allowAllProcessorsOnSingleChannel java option that will allow all processor threads to work on a single channel. o Decrease channel page load time by returning only the meta data for the objects needed. o Add Server Name Indication (SNI) support for TLS connections (enhancement #1239). o Enhanced web service connections and database connections pages to take up full available width (enhancement #1273). o Enhanced system variables, published mappings and published functions pages to take up full available width and height (enhancement #1273). o Enhance the channel save so that it does not reset the Test and Message tabs (enhancement #1055). o Enhanced the text editors to allow the viewing of XML or formatting of XML, even if XML is not the only text present in the text editor. o Alert admins when a processor thread dies unexpectedly due to errors such as out of memory errors (enhancement #1189). o Add ability to manage processor thread pool, completion thread pool, and logger thread pool from system config. o Add thread pool counts to the 'Monitor Memory Usage' dialog. o QIE Form URL should not include 'appwin' (enhancement #1307). o Update stopChannel to stop the senders first, then stop the rest of the threads. o Catch stale object exception when saving a response to the message. o Multiple performance changes increasing qie performance. o Improve performance of outbound queue by giving an individual queue for each destination node. o Improve performance of QIE by ensuring that all database hits are done outside of synchronization. o Increase default database pool size from 8 to 30. o Improve performance of QIE by creating new Discard process that will move messages to the completed queue allowing senders to send messages. o Improve performance by allowing multiple simultaneous database calls to be made to the messageQueue. o Added ability to move messages from inbound/processing/outbound queue the error queue (enhancement #1316). o 'Channel' scope script variables are now deprecated in favor of channel cache variables. API Changes o Add qie.parseAstmString() function to the Code Wizard (enhancement #1615). o Add message.error(msg, exception) to the Code Wizard (enhancement #1230). o Add qie.throwAckError(msg) to the Code Wizard (enhancement #1230). o Change qie.throwSendError(msg) to qie.simulateSendError(msg) to more accurately reflect what is happening (enhancement #1230). o Added message.removeAllNamespaces() and message.removeNamespace(alias) to Code Wizard (enhancement #1429). o Added "Remove Namespaces" to "Edit" menu when editing an XML message (enhancement #1429). o Added common CDA date format to Mapping Function dialog's Date/Time formats. Added the same Date/Time list in the Node Tag Lookup dialog (enhancement #1395). o Added ability to use node tag lookup dialog in the source and destination node's file and FTP fields (enhancement #1299). o Add a new qie.base64Decode() method that allows the user to specify the character set encoding to use (enhancement #1303). o Added temporary debug mode for channels (enhancement #1318). o Removed full-time debug mode for channels (enhancement #1318). Bug Fixes o Fix bug #1732: Import table system variable without headers causes the 1st row to show up as the header when the table is saved and re-loaded. o Fix bug in processMonitor causing it to enter an endless loop trying to recover from an out of memory error. o Fix cleanup of pending secure sockets, when the client aborts before completing handshake. o Fix bug #1724: Fix Distinct Error search so that it displays results when the search completes quickly. o Fix problem where new WS connection is not usable until you refresh the channel page. o Fix problem where save button doesn't work if you first click on the cancel button, then the save button. o Fix bug causing error creating a self-signed certificate without an expiration date. Make expiration date required. o Fix Socket Timeout Exception when testing socket connection on a high latency network. o Fix concurrent modification error on secure socket receiver during TLS handshake. o Fix bug #1717: Resubmit menu button's tooltip says "Alt+D or Delete", which keystrokes will delete the channel. o Fix bug where no records are found when exporting log messages on a channel using Microsoft SQL as the QIE database. o Fix bug #1125: Calling setNode() with instance parameter on a CSV message does not work. o Fix bug #1561: Include the / when building TXA[/OBX-5=Limb pain]-5 with the Node Path lookup dialog. o Fix bug #1708: Added missing Global option in Save as. o Fix bug #1612: Node Path lookup for HPath shows value when group=! is left blank. o Fix bug #490: Add validation to check for closing bracket on HPath instance. o Fix bug #1612: Node Path lookup for HPath shows value when group= is left blank. o Fix bug #1611: Node path lookup for HPath shows value when segment ID is lowercase but not uppercase. o Fix synchronization on database connection usage. o Fix bug causing the paging toolbar to be disabled if you click the 'Clear' button twice while searching for messages. o Fix bug #1562: Fix license channel calculation on startup and check in. o Fix bug #1687: Content-type not updating when making a web service call. o Fix bug #1696: Channel Cache variables that the channel modifies with setValue() are overwritten on Channel Save when they have not been changed by the user. o Fix bug #1670: Web service connections don't show up in drop down menus even when they are in the global settings. o Fix bug #1577: Unable to save changes to a running channel that updates channel cache variables. o Fix bug #1675: Getting a client-side error when clicking the Clear search button on the Messages and Completed tabs. o Fix bug #1685: Admin alert not sent when message is placed in the error queue. o Fix bug #1675: Reset search criteria instead of setting it to null to prevent NullPointerException. o Fix bug #1676: Javascript auto-complete places a semicolon on the inserted code when it shouldn't. o Fix bug #1673: Socket Receiver can delay the ACK messages in a high volume situation. o Fix bug when making a rest web service call with additional http.header parameters, but no others causes the '?' to be put on the end of the url. o Fix bug #423: Enhance error reporting to include more details about the error. o Fix bug #1248: REST Web Service calls do not use the timeout field. o Fix bug #1638: Error management form configurations can be saved without a form selected which causes the nightly backup process to fail. o Fix bug #1666: Test window crashes when testing large binary messages. o Fix bug #1410: Add note to missing namespace exception to use the VTD library instead of DOM to avoid them. o Fix bug #1660: Resolving error on a stopped channel does not increment the inbound or received counts. o Fix bug #1619: Regex Validator show all does not work after upgrading the AceEditor library. Removed the show all button and made the default to always show all results. o Fix bug #1596: When resolving a message with multiple message queues in error, the same message will get replayed multiple times. o Fig bug #1607: Enable/Disable node menu items don't always show. o Fix bug #1568: NullPointerException when using cut/paste on a mapping function in same channel. o Fix bug #1293: REST web service HTTP Header variables being included in URL. o Fix bug #1636: Moving messages from the Inbound queue throws an exception. o Fix bug #1613: Get error when clicking 'Ok' on the RegEx Validator dialog without selecting a regular expression value. o Fix bug #1637: Status does not reflect correct count for inbound and outbound messages when the channel is stopped with a message waiting for an acknowledgment in the outbound queue. o Fix bug #1646: In rare cases a file inbound message can be missed if after receiving the message and archiving it, there is an error writing it to the database for processing. o Fix bug #1099: Save/Cancel buttons are sometimes not enabled when editing the Published Function parameters. o Fix bug #1305: QIE outgoing email alerts list duplicate companies. o Fix bug #1608: Cannot stop the channel when it has been started with a disabled destination node and a message in that nodes outbound queue. o Fix bug #533: Fixed query building and query parsing in message search. o Fix bug #1632: Save button is enabled after saving a new zone or deleting an existing zone. o Fix bug #1616: Remove "" from error messages in QIE. o Fix bug #1602: Fixed error importing QIE configuration file. o Fix bug #1601: Message search from the search dialog does not find any messages. o Fix bug #1600: Find usages shows invalid results when searching for global variables. o Fix problem preventing error messages from being resolved from the message detail dialog. o Fix problem with regexEvaluatorDialog not getting valid results with the javaScript regex. o Fix bug #1595: Test FTP button does not use the custom parameters with the test. o Fix null pointer exception when a csv message data has been purged and the message is being displayed in the completed message grid. o Fix bug #1567: SSL Certificate shows as in use when the channel it was assigned to is changed and is no longer using secure connection. o Fix bug #1569: Javascript editor does not format concatenated strings correctly when they span multiple lines. o Fix bug #1570: Test window continues to prompt to keep changes when no changes where made. o Fix bug #1575: Response Received and Response Sent tabs' text content not refreshing between subsequent show/hides of the Message Detail Dialog until the user clicks in the text editor. o Fix bug #1574: Formatting code on the Response Received tab erroneously sets focus to the Source tab. o Fix bug #1571: Getting 'Content is not allowed in prolog error' when opening a message that has received a response in a different format. o Fix bug #1550: Javascript background appears to be in read only when it shouldn't. o Fix bug #1518: Allow Safari as a supported browser and block all versions of IE. o Fix bug #1563: New mapping functions are always added as the 2nd mapping function in the list. o Fix problem with the messageModelTree being off when a csv file is using the quoteValues flag. o Fix bug #1507: Clicking on node in the CSV tree view does not highlight the data in the message. o Fix problem with find next not working when using the editor find function with case-insensitive values. o Fix bug #1556: Self-Signed Certificate dialog becomes unusable if the Certificate Signing Request dialog is opened first. o Fix bug #1438: Any messages that end up in the error queue now trigger the 'Stop After X Consecutive Erred Messages'. o Fix bug #1524: Broke H2 query out into two queries that are more optimized to prevent lock wait timeout exceeded. o Fix bug #1552: Message Detail Dialog - The results drop down selector displays incorrectly. o Fix bug #1551: The source message does not show up until you click in the editor area. o Fix bug #1538: Discard progress bar doesn't hide when error occurs. o Fix bug #1407: Message Detail Window - unable to select response while message is still being processed. o Fix bug where selected tab remains selected when message is refreshed while waiting for it to finish processing. o Fix bug where message Result is marked as readonly while message is still processing. o Fix NullPointerException by cancelling delayed refresh after dialog is closed. o Fix bug #1437: Making a change, clicking the Start button and then answering Yes to Save Changes first now saves the changes before starting the channel. o Fix bug #1431: Use Original Filename option on export does not default to message ID instead of null for messages that do not have an original filename. o Fix bug #1548: Update Channel Cache Only import option is not working. o Fix bug #1510: Fixed null system revision when importing a new channel. o Fix bug #1546: Test Log throws a client side exception when log messages are too long. o Fix bug #1407 - Message Detail Window - unable to select response while message is still being processed. o Fix bug #1414: Find and replace will not allow replacing a value with nothing or a space. o Fix bug #1426: Script error is reported on a commented out line that includes qie.createXMLMessage(). o Fix bug #1533: isDateWithin implementation has an error. o Fix bug #1276: Java 8 - Received fatal alert: protocol_version. o Fix bug #1463: Cleaned up temp files after they are no longer needed. o Fix bug #1490: Fixed published mapping and channel not creating revision when they are changed. o Fix bug #1356: Unable to save changes to the javascript when using the code wizard only. o Fix bug #1355: Removed the ability to save mapping functions and published mappings to the same mapping node. o Fix bug #1505: Save As for channel retains reference id. o Fix bug #1229: Copying published mapping nodes from one zone to another links mappings cross zone. Created dependency dialog to resolve cross-zone copies. o Fix bug #1506: Application incorrectly reported "invalid password" when trying to unlock the app when the user's session was actually logged out. o Fix bug #1504: A locked application could be unlocked by refreshing the page or copying and pasting the URL. o Wrapped nightly backup in try/catch so if external location is invalid, only that location will fail instead of all of them. o Update channelManager to remove the receivers, senders, and schedulers for a channel when deleting the channel. This prevents the process monitor from failing. o Fix ProcessMonitor to log exception, then sleep for a while, then continue processing instead of stopping on an exception. o Fix bug #1323: Node lookup does not work when the sample message is modified. o Fix bug causing socket receiver to add each character to the inbound queue as a message if the 'Block Header' and 'Block Footer' are not used. o Fix bug #868: Added new directory structure for backups. Enhanced nightly backups to perform daily, monthly and yearly backups. o Fix bug #1326: Channel nodes can be put into a state where they overlap, are grouped together and they can't be separately selected and moved. o Fix bug #1233: Can save multiple forms with the same URL key. o Fix bug #1071: Increase search performance by multi-threading the search. The number of search threads are configured on the system configuration page. o Fix bug #1425: Format XML short-circuits at the first failed XML instance found instead of continuing to look further for well-formed XML. o Fix bug #1424: Format XML call fails with an MTOM response. o Fix bug #1032: QIE Web Service will not die. o Fix web service receiver to give an exception if the channel is being shutdown at the same time a message is received. o Fix concurrent modification exception when resetting the web service dispatcher due to an error making the web service call (this only applies to multi-threaded web service calls). o Fix deadlock exceptions on the H2 database by synchronizing access to the message queue dao. o Fix bug #1380: Nightly purge will purge messages if one destination has completed, but a second destination is not completed yet. o Fixed NullPointerException in the ChannelEditor when you click on new channel or view the visual channel history. o Fix bug #1375: On rare occasion messages in multiple outbound queues were not persisted when stopping channel. o Fix bug #1371: Fixed filtering of the multiple channels with the same revision number. o Fix bug #1352: Null error after deleting a channel. o Fix bug #1281: HL7 message.setNode with nodePath, field, instance, and forceNode throws error. o Fixed bug where it would prompt you for VTD install when starting a channel when it shouldn't. Release 2.0.41 build 4940 (Mon, July 27, 2015) ---------------------------------------------------------------- Bug Fixes o Fix problem with regexEvaluatorDialog not getting valid results with the javaScript regex. o Fix bug #1595: Test FTP button does not use the custom parameters with the test. o Fix bug #1276: Java 8 - Received fatal alert: protocol_version. o Fix null pointer exception when a csv message data has been purged and the message is being displayed in the completed message grid. o Fix bug #1431: Use Original Filename option on export not defaults to message ID instead of null for messages that do not have an original filename. o Fix bug #1533: isDateWithin implementation has an error Release 2.0.41 build 4755 (Thu, June 18, 2015) ---------------------------------------------------------------- Bug Fixes o Fix bug #1515: Fix "Program too complex" error when running large scripts. Release 2.0.41 build 4703 (Thu, June 4, 2015) ---------------------------------------------------------------- General Changes & Enhancements o On the WS Connection page, moved 'Download WSDL' button to the editor box so that it is more apparent where the button is associated. o On the WS Connection page, moved 'Test Connection' button to the toolbar at the top of the page to show that the button is associated to the whole web service connection. o Simplified the script generated from conditional mapping (enhancement #663). o Embed the Rhino script engine into QIE so that it is used with Java 8 instead of Nashorn. Bug Fixes o Fix bug #1484: Error saving channel due to a key violation with destination_node_ssl_certificate o Update QIE to use Rhino 1.7.6 instead of 1.7.3R. This fixes problems with compiling large javascript scripts. o Fix bug #1470: 'Uncaught Client Exception' when making modifications to a socket destination node after import o Fix bug #1466: Unable to delete WS Connection with a single apostrophe in the name o Fix bug #1423: System should prevent user from deleting a running channel o Fix bug #1447: Remove "JavaScriptException: " from throw error messages. This was added by the new embedded rhino script engine. o Fix bug #1449: Fix code wizard qie.sendEmail() tool-tip to include instructions to search the knowledge base for examples on use. o Fix bug #1448: Unable to use secure server socket due to 'read time out' errors in a high network latency environment. o Fix bug #1450: Unable to delete a form if any error management form configurations exist on that form. o Fix bug #1110: Fixed TransientObjectException that occurs while saving channel after editing mapping functions. o Fix bug #1441: Resolve All does not work with a refined list of errors. o Fix bug #1443: Error generating Self-Signed Certificate. o Fix bug causing secure socket test to hold onto the connection after the test is completed, preventing the socket from being used. o Fix bug #1436: When publishing a new mapping function before saving hte channel you receive a 500 server error. o Fix bug causing null pointer exceptions when exporting multiple certificate without a private key. Release 2.0.41 build 4522 (Mon, Apr 20, 2015) ---------------------------------------------------------------- General Changes & Enhancements o Enhance channel save validation errors to display for at least 10 seconds. The error messages were getting cleared (or overwritten) by the 'Refresh Every 3 Seconds' task. o Use revision number instead of version number on channel status log messages that are added when the channel is saved (enhancement #1325). o Update encryption libraries to support PGP encryption in custom mapping functions. o Update copyright statement in all published documents. o Add an admin alert if the max_allowed_packet setting is too low for MariaDB or MySQL (enhancement #1404). o Enhance the text fields on HTML forms to allow posting the form with the enter key. o Update the descriptions for qie.getSystemName() and qie.getServerNameWithPort() in the Code Wizard (enhancement #1271). o Add ability to configure custom Apache Camel FTP Parameters for Sender and Receiver Nodes (enhancement #1361). o Add a 'System Variables' sub-menu in the Code Wizard and move qie.applyXSLTransform(), qie.doTableLookup(), qie.getVariable(), and qie.setVariable() into it. o Add 'Select Connectors Only' to the right click context menu on the visual channel editor (enhancement #1370). o Add auditing to password fields that shows 'changed' or 'not changed' (enhancement #1366). o Add the full description of the field being compared to the dual field compare dialog (enhancement #1357). o Add QIE CVS/VDT Guide to the Help menu. o Fix bug causing a problem loading the error form. o Fix bug causing null error displaying the revision history on a channel when using a published mapping. o Add an 'Error Forms' button to the Error tab menu bar (enhancement #1194). o Add support for two-byte binary lengths for ISO-8583 LLLVAR and LLLLVAR data types. o Enhanced Destination Node to be able to use the new web service functions (getWsEndpointUrl(), getWsPassword() and getWsUsername()) (enhancement #653). o Updated the FileReceiver to processes files first-in-first-out when the channel is configured to be sequential (enhancement #1166). o Update H2 to use DB_CLOSE_ON_EXIT=false option to avoid closing H2 immediately, thus giving the QIE threads time to flush to the database before it is shutdown. o Add cookie management to web service calls (enhancement #1154). o Update Jetty web application server from 7.6.0.v20120127 to 7.6.16.v20140903 o Add ability to start and stop individual source and destination nodes (enhancement #238). o Change double click behavior in visual channel editor if a node is selected. o Enhance drag selection in visual channel editor to include connectors. o Add ability to see revision history (enhancement #94). o Removed unused field 'ftpDelete' on the Channel. o Enhance the code wizard to include 'message =' when using the qie.createMessage() functions (enhancement #1257). o Add validation to ensure 'message =' is used when using the qie.createMessage() functions (enhancement #1257). o Add support for 'Binary' message type (enhancement #1176). o Change condition node scripts to use StringUtils (enhancement #1259). o Add ability to conditionally execute mapping functions (enhancement #663). o Add ability to check for Alpha build without changing System Configuration (enhancement #1254). o Add prompt for installing VTD when starting or saving a channel that requires VTD and the VTD is not already installed (enhancement #1261). o Add 'QIE JavaScript Tutorial' to Help menu. o Enhanced the certificate and key export to default the file name based on what is being export (enhancement #1196). o Add ability to configure error management forms (enhancement #1194). o Change logging for secure SOAP web service calls to more accurately identify the time it takes to make the web service call. o Add support for build dependencies to prevent getting a new version of QIE that is not supported (ie. new version of Java not installed) (enhancement #1247). o Add qie.getSystemName() and qie.getServerNameWithPort() to the Code Wizard (enhancement #1271). API Changes o Add Code Wizard menus for building SQL Statements (enhancement #525). o Add note to the checkNodeExists() function explaining that it does not check for empty values (enhancement #1266). Bug Fixes o Fix bug #1419: "Message is still being processed by the channel..." is no longer displayed in error after a message is sent to the error queue from an acknowledgement. o Fix bug causing the 'Ok' button to not work when adding a new channel. o Fix bug preventing user from configuring 'Error message after XX consecutive errors' without also configuring 'Stop channel after XX consecutive errors'. o Fix bug #1412: Getting an error when entering text into the search field after clicking the 'New' button on the Zone page. o Fix bug #1418: Getting warning messages on startup that QIE is unable to update the field lengths for PublishedFunctionParameter.publishedFunctionId and ErrorManagementFormConfiguration.channelId. o Fix bug causing concurrent modification exception refreshing the channel status. o Fix bug #1372: Fix validation errors for 'Pause x ms after each send or receive error'. o Fix bug #1420: Ensure that the external libraries are loaded after the QIE libraries to prevent Java class version conflicts that can sometimes prevent QIE from starting up. o Fix bug #1369: System Variable table columns being split into 2 columns when they contain a space. o Fix bug causing error when receiving an MTOM response with an empty MTOM segment. o Fix bug causing the source node to show stopped for a split second after you select a running channel the first time. o Fix bug #1408: Getting a duplicate key error rebuilding revision history on upgrade. o Fix bug #1409: Error Management Form Configuration dialog shows options from another channel. o Fix bug #1411: Exported private key cannot be read by OpenSSL/Apache. o Fix bug saving error management form configurations when accessed through the error tab's "Error Forms" button. o Fix bug #1358: Adjust layout of the dual field compare dialog. o Fix bug #1360: New Mapping node overlapping description over buttons. o Fix bug #653: Adjust layout of the Node Tag Dialog when a system variable for a table is selected. o Fix Error Form layout to fill minimum supported window height and display the full timestamp. o Fix bug #1346: FTP Sender is not able to use {mc:year}/{mc:month} in destination path. o Fix bug with QieLauncher not shutting down when trying to exit in error. o Fix bug #1371: Revision history displays changes for another channel. o Fix bug #1379: It is not clear whether the description field is for the Mapping Function or the Condition Item. o Fix bug #1376: Prevent the user from being able to view the same revision or an older version on the dual compare dialog. o Fix bug #1372: Fix error handling validation in the Destination Node, Channel Properties and System Administration. o Fix bug where selecting rows in HTML forms wouldn't select the checkbox unless the checkbox's column had selectAll=true in the colTypeConfig. o Fix bug #1285: QIE Service Manager startup type is defaulting to manual and not finding the 64-bit Java on new install. o Fix bug #1201: Saving the channel with the Save button multiple times causes error. o Fix bug causing the source node to show stopped for a split second after you select a running channel the first time. o Fix bug causing file receiver to get into endless error loop when an I/O error occurs. o Fix bug #1321: Cannot remove certificate if check box for client authentication was checked, but has since been unchecked. o Fix bug #1386: Save channel causes a null pointer exception if you have a condition node without any items in the list. o Fix bug #1391: Channels configured for first-in-first out sometimes process more than one message at a time. o Fix performance issue on Firefox causing a long pause when selecting the source node in the Visual Channel Editor. o Fix bug #1393: Fixed double quotes being removed when calling parseCSVString(). o Fix bug #1185: Spawned messages in processing get lost when a channel is stopped. o Fix bug with HTML forms where the query string's beginning '?' character was left on the first name/value pair's name. o Fix bug #1374: Revision history is missing or incorrect after 2.0.41 upgrade. o Fix bug causing the 'Stop' button to be disabled when the endpoint node is stopped. o Fix bug causing endpoints to appear stopped when they are not. o Fix bug #1124: Logout and Lockout configurations need to validate before saving. o Fix custom script validation to enforce 'message =' when using the qie.createBinaryMessage() function. o Fix bug causing an error opening the revision history dialog. o Fix bug causing QIE to prompt the user to install the VTD when it is not marked as required for the channel. o Fix bug causing problem with revision history when a mapping node condition has changed. o Fix bug #1337: Change message and add status log entry when not starting a channel when VTD is not installed but required. o Fix bug #1124: Logout and Lockout configurations need to validate before saving. o Fix bug #805: Test Socket on running channel gives error socket in use. o Fix bug #1163: Secure socket test button does not appear to validate the SSL handshake. o Fix bug #1234: Unable to import .der certificate that Windows is able to open without a problem. o Fix bug #1244: Javascript Popup Window getting 'not defined errors' when it should not. o Fix bug causing 'no nameservers provided' message if the QIE server is not configured with DNS. o Fix bug causing errors when a web service is created with an invalid private key. o Fix bug #1126: Added validation to error management so it doesn't allow user to save if there are validation errors. o Fix bug #1275: Error changing destination to 'Discard' after setting error management settings. o Fix bug #1264: Condition node sometimes displays fields that are not applicable. o Fix bug #1134: Prevent channel from being saved when scan interval has validation errors. o Fix bug #1131: Prevent channel from being saved when timeout has validation errors. o Fix bug #1127: Prevent channel from being saved when ack timeout has validation errors. o Fix bug #1129: Prevent channel from being saved when connection timeout has validation errors. o Fix bug #1128: Prevent channel from being saved when send interval has validation errors. o Fix bug #1136: Prevent channel from being saved when separator has validation errors. o Fix bug #1137: Setting the element character for X12 format to 2 characters causes error. o Fix bug #1130: Destination Node Host and Port do not highlight as red when invalid. o Fix bug #1201: Saving the channel with Ctrl+S multiple times causes error. o Fix bug #1265: Standard condition item doesn't save variable when source is variable. o Fix bug when receiving HTTP header information before the root boundary in an MTOM response. o Fix bug causing qie.formatDate(formatDate, dateString) to throw a NullPointerException when dateString is not a valid date string. o Fix bug #1200: Escaping quotes in CSV does not work correctly. o Fix bug #1296: MTOM SOAP response has a content part id that is partially URL encoded. o Fix bug #1300: Web Service connection does not update for running channel when a new configuration is imported. o Fix bug #706: User is allowed to promote an item to global when they do not have permission to. o Fix bug not allowing the 'Pause after error' to be the minimum or maximum value. o Fix bug #1215: FileReceiver performance is slow when a folder has thousands of files. o Fix bug #1292: Error with qie.applyXSLTransform() when using the Java 'new()' constructor in the XSL. o Fix bug #1319: Unable to log large incoming message. o Fix bug #1280: Fix error causing 'PreviousState is null' error when persisting spawned messages on shutdown. Release 2.0.40 build 4091 (Thu, Jan 22, 2015) ---------------------------------------------------------------- General Changes & Enhancements o Optimize performance of the qie.findByCacheValues method in custom scripts. Bug Fixes o Fix bug #1272: Javascript popup window always shows the published function as already defined when editing a published function. o Fix bug #1269: Channel throws continuous null errors when the output file is in use or cannot be found. Release 2.0.40 build 4041 (Thu, Jan 8, 2015) ---------------------------------------------------------------- General Changes & Enhancements o Change find usages dialog behavior to be more responsive. o Add ability to parse a CSV string with headers (enhancement #1262). Bug Fixes o Fix bug causing occasional error when running a purge. o Fix bug #1268: Enhance message.addChild() to avoid error occurring on Java 8 when passing a concatenated string as the value. o Fix bug causing error when opening the purge dialog. o Fix bug causing error when attempting to start a second purge before the first purge was completed. Release 2.0.40 build 4009 (Thu, Dec 18, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Enhance message.addChild() to avoid error occurring on Java 8 when passing another message as the value instead of message.toString(). o Refactor UI for Export Messages Dialog. o Moved required VTD checkbox from XML source panel to Channel Properties dialog (enhancement #1121). Bug Fixes o Fix bug #1243: Trust All Certificates does not work in Java 7 using older certificates. o Fix bug #1231: Error Management - Fix validation for 'Stop after x consecutive receive errors'. o Fix bug #1258: Find Usages returns a 500 server error when using the MSSQL database Release 2.0.40 build 3970 (Mon, Dec 8, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Enhanced License Group Dialog to disable components while saving configuration. o Enhanced 'Promote to Global' and 'Find Usage' buttons in all pages with icons and better alignment. o Enhanced dialog to show configured ports in QIE (enhancement #375). Bug Fixes o Fix bug #1228: Get an error when renaming or deleting a column on a variable before saving the variable. o Fix bug #837: Fix problem with script engine exception handling in Java 8. o Fix bug #1232: Exception thrown in script engine when calling qie.formatDate() with a native JavaScript date. o Fix bug #1236: Get invalid XML error when making a secure 'IHE Web Service Profiles' web service call. o Fix bug #1209: Hide radio option when manual import license file option is not present. o Fix bug #1237: Test Window - Changes don't enable 'Save' and 'Cancel' button. o Fix bug #1238: Javascript Popup Window - Published functions don't show up. Release 2.0.40 build 3922 (Tue, Nov 25, 2014) ---------------------------------------------------------------- Bug Fixes o Fix bug #1224: Nightly purge fails with read-only connection error on MySQL. o Fix bug with new screen layout for error management overrides (enhancement #1197). Release 2.0.40 build 3891 (Tue, Nov 18, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Enhanced the message cache dialog to launch a detail window for ease in viewing larger message cache values (enhancement #1190). o Add dialog to show configured ports in QIE to help user determine next available port (enhancement #375). o Enhance certificate chains to show up even if QIE doesn't have access to the private key (enhancement #1012). o Enhance screen layout for error management overrides (enhancement #1197). o Enhance the manual license import on the License Dialog (enhancement #1209). o Enhanced logging to indicate whether resubmitted message was first modified by the user (enhancement #470). o Add the QIE Transition of Care Guide to the 'Help > QIE Packages' menu. o Add a warning when changing or deleting a column in a system variable if that column is in use in one of the channels (enhancement #638). API Changes o Updated Code Wizard menu with additional descriptions for file and database query methods. Bug Fixes o Fix WsReceiver to not shutdown endpoint if it has received a message, but hasn't had a chance to send the ACK. o Fix bug #1208: The download button is disabled when displaying large messages. o Fix bug #1206: The current Message Tab's node and text component are now enabled to allow for interacting with the message. o Fix logic for determining when to prompt to allow keeping the modified test message when resetting the Test tab back to the beginning (enhancement #921). o Fix bug #1205: the 'Edit Source Message' checkbox only shows when the 'Source' tab is selected. o Fix bug #252: Find usages of DbConnection will cause exception if the javascript contains question marks on the line it is searching. o Fix bug with find usages when using special characters. Release 2.0.40 build 3842 (Mon, Nov 10, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to save the Certificate Signing Requests that are generated in QIE (enhancement #1014). o Adjust the layout of the email configuration section on the System Configuration page. o Enhance the channel saved log message to include the user and whether the it is being imported (enhancement #1093). o Add additional logging to the purge routines (enhancement #1133). o Add VTD required flag to channel properties dialog (enhancement #1121). o Enhance the editor in QIE to show CR, LF or CRLF in the bottom right of the editor (enhancement #952). o Enhance the export configuration format so that it is easier to compare (enhancement #1152). o Add export message dialog (enhancement #1024, #1188, #1191, #1195). o Enhance the user interface for searching for messages on the message and queue tabs (enhancement #1022). o Add ability to 'Find Usages' for Certificates, Published Functions and Published Mappings (enhancement #252). o Change error retention field layout (enhancement #557). o Add a prompt to allow testing of the last selected message if navigating to the Test tab from any of the message queue tabs (enhancement #921). o Add a prompt to allow keeping the modified test message when resetting the Test tab back to the beginning (enhancement #921). o Add ability to update System Variables (including tables) via channel (enhancement #666). o Add ability to 'Find Usages' for Web Service Connections and System Variables (enhancement #252). o Prevent System Variables from being deleted if they are in use in a script. o Add an "invert search (not)" checkbox to the node path/value search criteria section of the message search dialogs (enhancement #1007). o Add ability to 'Find Usages' for Database Connections (enhancement #252). o Add ability to format XML and view formatted XML from all windows that can display an XML document (enhancement #942). o Added a warning message that is logged when an XML channel is started and VTD is not configured in QIE (enhancement #433). o Enhance Message Detail dialog to auto-refresh if the message is still being processed (enhancement #450). o Add ability to use node tags in file and FTP source and destination nodes (enhancement #530). API Changes o Enhance the code wizard deleteFile(), moveFile(), readFile() and add writeFile() methods that accept either a file path as a string or a File object (enhancement #898). o Enhance the code wizard formatDate() method to accept either a date string or a Java Date object (enhancement #898). o Add new StringUtils methods substringAfterLast(), substringBeforeLast() and substringBetween() to the code wizard (enhancement #597). o Add qie.doSelectQuery() and qie.doUpdateQuery() to the code wizard (enhancement #668). o Add a 'queryResult' menu item under 'Database' with 'getNode' and 'getRowCount' code snippets. 'getRowCount' snippets were also added to the 'Source' and 'Message' menus. (enhancement #593). o Add 'isDateWithin' method that can check if a date is inclusively within a specified number of days, weeks, months or years (enhancement #880). o Add new StringUtils join method to the code wizard (enhancement #943). Bug Fixes o Fix bug #1102: Some ACK errors are not grouping and the content cannot be searched. o Fix bug #1070: Resolved errors do not update completed count until restart. o Fix bug #1056: Error when changing the zone at the root level of the import configuration dialog. o Fix bug #1089: Message and Error tabs do not always show the most recent messages. o Fix bug #1075: Error tab does not display all of the messages. o Fix bug #1118: Fix bug causing errors when exporting messages. o Fix bug #1098: Add validation to the certificate algorithm field (ie. SHA1WITHRSA or SHA256WITHRSA) to prevent error on save. o Fix bug #1103: Add default value to numeric System Variable to prevent error on save. o Fix bug #1123: Error when selecting channel that was imported without the database connection. o Fix bug #1109: Error generating SOAP Web Service envelope if the WSDL does not define any operations. o Fix bug #1111: Channel is allowed to be saved with invalid pause before restart value. o Fix bug #1012: Add certificate path to the certificate management page so that users can see the chain used for a certificate. o Fix bug causing error when importing web service connections without the associated SSL certificate. o Fix bug #1084: Disallow promoting a web service connection to global if it's SSL certificates are not global. o Fix bug #1143: Importing from older version of QIE loses the days to retain messages value configured on the channel. o Fix bug #1142: Getting a null error when resolving an erred message. o Fix bug #1144: Import configuration does not check for dependencies when selecting an individual channel. o Fix bug #1122: Export configuration does not prompt for missing dependencies. o Fix bug #1150: Nightly purge causes database deadlock error. o Fix bug #1146: Fixed potential problem with the Base64 encoding library being used for certificates. o Fix bug #1108: Latest update of Chrome causes alignment problems on the channel properties and web service sender pages. o Fix bug #1161: Regular Expression Evaluator Dialog - builder menu does not display correctly on low resolution. o Fix bug #1162: Adjust trust policy screen alignment on secure socket sender. o Fix bug with MTOM web service response that contains binary data. o Fix bug preventing the condition plan from showing on the Condition Panel. o Fix bug preventing the refresh button from displaying on the Node Lookup Window in Chrome. o Fix error caused by sending test email to blank email address. o Fix bug #837: Unable to use Rhino script engine importPackage() and importClass() methods with Java 8. o Fix bug #837: qie.throwSendError() and message.discard() do not work with Java 8. o Fix null error when searching for a message by message_id. o Fix bug #1174: Dates strings of format "MMM DD YYYY HH:MMAM|PM" fail to be parsed by qie.deduceDate(), qie.formatDate() and qie.formatDateString(). o Fix bug #1199: QIE Freezes when opening a destination web service node under certain conditions (also bug #1202). o Fix bug #1193: Add an admin alert and error notification if QIE is not using a Unicode database. o Fix bug causing error when QIE is running on MySQL or MarioDb and a field length needs to be changed on startup. Release 2.0.39 build 3889 (Tue, Nov 18, 2014) ---------------------------------------------------------------- Bug Fixes o Fix bug #1197: Error Management - Override System Default screen layout Release 2.0.39 build 3833 (Fri, Nov 7, 2014) ---------------------------------------------------------------- Bug Fixes o Fix bug #1202: QIE Startup hangs after latest update to v2.0.39.3820 o Fix bug #1199: QIE Freezes when opening a destination web service node o Fix bug #1193: CQR channels getting invalid ZIP file errors o Fix bug #1192: Update secure SOAP to return the fault information when receiving a response code > 300 Release 2.0.39 build 3743 (Mon, Oct 20, 2014) ---------------------------------------------------------------- Bug Fixes o Fix bug #1170: Condition Node - The condition plan field is not being displayed next to the operator. Release 2.0.39 build 3692 (Mon, Sep 29, 2014) ---------------------------------------------------------------- Bug Fixes o Fix bug #1143: The days to retain messages does not import from older versions of QIE. Release 2.0.39 build 3648 (Wed, Sep 10, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Change the channel email alert governor to kick in sooner. Now it will kick in and only send 1 email out of every 40 when there have been 10 emails sent within the last 10 minutes (used to be 20 emails sent within 10 minutes). It will continue to govern the number of emails sent until 10 minutes have passed with no emails sent. o Add license server count enforcement to QIE (enhancement #1017). o Update Web Service Connection Page to only display the option for concurrent web service calls if we are not using the 'System Settings (Deprecated)' trust policy. o Update reference manual with new error management features (enhancement #418, #421, #537, and #823). o Re-enable auto-refresh of the error tab (enhancement #431). Bug Fixes o Fix bug deleting old auto-update downloads that do not exist. o Fix bug causing 'Alert every XX send or receive errors' to default to '0' (which is not valid). o Fix bug causing incorrect index to be used when viewing message queue tabs. o Fix bug #1087: Stopping and starting a modified channel does not always apply the changes. If the mapping took longer than 30 seconds, it could potentially finish after the channel had been stopped and restarted, giving the impression that the changes were not taking effect right away. Now a warning is logged and the 'old' message is abandoned if the channel was stopped while the mapping was running. o Fix bug #1088: Global Web Service Connection changes do not take effect until QIE is restarted o Fix bug causing XMPP message to be received more than once if the channel is started and stopped quickly. o Fix bug #1086: Variable list is duplicated each time add/edit mapping function dialog is opened. o Fix bug with application startup bean updating multiple string columns in one query, it has been changed to update one column at a time. o Fix problem importing pkcs7 certificate files. o Remove enhanced audit logging for configuration changes (enhancement #94). o Fix bug causing auto-update to downgrade to an older build or not upgrade to newer build that is on a different version. o Fix bug #1106: Trust All Certificates trust policy causes Http 500 error with SOAP 1.1 o Fix bug #1106: Public certificates with a local private key may need to be selected as a trusted certificate as well. o Fix bug #1106: Visual indicator for matching private key/public certificate causes highlighted lines to wrap. o Fix bug causing 'Send Errors Until Shutdown' to change from '-1=unlimited' to '1' when importing channel from older build. o Fix bug causing display issues on distinct errors dialog. o Fix bug #1108: Latest update of Chrome causes text labels in QIE to wrap. Release 2.0.39 build 3590 (Thu, Aug 21, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Change auto-update manager to only keep 2 preUpgrade folders instead of 4. This will require a new qieLauncher.jar. o Enhance the purge routine to run in the background and not lock the UI (enhancement #537). o Add the ability to configure an error retention policy in addition to the message retention policy (enhancement #557). o Add the ability to purge messages aggressively from the UI (enhancement #823). o Add the ability to configure the 'Error msg after XX errors' on the destination node (enhancement #418). o Prevent the user from configuring the 'Error msg after XX errors' to a value greater than 'Stop after XX errors' (enhancement #421). o Add the ability to purge source message data and/or message result data but leave the rest of the message information, log messages and message cache (if configured). API Changes o Add qie.throwSendError() to the Code Wizard. This can be used from within an Ack Script to cause the message to be resent. Bug Fixes o Fix bug causing endless StaleObjectStateException on Ack timeout. o Fix bug causing the purge to skip messages that have the same created_timestamp o Fix bug #1021: System Variable - Import \t or \n converts to t or n. o Fix bug caused by importing the same channel with a destination zone certificate twice. o Fix bug #1074: Node Path Lookup Dialog does not bring Node Path into Web Service Parameter. o Fix bug #949: Find does not reset when highlighting text in the editor that is different than the find value. o Fix bug causing memory leak when XMPP connections fail with incorrect login. Release 2.0.39 build 3557 (Thu, Aug 14, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Enhance the web service call logging to show up in the channel status log (enhancement #437). o Increase the field length for Certificate and Private Key names. o Change SOAP web service to default to UTF-8 if it can't determine the content type of the soap envelope (instead of defaulting to ISO-8859-1). o Add editor hot-key commands to the edit and view menus (enhancement #672). o Enhance the JettyLauncher kill timeout from 1 minute to 3 minutes (with warnings logged after each minute). o Change default lock timeout on H2 database from 10 sec to 30 sec. o Enhance logging to show which user clicked the restart button within QIE. o Enhanced audit logging for configuration changes (enhancement #94). o Add time to complete to the soap envelope creation log and the time to get a response on the soap response log when the channel is in debug mode. o Add ability to have multiple threads on a web service sender o Add ability to configure web service connection for synchronized/un-synchronized (enhancement #1066) Bug Fixes o Fix bug #996: Paging and order not working correctly on Processing, Outbound, Completed and Error tabs. o Fix NPE with manual check in if the release type is not set. o Fix bug causing error saving channel when a Sample Message description is too long. o Fix bug #1000: Error queue auto-refresh causing system performance problems on MSSQL. o Fix bug #999: Getting an error when searching on a distinct error if error messages have commas or equal signs. o Fix bug #1004: Resubmitting a large message from the error tab truncates the message. o Fix bug on startup with multiple string updates to the H2 table in the same statement. o Fix bug #984: Error message is not cleared in Channel Properties window. o Fix bug #980: Get an error message if the user profile is edited after changing the user under System Administration. o Fix date format in QIE log when there is an error sending email. o Fix bug #948: Row number does not display correctly in the system variable table if there are more than 100 rows. o Fix bug #1011: View permission for Global Settings appears to be editable. o Fix bug #959: When testing a message, the 'Select Next Message' window should continue the playing of the message after selection if it was playing up to that point. o Fix bug #958: When spawning new messages, the 'Select Next Message' window will not display the HL7 HPath on the message. o Fix rare bug causing the message.getNode() to return the text value of the element instead of the element when it contains child elements o Fixed error when calling stop channel in from a mapping node o Fix bug #1019: Readonly connection error (when obtaining a raw database connection, the readonly flag is always being set to true/false instead of just setting it to true when the readonly request was made) o Fix bug #1039: Distinct Errors - Search continues after clicking the stop search button. o Fix bug #998: Error Tab - Search Result Delay between status and red search button. o Fix bug causing exception when importing wsConnection with a reference to a certificate, but the certificate was not exported. (Only occurred when over writing an existing wsConnection) o Fix bug causing delay in processing messages when the 'resolve all errors' or the 'discard all' button was pressed and the error queue had a large number of errors to resolve. o Fix bug preventing commas in the certificate when generating a self-signed certificate or a CSR o Fix bug #1068: Current user is changed to the new user when new user is created and saved. o Fix bug causing error when accessing a channel that was imported without its source node certificates. o Fix bug causing intermittent 'timeout value is negative' errors when a channel is scheduled to run every second and the receiver takes longer than 1 second to execute. Release 2.0.38 build 3616 (Thu, Aug 28, 2014) ---------------------------------------------------------------- Bug Fixes o Fix bug causing error when loading the inbound queue from the channel page. Release 2.0.38 build 3598 (Fri, Aug 22, 2014) ---------------------------------------------------------------- Bug Fixes o Fix bug preventing queue panels from displaying more than one page correctly. o Fix bug preventing auto-update from downloading new builds on new installs. Release 2.0.38 build 3531 (Tue, Aug 12, 2014) ---------------------------------------------------------------- Bug Fixes o Fix bug #633: Cleanup old builds from auto update directory. o Fix bug #1003: QIE does not detect DNS IP address changes until restarted. Release 2.0.38 build 3514 (Mon, Aug 4, 2014) ---------------------------------------------------------------- Bug Fixes o Fix bug 1015: Always enable 'Resolve All' and 'Discard All' on the Error Tab Release 2.0.38 build 3445 (Fri, Jul 18, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Update Certificate Export window to use a standard password input instead of a password popup window when exporting a private key. o Use common name for default certificate and key names on import and file name on CER and PEM export. Bug Fixes o Update SOAP request to detect ISO-8859-1 or UTF-8 for it's content encoding. It was defaulted to ISO-8859-1, it's default is now UTF-8. o Fix nightly backup error when a webservice is imported using a certificate, but the certificate is not included in the import. o Fix error with nightly checkin if the release type is not set. o Fix bug in email sender causing TLS Authentication failures. o Revert auto-refresh of the error tab (causing delays in the processing of messages--enhancement #431). o Update new SOAP Web Service to add prolog to the soapEnvelope and the Accept header that are both added by SoapUI in the dispatcher. o Fix bug when calling a secure SOAP web service and VTD is not installed with QIE. o Update email sender to check if an email is being sent before sending again (to prevent duplicate emails from being sent when it is shutdown). o Fix bug #979: The email queue gets stuck if an email has an error when sending forcing the other emails to wait 30 minutes before they are sent. o Fix bug in ISO8583 message type causing message to become corrupted when testing message from the message history window. o Fix bug with MySQL database not using correct index when searching messages. o Fix bug causing destination node with server socket to stop channel with error. o Fix bug #983: Get an error when clicking the new button after entering filter text. o Fix bug preventing the user from being able to enter the letter 'f' in the import certificate password. o Fix bug #982: Clicking the global status in bottom left corner throws exception. o Fix bug #981: Reset button does not enable after search completes. o Fix bug #978: Calling formatXML() when the XML contains both a child attribute and a node value causes the node value to be cleared. Release 2.0.38 build 3415 (Tue, Jul 8, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Update qie.sendEmail() to throw an exception if the email is unable to send o Add Locality, State, and Country to the certificate detail window API Changes o Add ability to sendEmail with a cc, bcc, and replyTo for both qie.sendEmail() and qie.queueEmail() o Add qie.queueEmail() option to queue an email for sending and then continue process the script (without waiting for the email to send). This option will not report an error with the email. Bug Fixes o Fix bug #976: Invalid email address in qie.sendEmail() doesn't abort immediately o Fix bug #975: Filtered hPath with instance does not work o Fix bug #973: Sending a null 'to address' into qie.sendEmail causes the QIE service to restart without warning. o Fix bug #970: Add friendly error message when deleting a certificate that is currently in use o Fix bug preventing nightly checkin from getting new Alpha build if system is configured for Nightly/Alpha builds. Release 2.0.38 build 3406 (Thu, Jul 3, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Change the default number of nightly backups to keep from 14 to 30 (enhancement #868). API Changes o Add qie.escapeHL7(String value) and qie.unescapeHL7(String value) methods for escaping out special characters from the data (enhancement #614). Bug Fixes o Fix bug with the FTP Receiver holding onto connections that should be discarded. o Fix bug #956: Node Lookup Dialog cannot find xPath for nodes after the 2000th node. o Fix bug with left hand navigation displaying zones twice after import or deleting a zone (bug #923). o Fix bug #961: When switching the sample message in the node path lookup window the node path is cleared out. o Fix bug #967: Clicking the cancel button directly or using the 'Alt-C' hot key will abort the changes without a confirmation dialog. o Fix bug #963: Channel cache values are overwritten when saving the channel. o Fix bug #968: HTTP Listener cannot parse message if multi-part request is received that does not have content headers specified for one of the parts. o Fix bug #962: Frequently getting Chrome Kill or Wait dialogs in the Node Lookup window. o Fix bug causing intermediate and root certificates to not show when importing from a key store. Release 2.0.38 build 3386 (Mon, Jun 30, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Replaced 'Quick Navigation' (F3) to use new zone lookup from the left navigation window Bug Fixes o Fix bug #923: Accommodate large number of zones in the left hand navigation window o Update Channel Manager to throw a ChannelException if an inbound message was deleted from the database while the channel is running preventing a NPE and causing the channel to shut down o Disable auto-pairing of special character (quotation marks, parenthesis, etc.) in JavaScript Editor Release 2.0.38 build 3370 (Wed, Jun 24, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Enhancement #879: QIE will throw an error if findPreviousMessage() is called on a channel that does not persist the message cache. Bug Fixes o Fix bug #912: CSV Message Model unable to handle Unicode characters o Fix bug in XML MessageModelTreeNode that caused attributes to get skipped when the attribute value contained an '=' character followed by a single or double quote o Fix bug #908: Separator character in sample message should be the same as the channel separator character o Fix bug when selecting a node in a CSV message tree, the selected node would not be highlighted in the actual message o Fix exception when doing a message search with the MSSQL database and the message found is still in the inbound queue o Fix bug #938: Add ability to update an expired Certificate/Key o Fix bug #911: Word wrapping does not compute when reloading the editor. o Fix bug preventing the user from being able to delete all of the sample messages. Release 2.0.38 build 3358 (Wed, Jun 18, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Enhancement #419: Add ability to modify source message and resend from the message detail window. o Enhancement #284: Enhance 'Node Path Lookup' to allow for lookup of Database Connections, Web Service Connections, System Table Variables, Private Keys, and Public Certificates. o Enhancement #178: Advance to next or previous message within the message detail window. o Enhance Node Lookup Window to allow quick select. o Enhancement #896: Add alerts and reminder emails when a certificate loaded into QIE is going to expire. o Add ability to suppress alerts and emails for expiring certificate. o Enhancement #876: When stopping channel set to persistence level 0 the system will now alert the user that stopping may result in lost messages. o Enhancement #915: Add warning that persistence level 0 can lead to loss of messages. o Clarify the message when promoting a certificate to global by listing associated keys being promoted with the certificate. o Increase proxy host and non-proxy host fields in system config to 255 characters. o Optimize memory performance by using the -XX:NewSize and -XX:SurvivorRatio JVM options. API Changes o Add qie.formatDateString() function to accept a date String as the original date to be formatted. Bug Fixes o Fix bug #934: Long values in a condition node are blanked out in the UI. o Fix NPE when attempting to View Associated Message from a QieLog message. o Fix bug with the FTP Receiver to ensure all retrieved files are simultaneously added to inbound queue. o Fix bug #500: Left Navigation menu gets out of sync with the current page displayed. o Fix bug with Utils.deduceDate() causing the hours on a date to be calculated incorrectly (This only happened, when the date had a one digit month, one digit day, and two digit year with a time '6/6/14 15:35'). o Fix bug #917: Purge persisted messages that are not in the error queue when starting a channel with persistence level 0. o Fix scrolling on Certificate Management page. o Fix ZoneServiceImpl.getMessageModel to check for FORMAT_X12 when determining the format of the message. o Fix bug #916: fix QIE to skip loading messages from the database when starting a channel at persistence level 0. o Fix problem where user with read-only permissions can import or export certificates from a zone. o Fix bug #878: ACE Editor not displaying long lines. o Fix bug #907: HL7 message.getNode() returns both the last component of the first instance and the first component of the last instance when instance is not specified in the HPath (e.g. PID-13.7 vs PID-13[1].7 should return the same result but do not). o Fix bug #198: Added ability to edit mappings and conditions from within the test panel. o Fix bug #926: Sample messages imported when channel does not exist. Release 2.0.38 build 3302 (Thu, May 29, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Enhance FTP sender and receiver to allow specifying binary content. o Enhance the error and completed tabs to auto-refresh the message lists (enhancement #431). o Add version and build to the QIE startup splash screen (enhancement #501). o Add an explanation next to the 'Manage External Libraries' button (enhancement #504). o Add ability to collapse all zones in the import/export configuration dialog (enhancement #587). o Enhance the socket connection/disconnection messages to differentiate between source and destination connections (enhancement #591). o Change Nightly to Alpha in the release type drop-down under System Configuration (enhancement #600). o Change completed tab background color to default theme (enhancement #892). o Add ability to save a message as a sample message (enhancement #257). o Add ability to store public SSL certificates and private keys in QIE (enhancement #635). o Add ability to use stored SSL certificates and private keys to secure endpoints and web service connections (enhancement #635). o Add support for HTTPS listener (enhancement #550). o Enhance navigation panel to include a 'Home' item under the global settings (enhancement #661). o Add the ability to close the first tab if other tabs have been opened (enhancement #660). o Add message counts to the source and destination nodes in the visual channel editor (enhancement #534). API Changes o Remove addAttribute() from the code wizard, since the preferred method is to use the setNode() function (enhancement #324). o Add qie.getRandomNumber(min, max) to the Code Wizard (enhancement #331). o Add message.setHL7EndOfLine() to the Code Wizard (enhancement #335). o Change node tag references for channel cache and message cache to 'cc' and 'mc', respectively (enhancement #458). Note: the old source indicators of 'ch' and 'c' can still be used. Bug Fixes o Fix bug causing messages tab to show empty when channel is configured as CSV with headers but a record with only headers is received. o Fix bug #798: Unable to page through messages while the channel is running. o Fix bug that allowed purge routine to purge messages that were in the inbound, and not yet processed (they didn't have a messageQueue). o Fix bug saving proxy configuration changes if you uncheck the 'Use Proxy' after clearing out the proxy host with a space. o Fix bug causing emails to stop being sent if something gets hung up with the network communication. o Fix bug #604: Auto-update hangs downloading new build. o Fix bug #897: Unable to use the Ctrl+C shortcut in the channel page to copy and paste. Release 2.0.37 build 3207 (Thu, May 8, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Add MySQLUnicodeDialect to be used with MySQL/MariaDB. o Add "message X of Y" to log message when a single file contains many messages (enhancement #806). o Add ability to link resubmitted or resolved messages to the original message (enhancement #432). o Publish new IIS registry document. o Add the ability to find the declaration of a variable inside the javaScript editor by using Ctrl-B. o Change REST web service HTTP status exception message to include the HTTP Response content received. o Add a validation check to make sure that an SMTP Server has been configured before sending a test email. API Changes o Add messageCache.checkValueExists() and channelCache.checkValueExists() (enhancement #310). o Add ability to pass a default value to messageCache.getValue() and channelCache.getValue() (enhancement #310). o Add qie.getMD5Hash() (enhancement #326). o Add qie.getSHA1Hash() (enhancement #327). Bug Fixes o Fix bug causing CSV tree to be truncated if the header row has fewer columns that the data. o Fix bug causing ISO 8583 binary messages to render incorrectly in the UI. o Fix bug #429: XML with CR/LF between attributes breaks Node Lookup o Fix bug when large XML message tree is truncated, selecting a node in the message doesn't select that same node in the message tree o Fix bug #859: When removing or updating a channel cache entry from within a mapping node, the descriptions of all of the channel cache variables are lost o Fix bug causing ArrayIndexOutOfBoundsException to be logged to the server when viewing an XML message that does not include line endings. o Fix bug causing the refresh SOAP envelope confirmation dialog to open twice, causing you to have to click Ok twice. o Fix bug causing empty test message or REST content to display as 'BASE64:'. o Fix bug causing XML parse error when UTF-8 byte order mark (BOM) is present. o Fix bug #452: Search locks up the DB (on H2 only). NOTE: To fix this, a new field and index was added to the MessageQueue table. QIE may take a few minutes to start on the first time starting after this update. o Fix bug causing XML content in an error message to not be displayed in the error notification pop-up dialog. o Fix bug cause NPE when doing an advanced condition search. Release 2.0.37 build 3132 (Mon, Apr 21, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Update alert message when clearing email queue. o Update the email queue label from 'Queue Size' to 'Current Queue'. o Added the ability to export to all of the message tabs. o Add long running query log messages to executeHQL() and executeSQL() calls. o Enhance Completed Tab to auto-appear like the Messages and Error Tabs. o Enhance Error Tab searching so that you can specify an exact match on the Execution Path. o Enhance the Message Search dialog background color to match the tab that is is called from. o Add HPD+ support to the 'IHE Web Service Profiles' web service. o Enhance message tab columns to be adjustable (enhancement #766). API Changes o Add qie.getChannelName() to the code wizard (enhancement #832). Bug Fixes o Fix bug #808: Retrieving an existing license again is removing the assigned license group. o Fix bug #785: Out of memory error when exporting large messages. Export is now returned as a zip file. o Fix bug causing a few messages to not be purged on non-H2 database. o Fix bug causing error when clicking search without entering any criteria. o Fix bug causing uncaught client exception when there are pending changes, then the application locks after configured timeout, and then the application tries to logout after configured timeout. o Fix bug causing index out of bounds error when stopping a channel. o Fix bug causing error in nightly purge when a message view has been created. Release 2.0.37 build 3094 (Thu, Apr 10, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Update the email alert sender to wait up to 1 minute between SMTP errors (this is to prevent DoS on the SMTP servers) o Update the email alert sender to have a default max size of 1000 for the email alert queue o Update admin alerts to notify administrator on login if email alerts were skipped because the max email alert queue size was exceeded o Add a field to the System Configuration page to display the current email alert queue size and a button to allow the user to clear out the email alert queue o Move QIE packages from the 'Help' menu to new 'Help'->'QIE Packages' sub-menu o Add the 'QIE Public Health Agency Guide' to the 'Help'->'QIE Packages' sub-menu o Enhance logging for processor and channel threads to include channel name (enhancement #694). o Add a new tab for completed messages (enhancement #628). o Add ability to view distinct errors (enhancement #627). o Add ability to search/filter on all message tabs (enhancement #420). o Enhance export filename to include system, zone or channel name as well as the current date (enhancement #605). o Enhance import configuration dialog to specify that we are looking for XML files (Chrome now defaults to XML, Firefox includes XML as one of the file type options). o Enhance the error message that is reported to the user when they attempt to import a non-QIE configuration file. o Update install guide to document the MSSQL dialects to use. o Add note to qie.spawnNewMessage() that it is often used in conjunction with message.discard() (enhancement #764). o Add commented sourcePatientInfo to Provide & Register SOAP (enhancement #768). o Remove proxy related java options from the installer (proxy is now handled inside the QIE system config page) o Append QIE server name and port to alert emails (enhancement #794). Bug Fixes o Fix 'index out of range' error when using the MSSQL Hibernate dialects. o Fix problem blanking out SMTP settings in the system config (it is currently configured to send, and the user blanks them out, email continue to be sent) o Fix error when doing a message search with just the message id o Fix bug causing extra colon (:) to display in form URL when QIE is using port 80. o Fix bug #797: The permission grid is editable and out of sync for existing admin users. o Fix error caused by NPE in character set detection algorithm. o Fix channel sort in the export configuration dialog to be consistent with the channel page. o Fix bug #505: When adding code to a custom Condition Node with the code wizard, the code is added at the front of the custom script instead of where your cursor is located. Release 2.0.36 build 3054 (Fri, Mar 28, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Add Context menu to Zone Management page to 'Stop All Channels', 'Delete All Channels' and 'Delete Zone' o Disable drop table option unless running purge message from the system config o When dropping table on purge, QIE will automatically initiate a restart Bug Fixes o Fix null error caused by attempting to export an empty editor value. o Fix bug in FTP receiver causing null pointer exceptions when using windows style file separators (\) instead of linux style (/) o Fix bug #498: Processing count goes to negative o Don't persist message or messageQueue when message.discard() is called on channel with persistence level 0 o Fix bug #772: Purging messages from a channel should use the channel's days to retain value not the system default o Fix bug #783: Message is lost if channel is stopped while message is stuck in destination node o Fix null error when attempting to download 0 byte text file o Prevent user from selecting the edit button if there is no license selected in the about dialog o Ensure messages in outbound queue get persisted even when sender times out after channel is stopped o Fix bug #792: If channel is stopped and restarted while a sender thread is sending a message, it gets re-added to the inbound queue o Remove zone status information from global status window when a zone is deleted o Fix NPE when opening a message, in the node lookup, then selecting a tree leaf for a truncated portion of the message o Enhance editor logic to display friendly error message in task bar if they select a node that is beyond the end of file in the editor o Installer no longer adds empty trust-store and key-store java options (empty options break the ability to use the default java trust store) Release 2.0.36 build 3017 (Tue, Mar 18, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Enhance system to recognize when the QIE server stops responding and give the user the option to redirect to the login page o Added ability to override default (3MB) large message limit using java option -Dqie.largeMessageLimit=??? (bytes) o Force compression on large messages even when channel is not configured for compression o Add link to the Qvera knowledge base (http://kb.qvera.com) to the Help menu o Add user friendly error message for known DB configuration issue (max_allowed_packet) with MariaDB and MySQL Bug Fixes o Fix bug #770: Out of Memory error reported when trying to load large message (>10MB) in the message detail window o Fix bug #769: Messages added to the inbound queue using qie.addInboundMessage() are not being compressed o Fix FTPReceiver to properly handle out of memory errors o Fix bug in Zone Status page that caused an error when right-clicking on the grid without having a channel selected o Fix bug in Channel page when trying to open a Queue tab before saving the new channel o Fix error in web service mapping function dialog when binding is cleared out and the refresh soap envelope button is pressed Release 2.0.36 build 2982 (Fri, Mar 14, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Prompt the user for restart if proxy settings are changed (restart is required for changes to take effect) o QIE Installer updated to use new default settings, including -Xmx1024m o Publish Http Listener endpoint in the Source Node properties (enhancement #669) o Enhanced the Ace Editor to only use wrapping if there is a line in the message that exceeds 100024 characters. o Add new view button "Word Wrap" that will allow users to wrap contents of the editor (message or javascript) like they would if there are in Notepad. o Add message size to message detail window (enhancement #502). o Refactored several Code Wizard items to put them either in their own sub menu (see new 'Email' sub menu) or in the appropriate sub menu (e.g. moved 'To Proper Case' from Misc sub menu to the String Utils sub menu) o Enhance Channel Properties to allow for message retention override from the System Configuration page (enhancement #583) o Enhance Ace Editor to replace highlight with quote character instead of quoting the highlighted text o Enhance Ace Editor to allow for a backspace on the front of the line without removing 3 spaces when it thinks it is on a tab stop o Enhance Ace Editor with a new button under 'View' for 'Show Whitespaces' so that you can view the space/tab/return characters o When changing SOAP web service endpoint, the system now prompts the user if they would like it to refresh the SOAP envelope (enhancement #726) o When refreshing the SOAP envelope the system will now add a comment to the top of the envelope indicating where and when the SOAP envelope was generated o Show 'No Sample Message' alert in Javascript editor if no sample messages are available o Allow users to specify a path where they want to save a copy of the nightly backup (enhancement #317) o Enhance the Memory Usage dialog to display if the JVM is 64-bit or 32-bit (enhancement #655) API Changes o Overload qie.createTextMessage() function to accept a String or ByteArray as an input parameter which initializes the message object to the input value o Added several helper functions (found under the new 'Channel Status' sub-menu in the Code Wizard) o Add qie.parseMultipart() function to the code wizard. This can be used to parse the REST web service call response if it comes back as multipart content. Bug Fixes o Fix bug that causes channel status window to come up blank when a 'null' status log message is logged. o Fix bug #699: Include filename on message received info log message o Fix bug #602: Add message cache persistence option to the Channel Properties dialog o Fix bug #692: Automatically remove extra spaces from the Java Options configured in the QIE Service Manager o Fix bug #330 (part 3): Viewing large messages in the message detail dialog hangs the browser. Truncate the message at 10MB and provide a download button. o Fix bug #721: Trust All SSL Certificates does not work with client secure socket o Fix bug with NodePath validation on XML messages when the user does not have VTD installed o Fix bug #662: Published Mappings - Javascript Window not maximizable o Fix bug #233: Test from within DB Query Config window now limits results to 10 (this avoids problems where the window gets very large and you can't view the top or bottom) o Fix scrolling problem in Ace Editor causing lots of whitespace on the right side of the scroll o Fix bug #717: Channel Cache refresh button not working Release 2.0.35 build 2905 (Mon, Feb 24, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Enhance the Ace Editor to better detect HL7 content o Enhance the node lookup dialog to better detect the sample message type so that it can apply the correct highlighting o Add support for MariaDB database connections o Add a warning to the source node when the user puts a node tag into the archive path (node tags are not evaluated on archive paths in the source node) o Enhance the change password dialog to allow for any temporary password, even if it is an administrator password o Cosmetic changes to the License Group Dialogs (enhancement #720) o Move proxy settings from JavaOptions to the System Configuration page so that they can be updated without restarting QIE (enhancement #385) o The message tab in the error dialog now detects the message type instead of just using the source message type (example: Received an HL7, but the message is XML). (enhancement #731) o Add the ability to install the VTD JAR with a single click from the System Configuration page (enhancement #738) Bug Fixes o Fix bug causing unicode characters to become corrupted when testing a message. o Fix bug #330 (part 2): Viewing large messages in the message detail dialog hangs the browser. Only base 64 encode binary data to avoid the overhead of decoding large messages client side. o Fix bug #330 (part 1): Viewing large messages in the message detail dialog hangs the browser. Limit the tree view to a maximum of 2000 nodes. o Fix bug #743: Fix problem saving forms when the license limit has been reached. o Fix bug in the database connection page to causing the connection url to not get updated when you make a change to the database selection. o Fix bug causing the memory values to be blank on the Memory Usage dialog when running on a 64-bit JVM o Fix bug causing Javascript RegEx evaluator to not work on Java7. o Fix null error when inserting a function filter or a condition filter without selecting any text from the sample message in the Node Lookup Dialog o Fix problem getting the condition path relative to the selected node in the Node Lookup Dialog o Fix bug #575: Cannot set the root node for a CSV message. o Fix bug #722: Restart not working from the System Configuration page or when you manage external libraries o Fix bug causing admin users to reset password every time the user record is modified Release 2.0.35 build 2876 (Mon, Feb 10, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Remove references to -Dsoapui.ssl.keystore.* system properties. These are no longer used, since we only use SoapUI to create a SOAP envelope from a WSDL. Bug Fixes o Fix bug not allowing the blank 'All' to be saved when setting the group by message count option in the Database Receiver options o Fix bug #564: DB Query results truncate null columns at the end of each row o Fix bug that was causing 'group by row count' to always limit the group to 1 if being used o Fix bug causing the nightly purge to fail o Fix bug #704: DB Query result does not show html tags that are contained in the column data Release 2.0.35 build 2866 (Fri, Feb 7, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Enhance the nightly purge to purge in smaller batches to avoid locking the database for too long (this can be changed by adding the java option -Dqie.purgePolitely=false) (enhancement #457) o Enhance the 'Delete Channel' to delete messages in smaller batches to avoid locking the database for too long (enhancement #693) o Add the ability to control the purge batch size (default is 300 at a time, but this can be changed by adding the java option -Dqie.purgePolitely.blockSize=#) o Change non-persistent socket connections to log each connection at the DEBUG level instead of INFO (enhancement #725) Bug Fixes o Fix bug in the text window that was blocking you from selecting a spawned message when the original message was discarded o Fix bug in the text window that was not refreshing the message cache with the spawned message's cache o Fix bug causing the channel to stop after X errors once a secure client socket fails to receive an acknowledgment for an outgoing message with a read timeout. o Fix null error when loading the message detail dialog o Fix null error in Node Lookup Dialog when a function was inserted without a path being selected o Fix bug #511: Leading or trailing spaces on the Destination Node Endpoint URL, File Path, FTP Host, FTP Path, Socket Host, and XMPP Server can cause hard to track down errors. Release 2.0.35 build 2855 (Mon, Feb 3, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Enhance the test window to prompt the user which message to continue with if a new message is spawned. o Update the FTP Receiver to throw an exception if there is nothing selected under the 'After download from FTP site' section o Change the REST web service to not validate the hostname on the certificate for secure endpoints. This only happens when the system is not configured to trust all certificates. o Enhance the Message Detail Dialog to only load the message being displayed instead of all of the associated messages API Changes o Add the ability to discard a message by calling message.discard(). This causes the current mapping function to terminate immediately and move the message to a virtual discard queue. (enhancement #508) o Add the ability to spawn a new message by calling qie.spawnNewMessage(String Message). The spawned message will not be processed by any mapping functions on the current node, but will be sent to all of the next nodes. (enhancement #353) Bug Fixes o Fix bug #718: Force selection of the 'After download from FTP site' option when setting up an FTP receiver o Fix bug #719: Re-worked the Message Detail Dialog to use a drop-down instead of tabs for displaying the messages (this was needed to prevent problems loading a message that spawned a large number of messages.) o Fix bug causing an error when testing an XML message that includes a stylesheet declaration when using the default DOM XML parse engine. Release 2.0.35 build 2841 (Wed, Jan 29, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Add validation to Message View dialog requiring a condition to exist before saving the Message View. Bug Fixes o Fix null error on nightly backup caused by having a message view without any conditions. o Fix null error caused by deleting a channel. o Fix bug #555: Import Configuration can end up mapping to same item. o Fix bug #677: Fix problem causing incorrect dependencies to be selected when Importing and exporting configurations. o Fix bug causing deadlock error between running channel and nightly purge. o Fix bug #716: Channel goes into an endless loop when a socket connection is lost before the ACK is sent for a received message. Release 2.0.35 build 2830 (Fri, Jan 24, 2014) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to set the HTTP status on the response for the HTTP Listener source node (Add a 'HTTP Status: ' followed by the numeric HTTP status code. Can be placed at the beginning of the response string, or after a 'Content-Type: ' modifier). o Add Search and Replace to find toolbar (enhancement #643). o Add new RegEx validator (F4) in javascript editor (enhancement #301). o Add NodePath validator to the standard 'Node Lookup' Dialog (F2) (enhancement #206). Bug Fixes o Fix NullPointerException in the MessageCacheEditor. Release 2.0.35 build 2823 (Mon, Jan 20, 2014) ---------------------------------------------------------------- Bug Fixes o Fix bug #608: Unable to save a channel with a fixed width not saving as source type. o Fix bug #691: Unable to log in on a new install (change default password back to 'admin'). o Fix bug #698: Unable to create an X12 message using qie.createX12Message() o Fix bug causing erred message to be lost if there are multiple destination nodes and erred message causes channel to shutdown. o Fix bug #700: Unable to import configuration that includes license groups that do not exist on the local system. o Fix bug #703: SocketSender stops sending when a socket error occurs while resending a message that has not been acknowledged. o Fix bug preventing user from being able to import system variables after correcting naming error. Release 2.0.35 build 2793 (Wed, Jan 8, 2014) ---------------------------------------------------------------- Bug Fixes o Fix Source Filter (View) Indexer to only abort after 2 consecutive errors. o Fix bug #676: Source Node: XML set to HTTP Listener not staying on tab. o Fix bug causing FTPSender to stop when a duplicate filename is found. o Fix bug causing error saving a web service without parameters. o Fix bug #667: Get an error when importing configuration after cancel open dialog. o Fix bug #673: Import or Save As with a long channel name causes error. o Fix bug #674: qie.getFileNameWithoutExt(); returns extensions. o Fix bug #675: IHE web service profiles connection urls are blank after upgrade from 2241 to 2668. Release 2.0.35 build 2772 (Thu, Dec 26, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Change Centricity 9.5 and 10 import and export CCD calls to be multi-threaded (allow more than one call to Centricity at a time). Bug Fixes o Fix bug managing external libraries. o Fix QIE to process large files quickly when there is a large back-log in the incoming queue. o Fix QIE to not process a large file that is still being written by sending system. o Fix null error caused by deleting the same channel twice (by clicking the delete button too quickly). o Fix bug causing license retrieval to later fail if you click "Get License" twice in a row. o Fix bug calculating channel counts. Release 2.0.35 build 2762 (Wed, Dec 18, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to send email attachments in the emailMessage method. o Change license enforcement to not disable all of the forms if the license is changed/lost. Bug Fixes o Fix critical error overflow logic to only enter overflow for sent messages. o Update FTPSender to re-create endpoint when an exception is thrown while trying to send a file. Release 2.0.35 build 2752 (Thu, Dec 12, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Enhance installer to dump java arguments and java options to QIE home folder if the logs folder does not exist. o Add release notes to Help | About dialog (enhancement #636). o Change logging level to avoid unnecessary critical error notifications. o Change alert sender to always retry for up to 30 minutes when it cannot send an alert. o Add validation to prevent adding web service parameters without a name specified. o Add license groups with the ability to tie licenses to specific zones (enhancement #389). o Add SQLServer2005UnicodeDialect and SQLServer2008UnicodeDialect to replace SQLServerDialectEx. o Require at least medium strength passwords for admin users. o Add ability to export licenses (this can only be done by the default admin user). o Change enabled forms to count against license channel limit. o Remove web services from using a channel from the license channel limit. o Enhance Provide and Register to automatically switch to when MTOM is checked (enhancement #630). o Add commonly used java options to the QIE installer (32 bit and 64 bit -- enhancement #632). o Allow Multi-Threaded FTP. o Restrict Format to XML when using a source HTTP Listener. o Remove page cache to fix issue with users who remain logged in for many days. This was causing the browsers memory footprint to continue to grow and grow over time. API Changes o Add ability to get and set ISO 8583 Header value. o Enhance qie.createIso8583Message() to copy ISO 8583 Header value from source message. Bug Fixes o Fix bug #612: Get an error when a new zone is imported twice without logging out. Now you do not have to log out or change page to see new zone or channels. o Fix bug #607: "Stop All Channels" now stops channels in an error state. o Fix bug #658: Cause QIE to shutdown if InstallScheduler or Restarter threads die (will cause a restart of QIE). o Fix bug #640: Update CodeWizard StringUtils.split to StringUtils.splitByWholeSeparator since that actually uses the whole separator as the delimiter as intended. o Fix bug #598: Status Log windows display incorrectly when log messages include < and >. o Fix bug #654: Handles multiple acknowledgements from multiple messages in one file. o Fix bug #592: Test Window - Cannot use the MSGID node tag. o Fix bug #580: -Dhttp.nonProxyHosts not working for downloading SOAP envelope. o Fix null error with nightly backup if a source filter exists without a condition list defined. o Fix bug caused by specifying a 'Content-Type: ' for an HTTP Response without including a new line (\n). o Fix bug causing nightly backup to fail if a web service parameter is created without a name. o Fix null error caused by a resend ack error occurring. o Fix bug causing error calculating daily counts or error sending daily counts email. o Fix bug #652: Cannot use StringUtils in Published Functions. o Fix timeout problem when invalid login credentials are passed on a secureFtp. It will now fail on the first try and allow QIE to determine if it needs to try again or not. o Fix problem saving source or destination node ftp password with special characters in them. o Fix bug #619: Message ID not associated with Web Service sender errors. o Fix bug #644: Message not sending to all destinations when stopping channel. Release 2.0.34 build 2668 (Wed, Nov 20, 2013) ---------------------------------------------------------------- Bug Fixes o Fix bug causing 'no object DCH for MIME type X' errors when attaching binary PDF or ZIP to a SOAP request. o Improved installer for converting existing customers to latest build. Release 2.0.34 build 2658 (Wed, Nov 13, 2013) ---------------------------------------------------------------- Bug Fixes o Fix bug causing client certificate authentication to not work when trusting all ssl certificates. Release 2.0.34 build 2639 (Fri, Nov 8, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Change the trust self-signed certificates feature to trust all certificates if selected in System Configuration. o Publish new HIE and IIS registry documents. o Publish new Qvera SSL Certificates Guide. API Changes o Update to H2 1.3.174 o Add new node tags {ws-user:Name} and {ws-pass:Name} to get Web Service Connection Username and Password. o Add new node tag {UTC_DATE} to get current date/time in UTC timezone. Can be offset using {UTC_DATE+5m} to add/subtract from current date/time. SYSTEM_DATE can also be offset the same way. o Add new code wizard functions to get Web Service Connection Endpoint URL, Username and Password. Enhance Web Service Mapping Function to use new code wizard function qie.getWsEndpiontUrl(). Bug Fixes o Fix bug #611: Variables page does not display string variables. o Fix bug #613: HL7 escape characters being handled incorrectly. o Fix bug #616: Memory Usage Dialog progress bars show HTML tags instead of text. o Fix import/export configuration dialog drop-down box behavior. o Fix slow performance issue by adding indexes to all foreign keys (MySQL created these by default, but not other DBMS). o Fix bug 622: Message.setNode() with instance does not work. Release 2.0.34 build 2593 (Mon, Oct 21, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Sort SOAP Web Service operations. API Changes o Update to GXT 2.3.1 to fix bug causing error when changing zone in import configuration dialog. Bug Fixes o Fix bug #606: Channel restarter getting thread concurrency modification error. o Fix import/export configuration dialog to truncate long channel and zone names on the display instead of wrapping them. Release 2.0.34 build 2580 (Thu, Oct 10, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Add QIE HIE Registry Guide to QIE Help menu. o Update QIE Install Guide and QIE Tutorial. o Update QIE Reference Manual. o Update QIE IIS Registry Guide. Bug Fixes o Add JUnit to test that each message is acknowledged, even asynchronously (bug #584). o Fix bug #584: Socket connections fail to acknowledge each message received when incoming messages are grouped. o Fix bug found by JUnit test causing duplicate messages to be saved when ack script returns an empty response. o Fix bug #599: Client-side javascript exception when save or cancel changes to a channel after any mapping change. o Fix bug view message cache values. Release 2.0.34 build 2546 (Fri, Sep 27, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to specify ISO 8583 Header Length for incoming messages. o Change default source on QIE web service parameter to 'Message' instead of 'String'. Bug Fixes o Fix bug with a plus in the password o Fix bug 493: CSV source message will not include all rows as one message. o Fix bug 574: Node Path dialog throws a client-side javascript exception on open. o Fix bug 586: Using Code Wizard Surround With functions cause error or incorrect result. Release 2.0.34 build 2532 (Tue, Sep 24, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Provide an option to import the channel cache variables only (enhancement #483). API Changes o Update Apache Camel from 2.10.1 to 2.12.0 Bug Fixes o Fix bug #554: FTPReceiver repeatedly throws stacktrace until it finds a file. o Fix bug #548: Overwrite WSDL warning comes up on new Web Service and WSDL from previously viewed Web Service connection displays when adding new SOAP Web Service connection. o Fix bug #497: CPServiceClient EMR 9.5 hangs on export CCD call. Add 5 minute timeout to the service layer call. o Fix bug causing IllegalArgumentException or IndexOutOfBoundsException on File destination node if the original filename contains a dollar sign ($). o Change logging from ERROR to WARN to avoid unnecessary critical error notifications on application startup. o Fix bug #569: Form imported without a URL key. o Fix bug causing sample message data to be lost when upgrading from build 1540 or prior. o Fix bug causing channel to be imported with a blank name. o Fix bug #579: Enhanced SFTP to support proxy with the following java options: qie.sftp.proxyHost, qie.sftp.proxyPort, qie.sftp.proxyUser, and qie.sftp.proxyPass. o Update Ace Editor to fix scrolling and other issues with script and message editors. o Fix bug causing imported item to move existing item, instead of creating the new item in a different zone. Release 2.0.34 build 2503 (Tue, Aug 27, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Add form enabled status icon to the FormPage o Added -Xrs value as a Java Startup Argument to the installer to prevent LOGOFF events from shutting down QIE in Windows 2003 o Add ability to specify new item names on Import (enhancement #329). o Add catch to Restart thread so that we can log the error if the thread dies for some reason. o Add additional exception handling to the channel manager start/stop/pause/resume methods. This will prevent the Restarter thread from ending when an SQLException happens attempting to restart a channel. API Changes o Upgrade GXT from 2.2.5 to 2.3.0 (contains a lot of bug fixes and addresses several layout issues in QIE) Bug Fixes o Fix bug with Ace Editor being cut off sometimes o Fix bug dropping message and log tables on MSSQL o Fix bug #543: When ChannelManager shuts down, make sure JettyLauncher shuts down also o Fix bug #492: Import and Export Configuration should include dependencies (even those specified in custom scripts) o Fix bug getting nodes when using an HPath that is looking for child segments and the child segment is the last segment in the HL7 message. Release 2.0.34 build 2464 (Mon, Jul 29, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Replace CodeMirror Editor with AceEditor o Add 'Packages' to list of common variables allowed in javascript editor (see http://kb.corp.qvera.com/question2answer/index.php/35/referenceerror-jcifs-defined-trying-jcifs-external-library and https://developer.mozilla.org/en-US/docs/Rhino/Scripting_Java#External_Packages_and_Classes ). o Implement StringUtils in the code wizard. Change built-in mappings for changing case, replacing, and substring to use StringUtils o Add ability to get a read-only database connection that does not use locking. This can be used to avoid deadlocks with SELECT only queries. o Change default FTP Protocol to SFTP on new Source and Destination Nodes (enhancement #541). o Updated Linux README to include start and stop instructions Bug Fixes o Fix bug #518: Clarify table lookup errors to avoid confusion. o Use explicit loopback host for RMI. o Fix it so that the form load and form post scripts are not passed to the client on the initial RPC. o Fix bug caused by passing data to a grid cell that includes a CR or LF. Bug causes errors using the CSV in the form post script, since it is malformed (CR/LF is not quoted). Release 2.0.34 build 2437 (Thu, Jun 27, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Default rmiPort changed from 1099 to 51494 to reduce the risk of conflicts when starting up. o Recovery tab configurations in Windows Services can be used for the QIE Service. o Allow "Import to" column to be changed with one drop down at the parent node in the Import Configuration Dialog. (enhancement #405) o Add getRowCount() method that can be used on a CSV and HL7 message type (enhancement #524). o Add option to include sample messages as part of the import and export of a channel. Encrypt sample messages in the database. (enhancement #218) o Add an integer 'instance' variable that can be used when calling checkNodeExists() and getNode() instead of including the instance in the node path (enhancement #524). o Add prompt to download new WSDL if WSDL URL is changed. o Updated QIE Install Guide for the auto update builds. API Changes o Update H2 from 1.3.170 to 1.3.172 Bug Fixes o Fix bug #408: FTP Receiver 'Test path' button doesn't use wildcard. o Fix bug #442: Audit information log now skips changes to password fields (SMTP, FTP, XMPP, DB, WS). o Fix bug #464: Synchronize AlertSender. o Fix bug #512: Import Window - Get QIE Exception clicking import button multiple times. o Fix bug #489: System Variable table column heading disabled. o Fix bug #479: HTML Form find disabled when left open when navigating away. o Fix bug #499: Refactor and fix checks for Erred versus Stopped Statuses. o Fix bug #475: Maximizing JavaScript Editor window forces a Save or Cancel when there is no change. o Fix bug #523: HPath returns the wrong results when using an hpath instance with getAllNodes(). o Fix bug getting text value of XML node with VTD implementation. Fixed it to preserve whitespace (including EOL characters). o Implement workaround for XMPP issue: http://issues.igniterealtime.org/browse/SMACK-441 Release 1.0.34 build 2402 (Wed, May 29, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Add support for additional IHE Profiles (PIX, PDQ, XCPD, XDS RegisterDocumentSet). o Add comments and stubbed fields to default soap envelopes for PIX, PDQ, and XCPD IHE Profiles. o Web Service Connection Page -> Operations Grid: Display descriptions below operation name and bold selected items o Switch QieLauncher to use java.util.logging.Logger() so that we can preserve the stdout and stderr log files across restarts. o Enhance logging for nightly checkin. o Add a kill thread to JettyLauncher to kill QIE if the QieLauncher stops checking in for over 60 seconds. o Add logic to kill previously orphaned JettyLauncher JVM gracefully before attempting to start new JVM. o Enhance logging and other minor changes to QieLauncher. o Added QIE 64 bit installer. Installer cancels gracefully if Windows is not 64 bit compatible. o Update QIE 32 bit installer. Installer cancels gracefully if 64 bit QIE is currently installed. o Installers handle case where previous install dir is different from current install dir. Bug Fixes o Fix bug #404: Saving channel saves any Web Service Parameters still in edit mode. o Fix bug #472: Script error line numbers are incorrect when QIE forms use published functions. Release 1.0.34 build 2381 (Tue, May 21, 2013) ---------------------------------------------------------------- General Changes & Enhancements o QIE Tutorial includes an example of using the Code Wizard. o Java arguments are written to qieJavaArguments.txt in the qie.home directory. This can be used for backup and recovery purposes. o Modifies display message while installing via auto-update. o Enhances http listener to capture query string. o Add "-Dqie.rmiPort" option to make RMI port configurable. o Fix potential RMI issues with QieLauncher and JettyLauncher o Add logic to detect if the JettyLauncher JVM has died and attempt one restart every 30 minutes at the most. o Add logic to SocketSender and XMPPSender to count a resend (on failure to receive ack) toward the consecutive send/receive errors. This will allow a channel to automatically restart without sending the message to the error queue. API Changes o Change nightly checkin API o Update smack (XMPP) library to latest version 3.3.0 o Update Apache Commons Daemon Service Manager and Runner EXEs from Tomcat branded version 2.0.3 to standard distro 1.0.15 (Windows Installer) Bug Fixes o Fix bug #417: Correct the inbound, processing, and outbound counts when a channel stops o Fix bug #486: QIE external monitoring now includes the start time for the QIE web service. Monitored via http://{qieServer}{:port}/appVersion o Fix bug #469: Searching for messages clears selected view. o Fix bug #455: Initialize Trust Self Signed Certificates on Import o Fix bug #496: License key no longer lost when importing System Config o Fix bug #474: Nightly backup causes changes pending warning o Fix bug with channel message counts not getting reset correctly when a channel is auto-restarted from an erred state o Fix bug exporting newly created channel with DB or Web Service connection dependencies. On import, the DB and Web Service connections are lost. o Fix deadlock issue on shutdown Release 1.0.34 build 2331 (Fri, May 3, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Adds AdminAlertsDialog and Button on HeaderToolBar to display alerts. o Updates label for the Restart QIE button. o Gives user the option to restart the QIE service after updating external libraries. o Minor update to Backup and Disaster Recovery Guide API Changes o Updates the nightly checkin API. Bug Fixes o Fix bug #481: Message level ScriptVariables are set correctly when a message flows to multiple channel nodes. o Fix bug #438: Delete key deleting whole row in WS Attachment fields, instead of deleting individual characters. The same fix was applied to the Params section for Web Services. o Fix bug #468: Disables 'Save As' when creating a new channel. o Fix bug #422: Allows large update statements in DB Destination Nodes (updated). Release 1.0.34 build 2312 (Wed, May 1, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Allows restart of QIE from within System Configuration. (For this feature, the qieLauncher.jar must be updated by running the QIE Windows Installer for build 2312 or greater. For Linux, QIE service must be restarted once qieLauncher.jar has been updated.) o Adds link to Backup and Disaster Recovery Guide in the Help menu o Adds note for re-enabling MD2 certificate algorithm. If a server is still using this algorithm, then QIE running on JRE 7 will not be able to complete SSL/TLS connection unless this option is re-enabled. Release 1.0.34 build 2304 (Mon, April 29, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Checks for, downloads, and installs new QIE updates automatically. o Downloads for QIE updates will resume where it left off if stopped and restarted. o Checks in nightly and automatically downloads (if configured) QIE updates between 3AM and 5AM. o Automatically installs (if configured) with a default time of 5AM on Saturday. o Emails admin users before and after installing QIE update, as well as when QIE finds a new build available. o Notifies admin users when they login about available/downloaded builds and to setup SMTP (if not already done so). o Can purge messages one message at a time (instead of a bulk sql statement). To use, add the following Java Argument to the QIE Service Manager: -Dqie.purgePolitely=true o Channels stop when license key expires. o Adds link to SSL Certificates Guide in the Help menu. (enhancement #465) o Updates documentation for the vtd-xml-qvera-2.11.3.jar. (enhancement #434) API Changes o Upgrade CodeMirror to version 3.11 o Java Options in QIE Service Manager have moved to Java Arguments to facilitate the auto update enhancement. (Updated start.sh.dist for Linux users to follow.) Bug Fixes o Add "Submitting" mask to QIE Form while waiting for post to complete (prevents double clicking the post button) o Add index for message_id on SourceFilterResults table (improves purgeMessages). o Fix bug #473: Clicking on change password dialog forces focus to current password field o Fix bug #426: Scroll enabled for the message cache in erred messages. o Fix bug #425: Channel "Save As" function saves the DB Connection for DB Query condition nodes. o Fix bug #428: Prompts admins to use the Qvera VTD jar if using another VTD jar for XML parsing. o Fix bug #422: Allows large update statements in DB Destination Nodes. o Fix default PnR to generate valid OID's for SubmissionSet01 and Document01. o Fix null pointer error when inserting a new message cache value o Persists daily ChannelCounts to DB. Release 1.0.33 build 2241 (Thu, Mar 21, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Change qie.parseJsonString() to use UTF-8 o Add ability to provide a private key for verification when using SFTP (SSH File Transport Protocol). Release 1.0.33 build 2238 (Thu, Mar 14, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Upgrade CodeMirror to version 3.1 o Changed JSON charset from ISO8859-1 to UTF-8 o Set document name/description in XDS provide and register soap envelope in addition to submission set name/description (enhancement #453). o Enhance XDS provide and register meta data dialog to not require the author name (enhancement #453). Release 1.0.33 build 2234 (Fri, Mar 1, 2013) ---------------------------------------------------------------- Bug Fixes o Fix bug #448: Channel stops due to 43 years of inactivity. o Fix bug causing date format errors caused by using static class variable instances of SimpleDateFormat class, which are not thread safe. o Fix bug causing repeated cascading exceptions when trying to log a critical error. This can lock up the system, since all threads that are trying to call log4j are blocked by critical error logger. o Fix bug causing soap web service utilities to get into an error state. Fixed by synchronizing all access to SoapUI utilities, which are not thread safe. Release 1.0.33 build 2229 (Tue, Feb 26, 2013) ---------------------------------------------------------------- Bug Fixes o Fix bug #447: Forms grid hanging when loading large amounts of data (more than a few hundred rows) Release 1.0.33 build 2228 (Tue, Feb 19, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Add additional information to error code reported to user when server-side exception occurs. o Add carriage return and line feed after XML declaration or prolog when formatting XML. o Add ability to use forms module in Internet Explorer without the Chrome frame plugin. Bug Fixes o Fix bug #439: WSDL imports that are not available cause delay loading channel page. o Fix bug #400: Add Format XML option to XML Editor. o Fix bug #427: Message cache XML entries are not HTML encoded. Release 1.0.33 build 2220 (Tue, Feb 12, 2013) ---------------------------------------------------------------- Bug Fixes o Fix bug #410: FTP Sender errors when password contains ampersand (&). o Fix bug #393: Unable to search messages on a date range. o Fix bug #414: Search percent complete status is incorrect on Messages tab. Release 1.0.33 build 2215 (Wed, Feb 6, 2013) ---------------------------------------------------------------- Bug Fixes o Fix bug searching for messages by date range with or without a value specified. Increase the number of matches returned from 250 to 5,000. Release 1.0.33 build 2211 (Fri, Jan 25, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to configure a delay for picking up files from a directory. The file must be older than X seconds. o Added ability to generate a thread dump and heap dump on-demand ("Thread Dump" and "Heap Dump" buttons added to Memory Usage Dialog). o Add daily message count reporting to QIE (enhancement #175). o Add ability to support non-persistent socket connections (enhancement #415). Bug Fixes o Fixed bug with persistenceLevel slider getting rendered incorrectly when dialog opens on another tab. o Fix bug #378: Messages all shown on a single line in message tab when source is XML. o Fix null pointer exception when calling qie.debug() (info, warn, error as well) from the forms module o Fix bug importing object to another zone. o Fix bug causing a LazyInitializationException to occur when outbound queue exceeds the allowed memory limit, thus not caching the message in memory until it is time to send. o Fix bug #401: Channel node numbering mismatch between running channel and channel editor view. Release 1.0.32 build 2186 (Thu, Jan 10, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to auto restart a channel when it stops unexpectedly. Channel down alert enhanced to note that channel will be restarted automatically. Alert is sent once channel is restarted (enhancement #372). o Add additional logging when ISO 8583 parsing gets an ArrayIndexOutOfBoundsException. o Add ability to resize the global status grid to fill the entire page. o Add the ability to configure channels to generate inactivity alerts, including the ability to restart the channel automatically once the critical threshold is reached (enhancement #322). Bug Fixes o Fix bug importing a configuration from a system that contains the same reference ID in multiple zones (ie. the same database connection was imported twice into 2 different zones and then exported from that system). o Fix bug #381: Always generate an alert when a channel shuts down unexpectedly. Release 1.0.32 build 2169 (Wed, Jan 2, 2013) ---------------------------------------------------------------- General Changes & Enhancements o Enhance QIE to create a thread dump file on shutdown. The last 4 dump files are kept in the QIE home folder. These thread dump files can be used for analyzing error situations. Bug Fixes o Fix bug #413: Exclude error queue from nightly purge routine. o Change long query logging to log at WARN level for any query that takes longer than 1 second. Release 1.0.32 build 2162 (Wed, Dec 26, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Remove unused reference id from published function parameter. o Add additional logging when errors occur downloading the wsdl for a SOAP web service. o Add additional logging when errors occur connecting to Centricity Service Layer. o Sort the list of available operations on a SOAP web service. Bug Fixes o Fix QIE forms masking/unmasking logic to work with grids which make additional RPC calls before rendering. o Fix bug #387: License lost on reboot. o Fix bug #412: Endpoint URL calculated incorrectly in Web Service mapping function for SOAP web service. o Fix bug #411: QIE web service wsdl url does not display correctly on source node. o Fix bug causing threads to wait indefinitely for old thread to die. o Fix bug #355: Synchronize the starting and stopping of channels so that we don't get rogue sender or receiver threads. Release 1.0.32 build 2147 (Thu, Dec 13, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to include a drop-down combo box on a form, including embedding it into a grid. o Don't unmask form until after data has been loaded o Update H2 from 1.3.165 to 1.3.170. API Changes o Change /channelStatus monitoring URL to use channel ID instead of reference ID. Add the channel ID to the channel properties dialog (enhancement #394). Bug Fixes o Fix bug causing form load script to not display until you open the pop-up editor. o Fix bug #406: Cannot call QIE web service from a mapping function. o Fix bug #407: FTP Receiver with path '*.hr' does not retrieve files or report error. Release 1.0.32 build 2139 (Wed, Dec 5, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Add 'org' to list of common variables allowed in javascript editor. o Enhance QIE to accommodate any encoding for incoming HL7 messages. o Enhance QIE forms so that they can execute a client-side javascript method after load. This can be used to auto-post an html form to another website. Release 1.0.32 build 2134 (Wed, Nov 21, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Enhance QIE to restore channel state on startup. o Add ability to configure channel startup priority. o Add ability to redirect from the onLoad script of a form. o Add ability to specify a grid sort column in a form. o Add ability to use published functions in the form load and post scripts. o Add ability to click anywhere in the checkbox cell or the next cell to toggle grid selection in a form. API Changes o Add ability to do table lookup on multiple columns. Bug Fixes o Fix bug #395: Source filter (view) indexer thread stops running after a duplicate key error. o Fix bug #393: Unable to search messages on a date range. o Fix bug causing the Web Service receiver to occasionally lose a message when acknowledging from a script. o Fix bug causing channel threads to get deadlocked. Release 1.0.32 build 2110 (Mon, Nov 5, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Added release notes to the QIE installer download for Windows o Add ability to connect to an MLLP server socket using TLS. Bug Fixes o Fix bug #337: Unable to test messages from messages tab. o Fix bug #339: Enhance zone management to prompt for log out when changes are made that will affect the Zone Navigation list on the left. o Fix bug #312: Unable to use Edit drop down menu on new mapping until at least one mapping function is added. o Fix bug #349: Deleting a zone does not delete child records. o Fix bug #311: Cannot change a channel cache key name. o Fix bug causing multiple FileNotFoundExceptions when a batch of files is moved out of a directory that is being monitored by a running QIE channel. o Fix bug causing Web Service endpoint to error over and over again. Now when an error is encountered the cached JAX-WS Dispatch object is thrown out. o Fix bug #378: Messages all shown on a single line in message tab when source is XML. o Fix bug #346: UTF-8 characters cause error using qie.createXMLMessage(). o Fix bug #345: Message stuck in StaleObjectStateException endless loop when using Web Service sender and and waiting for acknowledgments. o Fix bug #321: Add the error code to the default error message reported to the user. o Fix bug #354: Moving QIE from one monitor to another with the windows key + arrow key shortcut causes unrecoverable error. o Fix bug #333: Add ability to test and resubmit messages opened from QIE log detail. o Fix bug #346: Fix additional bugs processing files with UTF-8 characters. o Fix bug #377: Cannot use XPath expressions with attributes without namespaces with the VTD-XML library. o Fix bug #341: Moving import configuration dialog before pressing the import button causes an error. o Fix bug #382: Missing DBConnection causes error exporting the configuration. o Fix bug causing out of memory exceptions when using the resolve all errors or discard all errors options with a large number of errors. o Fix bug calling SOAP Web Service from a mapping function. The %%ENDPOINT_URL%% tag was not being replaced. o Remove the Hibernate Statistics bean exposed for JMX. This was causing all of the manual SQL statements that had been executed to be collected without ever being cleared from memory. o Fix bug #311: Cannot change a channel cache key name. Fix bug caused by previous change preventing user from changing the value of an existing key. o Fix bug #361: Fix endless loop error when a message is received on a channel that is configured to post a message response from a mapping or destination node, but is not doing so. Stop the channel before the message times out and QIE will get into an endless loop. o Fix bug causing error posting an acknowledgement response from the receiver using the qie.postMessageResponse() method. Now you can use the qie.postMessageResponse() in addition to creating a message (ie. message = qie.createHL7Message()) as the response. Release 1.0.32 build 2075 (Thu, Oct 18, 2012) ---------------------------------------------------------------- General Changes & Enhancements o QIE manuals available with install download. o Update to Apache Camel from 2.9.0 to 2.10.1 o Add ability to configure form timeout (enhancement #374). Bug Fixes o Fix bug #360: QIE gets out of memory errors when too many messages pile up in the outbound queue. o Fix bug #347: Script error line numbers are off by 1. o Fix bug #377: Cannot use XPath expressions without namespaces with the VTD-XML library. o Fix bug #351: Shorten the timeout when testing Database connections, Database queries, file paths, FTP paths, socket connections, Web Service connections and XMPP connections. The test will now timeout after 10 seconds. o Fix bug #365: Change the wording on the prompt that comes up when changing the log level in the channel status window to a logging level that is not being logged. o Fix bug #247: Enhance qie.error() description to inform user that an email may be sent. o Fix bug #348: XDS.b Provide and Register Meta Data dialog does not trigger change event. o Fix bug #342: Fix bug causing inbound messages to not get processed when a processor thread dies while processing a message for that channel. o Fix bug #340: Getting an error when using VTD and calling removeFirstNode(), removeLastNode() or removeAllNodes() repeatedly with the same XPath. Release 1.0.31 build 2057 (Wed, Oct 10, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Enhance HPath to be case insensitive on group segment identifiers. o Enhance error reporting when SMTP server gets EOF error closing the connection before reporting the response code. o Update SoapUI from 4.0.0 to 4.5.1. o Zone-level "Manage" permissions can now purge messages within the zone. Bug Fixes o Fixed typos in formatDate() function documentation o Fix bug #362: Channel nodes disappearing when adding new nodes in the pop out channel editor. Release 1.0.31 build 2046 (Tue, Oct 2, 2012) ---------------------------------------------------------------- Bug Fixes o Fix bug causing error message on startup when running on MySQL. o Fix bug copying from a published mapping when no mapping functions exist on a new mapping node. o Fix bug causing error message on startup due to duplicate index name. o Fix bug causing error in QIE forms when the data in a grid contains a comma. o Fix bug with passing parameters to a REST HTTP-GET request o Fix default values for Centricity CCD Export web service calls Release 1.0.31 build 2039 (Mon, Sep 24, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Change closed socket connection errors to be logged as warnings, not errors. o Update favicon files to support high-resolution images o Add ability to specify success or failure message on form load. Refactor success and failure message parameters to be consistent between form load and form post. o Add additional logging to WsSender to help with troubleshooting WS connections API Changes o Add missing setNode() override. Bug Fixes o Fix bugs in default XDS.b templates o Fix bug purging records when QIE is running on MySQL. o Fix bug causing published function parameters to not import correctly. o Fix bug causing response to not be saved to the database. o Fix bug causing error sending HTTP response. Release 1.0.31 build 2025 (Fri, Sep 7, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Move 'Step through each mapping function' option back to main test panel. o Add ability to configure channel and message scoped script variables. These are javascript variables that can be used across mapping functions. o Add QIE Forms module. o Add ability (enabled by default) to store message data compressed. This can be configured on a channel by channel basis. o Change 'Stop on acknowledgment error' checkbox to be unchecked by default for new channels that are created. o Turn off triple-equal validation in HTML and JavaScript editors to allow Java strings to be compared to JavaScript strings using '=='. o Added carriage returns to the SOAP responses for readability. o Add 'Test Log' button to test result window to allow viewing log messages generated while testing a message. o Added logic to SOAPFaultException handling to make it clear when exceptions are reported by the remote SOAP web-service endpoint and not QIE API Changes o Add qie.getDbConnection() method that returns an open database connection. This connection can be used to execute parameterized queries. Bug Fixes o Fix null error sending email alerts. o Fix bug in BaseEditPage related to proceed/cancel commands in confirmSaveChanges() function (added confirmWithCancel() to MessageBoxEx). o Fix bug #343: Too many records in the inbound queue causes insufficient memory problems. o Fix bug causing new published functions to not show up in the Code Wizard menu when editing a condition node. Release 1.0.30 build 1997 (Fri, Aug 17, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Enhance test panel to include menu for testing options (test speed and 'step through each function' option). Add new option to show the message tree view (defaults to false). API Changes o Add LLLLVAR data type for ISO 8583. Release 1.0.30 build 1983 (Tue, Aug 14, 2012) ---------------------------------------------------------------- Bug Fixes o Fix VTD bugs related to self-closing tags Release 1.0.30 build 1978 (Thu, Aug 9, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Enhance QIE to remove bad links to Web Service and Database connections on startup. Release 1.0.30 build 1975 (Mon, Jul 30, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to create published functions. These are javascript functions that can be used across all channels within a zone or across all zones if they are in the global zone. o Add instance highlighting and improved search to editors (JavaScript, XML, HL7, etc.) API Changes o Remove published mapping functions (the new published functions will replace this functionality). Bug Fixes o Fix bug in Centricity Service Client Implementation which was preventing it from working with CPS 9.5 o Fix bug causing QIE to hang when processing a large HL7 batch file (10MB) o Fix null error in ISO 8583 caused by setting field value to null. o Fix bug exporting configuration when a mapping function has a null reference (ie. DB Query mapping function missing database connection). o Fix bug with nightly purge routine causing referential integrity error. Error is caused by message cache entry being saved just after the cutoff and the message queue record being saved just before the cutoff. Release 1.0.30 build 1950 (Mon, Jul 23, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Add drop-down menu to Centricity Service Layer location field that includes example endpoint locations for EMR and CPS (enhancement #306). o Add ability to customize what displays in the message column on the channel page message grids (enhancement #304). o Add ability to use namespaces with XPath. o Add ability to modify XDS.b Provide and Register SOAP Envelope via meta data dialog (enhancement #305). o Change Source Filters to Message Views (enhancement #179). o Add ability to export one or more messages (enhancement #179). o Enhance database query error message to include the query that caused the error. o Enhance HL7 node path segment identifiers to be case insensitive. o Add ability to search for messages (enhancement #179). o Optimize the system configuration call to check if the web services module is enabled so that it does not hit the database each time. o Refactor the QIE log logger to auto-correct out of sequence sort orders immediately, instead of waiting for the current batch of log messages to be written. o Add ability to filter errors by matching on something in the error message (enhancement #179). o Add ability to resolve all errors at once (enhancement #179). o Enhance test window to return current message and message cache values up to the time of the script error. o Enhance search and filter (views) to be able to create condition nodes that use the message cache and message node values (enhancement #179). o Enhance the message detail dialog to display the message cache values in the message result tabs (enhancement #313). o Remove message model node editors from test panel (unused and inefficient with larger files) o Add Immunization Registry Configuration Guide Bug Fixes o Ensure XML values are always escaped before setting them in VTD Implementation o Use double-quotes instead of single quotes when adding attributes in XML with VTD Implementation o Fix bug loading external libraries on Linux o Fix bug causing ISO 8583 Receiver to process incoming messages only when subsequent message is received. o Fix bug #303: Validate WSDL before saving Web Service Configuration to the database. o Fix bug causing encoding error when parsing XML snippet that contains special characters. o Fix encoding bug in SocketSender causing corrupt UTF-8 characters. o Fix record grouping logic in receiver to include the trailing carriage return. o Fix encoding bug in Web Service Receiver. o Fix bug #309: Evaluate template calls throw an exception when a node tag does not exist. o Fix bug causing LazyInitializationException when restarting a channel that has messages in the processing queue. o Fix bug causing message cache values to not be displayed in the erred message dialog. o Fix null error using the qie.deduceBoolean() function. o Fix null error caused when message cache or channel cache value does not exist in a condition or web service parameter. Release 1.0.29 build 1910 (Sat, Jun 23, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Enhance email alert sender to also retry on java.net.ConnectionException errors. o Enhance email alert sender to only retry for a maximum of 30 minutes before giving up on sending an email (to avoid memory leak). o Add JRE start time and up time to memory usage dialog (enhancement #300). o Enhance error alert sender to throttle the number of emails that are sent in a short period of time. Now it will only send 1 out of every 40 alerts after it has sent 20 within 10 minutes. It will resume normal notifications after a 10 minute quiet period or when the channel is stopped. o Add a description to the channel cache. The description is only edited and displayed via the channel cache edit page. Bug Fixes o Revert fix for bug starting QIE on Java 7. Rollback Apache Commons Daemon Service Manager and Runner EXEs (service options were not being set correctly). o Revert fix for bug #251: QIE installer corrupts installation if QIE Service Manager is running. Getting into an endless loop on uninstall. o Fix bug causing error on startup dropping a deprecated index (idx_message_filter_result_is_match). o Fix NPE running night system configuration backup. o Fix inconsistency between VTD and DOM XML implementation. Now both throw an error if user attempts to create an empty XML message. o Fix bug causing encoding error when setting XML node to a value that contains special characters. o Fix bug modifying an existing source filter. o Fix bug causing ISO 8583 Receiver to process incoming messages only when subsequent message is received. Release 1.0.29 build 1892 (Wed, Jun 13, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Add nightly system configuration backup. Configuration is exported nightly at 12:04am to the qie.home folder (same place the qie.log is written). User can configure the number of backup files that are kept (default is 14). Feature can be disabled by setting the number of backup files to keep to zero. o Allow users to log into the console while the channels are starting instead of forcing them to wait until all of the channels are started. o Add 'Response Sent' and 'Response Received' tabs in the message detail dialog (enhancement #260). o Add the ability for non-administrator users to import and export the configuration for the zones that they have permission to edit (enhancement #263). o Add the ability to start/pause/stop all channels for all zones from the Status Summary Panel right-click menu. o Add the ability to start/pause/stop all channels for all zones from the Global System Status page by clicking the 'Manage' button and selecting an option from the drop-down menu. o Add the ability to start/pause/stop all channels for a zone from the Global System Status page by right-clicking on a zone and selecting on option from the context menu. o Add the ability to start/pause/stop all channels for a zone from the Zone Status page by clicking the 'Manage' button and selecting an option from the drop-down menu. o Add the ability to start/pause/stop a channel from the Zone Status page by right-clicking on a channel and selecting on option from the context menu. o Add ability to set a channel cache value from a standard mapping function (enhancement #287). o Change the application locking behavior to hide all of the underlying content and not close any open modal dialogs. o Enhance message lists to hide CSV header row when it is included. o Create Iso8583MessageModel.setType() function to allow type override on response messages (needed for CO-OP) Bug Fixes o Fix bug causing ConcurrentModificationException (caused by processor picking up message to process while the other processors are still being started). o Fix NullPointerException in FileSender. o Fix bug causing response to outgoing message to not be persisted when channel persistence level is 1. o Fix bug 246: Disable the 'Step' button while test is in progress. o Fix bug causing session to lock when only testing a message over and over again. o Fix bug #288: Channel name containing an apostrophe causes error when importing. o Fix bug #279: View only permission allowed to resubmit message and 'Save As' channel. o Fix bug causing unresponsive UI when a channel has a large number of nodes that have multiple nodes feeding into them. o Fix bug #251: QIE installer corrupts installation if QIE Service Manager is running. o Fix bug where QIE installer overwrites custom JVM path and custom QIE Service Manager logging configuration. o Fix bug causing 'Message response for messageId XX already exists' error when response timeout is reached, but the response is posted before the receiver is done aborting the response. o Fix bug #289: The 'WARNING: Changes pending. Channel must be restarted before the changes will take effect.' message is not coming up. o Fix bug starting QIE on Java 7. Update Apache Commons Daemon Service Manager and Runner EXEs. o Fix null pointer exception when exporting a channel with a broken db connection or variable link. o Fix bug #294: Scheduled Scripts - Cannot click ok to save a scheduled script if there are syntax errors. o Fix bug #293: Scheduled Scripts - Cannot delete scheduled scripts. o Fix bug #295: Template Mapping Function default description no longer includes entire template which was causing display problems in some cases. Release 1.0.29 build 1852 (Tue, May 22, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Add the ability to purge messages and log entries for a single channel (enhancement #120). Release 1.0.29 build 1849 (Mon, May 21, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Enter lock and logout timeouts in system configuration as minutes instead of seconds (enhancement #235). o Add ability to override default system alert thresholds for each channel. o Include msvcr71.dll in Windows installation (see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6509291 ). o Refactor source filter index result posting logic to update source filter in same database transaction as source filter result to avoid error situation where source filter result is created, but source filter update fails, causing a non-recoverable scenario. o Add ability to process XML messages that are encoded with UTF-16, UTF-16BE, UTF-16LE, US-ASCII or EBCDIC encoding. If an incoming XML message is not UTF-8 encoded, it is converted to UTF-8 encoding and a warning message is logged. o Add a QIE start up page so that while the service is initializing the browser displays the page to the user instead of the "no connection" error page (enhancement #275). o Add ability to define segment grouping via HL7 HPath (enhancement #222). To retrieve a group of HL7 segments, use HPath like 'OBR[group=OBX,NTE]' or 'OBR[@1=2;group=OBX,NTE]' or 'OBR[grp=!TXA]'. o Add ability to get a row from a CSV message with a node path of '*[1]' or '*[7]' (this is in addition to getting them with a node path of '/[1]' or '/[7]'). o Increased processing thread pool from 4 threads to 10 threads by default. o Modified throttling logic in receiver thread to handle large batches better. o Change maximum amount of time to wait for an available database connection to 60 seconds (connection pools currently limited to 8 connections max). o For H2 Database, set the maximum CACHE_SIZE to 25% of available heap. o Enable H2 log4j logging by default. o Enhance qie.sendEmail() method to log to the channel log when an email is sent. o Change setting the number of consecutive send error before sending the message to the error queue to be configured on the channel properties dialog so that it can be grouped with the other error management items. API Changes o Add source.getCount() and message.getCount() methods. Similar to source.getAllNodes() and message.getAllNodes(), but just returns the count instead of the array of values. o Change getAllNodes('/') for HL7 and X12 to return all segments separately instead of a single string with all segments separated by \r. o Add ability to replace a group of segments with a setNode() call using HPath grouping (ie. setNode('OBR[group=OBX,NTE]', 'OBR|1|AB\r' + 'NTE|1|NOTE 1')). o Add message.addChildBefore() and message.addChildAfter() methods which are similar to the message.addChildNode() method which has now been changed to message.addChild() (enhancement #240). o Add ability to set the value on multiple nodes at once using the setAllNodes() method. o Add qie.moveFile(file, path) method that can be used in custom source to archive the file. Bug Fixes o Fix NPE caused by adding getters to POJO without a backing field attribute. o Fix bug with global status when user does not have permission to view a zone. o Fix bug causing the delete channel function to fail when the channel id is missing on the message_queue record. o Fix bug in resolve error logic that was removing the channel id from the message_queue record. o Fix bug #277: XML addChild() should ignore whitespace when finding index location. o Fix bug finding column by name with CSV messages when the CSV header row includes spaces. o Fix bug #228: Unable to reference columns by name with CSV sample messages. Change CSV and DB Sample messages to use text editor instead of table editor. o Fix WsMappingFunction Dialog bug which was not properly displaying the SOAP envelope in the script editor o Fix performance issues using source filters on H2 database. o Fix bug causing erred message to show up again when the channel is restarted. o Fix bug causing Sample Message content to be lost when using the Channel 'Save As' feature. o Fix bug discarding all messages at once from the inbound, processing, outbound or error queue when there is only 1 message. Release 1.0.28 build 1800 (Wed, May 9, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Update queue alert emails to be formatted similar to the error alert emails, including system name and company information. o Add 'Overwrite Endpoints' checkbox to Import Configuration dialog (defaults to unchecked). o Add validation to JsonMessageModel. Now it will throw an error if the content passed in is not valid JSON. o Add ability to discard messages from the inbound, processing or outbound queue if the channel is stopped. o Add ability to discard all errors at once. o Add ability to resubmit a message to the inbound queue. o Add ability to resubmit all matching messages for a selected source filter. o Add ability to send the message to the error queue after a configured number of consecutive send errors. API Changes o Add qie.parseJSONString() helper method. o Add qie.sendEmail(String to, String subject, String body) function to allow sending emails from mapping functions. Bug Fixes o Fix error message when the http session loses the import configuration file between when it is loaded and when the import button is clicked. o Fix bug 274: Cannot add new row to an empty Table variable until you click into the empty table area or tab into the table. o Fix bug setting the value of an XML node that does not exist when the node path includes a predicate with a forward slash. Release 1.0.28 build 1784 (Wed, May 2, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Update to Microsoft JDBC Driver 4.0 for SQL Server. o Add a button to the memory usage dialog to force a JVM garbage collection. o Add ability to use VTD-XML library for processing XML files. The VTD-XML library is about 10x faster that the DOM implementation that comes with Java 6 for XPath lookups and data modification. o Add ability to open XML in a new browser window by selecting 'View' then 'View Formatted XML' in the XML editor. API Changes o Add ability to remove whitespace from an XML message by calling message.removeWhitespace(includeEOL). o Add ability to format an XML message with indents by calling message.formatXML(indent). o Add ability to remove the prolog from an XML message by calling message.removeProlog(). o Add ability to add the prolog to an XML message by calling message.addProlog(). Bug Fixes o Fix bug purging records when dropping all tables (not dropping source filter result table or resetting the source filter). o Change hibernate to not use scrollable results by default (fixes an error being generated by the Microsoft JDBC Driver when an empty result set is returned). o Fix Critical Error Governor to only trigger on ERROR messages (was causing a problem with JUnit tests when logging an INFO message on shutdown). o Fix Critical Error Appender to catch exception getting system name so it doesn't 'hide' original exception due to error sending error. o Fix bug allowing any text to be entered into source filter combo box. Now it forces user to select an existing filter. o Fix null error inserting XML child nodes as the value of a node with the setNode() function. o Fix null error inserting XML child nodes with the addChildMessage() function. o Enhance JUnit test to test both DOM and VTD-XML implementations of the XMLMessageModel. o Fix bug 246: Disable the 'Step through each mapping function' checkbox while test is in progress. o Fix bug causing mapping function number and line number to not show up in script error messages. o Add log.error() when we get an exception handling an exception. o Fix bug causing an error when saving a modified channel. Release 1.0.27 build 1747 (Wed, Apr 25, 2012) ---------------------------------------------------------------- Bug Fixes o Fix bug causing original RPC payload to be kept around indefinitely. This is caused by known bug http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4513622 and the fact that deserialized objects can be cached long term. o Fix bug causing Sample Messages to be cached in the JVM indefinitely. Release 1.0.27 build 1743 (Wed, Apr 25, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to configure the database, file and ftp receivers to execute only once each time you start and stop the channel. o Enhance REST based Web Service configuration to always include the HTTP Headers button for both content based and URL based calls. o Add new message source type of custom script. Bug Fixes o Fix bug 266: Log dialog opens when changing channel page tab back to status. o Fix bug 248: Sort channels alphabetically when exporting the configuration. o Fix bug 248: Sort channels alphabetically when exporting the configuration. o Fix bug 249: Enhance import/export configuration dialog to allow column resizing. Release 1.0.27 build 1734 (Tue, Apr 17, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Enhance user triggered alerts (via qie.error()) to use up to the first 65 characters of the message as the email subject. o Change all sender and receiver errors to be logged as errors, not warnings. o Add ability to configure alerts for sender and receiver errors (either none, for each error, or for every X errors--default for new channels is every 10 errors). o Add ability to send alert on first error or Xth error when sending every X errors (default for new channel is Xth error). o Add ability to configure how many message errors until shutdown (separate from sender and receiver errors). o Change screen layout to use a button and pop-up dialog for SOAP attachments for web service mapping functions and destinations. o Add ability to set HTTP Header values on outgoing REST (Content) web service calls. o Enhance it to display % indexed when viewing a filter. o Enhance it to mask the Source Filter dialog while it is saving the filter (since it may take a few seconds to clear out the old index records). Bug Fixes o Fixed bug 250 and other qie.deduceDate() related bugs o Fix bug causing alerts to not be sent when the email server cannot be reached. Now they are queued and sent once the connection has been restored. o Fix bug importing a configuration with a standard condition containing a field_id longer than the 45 characters in length (changed to 255 in revision 1188). o Fix bug 272: Global Status page has incorrect outbound counts. o Fix bug 273: Getting and error modifying and existing filter while it is being indexed. o Fix bug causing the Source Filter background indexing process to not index records. o Fix bug causing excessive memory usage when testing large messages. Base64 encode byte arrays before sending to GWT client. o Fix bug causing log entry order to get out of sync. Release 1.0.27 build 1713 (Thu, Apr 5, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Converted qie.doQuery() return type from TableValue to CSVMessageModel o Convert all tests to JUnit 4 (to allow running a single test method via maven) o Update to latest version of H2 (1.3.165) o Add CACHE_TYPE=SOFT_LRU configuration to H2. This enables the second level soft reference cache which will cede memory back to other processes in low memory situations. o Add validation to external libraries to ensure that conflicting libraries are not added simultaneously. o Enhance linux install package so that it can be extracted over the top of the existing installation (rename start.sh to start.sh.dist). o Update linux installation instructions. o Sort list of external libraries (folders first, then jars alphabetically). o Add ability to set HTTP Header values on outgoing REST web service call. API Changes o Deprecate qie.callWSDLWebService() and replace with qie.callSOAPWebService() o Deprecate messageModel.addChildModel() and replace with messageModel.addChildMessage() o Add 'Inactive Included' option to Centricity 9.5 implementation (adds ability to include inactive problems/medications/allergies) Bug Fixes o Fix potential encoding errors with XML, REST Web Service and Centricity Service Client o Fix UI bug related to FireFox 11 and HL7 syntax highlighting o Fix potential encoding error with File Receiver o Fix bug 258: Getting an error message when creating a new filter o Fix bug causing missing index on source filter table. o Fix bug that could potentially cause sender or receiver to wait indefinitely if a scan interval of 1 ms is specified. o Fix bug with Web Service parameters not getting correct cache values (was using Web Service parameter name as cache key instead of specified key value). o Fix bug refreshing channel status for persistence levels 0 to 2 after purge Release 1.0.27 build 1683 (Fri, Mar 30, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to send email via TLS. o Add 'Promote To Global' button to Web Service Connection, Database Connection and Variable edit pages. o Add validation to Published Mapping, Published Mapping Function, Web Service Connection, Database Connection and Variable to enforce unique names. Name must be unique for that zone and the global zone. Name for global resource must be unique across all zones. o Add ability to export QIE status log (from the global status, zone status or channel status). o Enhance /channelStatus service (used by nagios) to use channelId if the channel does not have a referenceId. o Make Channel node labels more visible and fix width on web service connection page test button. o Add QIE Install Guide and QIE Reference Guide. o Add ability to configure external libraries via the System Configuration page. This eliminates the need to manually modify the classpath to enable a new JDBC driver, for example. o Update JDBC driver installation documentation to reflect new way of installing 3rd party libraries. o Extract Centricity implementation out into separate libraries so that QIE can support multiple versions of Centricity (EMR 9.5 and CPS 10.0 for now). o Refactored ErrorQueueDialog to use typed editors and populate the message model node editors. Bug Fixes o Fix bug causing error with purging messages on SQL Server. o Fix bug causing HL7 messages to be missing the EOL on the last segment. This was causing problems appending multiple HL7 messages to a single file. o Fix bugs found in Fixed Width Message Model. o Fix bug causing 'host must be specified and not empty' error when using SFTP and a username containing an '@' symbol. o Fix bug connecting to implicit TLS connection (it was always using explicit TLS mode). o Fix bug causing endless timeout scenario trying to connect to FTP via implicit TLS in FTP via explicit TLS mode. o Fix bug causing extra blank lines when adding child segments to HL7 messages (using the addChildNode() function). Bug introduced by fix above for missing EOL on last segment. Release 1.0.26 build 1636 (Tue, Mar 20, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Add ability to filter messages displayed on the message tab o JavaScript performance improvements o Performance improvements and bug fixes for channel status and counts o Fixes and enhancements related to ISO 8583 messages o Add ability to specify character encoding for HL7 messages o Enhance critical error notifications to Qvera to include the system name, QIE version and QIE build o Add ability to configure scheduled script to continue to run while channel is paused o Enhance lock and logout timeout values to be configured or disabled at the user level o Performance improvements for global and zone channel status pages o Add ability to configure global and zone channel status refresh rate o Add a warning when changing the log level filtering to a level lower than what the channel is currently configured for o Add ability to enable and disable a channel from the right-click menu o Add ability to specify different message persistence levels o Add 'Purge Messages Now' option to StatusSummaryPanel right-click context menu o Change default message persistence level to 1 (only saved when message is received and completed) o Remove unused 'Resolve Hostname' setting from system configuration settings o Enhance email alerts to include system name, machine ID, company, reseller, QIE version and QIE build o Enhance REST web service calls to use preemptive authentication by default (can be disabled by checking the "Send username and password only when challenged" option) API Changes o Add qie.pauseChannel(), qie.resumeChannel() and qie.stopChannel() functions o Add deprecated method qie.addInfoLogMessage() back for now Bug Fixes o Fix null error when a script exception occurs o Fix bug causing source node to be highlighted as current test node when channel is selected o Fix bug with message counts not getting reset correctly after message purge o Fix bug found when a path contains an embedded period in a folder name o Fix bug causing error when importing/exporting QIE configuration with special characters o Fix bug with published mapping nodes not loading mapping functions in editor o Fix bug preventing user from being able to bring up message detail dialog o Fix bug importing a license key from a file o Fix bug causing error when adding a new mapping node to a channel o Fix null error in SocketReceiver when the connection is lost after the is message received and before the acknowledgment is sent o Fix null error in qie.formatDate() method o Fix bug displaying channel status information for a newly added channel o Fix bug grouping HL7 messages when an empty line is included in the file o Fix bug with channel status not refreshing correctly when channel name is changed o Fix bug with adding a new channel loading all log message o Fix bug deleting a channel with existing message cache values o Fix bug saving new message when QIE database is taken offline and then restored Release 1.0.25 build 1577 (Fri, Mar 9, 2012) ---------------------------------------------------------------- General Changes & Enhancements o Remove unused Identifier Condition o Upgrade to Hibernate 3.6.10.Final o Enable variable shadowing warning in JavaScript editor o Add ability for sample messages to contain binary characters (new field for binary message, conversion process on application startup to move message to new field, import/export enhanced to be aware of new field and still support old field) o Remove message type fields from message queue for ISO 8583 (will always use message type defined for the channel) o Fixes and enhancements related to ISO 8583 messages o Add ability to configure action to take on response timeout (ie. qie.postMessageResponse('timed out message') or qie.cancelMessageResponse()). o Logging enhancements and performance improvements o Enhance web service receiver to buffer the message and not submit it to the inbound queue until the ACK message has actually been sent o Enhance MessageWrapper to buffer a "list" of messages instead of just one message to accommodate record grouping (splitting a single inbound message into multiple messages) o Change default for error until shutdown from 10 to -1 o Always show test tab o Change default test speed to fast o Change new channels to default sequential to true API Changes o Add message.setNodeBinary() method o Remove convertBinary parameter from qie.debug(), qie.info(), qie.warn() and qie.error() log message functions Bug Fixes o Fix application exceptions when deleting a channel with associated messages and cache values o Fix performance issues loading complex channels o Fix MachineID encoding on Linux o Fix encoding errors with binary characters in incoming messages o Fix performance issue related to duplicating the message type on all message queue records when it is only needed when a new message type is created o Fix null error in HexEditor o Fix problem displaying binary characters in error dialog (use HexEditor for both source and message) o Fix bug preventing long message cache values from being retrieved in the test panel o Fix bugs purging messages from non-H2 databases o Fix bug testing a modified channel o Fix null error in destination node panel o Fix bug causing stack overflow error o Fix bug causing web service receiver to abort acknowledgment when channel is stopped o Fix bug causing message updates in a condition node to be ignored o Fix bug testing messages that use findPreviousMessages()