Enhancements
- Unify RESTful API for services involving operations on matching entities #2077
- Audit services code cleanup #3262
- archive docker image: Rotate Wildfly Logs (audit.log, audit-log.log and server.log) files periodically #4183
- QIDO RS : Reject broad queries if query count exceeds configured Query Max Number of Results #4487
- Replace 400 - Bad Request with 413 - Request entity too large error response code for matching RS services #4488
- Merge MWL coercion - PatientID, PatientIDOnly and PatientIDAccessionNumber matching keys : Consider issuer values if present in DICOM dataset in patient identifier matching #4489
- Nullify Pixel Data or Retrieve as Received coercions : Add log info message if these coercions are applied on retrieving DICOM study #4494
- Store Service - Study Retention Policy : Add log info message if matching policy is applied on study / series #4496
- Pass Storage Commitment/Verification for objects only external retrievable #4500
- UI: Person Name widget: Add the possibility to search by ideograpich or phonetic #4502
- Retry failed attempts to permanently delete a study caused by javax.persistence.OptimisticLockException #4505
- UI: Navigation: Improve the way how to show the patient identifier #4506
- UI: Navigation filter: move patient id filter in to issuer of patient widget #4507
- Enable to connect to read only databases for archive instances only providing query/retrieve services #4510
- Fallback to device level for auditHL7MsgLimit usage if no hl7 application found for MSH.5 / MSH.6 on spooling incoming / outgoing HL7 messages #4514
- Provide Query Retrieve View 'iocmDisabled' for not hiding any of the rejected instances and associate it with Archive AE 'AS_RECEIVED' by the default configuration #4515
- Restrict DB query for locations on Verification of Access State by Storage ID to make use of existing index (storage_id, status) #4516
- Identify Patients only by Patient IDs with trusted Issuer of Patient IDs on MPPS N-CREATE requests to archive #4517
- Optionally ignore received objects belonging to a different Series than previous received objects with equal SOP Instance UID #4518
- Provide coercion to merge MPPS attributes from matching MWL items #4520
- Archive Docker image: Make Pattern for formatter PATTERN for system log messages to /opt/wildfly/standalone/log/server.log* configurable by Environment Variable WILDFLY_SERVER_LOG_PATTERN #4521
- UI: uprgrade keycloak.js to the latest one as the current used version doesn't work with KeyCloak verison 25.0 #4525
- Support multiple IPC segments under one ORC-TQ1-OBR group to create multiple MWLs from single HL7 order message #4526
- Support Patient Create DateTime query filter in QIDO-RS Search / Count patients REST services and in UI - Navigation - Patients tab #4528
- Access Control on Series Level #4532
- Avoid redundant emission of deletion tasks audit triggered by purge task scheduler #4537
- UI: Navigation: Enable "bulk uplad" of directories #4541
- UI: Navigation: Create Patient widget, add a simplified form #4542
- RESTful service to update Instance Attributes #4545
- Extend set of DICOM response status error codes for Audit Messages #4546
- Retry failed attempt to update patient caused by javax.persistence.OptimisticLockException #4551
- UI: Navigation: Change the Patient identifier Widget to look like the Patient Name widget #4554
- Extend Study participant object details in audits to include StudyDescription, SeriesDescription and Modality #4555
- Restful services to update Access Control ID of one specified or multiple matching Series #4559
- UI Series List: update Access Control ID of Series #4560
- UI : Provide function to Update Access Control ID of matching Series #4561
- Normalize validation checks for Update Study/Series/Instance REST APIs #4563
- Accept Waveform Annotation SR by default configuration #4565
- Archive Docker Image: Pre-confgure logger category "org.wildfly.security.http.oidc" for logging Wildfly OIDC Client #4569
- Purge legacy external archive patient management REST services #4570
Bug Fixes
- UI Navigation Tabs : Date range picker - Single Date always sets to current date independent of selected value in calendar #4347
- UI Configuration : Unable to create RESTful Forward Rule config #4485
- Unknown PatientID - - missing in Studies stored triggered DICOM Instances Transferred error audit - for instances stored to archive without any PatientID #4486
- UI Navigation Patients : Removing Other Patient IDs Sequence (0010,1002) from Edit Patient popup still sends it in the request payload #4491
- Studies stays in status deletion in progress on failures to delete them permanently #4504
- Handle closure of instances of org.jboss.resteasy.client.jaxrs.ResteasyClient #4511
- UI: The MWL Table is not rendered #4519
- UI: Merge dialog-> Instead of the Patient ID there is the stringified Object visible #4522
- MWL Scheduler triggered delete MWL throws OptimisticLockException #4523
- UI: Merge process is failing with no information when instead of a patient a study is selected for patient merge #4524
- Share transfer capabilities from an AE handling is missing in forwarded MPPS requests #4529
- UI: When multiple patient IDs exist and the patient identification texts are very short, the spacing between ID groups is too small. #4530
- Concurrent invocation of Move Study to Patient RS service fails with OptimisticLockException #4531
- WADO Exporter on secured archive fail with HTTP 401 Unauthorized caused by expired token #4535
- HL7 Order to MWL - ORM^O01 : Modality and Scheduled Procedure Step ID values not transformed correctly by XSL #4538
- Instance level query fails with IllegalArgumentException #4539
- Failure to verify patient using PDQ Service fails to update patient status to VERIFICATION_FAILED #4544
- Rectify incorrectly formatted examples of issuer of patient identifier / properties format indicated in configuration descriptions #4547
- Delete patient triggered by REST API emits audit twice #4549
- Change patient identifier triggered by REST API does not emit audit for previous patient identifier deletion #4550
- Incorrectly formatted Request URI with duplicated query filters in task processing triggered audits #4552
- HL7 PSU notifications fail on MPPS trigger N_SET requests received before HL7 PSU Task for N_CREATE requests are processed #4553
- UI Navigation - Upload files : The widget does not allow selecting files, instead provides option to select a directory #4556
- UI Navigation : Edit / Add attributes not available on uploading files #4557
- UI Navigation - Studies : Update Access Control ID to selections does not work #4564
- UI:Navigation-> Patient identifier widget: If you add patient id without editing the strings in the widget, it is not sending the string as a filter #4571
Dependencies
- Upgrade Wildfly to 33.0.2.Final #4495
- Keycloak docker image: Upgrade to Keycloak.X 25.0.5 #4497
- Upgrade Keycloak Admin Client in archive docker image to 25.0.5 #4498
- Upgrade Postgres DB docker image to 16.4 #4533
- Upgrade logstash in docker image to 8.15.1 #4562
- ldap docker image: upgrade alpine to 3.20.3 and slapd to 2.6.7 #4567
- Upgrade OAuth2 Proxy docker image to v7.6.0 #4568
Task
- Update DB SQL scripts for 5.33.0 for databases other than postgres #4534
Binary Distribution Packages
https://sourceforge.net/projects/dcm4che/files/dcm4chee-arc-light5/5.33.0