Mercurial > hg > orthanc
comparison NEWS @ 5807:8279eaab0d1d attach-custom-data
merged default -> attach-custom-data
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Tue, 24 Sep 2024 11:39:52 +0200 |
parents | 9770d537880d 7fadeb395359 |
children | 63c025cf6958 |
comparison
equal
deleted
inserted
replaced
5085:79f98ee4f04b | 5807:8279eaab0d1d |
---|---|
1 Pending changes in the mainline | 1 Pending changes in the mainline |
2 =============================== | 2 =============================== |
3 | 3 |
4 <<<<<<< working copy | |
4 General | 5 General |
5 ------- | 6 ------- |
6 | 7 |
7 * SQLite default DB engine now supports metadata and attachment revisions | 8 * SQLite default DB engine now supports metadata and attachment revisions |
8 * Upgraded the DB to allow plugins to store customData for each attachment. | 9 * Upgraded the DB to allow plugins to store customData for each attachment. |
16 * New database plugin SDK (v4) to handle customData for attachments. | 17 * New database plugin SDK (v4) to handle customData for attachments. |
17 * New storage plugin SDK (v3) to handle customData for attachments, | 18 * New storage plugin SDK (v3) to handle customData for attachments, |
18 | 19 |
19 | 20 |
20 version 1.11.2 (2022-08-30) | 21 version 1.11.2 (2022-08-30) |
22 ======= | |
23 REST API | |
24 ----------- | |
25 | |
26 * Improved parsing of multiple numerical values in DICOM tags. | |
27 https://discourse.orthanc-server.org/t/qido-includefield-with-sequences/4746/6 | |
28 | |
29 | |
30 Maintenance | |
31 ----------- | |
32 | |
33 * DICOM TLS: "DicomTlsTrustedCertificates" is not required anymore when issuing | |
34 an outgoing SCU connexion when "DicomTlsRemoteCertificateRequired" is set to false. | |
35 * Introduced a new thread to update the statistics at regular interval for the | |
36 DB plugins that are implementing the UpdateAndGetStatistics function (currently only | |
37 PostgreSQL). This avoids very long update times in case you don't call /statistics | |
38 for a long period. | |
39 * Fix C-Find queries not returning computed tags like ModalitiesInStudy, NumberOfStudyRelatedSeries, ... | |
40 in very specific use-cases. | |
41 * Fix extremely rare error when 2 threads are trying to create the same folder in the File Storage | |
42 at the same time. | |
43 * Metrics: | |
44 - fix a few metrics that were not published | |
45 - added 2 metrics: orthanc_storage_cache_miss_count & orthanc_storage_cache_hit_count | |
46 * Upgraded dependencies for static builds: | |
47 - curl 8.9.0 | |
48 * Added a new fallback when trying to decode a frame: transcode the file using the plugin | |
49 before decoding the frame. This solves some issues with JP2K Lossy compression: | |
50 https://discourse.orthanc-server.org/t/decoding-displaying-jpeg2000-lossy-images/5117 | |
51 * Added a new warning that can be disabled in the configuration: W003_DecoderFailure | |
52 | |
53 | |
54 | |
55 Version 1.12.4 (2024-06-05) | |
56 =========================== | |
57 | |
58 REST API | |
59 -------- | |
60 | |
61 * API version upgraded to 24 | |
62 * Added "MaximumPatientCount" in /system | |
63 * Added a new "LimitToThisLevelMainDicomTags" field in the payload of | |
64 /patients|studies|series/instances/../reconstruct to speed up the reconstruction | |
65 in case you just want to update the MainDicomTags of that resource level only | |
66 (e.g., after you have updated the "ExtraMainDicomTags" for this level) | |
67 * The "requestedTags" GET argument is deprecated in favor of "requested-tags" | |
68 * Added "?whole" option to "/instances/{id}/tags" to access tags stored after pixel data | |
69 | |
70 Plugins | |
71 ------- | |
72 | |
73 * Multitenant DICOM plugin: added support for locales. | |
74 * Housekeeper plugin: | |
75 - Added an option "LimitMainDicomTagsReconstructLevel" | |
76 (allowed values: "Patient", "Study", "Series", "Instance"). This can greatly speed | |
77 up the housekeeper process, e.g. if you have only update the Study level ExtraMainDicomTags. | |
78 - Fixed broken /instances/../tags route after running the Housekeeper | |
79 after having changed the "IngestTranscoding". | |
80 * SDK: added OrthancPluginLogMessage() as a new primitive for plugins | |
81 to log messages. This new primitive will display the plugin name, | |
82 the plugin file name, and the plugin line number in the logs. If | |
83 they are not using the LOG() facilities provided by the | |
84 OrthancFramework, plugins should now use ORTHANC_PLUGINS_LOG_INFO(), | |
85 ORTHANC_PLUGINS_LOG_WARNING(), and ORTHANC_PLUGINS_LOG_ERROR(). | |
86 | |
87 Maintenance | |
88 ----------- | |
89 | |
90 * C-Find queries: | |
91 - In C-Find queries including "GenericGroupLength" tags, Orthanc was still | |
92 extracting these tags from the storage although they were already ignored | |
93 and not returned in the response. | |
94 They are now removed from the query earlier to avoid this disk access that | |
95 could slow down the response time. Note that this seems to happen mainly | |
96 when the query originates from some GE devices (AWS). | |
97 - "TimezoneOffsetFromUTC" is now ignored for matching. | |
98 * The 0x0111 DIMSE Status is now considered as a warning instead of an error | |
99 when received as a response to a C-Store. | |
100 See https://discourse.orthanc-server.org/t/ignore-dimse-status-0x0111-when-sending-partial-duplicate-studies/4555/3 | |
101 * Removed potential PHI from the logs when Orthanc encounters an error while | |
102 creating a ZIP archive. | |
103 * Monitoring of stable resources now also takes into consideration the | |
104 resource type, not only the resource identifier identifier. | |
105 * DICOM TLS: | |
106 - In prior versions, when "DicomTlsRemoteCertificateRequired" was set to false, Orthanc | |
107 was still sending a client certificate request during the TLS handshake but was not | |
108 triggering and error if the client certificate was not trusted (equivalent to the | |
109 "--verify-peer-cert" DCMTK option). Starting with Orthanc 1.12.4, if this option is | |
110 set to "false", Orthanc will not send a client certificate request during the TLS | |
111 handshake anymore (equivalent to the "--ignore-peer-cert" DCMTK option). | |
112 - When working with "DicomTlsEnabled": true and "DicomTlsRemoteCertificateRequired": false, | |
113 Orthanc was refusing to start if no "DicomTlsTrustedCertificates" was provided. | |
114 - New configuration options: | |
115 - "DicomTlsMinimumProtocolVersion" to select the minimum TLS protocol version | |
116 - "DicomTlsCiphersAccepted" to fine tune the list of accepted ciphers | |
117 * Fixed broken /instances/../tags route after calling of | |
118 /studies/../reconstruct after having changed the "IngestTranscoding". | |
119 * Upgraded dependencies for static builds: | |
120 - boost 1.85.0 | |
121 | |
122 | |
123 Version 1.12.3 (2024-01-31) | |
124 =========================== | |
125 | |
126 General | |
127 ------- | |
128 | |
129 * Performance of databases: | |
130 - At startup, if using a database plugin, displays the latency to access the DB. | |
131 - Added support for new DB primitives to enable the "READ COMMITTED" | |
132 transaction mode in the PostgreSQL plugin. | |
133 | |
134 REST API | |
135 -------- | |
136 | |
137 * API version upgraded to 23 | |
138 * Added a 'KeepLabels' option in /modify routes (default = false) | |
139 | |
140 Maintenance | |
141 ----------- | |
142 | |
143 * Upgraded dependencies for static builds: | |
144 - boost 1.84.0 | |
145 - curl 8.5.0 | |
146 - dcmtk 3.6.8 | |
147 - jsoncpp 1.9.5 | |
148 - libjpeg 9f | |
149 - libpng 1.6.40 | |
150 - openssl 3.1.4 | |
151 - pugixml 1.14 | |
152 - zlib 1.3.1 | |
153 | |
154 | |
155 Version 1.12.2 (2023-12-19) | |
156 =========================== | |
157 | |
158 General | |
159 ------- | |
160 | |
161 * Performance: | |
162 - Allow multiple plugins to use the plugin SDK at the same time. In previous versions, | |
163 functions like instance transcoding or instance reading where mutually exclusive. | |
164 This can bring some significant improvements, especially in viewers. | |
165 - Optimized the StorageCache to prevent loading the same file multiple times if | |
166 multiple users request the same file at the same time. | |
167 - The StorageCache is now also storing transcoded instances that have been requested by /file?transcode=... | |
168 that is now used by the DICOMweb plugin. This speeds up retrieval of transcoded frames through WADO-RS. | |
169 - Now displaying timings when reading from/writing to disk in the verbose logs. | |
170 * HTTP compression: | |
171 - The default value of the "HttpCompressionEnabled" is now false by default. This reduces | |
172 the Orthanc overall CPU usage and latency. This is suitable for setups with large | |
173 bandwidth network like LAN. | |
174 - When "HttpCompressionEnabled" is true, only the content that is clearly identified as | |
175 compressible is compressed (JSON, XML, HTML, text, ...). DICOM files are never | |
176 compressed over HTTP. In prior versions, all content types were compressed. | |
177 This notably greatly improves loading time of large DICOM | |
178 files through WADO-RS e.g in StoneViewer when working on large bandwidth networks. | |
179 - When "HttpCompressionEnabled" is true, content < 2KB are never compressed. | |
180 * Logs: | |
181 - Each line of log now contains the name of the thread that is logging the message. | |
182 A new "--logs-no-thread" command line option can be used to get back to the previous behavior to | |
183 keep backward compatibility. | |
184 | |
185 REST API | |
186 -------- | |
187 | |
188 * API version upgraded to 22 | |
189 * Added a route to delete completed jobs from history: DELETE /jobs/{id} | |
190 * Added a "transcode" option to the /file route: | |
191 e.g: /instances/../file?transcode=1.2.840.10008.1.2.4.80 | |
192 * now accepting GET requests on these 3 routes to create archive/media: | |
193 /tools/create-archive?resources=..,..2&transcode=1.2.840.10008.1.2.4.80 | |
194 /tools/create-media?resources=..,..2&transcode=1.2.840.10008.1.2.4.80 | |
195 /tools/create-media-extended?resources=..,..2&transcode=1.2.840.10008.1.2.4.80 | |
196 * All "expand" GET arguments now accepts "expand=true" and "expand=false" values. | |
197 The /studies/../instances and sibling routes are the only whose expand is true if not specified. | |
198 These routes now accepts "expand=false" to simply list the child resources ids. | |
199 * In /tools/metrics-prometheus: | |
200 - "orthanc_dicom_cache_size" renamed as "orthanc_dicom_cache_size_mb" | |
201 - added "orthanc_storage_cache_count" and "orthanc_storage_cache_size_mb" | |
202 | |
203 Plugins | |
204 ------- | |
205 | |
206 * Housekeeper plugin: | |
207 - Update to rebuild the cache of the DICOMweb plugin when updating to DICOMweb 1.15. | |
208 - New trigger configuration: "DicomWebCacheChange" | |
209 - Fixed reading the triggers configuration. | |
210 - Introduced a "sleep" to lower CPU usage when idle. | |
211 * Plugins are now allowed to modify/delete private metadata/attachments | |
212 (i.e. whose identifiers are < 1024) | |
213 * Added "OrthancPluginSetCurrentThreadName()" in the plugin SDK. | |
214 | |
215 Maintenance | |
216 ----------- | |
217 | |
218 * Fix unit test PngWriter.Color16Pattern on big-endian architectures, | |
219 as suggested by Etienne Mollier: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1041813 | |
220 * Prevent the leak of the full path of the source files in the binaries | |
221 * Fix loading of DCMTK dictionary in the MultitenantDicom plugin when built dynamically: | |
222 https://discourse.orthanc-server.org/t/dimse-failure-using-multitenant-plugin/3665 | |
223 * Support multiple values in SpecificCharacterSet in C-Find answers: | |
224 https://discourse.orthanc-server.org/t/c-find-fails-on-unknown-specific-character-set-iso-2022-ir-6-iso-2022-ir-100/3947 | |
225 * When exporting a study archive, make sure to use the PatientName from the study and not from the patient | |
226 in case of PatientID collision. | |
227 * DICOM C-Store: | |
228 - Avoid some unnecessary renegotiation of DICOM association. | |
229 - Force renegotiation in case no presentation context were accepted in previous association (we have | |
230 observed PACS that were not consistent in the accepted presentation contexts) | |
231 - Improved logging | |
232 * Solved a deadlock related to the Job Engine events and plugins. Job events are now pushed | |
233 into a queue to be handled asynchronously by plugins. | |
234 * ZIP of studies whose PatientName and PatientID did not contain any ASCII character are now valid. | |
235 * Upgraded minizip library to stay away from CVE-2023-45853 although Orthanc is likely not affected since ZIP | |
236 filenames are based on DICOM Tag values whose length is limited in size. | |
237 Great thanks to James Addison for notifying us about the vulnerability and patch to apply ! | |
238 * Fix XSS in Orthanc error reporting (as reported by Sébastien Doria, Vumetric Cybersecurity) by: | |
239 - always including a "Content-Type" header in HTTP responses with a body. | |
240 - always including "X-Content-Type-Options: nosniff" | |
241 * Upgraded dependencies for static builds: | |
242 - boost 1.83.0 | |
243 | |
244 | |
245 Version 1.12.1 (2023-07-04) | |
246 =========================== | |
247 | |
248 General | |
249 ------- | |
250 | |
251 * Orthanc now anonymizes according to Basic Profile of PS 3.15-2023b Table E.1-1 | |
252 * Added metrics: | |
253 - "orthanc_storage_read_bytes" | |
254 - "orthanc_storage_written_bytes" | |
255 - "orthanc_memory_trimming_duration_ms" | |
256 | |
257 REST API | |
258 -------- | |
259 | |
260 * API version upgraded to 21 | |
261 * "/tools/create-dicom" can now be used to create Encapsulated 3D | |
262 Manufacturing Model IODs (MTL, OBJ, or STL) | |
263 * Added a route to delete the output of an asynchronous job (right now | |
264 only for archive jobs): e.g. DELETE /jobs/../archive | |
265 | |
266 Plugins | |
267 ------- | |
268 | |
269 * Added "OrthancPluginLoadDicomInstance()" to load DICOM instances from the database | |
270 * Added "OrthancPluginSetMetricsIntegerValue()" to track metrics with integer values | |
271 | |
272 Maintenance | |
273 ----------- | |
274 | |
275 * Fix decoding of YBR_FULL RLE images for which the "Planar Configuration" | |
276 tag (0028,0006) equals 1 | |
277 * Made Orthanc more resilient to common spelling errors in SpecificCharacterSet | |
278 * Modality worklists plugin: Allow searching on private tags (exact match only) | |
279 * Fix orphan files remaining in storage when working with MaximumStorageSize | |
280 (https://discourse.orthanc-server.org/t/issue-with-deleting-incoming-dicoms-when-maximumstoragesize-is-reached/3510) | |
281 * When deleting a resource, the "LastUpdate" metadata of its parents are now updated | |
282 * Reduced the memory usage when downloading archives when "ZipLoaderThreads" > 0 | |
283 * Metrics can be stored either as floating-point numbers, or as integers | |
284 * Reduce the frequency of memory trimming from 100ms to 30s to avoid high idle | |
285 CPU load (https://discourse.orthanc-server.org/t/onchange-callbacks-and-cpu-loads/3534). | |
286 * Upgraded dependencies for static builds: | |
287 - boost 1.82.0 | |
288 | |
289 | |
290 Version 1.12.0 (2023-04-14) | |
291 =========================== | |
292 | |
293 General | |
294 ------- | |
295 | |
296 * Support for labels associated with patients, studies, series, and instances | |
297 * Added a sample plugin bringing multitenant DICOM support through labels | |
298 | |
299 REST API | |
300 -------- | |
301 | |
302 * API version upgraded to 20 | |
303 * New URIs "/.../{id}/labels/{label}" to test/set/remove labels | |
304 * "/patients/{id}", "/studies/{id}", "/series/{id}" and "/instances/{id}" | |
305 contain the "Labels" field | |
306 * "/tools/find" now accepts the "Labels" and "LabelsConstraint" arguments | |
307 * "/tools/labels" lists all the labels that are associated with any resource | |
308 * "/system": added "UserMetadata" and "HasLabels" | |
309 * Added option "?numeric" if listing metadata | |
310 | |
311 Plugins | |
312 ------- | |
313 | |
314 * Added "OrthancPluginRegisterDatabaseBackendV4()" to communicate using Google | |
315 Protocol Buffers between the Orthanc core and database plugins | |
316 | |
317 Orthanc Explorer | |
318 ---------------- | |
319 | |
320 * Added support for labels | |
321 * Added buttons to copy the URL of ZIP archives and DICOM files to the clipboard | |
322 | |
323 Maintenance | |
324 ----------- | |
325 | |
326 * Enforce the existence of the patient/study/instance while creating its archive | |
327 * Security: New configuration option "RestApiWriteToFileSystemEnabled" | |
328 to allow "/instances/../export" (the latter is now disabled by default) | |
329 * Fix issue 214: VOILUTSequence is not returned in Wado-RS | |
330 * Fix /tools/reset crashing when ExtraMainDicomTags were defined | |
331 * Fix Housekeeper plugin infinite loop if Orthanc is empty. | |
332 * Fix a crash in /tools/reconstruct triggered by the Housekeeper plugin | |
333 when only changing the StorageCompression. | |
334 * Avoid the use of "externalproject_add()" to build the sample plugins | |
335 * Upgraded dependencies for static builds: | |
336 - openssl 3.1.0 | |
337 | |
338 | |
339 Version 1.11.3 (2023-02-03) | |
340 =========================== | |
341 | |
342 General | |
343 ------- | |
344 | |
345 * C-Store SCU now gives priority to the preferred TransferSyntax | |
346 proposed by the receiving SCP instead of Orthanc own | |
347 AcceptedTransferSyntaxes. | |
348 * Made the default SQLite DB more robust wrt future updates like | |
349 adding new columns in DB. | |
350 * Made the HTTP Client errors more verbose by including the URL in the logs. | |
351 * Optimization: now using multiple threads to transcode files for | |
352 asynchronous download of studies archive. | |
353 * New configuration "KeepAliveTimeout" with a default value of 1 second. | |
354 * ResourceModification jobs (/modify + /anonymize) can now use multiple threads to speed up processing | |
355 - New configuration "JobsEngineThreadsCount.ResourceModification" to configure the number of threads. | |
356 * For systems using glibc > 2.8 (most of Linux systems except LSB | |
357 binaries): Introduced a new thread for to trim memory in Orthanc (different | |
358 from the Housekeeper sample plugin). This thread regularly try to | |
359 give back memory that Orthanc no longer uses to the system. This | |
360 reduces the overall memory consumption. More information in | |
361 OrthancServer/Resources/ImplementationNotes/memory_consumption.txt. | |
362 | |
363 REST API | |
364 -------- | |
365 | |
366 * API version upgraded to 19 | |
367 * Loosen the sanity checks for DICOM modifications, if "Force" option is given: | |
368 - allow modification of PatientID at study level | |
369 - allow modification of PatientID, StudyInstanceUID at series level | |
370 - allow modification of PatientID, StudyInstanceUID, SeriesInstanceUID at instance level | |
371 - allow modification of a patient without changing her PatientID | |
372 Added sanity checks for modifications to make sure the user preserves the DICOM model when modifying high level tags. | |
373 E.g. if you modify the PatientID at study level, also make sure to modify all other Patient related | |
374 tags (PatientName, PatientBirthDate, ...) | |
375 * Automatically reconstruct the modified resources at the end of the DICOM modifications job to ensure | |
376 improved consistency of the DICOM model. | |
377 * If specifying 'Transcode' option to /modify or /anonymize, this value will take over the 'IngestTranscoding' | |
378 global configuration | |
379 * Allow the HTTP server to return responses > 2GB (fixes asynchronous download of zip studies > 2GB) | |
380 * /modalities/.../store now accepts "CalledAet", "Host", "Port" to override the modality configuration | |
381 from the configuration file for a specific operation. | |
382 * /tools/metrics-prometheus: added orthanc_last_change and orthanc_up_time_s | |
383 * Tolerance for "image/jpg" MIME type instead of "image/jpeg" in /tools/create-dicom | |
384 * /system: added MaximumStorageMode and MaximumStorageSize | |
385 | |
386 Plugins | |
387 ------- | |
388 | |
389 * Added a "header" argument to all OrthancPeers::DoPost, DoPut, ... in the "OrthancPluginCppWrapper" | |
390 * Added "OrthancPluginCreateJob2()" in the plugin SDK to avoid | |
391 possible crashes when "OrthancPluginJobGetContent()" or | |
392 "OrthancPluginJobGetSerialized()" get called | |
393 | |
394 Maintenance | |
395 ----------- | |
396 | |
397 * Fix decoding of RLE images for which the "Planar Configuration" tag (0028,0006) equals 1 | |
398 * Fix issue #212 (Anonymization process transcodes data and loses resource link). | |
399 | |
400 | |
401 Version 1.11.2 (2022-08-30) | |
402 >>>>>>> merge rev | |
21 =========================== | 403 =========================== |
22 | 404 |
23 General | 405 General |
24 ------- | 406 ------- |
25 | 407 |
75 ----------- | 457 ----------- |
76 | 458 |
77 * Housekeeper plugin: Fix resume of previous processing | 459 * Housekeeper plugin: Fix resume of previous processing |
78 * Added missing MOVEPatientRootQueryRetrieveInformationModel in | 460 * Added missing MOVEPatientRootQueryRetrieveInformationModel in |
79 DicomControlUserConnection::SetupPresentationContexts() | 461 DicomControlUserConnection::SetupPresentationContexts() |
80 * Improved HttpClient error logging (add method + url) | 462 * Improved HttpClient error logging (add method + URL) |
81 | 463 |
82 REST API | 464 REST API |
83 -------- | 465 -------- |
84 | 466 |
85 * API version upgraded to 18 | 467 * API version upgraded to 18 |