XNAT 1.10.1 is a maintenance and hardening release, focused on DICOM import and anonymization correctness, DICOM networking, stability under large-scale ingest and download, and security hardening. It requires no change to your Java, Apache Tomcat, or PostgreSQL versions from 1.10.0, and bundles a DicomEdit 6.9.1 update.
XNAT is now built and released from a single monorepo, with the parent BOM published to Artifactory for plugin developers. This release also adds an optional AWS JDBC wrapper for RDS IAM database authentication and publishes a non-root container image to GHCR.
This release has been coupled with a release of version 3.1.0 of the DICOM Query Retrieve plugin.
Improve DICOM Import, Anonymization, and Configuration Correctness
-
XNAT-8778: Async propagation of anon script from preference to config is suboptimal
-
XNAT-8779: Config service version numbers assigned non-atomically, collide under concurrent writers, and can regress
-
XNAT-8777: Support Anon-Script param on GradualDicomImporter
-
XNAT-4527: XNAT cannot import sessions of rarer modalities
-
XNAT-8765: Snapshot generator logs a warning when trying to create snapshot for scan without DICOM
Improve DICOM Networking and Logging
-
XNAT-8794: DicomSender cannot open an association: the device is built without connections or executors
-
XNAT-8769: logback config defines logger for dcm4che (2) not dcm4che3 (5)
-
XNAT-8753: Identify and remove vestigial dcm4che2 references in code
Improve Stability and Performance at Scale
-
XNAT-8759: Concurrent write to Catalog XML on very large file uploads
-
XNAT-8741: Event service sync causes periodic JVM freezes via CS command N+1 lazy-load storm
-
XNAT-8740: Download Images page takes a long time to load on a large project
-
XNAT-8768: Duplicate records in xs_item_cache cause index creation to fail
-
XNAT-8781: Activity Tab cookie grows unbounded, eventually causing HTTP 400 on all requests
DicomEdit 6.9.1
XNAT 1.10.1 bundles DicomEdit 6.9.1. No separate installation or upgrade step is required.
-
DE-125: Late private elements (beyond Integer.MAX_VALUE) make retainPrivateTags fail. Private group numbers are parsed as unsigned values, so private groups at or above 0x8000 now resolve correctly and are retained as expected.
Other Updates and Bugfixes
-
XNAT-8783: Copy Administrator On Notifications never notifies the primary admin, and Primary Admin Username rejects valid usernames containing hyphens
-
XNAT-8784: Audit changes to preferences, user roles, and DICOM receiver configuration
-
XNAT-8780: Add Primary Annotation in support of OIDC Claims processing
-
XNAT-8782: Support stdout logging via opt-in switches, without WAR surgery or init-container rewrites
-
XNAT-8730: removeScanAggregateFields site preference has no effect on advanced search results
-
XNAT-8739: Search results "Filter" modal unusable with long condition lists
-
XNAT-8796: Deleting a QC element from its VM file is impossible in XNAT 1.10
-
XNAT-8619: Due to CS-1042 the ManageProjectFeatures.vm template needs to be fixed
-
XNAT-8789: Prevent XNAT logo overlap
-
XNAT-7953: Enable an XNAT build from a monorepo
-
XNAT-8785: Publish parent BOM to Artifactory
-
XNAT-8776: Do not re-remove assessor files on session delete
-
XNAT-8767: Let site admins reset prearchive sessions stuck in locked states
Completed Deprecations
Two long-deprecated import behaviors are now fully removed. Both are one-way changes on upgrade.
-
XNAT-8342: Remove Series Import Filter control panel from Admin UI
-
XNAT-8345: Cauterize Series Import Filter code in import process to complete deprecation
-
XNAT-8787: Remove PET/MR session separation. Sites that had PET/MR separation enabled are migrated automatically on startup.