#                                                    #
#  Compass 3.5.1                                     #
#  ©2008-2023, Laurel Bridge Software                #
#                                                    #
#  Version History                                   #
#                                                    #

Changes in 3.5.1 (2023-05-26):

 - Improvements to Immediate Mode job handling.

Changes in 3.5.0 (2022-07-14):

 - Fixed an issue where DICOMweb sources were allowing the IP address field to be saved with text other than an IP address. The Options dialog will now present an error dialog in this scenario, even for previously-saved DICOMweb sources.
 - Fixed an issue when importing a rule that contained the Hold Queue and/or Cache destinations.
 - Made improvements to the "HL7 Send" DICOM job action regarding establishing a new connection when the setting "Reuse HL7 Connection" is unchecked.
 - Fixed an issue with Cache ingestion from DICOMweb sources.
 - Fixed parsing of duplicate SR terms with wildcard characters.
 - Large element temporary files are now written to a subfolder named "temp" under the Compass Data Storage folder.
 - Updated the DICOM library to DCF 3.4.56.
 - Any large element temporary files (ending with ".dle.tmp") not properly cleaned up by the previous process are now deleted when the Compass service starts.
 - Fixed an issue when fetching license attributes.
 - Fixed an issue with the "HL7 Report To DICOM SR" HL7 job action when DA values were not 8 characters long and TM values were not 14 characters long.

Changes in 3.4.0 (2022-04-01):

 - Updated to HL7 1.4.0.
 - Dictation integration enhancements.
 - Error handling improvements when attempting to start Compass with a malformed configuration file.
 - No longer logging "Info" and "Warn" messages when a Source's Logging setting is set to "Off". "Error" and "Fatal" messages will still be logged.
 - Improvements regarding automatically timing out logged-in users.
 - Fixed an issue with the image display order on the web "Details" viewer.
 - Improvements regarding cleaning up orphaned log files.
 - The "Abort Incoming Association" context menu item is now available for immediate mode jobs.
 - Pressing the "Test" button on the Destination configuration now results in the ICMP ping and DICOM association to occur through the Compass service process instead of the Compass client process.
 - The "Cancel" context menu option is now available for immediate mode jobs.
 - If a DICOM job is created from the Cache, the job's  "Message" column is now populated to indicate where it originated.
 - Fixed an issue with the embedded web server regarding HSTS.
 - Improvements when sending DICOM images via TOPS to another Compass.
 - The Compass service will now automatically restart up to two times if the service ever crashes. See the user manual for more details.
 - The Compass service now creates a "crash dump" file if the service ever crashes. See the user manual for more details.
 - Added the ability for Lighthouse to abort an inbound DICOM association.
 - Added the ability for Lighthouse to cancel a running job.
 - Added the ability for Lighthouse to view job log files.
 - Additional context menu items have been added to both the web UI and WinForms UI for resending or copying and resending jobs.
 - Updated to DCF 3.4.54c.
 - Updated the user manual with references to the DICOM conformance statement document, the DICOMweb conformance statement document, and the DICOM anonymization conformance statement document.
 - OnSent and OnFail (but not OnStart) job actions are now supported for immediate mode jobs.
 - Upgraded TLS and HL7 library to address issues with TLS timeouts that were not behaving as expected. For both DICOM and HL7 encrypted listeners, the authentication timeout is no longer separately configurable.
 - Compass now supports TLS 1.3 when running on Windows Server 2022.
 - The installer now copies the compass-ui.cfg file from the old Compass2 config folder to the new Compass config folder.
 - The document which describes anonymization functionality has been renamed from CNF-LBS-DICOM-Anonymization.pdf to DicomAnonymizationConformanceStatement.pdf.

Changes in 3.3.1 (2021-08-17):

 - Fixed an https issue for the "PowerScribe Custom Fields" job action.
 - Added a new setting named "Ignore Trailing Pad Bytes" for DICOM and Hotfolder Sources. Setting this to True results causes Compass to ignore invalid extraneous pad bytes (defined as 0x00 or 0xFF) at the end of a file or the last P_DATA_TF Pdu.
 - Updated to DCF 3.4.46.

Changes in 3.3.0 (2021-06-25):

 - Updated to DCF 3.4.44.
 - Additional enhancements were made when importing previously exported sources, destinations, rules, job actions, and listeners.
 - Added GCP (Google Cloud Platform) support for DICOMweb functionality.
 - Fixed an issue where newer-format email addresses could not be validated.
 - Made additional logging improvements.
 - Fixed a UI issue that could occur when a hotfolder file failed to be deleted.
 - Fixed an issue when attempting to view an encapsulated PDF file.
 - Improved the cleanup of unreferenced session log files.
 - Improved the cleanup of large element temporary files.
 - The name of the listener receiving the association can now be inspected in a routing rule condition.
 - Session logs are now written to their own logging subfolder, separate from the plenary logs.
 - Changed the custom code compiler to use Roslyn instead of CodeDOM.
 - Added WADO support.

Changes in 3.2.0 (2021-03-19):

 - Upgraded System.CodeDom assembly reference to v5.0.0.
 - Sent, Failed, and Hold purge delays for both DICOM and HL7 can be set to 0 hours.
 - Custom code execute actions no longer require an explicit REF to LaurelBridge.DCF.  The using statements with DCF namespaces resolve with the LaurelBridge.DCF.dll library.
 - Enabling Query/Retrieve on a DICOM Source is dependent on the Compass License Cache Feature being enabled.

Changes in 3.1.0 (2021-01-07):

 - Added support for QIDO-RS as a user agent. The STOW-RS Destination "Transport" type has been renamed to DICOMWEB to accomodate multiple types. See the user manual and the Compass DICOMweb conformance statement for more details.
 - Added support for STOW-RS and QIDO-RS as an origin server. See the user manual and the Compass DICOMweb conformance statement for more details.
 - Added support for an arbitrary number of unencrypted and encrypted listeners. See the user manual for more details.
 - Fixed an issue where the Backspace key would not work in the DICOM Option's "Association" rule condition configuration editor.

Changes in 3.0.3 (2020-12-16):

 - Fixed a session logging issue. The DICOM Options->System tab now allows for a configurable number of session logs per job.

Changes in 3.0.2 (2020-12-08):

 - Updated to fix a problem with loading the extended data dictionary.  Also added a log message to display any filtered dictionary items.
 - If it exists, the old Compass2 extended data dictionary file is now moved to the new Compass application data folder.
 - Fixed an issue when populating the "Default Serializer Base Dir Tag" for DISK FOLDER destinations.
 - Fixed an issue when importing a rule containing either the Hold Queue or Cache destinations.

Changes in 3.0.1 (2020-10-21):

 - Decreased the size of the installer msi file.

Changes in 3.0.0 (2020-10-06):

 - The "//REF" custom code macro can now specify and load DLLs that are not already loaded by the Compass Service. Any specified DLLs must be colocated next to the CompassService.exe executable in the Compass installation folder.
 - This is a major architectural release, which is built on the DCF 3.4 toolkit. Custom filters, rules, job actions, DIMSE relayers, etc. will need to be updated to interact with the new DICOM toolkit architecture.
 - Added support for a STOW-RS user agent. STOW-RS can be selected as a "Transport" type on a per-destination basis.
 - Added pass-through support for the following transfer syntaxes: MPEG-4 AVC/H.264 High Profile / Level 4.1, MPEG-4 AVC/H.264 BD-compatible High Profile / Level 4.1, and MPEG-4 AVC/H.264 High Profile / Level 4.2 For 2D Video.
 - Added support for encoding and decoding JPEG-LS Lossless and JPEG-LS Lossy transfer syntaxes.
 - The job report now displays the total number of bytes sent.
 - The ability to lock and unlock individual sources, destinations, rules, and job actions has been added in order to reduce accidental changes.
 - Introduced a major refactoring of the logging subsystem. Per-source and per-destination session logs are now available, as well as finer-grained control of individual log levels. A built-in log viewer has also been added.

Changes in 2.10.5 (2021-10-02):

 - Added support to allow Lighthouse 1.3.0 and newer to search Compass jobs by Calling AE and/or Called AE.

Changes in 2.10.4 (2021-03-12):

 - Fixed an issue where immediate mode jobs were not honoring the "Max Simultaneous" destination setting.
 - Updated the EULA.

Changes in 2.10.3 (2020-11-24):

 - Fixed an issue when importing a previously exported rule that contained the Hold Queue or the Cache as one of its destinations.
 - The IIS Management console install check performed when saving the configuration has been changed to silently log a message to the Event Viewer if an error is returned.   This check has become unreliable due to stricter security standards.
 - Decreased the size of the installer msi file.

Changes in 2.10.2 (2020-09-04):

 - Lighthouse search improvements.

Changes in 2.10.1 (2020-08-31):

 - Lighthouse integration improvements.

Changes in 2.10.0 (2020-08-14):

 - Custom code that resides in a namespace starting with "LaurelBridge." should be changed to a different namespace in order to avoid potential conflicts with internal Laurel Bridge classes.
 - Integration improvements with Lighthouse.
 - Added TLS 1.3 capabilities for HL7 Sources and Destinations, if TLS 1.3 is available via the operating system.
 - The Compass title, which is configured via the Options->System tab, is now displayed on the web UI Dashboard page.
 - Minor UI consistency enhancements.

Changes in 2.9.0 (2020-04-30):

 - Destinations that have heartbeat sensing enabled are pinged immediately at service start time, instead of waiting for the heartbeat delay duration.
 - Fixed an off-by-one error in the web UI's HL7 outbound count.
 - Added support for multiple SRs in a single job when integrating with PS360.
 - Improvements to HL7 job actions that attempted to access HL7 messages larger than the large message threshold.
 - "DISK FOLDER" destinations now require an output folder to be specified.
 - The Cache purge delay and penalty box purge delay have been increased from 99,999 hours to 9,999,999 hours.
 - Added support for Lighthouse communication.
 - The job report now displays the total bytes sent for the entire job.

Changes in 2.8.3 (2020-03-18):

 - Hotfolder improvements.

Changes in 2.8.2 (2020-03-03):

 - Improvements to the DeIdentify filter action.

Changes in 2.8.1 (2020-02-28):

 - HL7 server stability improvements.
 - Added support for "batch mode" ingestion of files for DICOM hotfolders. See Appendix G in the user manual for details.
 - Added support for LDAPS.

Changes in 2.8.0 (2020-02-14):

 - Added optional support for saving duplicate SR terms (with an incrementing index).
 - Stability improvements to the "HL7 Send" job action.
 - Added a strict word-order matching mode to the SR workflow (using "{" and "}" as quote characters).
 - Improved parsing of structured reports containing zero-length sequences.
 - Improved handling of invalid image storage locations.
 - Added support for SQL Server 2019.
 - Updated Compass to target .NET Framework 4.8; therefore .NET Framework 4.8 is a required prerequisite.

Changes in 2.7.11 (2020-04-27):

 - Removed the registry check for .NET 4 when enabling the web interface.

Changes in 2.7.10 (2019-11-25):

 - Improvements related to ICMP ping functionality.

Changes in 2.7.9 (2019-11-15):

 - Fixed an issue that could occur while performing an ICMP ping via the "Test" button on the Destination configuration screen.

Changes in 2.7.8 (2019-10-25):

 - Updated the DICOM library to DCF 3.3.64.
 - Minor UI enhancements.

Changes in 2.7.7 (2019-10-04):

 - Added the ability to export Sources, Destinations, Rules, and Job Actions to a file. A single entry can be exported, or the entire list can be exported. These entries can then be imported later to the same copy of Compass, or a different copy of Compass. Entries that are dependent on other entries will fail to import if the dependency is not present.
 - Improvements to HL7 inbound connection counts during database connectivity outages.
 - "First PDU Read Timeout" is now configurable via the DICOM System tab.

Changes in 2.7.6 (2019-09-03):

 - Added the transfer syntax 1.2.840.10008. (MPEG-4 AVC/H.264 High Profile / Level 4.1) to the list of available transfer syntaxes.
 - The Disk Folder destination transport type now allows a wider selection of characters for folder and file names.
 - Compass now supports HL7 hotfolders. See the user manual for more details.
 - Stability improvements when trying to move the images directory while another process currently has it open.
 - Fixed an issue where the priority of a failed HL7 job could not be changed.
 - Stability improvements when handling corrupted user configuration files.
 - Stability improvements for partially defined filters.
 - The Compass service now has a dependency on the Microsoft Distributed Transaction Coordinator service.
 - Fixed an issue where the "Edit Supported SOP Classes" link was not enabled if DICOM Input was running.
 - A minimum size is now enforced on Compass' WinForms' UI.
 - Context menu items for "Add", "Remove", and "Copy" have been added to the DICOM and HL7 job action lists.
 - Data from a cell or row can now be copied from the Supported SOP Classes dialog.
 - Data from a cell or row can now be copied from the DICOM jobs table, HL7 jobs table, DICOM Inbound Association table, and HL7 Inbound Connection table.
 - A search textfield has been added to the Supported SOP Classes dialog.

Changes in 2.7.5 (2019-06-04):

 - Specifying AE titles longer than 16 characters is now allowed in order to communicate with non-compliant devices.
 - Compass now requires the user to log back in to the web UI if the browser was closed and reopened.
 - Stability improvements when handling HL7 jobs during database connectivity issues.
 - The "Test" button on the Destination screen is always enabled now.

Changes in 2.7.4 (2019-05-08):

 - Minor installer improvement.

Changes in 2.7.3 (2019-04-29):

 - Auto-logout enhancements in the web UI.
 - Active Directory enhancements.

Changes in 2.7.2 (2019-03-23):

 - Minor web improvements.

Changes in 2.7.1 (2019-03-21):

 - Added a command line switch to the Compass Client that will manually perform the following: 1) Install the ASP.Net Core IIS Express prerequisite (if needed), 2) Configure the IIS Express TLS certificate bindings, and 3) Configure the IIS Express URL bindings. This will allow customers who do not want to run the Compass Service as user NTAUTHORITY\SYSTEM to manually install the necessary web bindings as an administrator.
 - Added a utility method for converting DICOM encapsulated PDFs to one or more DICOM secondary capture objects.
 - Improved the user manual documentation regarding web configuration changes that require elevated permissions. See section 2.6 of the user manual for more information.
 - Added notifications to the main WinForms UI notifying the user of an expired or soon-to-expire certificate.

Changes in 2.7.0 (2019-03-07):

 - Fixed a minor dashboard reporting issue for destinations with the heartbeat functionality disabled.
 - The Compass client process no longer makes connections directly to the database; instead, it uses an API provided by the Compass service process.
 - The DICOM and HL7 jobs tables are now paginated. The number of displayed results in configurable.
 - PS360 SystemID is now a configurable setting. The default value is 1.
 - Compass now requires .NET Framework 4.7.2

Changes in 2.6.7 (2019-07-31):

 - Improved hotfolder logging.

Changes in 2.6.6 (2019-07-23):

 - Improved handling for transient database connectivity issues.

Changes in 2.6.5 (2018-12-03):

 - Added an app config setting named PerformRegistryCheckForNet4 to the CompassClient.exe.config file. Customers lacking permission to access the registry can set this value to False in order to proceed with enabling the web interface.

Changes in 2.6.4 (2018-11-09):

 - Improved stability when filtering the Active Associations table.
 - Minor enhancement to Compass Source configuration UI.

Changes in 2.6.3 (2018-10-25):

 - Database connection improvements in the web UI.

Changes in 2.6.2 (2018-10-12):

 - Filtering improvements for the Active Associations table.
 - Installer improvements.

Changes in 2.6.1 (2018-09-26):

 - The Fluency Job Action can now generate an HL7 message for each SR in a job, even if that job contains multiple SRs.
 - Improvements to ingesting HotFolder files into the Cache.
 - Updated the user manual for GDPR.
 - AuditLog messages containing PHI can be configurably suppressed from the local log file.

Changes in 2.6.0 (2018-09-07):

 - The navigation panes that contain the names for Sources, Destinations, Rules, and Job Actions in both the DICOM and HL7 Options dialogs now support searching.
 - Fluency Job Action now escapes HL7 control characters when generating OBX segments.
 - An icon column has been added to the Source and Destination navigation lists. A green check mark will be displayed if the Source/Destination is enabled.
 - The HL7 details viewer has been improved.
 - The Inbound Association History information is now available via the web UI.
 - The Inbound Association History dialog now supports searching.
 - The Active Associations table has been enhanced to include extra columns: Patient Name, Patient Id, Accession #, and Modality. The table can also be limited to show just Inbound or just Outbound associations, as well. There is also a Filter textfield that displays only assocations that match the filter text.
 - DICOM and HL7 custom columns are now available as selectable fields in email notifications.
 - Added a new built-in destination named Cache that provides Q/R functionality in Store-and-Forward mode. See the user manual for details.
 - Data can now be copied from the jobs tables and store job details dialog.
 - Corrected an issue with HL7 Failover jobs where the failover jobs are Queued but do not run until the Compass Service is restarted.
 - Added the ability to view DICOM Encapsulated PDF data.

Changes in 2.5.5 (2018-09-07):

 - Active Directory enhancements.

Changes in 2.5.4 (2018-08-13):

 - Added a utility method for converting PDF to DICOM.
 - Added a user config file validation step to the Compass Client startup procedure.

Changes in 2.5.3 (2018-06-29):

 - Fixed an issue where 0's in the IP address of a Source definition were being treated as wildcards. *'s can now be used as a wildcard instead of 0 (zero).
 - Load balancing failover improvements in direct routing mode.
 - Better handling of network issues during reverse DNS lookups.
 - Notification of certificate expiration has been changed from 1 week to 2 weeks.

Changes in 2.5.2 (2018-06-18):

 - Additional utility methods are available to custom code.
 - Improved the handling of the "Max Simultaneous" setting of load-balanced destinations.
 - Fixed an issue with HL7MappingSendAction with Images Only option when there were only non-image DICOM objects in the job.
 - Active Directory enhancements.
 - Data Integration post processing actions can now access the current store job record such that demographic data from job images can be transmitted to a dictation system.
 - Support converting DICOM encapsulated PDF to HL7 Encapsulated PDF.
 - Improvements to handling association counts when query spanning DIMSE relayers.

Changes in 2.5.1 (2018-04-18):

 - Improvements to handling association counts when load balancing DIMSE relayers.
 - An additional validation step has been added to the Options form that does not allow a hot folder source to be created if the license does not allow Store-and-Forward routing.
 - Improvements to the TLS authentication timeout setting for immediate mode jobs.
 - Minor log message improvements.
 - Destination "Test" button now checks the result of the DICOM C-Echo for success. Previously, any response was considered successful, regardless of the status.
 - Fixed an issue with the date picker on an HL7 web source.
 - Fixed an issue with resetting the web user Administrator password.
 - An audit log message is generated now when an authorized user downloads images via the web user interface.
 - Improved the job retry logic for PowerScribe job actions.

Changes in 2.5.0 (2018-03-06):

 - Added mModal HL7 template to the user manual.
 - AuditLogUsed audit log message is now logged when the local audit log is accessed.
 - The ordering of the destinations in the Rules tab's "Selected Destionations" list is now preserved.
 - Compass will now try indefinitely to convert Pending jobs to Queued during database connectivity issues.
 - Added instructions to Appendix D of User Manual describing how to manually configure HTTP Strict Transport Security (optional web security feature).
 - Added configurable support for HL7 TLS client authentication.
 - Added configurable support for DICOM TLS client authentication.
 - Added support for handling DICOM TLS wildcard and SAN certificates.
 - Audit log messages are now mirrored to the Compass logs (in addition to being sent to the syslog server). This involved a couple of related changes:
   * CompassClient now logs to a new set of rolling log files with a "-client" suffix.
   * CompassWeb now logs to a new set of rolling log files with a "-web" suffix.
 - The passwords for the default web users (i.e., administrator and compass) have changed due to a new security policy. See the User Manual (Section 6.1.6) for details.
 - AuditLog client now logs to Compass logs.
 - Multiple modality values can now be specified in a view filter on the Compass Windows GUI jobs viewer.
 - Improved error handling for hotfolders containing illegal path characters, as well as improved error handling during empty folder cleanup.
 - Added filled-out Manufacturer Disclosure Statement for Medical Device Security document to release documentation.
 - The maximum number of backup configuration files is now configurable. See Appendix E of the user manual for more information.
 - DICOM inputs will be automatically stopped if available disk space drops below cutoff threshold (default = 10%). This behavior can be configured under Edit > DICOM Options > Notifications.
 - Improved InstancesAccessed audit log message to identify whether Compass Windows UI or Compass Web UI accessed the DICOM instance.
 - CompassClient can now be optionally configured to require the following:
   * Password validation at startup
   * Administrative privileges in order to run (enabling this also locks down the Compass data directory for administrator access only)
 - Added Compass Privacy and Security Statement as Appendix A in User Manual.
 - Fixed an issue with default values on DICOM Sequences in HL7 variable interpolation.
 - Authenticode signatures now use SHA256 instead of SHA1.

Changes in 2.4.12 (2018-01-22):

 - Fixed an issue when routing inbound TOPS connections to an outbound Immediate Mode connection.

Changes in 2.4.11 (2018-01-10):

 - Additional logging improvements.

Changes in 2.4.10 (2018-01-10):

 - Added minimal support for client authentication (not configurable).
 - DIMSE messages are written to the log file only once now, after filters are applied.
 - Updated Laurel Bridge icon to new gold theme.
 - Improved error handling for hotfolders containing illegal path characters, as well as improved error handling during empty folder cleanup.

Changes in 2.4.9 (2017-12-06):

 - Fixed DICOM TLS wildcard and SAN certificate handling.

Changes in 2.4.8 (2017-12-04):

 - Added filled-out Manufacturer Disclosure Statement for Medical Device Security document to release documentation.
 - Fixed an issue when resetting the web administrator's password.
 - Added Compass Privacy and Security Statement as Appendix G in User Manual.

Changes in 2.4.7 (2017-11-10):

 - Stability improvements related to transitioning jobs from Pending to Queued when intermittent database connectivity issues are encountered.
 - Improvements to the web UI when intermittent connectivity issues are encountered.
 - Improved handling of imported configuration files containing an image location that points to a non-existent drive.

Changes in 2.4.6 (2017-10-27):

 - The passwords for the default web users (i.e., Administrator and compass) have changed due to the new security policy. See the User Manual (Section 6.1.6) for details.
 - Active Directory improvements.
 - Web configuration improvements.

Changes in 2.4.5 (2017-10-10):

 - Fixed an issue with default values on DICOM Sequences in HL7 variable interpolation.

Changes in 2.4.4 (2017-10-04):

 - Fixed installer issue.

Changes in 2.4.3 (2017-09-25):

 - Improved parsing of Bone Densitometry (DEXA) SR's when using dictation system integration job actions.
 - Auto-logout on a secure screen (i.e., potentially containing PHI) will cause the browser to return to the status screen. Note that this behavior is disabled by selecting the auto-refresh option.
 - Added the ability to configure the Base DN, user name and password. Added the ability to configure multiple groups for a role. The string is comma-delimited. See the user manual for more information.
 - All Compass executables are now Authenticode-signed with the publisher "Laurel Bridge Software, Inc.".
 - Rule conditions that inspected the value of a Date, Time, DateTime, or Double value have changed their behavior to return false if the value is not parseable as that type (which includes an empty value). The previous behavior would cause the  association to be terminated. Note that this new behavior will cause the current image to potentially proceed further down the list of rules until a potential match is found.
 - Added a "Matched Rules" column to both the DICOM and HL7 job tables that indicate which rule or rules the image(s) matched. For DICOM, if multiple rules were matched, the list of rules will be backslash delimited.
 - Added a configurable option that allows a web user to log in to multiple IP addresses simultaneously. The default behavior is to not allow multiple logins.
 - Web users can now change their own passwords without requiring an Administrator's assistance.
 - Improved the error message that gets displayed when a currently logged-in user attempts to log in via a second computer.
 - Added two new operators, IsEmpty and IsNotEmpty, that can be applied to elements of type DA, TM, DT, and string.
 - The Compass Web User Administration screen now includes an option, "Require Secure Passwords", that makes the following changes to the local user (non-LDAP) security policy:
* increases the minimum password length from 8 characters to 12 characters
* increases password complexity from requiring just uppercase and lowercase letters to requiring uppercase and lowercase letters and one or more numbers.
 - Added a "Low Level Logging" attribute to the settings dialog for both Sources and Destinations that provides more granular control of the types messages written to the log files. See the user manual for additional information.
 - When sending to a destination via TOPS, the error message has been improved when no context id is available for the current presentation context.
 - The amount of time to wait for receiving an Associate-Release PDU is now configurable.
 - Added a new "Transfer Syntax" rule condition that provides the capability to test the exact transfer syntax of the current image, or just whether it's compressed or uncompressed.

Changes in 2.4.2 (2017-08-03):

 - Fixed an issue with date formatting on the web order entry page.
 - Fixed an issue with the source IP address not populating correctly in the web UI.

Changes in 2.4.1 (2017-08-03):

 - Web UI enhancements for handling long lists of destinations.
 - Improvements to stable study jobs.
 - The "Import Configuration..." menu item is now properly disabled when HL7 Input is running.
 - Web user accounts can now be imported and exported via the Web User Administration dialog.
 - The web user interface has been completely overhauled as of the 2.4.0 release:
   * The new UI is mobile friendly.
   * The redesign includes a new process named CompassRestServiceModelCore.exe that runs alongside the other processes.
   * Numerous security enhancements have been added.
   * Web usernames and passwords are now stored in the database instead of the CompassData.sdf file on disk. Any preexisting usernames and passwords will be imported into the database during the upgrade process.
   * See the user manual for additional details and screenshots.
 - Changes to the audit logging configuration no longer require a restart to take effect.

Changes in 2.4.0 (2017-07-19):

 - Compass now requires .NET 4.6.2 be installed.
 - Pad characters are now stripped from DICOM values according to DICOM VR rules before inserting into HL7 messages.
 - Added integration to send biometric data from a DICOM SR to M*Modal Fluency in a DICOM job action.
 - Support failover destinations for Direct Routing scenarios.
 - Compass Web interface now supports HTTPS.
 - Compass Web supports LDAP for user log on.
 - Support Windows Server 2016 and SQL Server 2016.
 - Compass Web administrator password can be reset from the Compass Windows client for installations not using LDAP.
 - Compass web auto timeout is now configurable.
 - Starting and stopping inputs and outputs now runs on a background thread to avoid locking up the UI.
 - Added a description field to all sources, destinations, rules, and job actions (saved in the config file). Added a last-changed-by (username) and last-changed-on (date) field to the config file (displayed as part of the tooltip when hovering over one of the above-mentioned descriptions).
 - Added a built-in job action that is capable of integrating with AllScripts.
 - Upgraded HL7 library to LaurelBridge.HL7.dll 1.2.2
 - Added a built-in job action that is capable of receiving HL7 messages, extracting relevant data for reporting purposes, and sending the report data to a PS360 web API.
 - Bookmarks have been added to the Compass User Manual.
 - Bookmarks have been added to the DICOM conformance statement.
 - Fixed a bug where the built-in web user accounts could be removed if the default case of that user account was altered.
 - Added support for a custom subject prefix and suffix for email notifications.
 - Fixed an issue where the order of the columns in the jobs table would occasionally not be preserved.
 - Audit logging support for Compass is now complete. Audit logging to a syslog server is supported using:
  * UDP [port 514 by default]
  * TCP [port 601 by default]
  * TLS (1.0, 1.1, 1.2) [port 6514 by default]
   Messages are logged for the following events:
  * Application start/stop
  * Input/output start/stop
  * DICOM instance network transfers
  * DICOM instance import/export
  * Web user login/logout
  * Web user add/remove/role change/password change (web interface)
  * Job cloning/status change/priority change/removal (web interface)
 - Added a dialog to display and operate on the list of images that could not be purged.
 - Improved error logging in the PS360 job action.
 - Compass now searches the Compass bin folder for DICOM libraries prior to searching anywhere else.
 - Now using .NET AwayFromZero for roundoff in PS360 operations.
 - Added shortcuts to switch between views:
  * Ctrl-D for DICOM view
  * Ctrl-H for HL7 view
 - Added a /dbconfig command line switch to CompassClient to allow editing of the DB configuration.
 - Encrypted connections to SQL Server are now supported and configurable. Also, the max database connection pool size is now configurable.
 - CompassClient now shows a MessageBox indicating post-DB-initialization failure when the DB is okay but an exception is thrown during initialization of the servers (DICOM/HL7). The exception thrown by the servers when they cannot create the compass-data-directory now shows the directory name in the Windows Event Viewer Application Log.
 - New audit logging configuration dialog added to *Options=>System screen.
 - Upgraded DICOM library to DCF 3.3.56c.

Changes in 2.3.4 (0001-01-01):

Changes in 2.3.2 (2017-02-16):

 - Fixed a count issue for direct-route associations.
 - Enhancements for custom code.
 - Fixed an issue with some values displayed in the HL7 configuration summary form.
 - Small UI improvements.

Changes in 2.3.1 (2016-12-08):

 - Compass Web UI now allows an Administrator to change a user's password and role.  The built-in Administrator and 'compass' users' passwords may be modified but their roles can never be changed.
 - Notification emails for failed jobs, long-running jobs, and too many queued jobs now have a subject line that starts with "Compass Report -".
 - UI improvements.
 - Added a new email notification type for the number of Queued jobs exceeding a configurable threshold.

Changes in 2.3.0 (2016-11-18):

 - Anonymization conformance statement now available.
 - Direct Routing capability has been added, which allows for the passing of all DIMSE message requests and responses between a Source and Destination through Compass. This is a keyed, purchasable feature, requiring a new license.
 - PS360 post processing action supports different days/weeks formats.
 - The "Edit Supported SOP Classes" link on the System tab of the Options dialog remains enabled now, regardless of the DICOM Input status.
 - Newly created Sources are now configured to asynchronously send C-STORE response messages in TOPS mode. Existing Sources will remain unchanged.
 - Fixed an issue in the HL7JobAction where unmatched curly braces in the template could result in the HL7 message not getting sent.
 - PS360 job action GUI improvements.
 - Upgrading to 2.3.0 or higher will add in non-Storage SOP classes to the list of supported SOP classes.  Any SOP classes that had been previously manually removed from the list of Supported SOP classes will not get re-added.
 - Support for nested boolean logic has been added to the DICOM rule conditions. This allows for arbitrarily deep combinations of AND/OR condition logic.
 - The calling and called AE titles are now written to the chapter 10 DICOM files stored on disk.
 - A dialog displaying a summary of the Compass configuration has been added under the View menu.
 - The Options dialog is now re-sizable.
 - Load balancing for direct routing mode is available.
 - Added support for TLS 1.1 and 1.2.
 - Upgraded DICOM library to DCF 3.3.54c
 - Remote network paths are now allowed for Compass image directory, log directory, and hotfolders.
 - Changed the behavior for filtering the DICOM jobs view related to Sources and Destinations. A textfield has replaced the scrollable list. This removes the need to scroll through sometimes long lists. It also allows for matching multiple Sources and/or Destinations by specifying a subsection of the name(s).
 - Added HL7 template editor dialog to HL7 Send Job Action.
 - Compass export configuration file type defaults to .xml
 - Added support and request feedback forms to Windows Main GUI.
 - The DICOM conformance statement can be accessed from the Help menu.
 - HL7MappingSendJobAction allows user to control which DICOM instance in the Compass job is used for interpolating demographic data into an HL7 message template.

Changes in 2.2.8 (0001-01-01):

 - Remote network paths are now allowed for Compass image directory, log directory, and hotfolders.

Changes in 2.2.7 (2016-10-19):

 - Fixed an issue where outbound immediate mode connections were not displayed in the Active Associations window.
 - Throughput improvements.

Changes in 2.2.6 (2016-08-01):

 - TOPS stability improvements.

Changes in 2.2.5 (2016-05-12):

 - Compass Store and Forward supports load balancing with Study UID or Accession number stickiness.
 - Database improvements related to association record purging, with a user-configurable setting added to the Compass service's app config (located in the file CompassService.exe.config):
     * AssociationPurgeTime: Specifies the amount of time that association records will be kept. The default is 24 hours. This change may affect the status icon for the Source summary in both the Windows and web user interfaces. An "Activity Threshold" in the Settings dialog of each Source configuration that is longer than the specified AssociationPurgeTime will not be applicable; the shorter value is used.
 - Improved performance of job purger by no longer purging jobs in chronological order.
 - Throughput improvements.
 - Stability improvements during temporary database unavailability.
 - Improved logging when routing rule throws an exception.
 - Error comments from C-Store-RSP messages will be displayed in a Job report.
 - HL7 Send Job action can now be configured to default a value in the HL7 message template if it is missing in the DICOM header.

Changes in 2.2.4 (2016-03-08):

 - PS360JobAction can look for the HAS OBS TEXT modifier in DICOM SR's.
 - PS360 job action can optionally check report status before sending updating the report.
 - Stability improvements for the Compass UI.
 - Speed improvements related to configuration cloning, with a user configurable setting added to the Compass service's app config (located in the file CompassService.exe.config):
     * DeflateConfigClone: Specifies that only information relevant to the current association should be cloned. The default is True.
 - Unreferenced images that cannot be purged after a number of attempts will no longer have their records removed from the database in order to better facilitate tracking down unremovable files.
 - Three user configurable settings were added to the Compass service's app config (located in the file CompassService.exe.config):
     * LazyServerSideTlsAuthenticationMode: Specifies that TLS authentication should be handled on a child thread and not the main thread listening for new connections. The default value is True.
     * CheckCertificateRevocationAsClient: Specifies that the client should check the certificate revocation lists. The default value is True.
     * CheckCertificateRevocationAsServer: Specifies that the server should check the certificate revocation lists. The default value is True.
 - PS360 job action can now have custom code to post process the values extracted from a DICOM SR before they are sent to PowerScribe.
 - The installer contains a new EULA describing the non-DICOM files feature.
 - Date and timestamped backup copies of the configuration file are automatically created now. See Appendix E of the user manual for details.
 - Compass can now import and transmit non-DICOM files from a hotfolder. This is an optional feature. See sections 4.1.2 and 4.2.5 of the user manual for details.
 - Stability improvements when opening the Details view with an invalid image.
 - Compass destinations can now write files directly to the filesystem. See section 4.2.5 of the user manual for details.
 - Non-DICOM Hot folder will store information about the files ingested in the Series Description and Study Description DICOM tags.
 - License attribute DataIntegration replaces license attribute PowerScribe

Changes in 2.2.3 (2015-11-04):

 - PS360 Job action take the absolute value of flowrates for Carotid artery exams before sending to PowerScribe.
 - After upgrading Compass from an older version, the Modifying System reported in a DICOM Original Attributes Sequence during filtering operations will be updated to reflect the current version of Compass.
 - Multiple job actions can be run if the trigger type is OnSent or OnFail.  Previously, multiple job actions could only be used if the trigger type was OnStart.
 - Added a new custom extension point for when an Inbound HL7 message matches a rule. Also added configuration data which can be included with rules; this data can be used by custom code. These additions allow HL7 messages to affect DICOM traffic.
 - Stability improvements related to many concurrent associations involving filters.
 - Added interface so custom code can be notified when an HL7 job is deleted.

Changes in 2.2.2 (2015-09-14):

 - Updated documentation on TLS security
 - Fixed an issue where the Compass database could get in a state that could only be recovered by manually modifying the database if the database was sufficiently large and there were corrupt job records.
 - Updated error message when License Activation Form cannot communicate with www.laurelbridge.com.
 - Installer will check if a 2.1.x version of Compass is installed and stop installation of 2.2.x.
 - Decreased logging verbosity for HL7 routing.
 - Reduced information logging verbosity from job purgers.

Changes in 2.2.1 (2015-08-21):

 - Handled some scenarios where an error while sending an HL7 job would result in an empty job report.
 - WEBSOURCENAME and WEBTEMPLATENAME are special variables that can be used in an HL7 template in the HL7 Order entry system.
 - Updated HL7 library to 1.2.1.
 - Updated EULA to version 1.33.
 - PS360 job action can optionally round off values.  Add a third column to your mapping file with the number of significant digits to use for each mapped value.
 - Improve performance when receiving a new HL7 message.
 - PS 360 Job Action, for non-private GE SR's take the last value found if there are multiple values for a custom field.
 - HL7 order entry system can access data from a previously generated message.

Changes in 2.2.0 (2015-07-10):

 - PowerScribe 360 SR->Report integration is available.  This requires a feature key on your Compass license.
 - IIS Express is no longer installed by the Compass installer.  It is included in the Compass-2.2.x.zip file.  The user must install it separately.
 - Display HL7 jobs on web UI.  You must have an HL7 feature key on your license to use this feature.
 - If you are upgrading from a Compass 2.1.x install you must first stop the Compass Service and uninstall 2.1.x from the Windows 'Programs and Features' menu before installing 2.2.x.  Your configuration files, Compass DB and DICOM images will NOT be removed.
 - Compass is a 64-bit .NET application.
 - Fixed an issue where a Hotfolder Source's non-ingest folder could not contain part of the name of the ingest folder.
 - HL7 Order Entry feature is available from the Web GUI.  You must have a feature key to use this feature.
 - DICOM tag-morphing filters can be imported or exported to an xml file.
 - HL7 message routing is implemented, complete with individual configurations for HL7 Sources, Destinations, and Routing Rules. Sources and Destinations can be individually started and stopped (in addition to the usual Compass "master switch" to start/stop inputs and outputs).
 - Improve memory management and routing model for HL7 messages to interact less with the database.
 - Fix bug where the DB Server had to be named SQLEXPRESS for Compass web DICOM jobs table to work.
 - HL7 Messages can be submitted to Compass from a web browser. This item is feature-keyed based on the current Compass license.
 - HL7 Messages can be determined to be "large" (based on a configured threshold), which changes how they are handled and stored within Compass. This can improve Compass's database utilization.
 - Display HL7 status on Compass Web Status Page.
 - For HL7 Sources and Destinations MLP framing characters and HL7 Segment separator characters can be defined on per source or per destination basis.
 - Tops+ is no longer supported.  You must remove your usage of TOPS+ from your compass-config.xml file before upgrading to this version.
 - HL7 Send Job Action can optionally mark the current DICOM job as Sent such that the DICOM images are not forwarded and the DICOM job can be deleted by the job purger.
 - Output of custom job actions can be passed into the HL7 Send Job Action
 - HL7 destinations can be configured to connect to remote systems based on the global HL7 Output start/stop independent of each other.
 - Compass HL7 Destinations can be started and stopped independently of each other.
 - Default SSL mail port is now 587, which is the default gmail smtp port.
 - HL7 jobs table is now available on the web GUI.  HL7 status information is available from the index page.  This is all feature keyed based on the current Compass license.
 - Fix issue with web UI DICOM jobs table where the sendTo option was not available for Hold jobs.

Changes in 2.1.56 (0001-01-01):

Changes in 2.1.55 (2016-01-29):

 - Stability improvements for the Compass UI.

Changes in 2.1.54 (2016-01-27):

 - Speed improvements related to configuration cloning, with a user configurable setting added to the Compass service's app config (located in the file CompassService.exe.config):
     * DeflateConfigClone: Specifies that only information relevant to the current association should be cloned. The default is True.

Changes in 2.1.53 (2016-01-19):

 - Three user configurable settings were added to the Compass service's app config (located in the file CompassService.exe.config):
     * LazyServerSideTlsAuthenticationMode: Specifies that TLS authentication should be handled on a child thread and not the main thread listening for new connections. The default value is True.
     * CheckCertificateRevocationAsClient: Specifies that the client should check the certificate revocation lists. The default value is True.
     * CheckCertificateRevocationAsServer: Specifies that the server should check the certificate revocation lists. The default value is True.
 - Unreferenced images that cannot be purged after a number of attempts will no longer have their records removed from the database in order to better facilitate tracking down unremovable files.
 - Fixed an issue with the Activate button on the About dialog.

Changes in 2.1.52 (2015-10-22):

 - Set source heartbeat threshold to 0 to force Web UI indicator to be green forever.
 - Stability improvements related to many concurrent associations involving filters.
 - In the Advanced Settings dialog for Destinations, there is now a new configurable setting named 'Association Response Timeout (s)'.
 - Updated the DICOM library to Laurel Bridge DCF 3.3.52c.
 - Updated EULA to version 1.33
 - Fixed an issue where a Hotfolder Source's non-ingest folder could not contain part of the name of the ingest folder.
 - Filters can be imported or exported to an xml file.
 - Heartbeat email notification is available.  Receive an email when heartbeat fails and when it succeeds again.
 - Allows integration with Nuance PS 360 system.  Biometric fields can be copied from a DICOM SR object and set as custom fields in PS 360.  This option is feature keyed.
 - Fixed web issue where right-click context menu on jobs table did not work on IE 8 browser.

Changes in 2.1.51 (2015-03-30):

 - Fixed an issue where .dat files were not getting removed from the Window TEMP directory.
 - 32-bit Compass applications now have the Large Address Aware flag set allowing them to use more memory.
 - Improvements to the AssociateRejectPDU reason when the maximum number of concurrent associations has been reached.
 - Optionally holding open HL7 connections in the HL7 job action.  If you are upgrading from a previous revision the connection will now be set to the 'keep alive' state.
 - Improvements to the Message column in the jobs table when retrying a job.
 - Upgraded HL7 library to 1.0.8.
 - Fixed an issue where DICOM associations could be miscounted during association handshaking if there was an error.
 - Fixed an issue where only Administrator web users could be registered.

Changes in 2.1.50 (2015-02-17):

 - Labels in the Compass UI that mentioned "SSL" have been renamed to "TLS". The functionality has not changed.
 - IIS errors will no longer be logged to the Compass log files and instead are only logged to the CompassWeb.log file.  This also fixed an issue with the Compass Input getting hung up when the Compass Web Interface was running.
 - Hot folders can process zip files including zip files inside of zip files. The file extension must end in ".zip".  Email notifications can optionally be sent when files fail to be ingested.
 - Host names in the web interface hostnames box are validated now.
 - Administrator user can now view all web interface users.
 - TOPS SCP can now configurably send intermediate C-Store-rsp messages to alleviate a PDU read timeout at the sending (SCU) Compass. The sending (SCU) Compass does not wait for the reply before sending the next image.
 - Job Actions can now update the job's custom column values.
 - Optionally send an email notification report of files not ingested by a Hot Folder.
 - UI speed improvements when there are a lot of Sources or Destinations defined.
 - The Options dialog now validates that a hotfolder's "non-ingested images" folder is not a subfolder of the hotfolder itself.
 - Images that don't contain a modality field can now be ingested.
 - Log which routing rule was applied via the Compass Source logging settings.

Changes in 2.1.49 (2014-11-19):

 - Added an Administrator role for web users. Only Administator users have the ability to remove, resend, copy, and perform other operations to Compass jobs.   Administrator users can also create additional user accounts to access the Compass web UI.
 - Additional help and validation on the About dialog.
 - Fixed an issue with the "Immediate Mode" UI control.
 - Added a right-click context menu to the Compass web UI jobs table.  Resend, hold, remove and other functions previously only available on the Compass native UI are now available on the web UI.
 - Administrator(s) can remove users.  The built-in "compass" and "Administrator" users cannot be deleted.
 - Updated the user manual with instructions on activating a Compass license.
 - Web users will now be automatically logged off after 10 minutes of inactivity.

Changes in 2.1.48 (2014-09-29):

 - Tested Compass on Windows 8.1.
 - Allowing support for Portal licenses.
 - Improved store job processing when jobs with a null destination are encountered.
 - Minor GUI  bug fixes.
 - Updated user manual for Windows 8.1.
 - Database speed improvements.
 - Fixed a display issue when copying a job without a study date.
 - If not specified in the license, Compass Basic now defaults to allowing 6 nodes instead of 4.
 - Stability improvements.
 - Updated user manual with improved SQL installation instructions.

Changes in 2.1.47 (2014-07-31):

 - Added authentication timeout for SSL client connections.
 - Updated user manual with instructions for installing Compass with SQL Server 2014.
 - Fixed an issue with trailing whitespace in custom execute conditions.

Changes in 2.1.46 (2014-06-10):

 - Upgraded framework library to AppFramework 1.1.45 and DICOM library to DCF 3.3.48c.
 - Default PDU, DIMSE, and Association Idle timeouts are no longer defaulted to infinity. PDU read/write timeouts are now 5 minutes. DIMSE message read/write timeouts are now 1 hour. The Association Idle timeout (only applicable for Sources) is now 15 minutes. These changes only affect newly created Sources and/or Destinations; existing Sources and Destinations will retain their current configuration.
 - The user can now limit the number of jobs displayed on the Compass UI. This setting is considered separate from the other 'View' filter settings, and will not be affected when, for example, the user chooses to select 'All' jobs.
 - Fixed an issue where the proper icon was not displayed in the 'Sources' section of the web UI when a Source had not contacted Compass within the configured time threshold.
 - 'View Filter' selections pertaining to the jobs table are now properly highlighted when first starting up.
 - Numerous stability improvements in order to more effectively handle issues where the database is temporarily unavailable or unresponsive.
 - The 'Import Configuration' menu item now imports all configuration settings, except for the database settings. The database settings must be configured manually as Compass is already connected to an existing database.
 - Improvements to copying a job that doesn't contain a study date.
 - Stability improvements involving loading an HL7 Mapping file without a header row.
 - Table creation improvements involving pre-existing databases.
 - HL7 Send Action now prompts before deleting an HL7 mapping.

Changes in 2.1.45 (2014-02-19):

 - Additions to the user manual regarding using the Composer filter action with private tags.
 - Log file sizes now have a maximum size of 50MB.
 - Stability improvements to the Job Details thumbnail viewer.
 - Improved logging if an issue occurs while authenticating a server-side SSL connection.
 - Heartbeat C-ECHOs are no longer sent when a Destination's schedule is inactive.

Changes in 2.1.44 (2013-11-14):

 - Hotfolder ingestion improvements regarding files with timestamps in the future.
 - Enhancements to the "On Sent" and "On Fail" job actions.

Changes in 2.1.43 (2013-10-24):

 - Minor UI change where non-essential component was removed from the Hotfolder Source screen.

Changes in 2.1.42 (2013-10-10):

 - Newly created Sources no longer allow any Calling and Called AE titles by default; instead they are given default AE titles of CALLING and CALLED, which can be modified or changed to "Allow Any".
 - HL7 message templates no longer require the '\' backslash character to be escaped.  The '$' dollar sign character now has a special meaning i.e. you are entering a variable or function.  Use a double $$ if you wish to put a literal dollar sign in your template. Please see the Compass user manual for an updated example HL7 message template and contact Laurel Bridge Software regarding any questions involving existing HL7 message templates.
 - Support for activation-style licenses.
 - The Start and Stop buttons for Input and Output have been changed to a single Play/Pause toggle button with a corresponding label that indicates a "Running" or "Stopped" status.
 - Adding a new Source, Destination, or Rule will now be added after the currently selected item instead of at the end of the list.
 - Improved the accuracy of the Active Associations' table's Receive and Send throughput values.
 - Crash logs will be written to the Compass log directory.
 - Configuration upgrade improvements involving the DeIdentify filter action.
 - Heartbeat sensing now logs additional information if a heartbeat fails. This additional logging will only occur if Logging is set to 'On' or 'After Failures'.
 - SSL authentication enhancements.
 - Stability improvements involving importing multiple mapping files into a single HL7Send Action mapping database.
 - Improvements to heartbeat functionality when sending over SSL.

Changes in 2.1.41 (2013-08-08):

 - Sources and Destinations can now be cloned.
 - The Test button on the Destinations tab now will properly test SSL and TOPS connections.
 - HL7 Send Action can optionally send a given message only once despite a job retrying due to DICOM communication errors.
 - Jobs can continue even if an HL7 ACK contains a bad status.
 - Added Pixel Edit filter action to anonymize sections of images. Anonymization now supports 16-bit palette color images. Upgraded to DCF 3.3.42c.
 - Job failures caused by Job Actions will count against the  job retry count.
 - Jobs can increase priority on retry.

Changes in 2.1.40 (2013-07-24):

 - DICOM Conformance Statement is now included in Compass release ZIP archives
 - HL7 Job Actions can now optionally wait for acknowledgements
 - TOPS performance improvements

Changes in 2.1.39 (2013-06-17):

 - Support installation on non-English localized versions of Windows.
 - Improved memory utilization.
 - 'Dicom Logging' label on Source and Destination configuration screens has been renamed to 'Logging'.
 - Added the ability to specify the outbound IP address to use as a function of which Source the images came from.
 - HL7 enhancements.
 - Compass now keeps track of the latest communication from each Source, and presents this information in the 'Source/Destination Status' table.
 - Added a new email notification for jobs that don't complete in a configurable amount of time.
 - Jobs with a state of 'Hold' or 'Failed' can now be automatically purged.
 - Added a user configurable message to Compass' title bar.
 - Compass can now retry jobs indefinitely by unchecking the 'Max Attempts' checkbox on the Destinations tab. Note that this will never allow the job to reached the 'Failed' state.
 - New Sources now accept only Explicit Little Endian, Explicit Big Endian, and Implicit Little Endian by default. Previously defined Sources are not affected.

Changes in 2.1.38 (2013-05-14):

 - Hotfolder now considers LastAccessTime, LastWriteTime, and CreationTime when determining the status of a file.
 - Fixed an issue with extremely large Hotfolder ingest reports.
 - Hotfolder sources can now optionally move all non-ingested files into a specified secondary location to keep the hotfolder from accumulating non-DICOM files over time.
 - HL7 Send Action: Compass now supports a built-in Job Action that can send a templated HL7 message. The messages can be populated using a Mapping List-like lookup database.

Changes in 2.1.37 (2013-04-01):

 - Read timeout improvements when receiving in TOPS mode.
 - Hotfolder improvements for extensionless files.
 - A progress dialog is now displayed during manual job deletion.
 - To facilitate quicker creation of similar rules, a 'Copy' option has been added to the right-click context menu of existing rules.

Changes in 2.1.36 (2013-02-11):

 - Fixed an issue preventing Hot Folder Sources from deleting files after ingest.

Changes in 2.1.35 (2013-02-01):

 - Hot Folder sources can now be disabled.
 - Fixed an issue with non-default IP addresses for Destinations.
 - OnStart Job Actions can now modify the State of a job.
 - Instances ingested via HotFolder can no longer be routed to Immediate Mode destinations.

Changes in 2.1.34 (2013-01-23):

 - SSL enhancements when Immediate Mode is selected
 - Only 'DICOM' can be selected as a transport type when Immediate Mode is selected

Changes in 2.1.33 (2013-01-17):

 - Improvements related to handling out-of-order and duplicate elements
 - Web UI improvements when displaying the Pending/Running state
 - In order to facilitate faster page load times, the web UI no longer displays extremely long header sequences
 - No longer deleting hot folder files that fail to be ingested
 - Improvements to Immediate Mode routing

Changes in 2.1.32 (2013-01-02):

 - Compass no longer automatically installs prerequisites and Setup.exe is no longer distributed (use Compass.msi for installation/upgrades). This allows system administrators to better control their deployments and choose alternate SQL versions. See the Compass user manual for a list of Compass prerequisites.
 - The previous sort order of the Jobs table will now be applied when Compass starts.
 - Added 'Immediate Mode' routing. See the user manual for details.
 - Improved heartbeat logging when a Destination's logging level is set to On.
 - On the Destination configuration tab, a 'Details...' hyperlink will be displayed after pressing the 'Test' button. Clicking the hyperlink opens a dialog box displaying the DICOM C-ECHO traffic between Compass and the Destination.
 - Added rule condition operators named "StartsWith" and "EndsWith" for text-based DICOM tags.

Changes in 2.1.31 (2012-11-21):

 - Made SSL write timeouts configurable and fixed a receive timeout issue.

Changes in 2.1.30 (2012-11-16):

 - Anonymization: Compass has two new filter actions supporting Deidentification and Reidentication of instances. See the user manual for details.
 - Hot Folders: Compass can now monitor local directories for files for ingestion. See the user manual for details.
 - Built on DCF 3.3.40c.
 - New Composer filter action allows the use of .NET Regular Expressions to morph captured components of multiple input tags into one or more output tags.
 - The Compass Web Jobs view now default sorts on Created Time descending.
 - Fixed a CPU utilization issue related to sending email notifications.

Changes in 2.1.29 (2012-10-24):

 - Enhancements to stable study job activation.

Changes in 2.1.28 (2012-08-29):

 - Minor changes to support Job Action extensions

Changes in 2.1.27 (2012-07-11):

 - Performance of the Jobs view in the Compass desktop UI has been improved
 - Fixed an issue where manually killing the Compass Service would prevent it from starting again properly if the Web UI was active
 - Compass can now execute custom actions for the following events: Job Start, Job Sent, Job Failed
 - The Compass Web UI can no longer be enabled via the Options dialog if .NET 4 is not detected on the system

Changes in 2.1.26 (2012-05-16):

 - Improvements to the Job Detail image preview pane.
 - The Compass read-only web interface requires that the .NET 4 runtime be installed. [http://www.microsoft.com/en-us/download/details.aspx?id=17718]
 - Email notifications now support authentication against a POP3 server.
 - Users can now enable a read-only web interface for monitoring Compass remotely.
 - The Notification configuration screen now provides a "Test" button to verify your settings.
 - More details are now logged when Compass rejects a Destination's SSL certificate.
 - A Source's name is now available as a routing rule condition.
 - A Source's IP address is now available as a routing rule condition.
 - Updated DICOM library to DCF 3.3.36c

Changes in 2.1.25 (2012-03-29):

 - Fixed an SSL connection request issue.

Changes in 2.1.24 (2012-03-08):

 - Enhancements to inbound association boundary processing in relation to job creation.
 - New Feature: Job Reports - Right-clicking a Failed, Sent, or Queued (for retry) job allows the user to open the Job Report. The report details association information, context negotiation, individual instance statuses, errors, and provides a job summary.
 - New Feature: Allow Skip - Destinations can now be configured to skip, and consider sent, instance for which no context id can be negotiated.
 - The job table's view filter is now saved when exiting the UI and recalled when launching the UI.

Changes in 2.1.23 (2012-01-31):

 - Fixed a TOPS mode retry issue

Changes in 2.1.22 (2012-01-30):

 - Improved handling of large non-pixel binary elements.  Added capability to set Large Element Threshold from Network properties.

Changes in 2.1.21 (2012-01-25):

 - An 'Images' column has been added to the 'Active Associations' view.
 - Outgoing Queued jobs can now be paused by switching their state to Hold via the right-click context menu.  Outgoing Hold jobs can be switched back to Queued by selecting Send via the right-click context menu. Outgoing Running jobs can be cancelled via the right-click context menu (their state will switch to Failed since the entire job was not sent).
 - Compass can now be configured to "Continue on Error" which will ignore individual send errors and treat partially successful jobs as Sent. This feature is configurable on a per-Destination basis on the Options form.
 - Compass now automatically checks once a day if a new version is available, and notifies the user with a status message above the jobs table. Opening the Help->About dialog box will also perform an upgrade check each time it's opened and display the status. The upgrade notification is independent of the customer's maintenance status and eligibility for upgrades.
 - The thumbnail image on the Job Details form can now be resized.
 - Compass can now send to a secondary Destination for jobs that fail to send to the primary Destination. This feature is configurable on a per-Destination basis on the Options form.

Changes in 2.1.20 (2011-11-22):

 - UI stability improvements.
 - Verbose system logging now includes more details regarding rules processing.
 - An 'Active Connections' panel can now be shown from the View menu. This panel provides per-connection details including AE titles, IP address/port, start time, send/receive rates, and send/receive totals. Individual connections can be forcibly closed via the 'Abort' button.
 - The mouse wheel can now be used to scroll through the list of images in the "Details..." form.
 - Compass will display a warning message in its toolbar if the license is due to expire within seven days.

Changes in 2.1.19 (2011-08-11):

 - Upgrade improvements involving databases created prior to Compass 2.1.13.

Changes in 2.1.18 (2011-08-03):

 - Disabled Sources are now correctly skipped over, regardless if they match the incoming association.
 - Fixed an issue when sending from Compass to Compass using the Throughput Optimization Protocol and the Implicit Little Endian transfer syntax was not in the enabled list on the receiving Compass.
 - A new checkbox has been added to the Sources tab with the text "Send email for accepted associations".  If checked, Compass will send an email to each of the notification recipients listed on the Notifications tab whenever an association is accepted from the specified Source.
 - Now utilizing DCF 3.3.26c

Changes in 2.1.17 (2011-07-11):

 - A "Details..." View has been added that allows the user to double-click or right-click to select "Details...", which displays more information about the currently selected job.  The user can select any instance in the job, which will display the header contents of the instance, as well as a view of the pixel data (if present) that can be windowed/leveled (if applicable) or played as a cine loop (for multi-frame images).
 - When changing the priority of a job, the label (High) is next to the priority '1', and (Low) is next to the priority '10' to make the ordering very clear.
 - The "failed jobs notification" email now contains only the list of jobs that have failed since the last notification, instead of the entire list of failed jobs. However, when the Compass service first starts, the first "failed jobs notification" email will contain all of the failed jobs.
 - The "ACCEPTED/REJECTED" log message that appeared for each incoming association will no longer be logged; it was redundant with the information in the "Inbound Association History" and potentially cluttered up the log file.
 - The SSL certificate password is now encrypted in the configuration file.
 - The database password is now encrypted in the configuration file.
 - The email address password used for notifications is now encrypted in the configuration file.

Changes in 2.1.16 (2011-06-09):

 - Fixed an issue where temporary filesystem issues could affect Compass's ability to purge image data from the disk
 - Jobs will now always retry on failure up to their max retries value, regardless of failure type
 - Failure messages should now contain more detailed information in many cases
 - Compass database logging will not be enabled when turning the system to Verbose or VerboseDicom logging levels
 - Added support for changing the transfer syntax when using TOPS mode
 - Compass Basic Edition licensing simplified

Changes in 2.1.15 (2011-05-23):

 - Compass will now order the images in outbound jobs based on receive order

Changes in 2.1.14 (2011-04-21):

 - Fixed user interface issue preventing jobs from being manually cloned to a destination

Changes in 2.1.13 (2011-04-14):

 - Three customizable columns have been added to Compass' main jobs table.  Users can give each column a name and specify which tag it should index; this is configurable via the System tab on the Options form.  If the value is longer than 256 characters, only the first 256 will be displayed. These fields can also be used to filter the Jobs view.
 - The source calling AE, source called AE, and source IP address are now displayed in the main Compass jobs table.  These fields can also be used to filter the Jobs view.
 - Trying to launch a second copy of the Compass UI now brings the first copy into focus instead of crashing with a technical error crash log.
 - Job priority is correctly cloned when cloning a Hold Queue job.

Changes in 2.1.12 (2011-01-24):

 - Added ability for custom filters to determine list of all images in job
 - Fixed issue related to Discard Instance rule action

Changes in 2.1.11 (2011-01-12):

 - The maximum value for the Stable Study Time number chooser has been greatly increased in order to handle larger images on slower connections.

Changes in 2.1.10 (2011-01-11):

 - Fixed bug where Initial Delay for a Destination wasn't always honored.

Changes in 2.1.9 (2011-01-10):

 - Minor bug fixes and UI improvements
 - Added configuration option for Destinations to treat Dimse warnings as success

Changes in 2.1.8 (2010-12-31):

 - The ability to mark a rule as STAT has been replaced with an expanded priority range of 1-10, with 1 being the highest priority.  Also, users may select a job in the jobs table and mark its priority as ASAP.  ASAP jobs will be processed before jobs with a 1-10 priority for the given Destination, but will still adhere to the enabled status, maximum association count, and schedule for the given Destination.
 - Added a Destination Status Form that can be accessed under the View menu.  This gives a succinct view of the status of each Destination.
 - Added Destination Heartbeat functionality; jobs will queue up without attempting to be sent while the Destination is unavailable.  When it becomes available, the jobs will proceed to be sent.

Changes in 2.1.7 (2010-11-01):

 - A schedule is now available as a rule condition.

Changes in 2.1.6 (2010-10-26):

 - Improvements related to custom Execute rule conditions.

Changes in 2.1.5 (2010-10-19):

 - Study Date filtering improvements.
 - Added the ability to allow custom code to execute as a rule condition, similar to a filter's custom "Execute" action.
 - Main form now displays the current view's job count.
 - Improvements related to importing older Compass 1.0.x configuration files.
 - Dicom Incoming label on the System tab is more descriptive.
 - Validation improvements for hostname or ip address on Destination tab.

Changes in 2.1.4 (2010-10-08):

 - Fix for issue on systems with non-US style date formats

Changes in 2.1.3 (2010-09-08):

 - Enhanced performance and reduced filesystem accesses for studies with many instances
 - Fixed an issue which could prevent the Compass service from running if the machine's Application Event Log was full.

Changes in 2.1.2 (2010-07-22):

 - Improvements regarding the use of "Execute" filter actions.

Changes in 2.1.1 (2010-07-20):

 - Stability improvements when sending a multi-modality study to a Compass TOPS Destination.

Changes in 2.1.0 (2010-07-18):

 - Compass can now accept SSL encrypted associations.
 - Associations between two copies of Compass can now leverage TOPS technology.
 - Default maximum values for both incoming and outgoing concurrent associations is now 25.
 - Jobs View now accepts filtering based on the Modalities field.

Changes in 2.0.14 (2010-06-21):

 - Fixed an issue where the Transfer Syntax Mode was displayed incorrectly on the Destinations page. Please confirm your choice of Transfer Syntax Mode after upgrading.

Changes in 2.0.13 (2010-05-28):

 - Added the ability for users to customize the contents of failed job notifications.

Changes in 2.0.12 (2010-05-03):

 - Stability improvements related to cloned jobs.

Changes in 2.0.11 (2010-04-15):

 - Enhanced job failure messages.
 - Resolved issue with displaying the Advanced Network options.
 - Fixed an issue with client side binds for outbound jobs.
 - setup.exe will now properly check/install .Net 3.5 SP1 as a prerequisite.

Changes in 2.0.10 (2010-04-12):

 - Fixed Compass service enhanced startup logging.

Changes in 2.0.9 (2010-04-12):

 - Added support for enhanced service logging.
 - Added a feature which allows jobs that successfully sent all its images to be marked as Sent even though the destination did not properly release the association.
 - AssociationIdleTimeout is not applicable and therefore no longer settable for Destinations.
 - Image count correction when retrying a job.

Changes in 2.0.8 (2010-03-24):

 - DICOM logging can now be enabled on a per-source or per-destination basis under each items "Network" settings
 - Compass prerequisites will now download at install time directly from Microsoft

Changes in 2.0.7 (2010-03-19):

 - Additional "Created At" view option.
 - Database optimizations for performance.
 - Filters can now be easily copied from other Sources and Destinations.
 - Improved UI handling of Source deletions.
 - Improved aggregation of images sent in separate associations for "stable studies" jobs.

Changes in 2.0.6 (2010-03-10):

 - The "Test" button on the Destinations configuration form will now attempt a C-Echo regardless of ICMP ping success or failure
 - Improved outbound job order processing.

Changes in 2.0.5 (2010-03-05):

 - Fixed an issue when importing Compass 1.0.X configuration files including filters with association parameter conditions. Note that these conditions are removed as they are no longer supported in Compass 2.0.X
 - Fixed an issue where images from different studies could be grouped into a single outbound job
 - Fixed an issue where multiple jobs could be created for a single destination

Changes in 2.0.4 (2010-03-01):

 - Updated Start menu shortcut

Changes in 2.0.3 (2010-03-01):

 - Updated default installation path.

Changes in 2.0.2 (2010-03-01):

 - Improved the service upgrade process.
 - Selection improvements while modifying the rule options in the Rule name list.
 - Timing improvements while waiting for database service startup at boot time.
 - Improved sorting in the jobs table.
 - Threads respond in a more timely fashion when the Compass service is shutting down.

Changes in 2.0.1 (2010-02-12):

 - Aesthetic improvements to the Options form.

Changes in 2.0.0 (2010-02-11):

 - Users are asked to confirm the upgrade to Compass 1.1 because existing images cannot be recovered.
 - Removed dependency on SQL Server Express by switching to SQL Server Compact Edition.
 - Removed the "Association: Strict" job activation mode.  Destinations configured with "Association: Strict" will be set to "Association: Split Studies".
 - New features for the major 2.0 release:
* Runs as a Windows service.
* Redesigned UI allows more user interaction/monitoring.
* Hold Queue allows Compass to act as a gatekeeper.
* Stat jobs allow certain jobs to be prioritized.
* AE title pass-through; hard-coded AE titles not required anymore.
* Email notifications for failed jobs and low disk space.
* Inbound association history logging.

Changes in 1.0.16 (2010-01-07):

 - Performance improvements for exceptionally large studies.

Changes in 1.0.15 (2009-12-23):

 - Increased database transaction timeout in order to handle exceptionally large studies

Changes in 1.0.14 (2009-12-14):

 - Added ability to modify PDU Read Timeout in Advanced Settings.

Changes in 1.0.13 (2009-10-20):

 - Added Destination schedule improvements.

Changes in 1.0.12 (2009-10-09):

 - Stability improvements for the 'Association: Split Studies' job activation mode.

Changes in 1.0.11 (2009-09-30):

 - Fixed possible crash when editing filters.

Changes in 1.0.10 (2009-09-11):

 - AssociationIdleTimeout enhancement adds stability related to misbehaving store SCUs.

Changes in 1.0.9 (2009-08-18):

 - Fixed a critical bug in the Options form that could lead to a Compass crash.

Changes in 1.0.8 (2009-08-17):

 - Outbound filter actions session data now contains the list of images in the current job. This allows custom actions to operate given knowledge of the entire job. Note that this does not change the existing behavior of any built-in filter actions.
 - Fixed bug in the Options form that could lead to a crash while editing the Compass configuration

Changes in 1.0.7 (2009-06-24):

 - The destination test button now takes into account the selected Compass calling presentation IP Address when performing a Dicom echo to test for connectivity.

Changes in 1.0.6 (2009-02-27):

 - Applying new settings will display a progress dialog box.
 - Store commit responses are sent immediately on a new association for Sources with store commit enabled. No retries for failed responses, and outstanding requests are not persisted between invocations of Compass.
 - The Dicom Tag condition has a new TagDoesNotExist operator.

Changes in 1.0.5 (2009-02-16):

 - Upgrade path from version 1.0.0 to versions above 1.0.2 has been improved.

Changes in 1.0.4 (2009-02-13):

 - Fixed persistence issue with per-Source max associations.

Changes in 1.0.3 (2009-02-13):

 - Maximum number of incoming associations is correctly reported now when input is stopped.
 - Compass port number can now be correctly modified in the GUI for email reporting.
 - The data storage location is now configurable via the System tab in Options.
 - All configuration and data files now reside in C:\Documents and Settings\All Users\Application Data\Laurel Bridge Software\Compass.
 - Email Reporting now correctly sends emails when both the username and password are empty.

Changes in 1.0.2 (2009-01-28):

 - Fixed a bug where Compass would eventually stop sending to a destination with a fixed number of simultaneous connections under heavy load.
 - Fixed a bug which would eventually lock out sources sending images being routed to a stable studies destination.
 - Switched database engine to SQL Server Express 2005. The installer will now automatically install this as a prerequisite to Compass. Note that existing databases will NOT be migrated into the new server. It is suggested that all outbound jobs be resolved in a previous Compass install before upgrading to 1.0.2.

Changes in 1.0.1 (2009-01-16):

 - Reporting system can now be disabled for systems where maximum throughput is needed.
 - Compass can now be extended with custom rule/filter conditions, and filter actions via drop-in plugins.
 - Previously Compass would crash if the DICOM input was started and another application was using the port specified as Compass' DICOM port.  Now a message box is displayed with details and a crash is prevented, allowing the user to go into the options form and specify a different port number to use.
 - Store Commit functionality added for responding successfully to all requests.
 - A new options form has been added allowing for the user to retry Compass initialization after an initialization failure during start up.
 - Compass now persists its configuration data in XML format instead of LBS proprietary format.
 - Importing an invalid Compass configuration file now correctly displays an error message.

Changes in 1.0.0 (2008-12-15):

 - Initial release.