XNAT 1.8.6.1 Release Notes
XNAT 1.8.6.1 is a hotfix release, addressing a critical bug discovered in XNAT 1.8.5 that affects DICOM file naming when importing scans via C-STORE. We strongly urge all sites running XNAT 1.8.5 and above to upgrade to XNAT 1.8.6.1, and to stay tuned for upcoming utility services that we will be testing and releasing to help mitigate the issue caused by this bug.
XNAT 1.8.6.1 also includes an unrelated security fix for the XNAT Pipeline Engine, for those installations that still use it.
What Happened?
XNAT-7202 describes an inadvertent change to the default naming convention for DICOM files imported via the DICOM SCP Receiver, which includes files imported via the DICOM Query Retrieve plugin. This change reverts back to the older and largely unused SOPHashDicomFileNamer
class.
What this means is that it could be possible for sites that upgraded to XNAT 1.8.5 and 1.8.6 to inadvertently import duplicate scan data with different file names, if you are reuploading and merging data that had been previously uploaded in XNAT 1.8.4 and earlier.
This bug only affects data that was imported via C-STORE, and does not impact data that was uploaded via the Compressed Uploader, the XNAT Desktop Client, XNATpy, or other REST-based upload services.
How Did This Happen?
The XNAT team has several code quality measures in place to attempt to catch bugs before they go out the door in a release. We use merge requests within our code repositories to put multiple sets of eyes on code before it gets integrated into the "develop" branch, let alone into a release. We use automated testing and manual testing of new features for expected and unexpected behaviors and to catch regressions. However, we did not have test coverage in place for file naming – this has now been remedied, and we will not see a recurrence of this type of bug in future releases.
What is the Fix?
This XNAT release reverts this regression and changes the default naming convention back to the TemplatizedDicomFileNamer
class, which is desired. We are actively working on a mitigation feature that will be released to the community very soon.
- XNAT 1.8.7 will contain a REST-based service that can be run on your site to identify and rename DICOM files that do not match the expected TemplatizedDicomFileNamer pattern. This service will start by creating a report of what it finds, and then allow site admins to run the renaming service to remedy those files
- Sites that run DicomEdit scripts that modify the SOP Instance UID and who wish to merge-overwrite a scan DICOM resource with new files would need to delete the existing DICOM resource within the scan prior to running the merge
- The
SOPHashDicomFileNamer
class will be deprecated in XNAT 1.8.7