comparison Resources/Orthanc/NEWS @ 200:03afbee0cc7b

integration of Orthanc core into Stone
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 23 Mar 2018 11:04:03 +0100
parents
children e7f90aba3c97
comparison
equal deleted inserted replaced
199:dabe9982fca3 200:03afbee0cc7b
1 Pending changes in the mainline
2 ===============================
3
4 REST API
5 --------
6
7 * "/system" URI returns the version of the Orthanc REST API
8 * "/tools/now" returns the current UTC (universal) time
9 * "/tools/now-local" returns the curent local time.
10 This was the behavior of "/tools/now" until release 1.3.1.
11 * Added "?expand" GET argument to "/peers" and "/modalities" routes
12 * New URI: "/tools/create-media-extended" to generate a DICOMDIR
13 archive from several resources, including additional type-3 tags
14
15 Lua
16 ---
17
18 * New CMake option: "-DENABLE_LUA_MODULES=ON" to enable support for
19 loading external Lua modules if the Lua engine is statically linked
20
21 Plugins
22 -------
23
24 * New error code: DatabaseUnavailable
25
26 Maintenance
27 -----------
28
29 * Orthanc now uses UTC (universal time) instead of local time in its database
30 * Fix to allow creating DICOM instances with empty Specific Character Set (0008,0005)
31 * Upgrade to curl 7.57.0 for static and Windows builds
32 * Support of Linux Standard Base
33 * Static linking against libuuid (from e2fsprogs)
34 * Fix static build on CentOS 6
35 * Upgrade to JsonCpp 1.8.4 for static builds
36 * Possibility of using JsonCpp 0.10.6 if the compiler does not support C++11
37 with the "-DUSE_LEGACY_JSONCPP=ON" CMake option
38
39
40 Version 1.3.1 (2017-11-29)
41 ==========================
42
43 General
44 -------
45
46 * Built-in decoding of palette images
47
48 REST API
49 --------
50
51 * New URI: "/instances/.../frames/.../raw.gz" to compress raw frames using gzip
52 * New argument "ignore-length" to force the inclusion of too long tags in JSON
53 * New argument "/.../media?extended" to include additional type-3 tags in DICOMDIR
54
55 Plugins
56 -------
57
58 * New pixel formats exposed in SDK: BGRA32, Float32, Grayscale32, RGB48
59
60 Maintenance
61 -----------
62
63 * Creation of ./Resources/CMake/OrthancFramework*.cmake to reuse the Orthanc
64 C++ framework in other projects
65 * New security-related options: "DicomAlwaysAllowEcho"
66 * Use "GBK" (frequently used in China) as an alias for "GB18030"
67 * Experimental support of actively maintained Civetweb to replace Mongoose 3.8
68 * Fix issue 31 for good (create new modality types for Philips ADW, GE Xeleris, GE AWServer)
69 * Fix issue 64 (OpenBSD support)
70 * Fix static compilation of DCMTK 3.6.2 on Fedora
71 * Upgrade to Boost 1.65.1 in static builds
72 * Upgrade to SQLite amalgamation 3.21.0 in static builds
73
74
75 Version 1.3.0 (2017-07-19)
76 ==========================
77
78 General
79 -------
80
81 * Orthanc now anonymizes according to Basic Profile of PS 3.15-2017c Table E.1-1
82 * In the "DicomModalities" configuration:
83 - Manufacturer type MedInria is now obsolete
84 - Manufacturer types AgfaImpax and SyngoVia are obsolete too
85 (use GenericNoWildcardInDates instead)
86 - Obsolete manufacturers are still accepted but might disappear in the future
87 - Added new manufacturer: GenericNoUniversalWildcard to replace all '*' by '' in
88 outgoing C-Find requests
89 * New security-related options: "DicomAlwaysAllowStore" and "DicomCheckModalityHost"
90
91 REST API
92 --------
93
94 * Argument "Since" in URI "/tools/find" (related to issue 53)
95 * Argument "DicomVersion" in URIs "/{...}/{...}/anonymization"
96
97 Plugins
98 -------
99
100 * New function: "OrthancPluginRegisterIncomingHttpRequestFilter2()"
101
102 Lua
103 ---
104
105 * Added HTTP headers support for Lua HttpPost/HttpGet/HttpPut/HttpDelete
106
107 Orthanc Explorer
108 ----------------
109
110 * Query/retrieve: Added button for "DR" modality
111
112 Maintenance
113 -----------
114
115 * Ability to retrieve raw frames encoded as unsigned 32-bits integers
116 * Fix issue 29 (more consistent handling of the "--upgrade" argument)
117 * Fix issue 31 (create new modality types for Philips ADW, GE Xeleris, GE AWServer)
118 * Fix issue 35 (AET name is not transferred to Orthanc using DCMTK 3.6.0)
119 * Fix issue 44 (bad interpretation of photometric interpretation MONOCHROME1)
120 * Fix issue 45 (crash when providing a folder to "--config" command-line option)
121 * Fix issue 46 (PHI remaining after anonymization)
122 * Fix issue 49 (worklists: accentuated characters are removed from C-Find responses)
123 * Fix issue 52 (DICOM level security association problems)
124 * Fix issue 55 (modification/anonymization of tags that might break the database
125 model now requires the "Force" parameter to be set to "true" in the query)
126 * Fix issue 56 (case-insensitive matching over accents)
127 * Fix Debian #865606 (orthanc FTBFS with libdcmtk-dev 3.6.1~20170228-2)
128 * Fix XSS inside DICOM in Orthanc Explorer (as reported by Victor Pasnkel, Morphus Labs)
129 * Upgrade to DCMTK 3.6.2 in static builds (released on 2017-07-17)
130 * Upgrade to Boost 1.64.0 in static builds
131 * New advanced "Locale" configuration option
132 * Removed configuration option "USE_DCMTK_361_PRIVATE_DIC"
133
134
135 Version 1.2.0 (2016/12/13)
136 ==========================
137
138 General
139 -------
140
141 * Handling of private tags/creators in the "Dictionary" configuration option
142 * New configuration options: "LoadPrivateDictionary", "DicomScuTimeout" and "DicomScpTimeout"
143 * New metadata automatically computed at the instance level: "TransferSyntax" and "SopClassUid"
144
145 REST API
146 --------
147
148 * "/tools/invalidate-tags" to invalidate the JSON summary of all the DICOM files
149 (useful if private tags are registered, or if changing the default encoding)
150 * "Permissive" flag for URI "/modalities/{...}/store" to ignore C-STORE transfer errors
151 * "Asynchronous" flag for URIs "/modalities/{...}/store" and "/peers/{...}/store"
152 to avoid waiting for the completion of image transfers
153 * Possibility to DELETE "dicom-as-json" attachments to reconstruct the JSON summaries
154 (useful if "Dictionary" has changed)
155 * "Keep" option for modifications to keep original DICOM identifiers (advanced feature)
156 * "/tools/default-encoding" to get or temporarily change the default encoding
157 * "/{resource}/{id}/reconstruct" to reconstruct the main DICOM tags, the JSON summary and
158 the metadata of a resource (useful to compute new metadata, or if using "Keep" above)
159
160 Plugins
161 -------
162
163 * New function: "OrthancPluginRegisterPrivateDictionaryTag()" to register private tags
164 * More control over client cache in the ServeFolders plugin
165 * New C++ help wrappers in "Plugins/Samples/Common/" to read DICOM datasets from REST API
166 * New data structure: "OrthancPluginFindMatcher" to match DICOM against C-FIND queries
167
168 Maintenance
169 -----------
170
171 * Fix handling of encodings in C-FIND requests (including for worklists)
172 * Use of DCMTK 3.6.1 dictionary of private tags in standalone builds
173 * Avoid hard crash if not enough memory (handling of std::bad_alloc)
174 * Improved robustness of Orthanc Explorer wrt. query/retrieve (maybe fix issue 24)
175 * Fix serious performance issue with C-FIND
176 * Fix extraction of the symbolic name of the private tags
177 * Performance warning if runtime debug assertions are turned on
178 * Improved robustness against files with no PatientID
179 * Upgrade to curl 7.50.3 for static and Windows builds
180 * Content-Type for JSON documents is now "application/json; charset=utf-8"
181 * Ignore "Group Length" tags in C-FIND queries
182 * Fix handling of worklist SCP with ReferencedStudySequence and ReferencedPatientSequence
183 * Fix handling of Move Originator AET and ID in C-MOVE SCP
184 * Fix vulnerability ZSL-2016-5379 "Unquoted Service Path Privilege Escalation" in the
185 Windows service
186 * Fix vulnerability ZSL-2016-5380 "Remote Memory Corruption Vulnerability" in DCMTK 3.6.0
187
188
189 Version 1.1.0 (2016/06/27)
190 ==========================
191
192 General
193 -------
194
195 * HTTPS client certificates can be associated with Orthanc peers to enhance security over Internet
196 * Possibility to use PKCS#11 authentication for hardware security modules with Orthanc peers
197 * New command-line option "--logfile" to output the Orthanc log to the given file
198 * Support of SIGHUP signal (restart Orthanc only if the configuration files have changed)
199
200 REST API
201 --------
202
203 * New URI: "/instances/.../frames/.../raw" to access the raw frames (bypass image decoding)
204 * New URI "/modalities/.../move" to issue C-MOVE SCU requests
205 * "MoveOriginatorID" can be specified for "/modalities/.../store"
206
207 Dicom protocol
208 --------------
209
210 * Support of optional tags for counting resources in C-FIND:
211 0008-0061, 0008-0062, 0020-1200, 0020-1202, 0020-1204, 0020-1206, 0020-1208, 0020-1209
212 * Support of Move Originator Message ID (0000,1031) in C-STORE responses driven by C-MOVE
213
214 Plugins
215 -------
216
217 * Speedup in plugins by removing unnecessary locks
218 * New callback to filter incoming HTTP requests: OrthancPluginRegisterIncomingHttpRequestFilter()
219 * New callback to handle non-worklists C-FIND requests: OrthancPluginRegisterFindCallback()
220 * New callback to handle C-MOVE requests: OrthancPluginRegisterMoveCallback()
221 * New function: "OrthancPluginHttpClient()" to do HTTP requests with full control
222 * New function: "OrthancPluginGenerateUuid()" to generate a UUID
223 * More than one custom image decoder can be installed (e.g. to handle different transfer syntaxes)
224
225 Lua
226 ---
227
228 * Possibility to dynamically fix outgoing C-FIND requests using "OutgoingFindRequestFilter()"
229 * Access to the HTTP headers in the "IncomingHttpRequestFilter()" callback
230
231 Image decoding
232 --------------
233
234 * Huge speedup if decoding the family of JPEG transfer syntaxes
235 * Refactoring leading to speedups with custom image decoders (including Web viewer plugin)
236 * Support decoding of RLE Lossless transfer syntax
237 * Support of signed 16bpp images in ParsedDicomFile
238
239 Maintenance
240 -----------
241
242 * New logo of Orthanc
243 * Fix issue 11 (is_regular_file() fails for FILE_ATTRIBUTE_REPARSE_POINT)
244 * Fix issue 16 ("Limit" parameter error in REST API /tools/find method)
245 * Fix of Debian bug #818512 ("FTBFS: Please install libdcmtk*-dev")
246 * Fix of Debian bug #823139 ("orthanc: Please provide RecoverCompressedFile.cpp")
247 * Replaced "localhost" by "127.0.0.1", as it might impact performance on Windows
248 * Compatibility with CMake >= 3.5.0
249 * Possibility to use forthcoming DCMTK 3.6.1 in static builds (instead of 3.6.0)
250 * Upgrade to Boost 1.60.0 for static builds
251 * Use of HTTP status 403 Forbidden (instead of 401) if access to a REST resource is disallowed
252 * Option "HttpsVerifyPeers" can be used to connect against self-signed HTTPS certificates
253 * New configuration option "AllowFindSopClassesInStudy"
254 * Macro "__linux" (now obsolete) replaced by macro "__linux__" (maybe solves Debian bug #821011)
255 * Modification of instances can now replace PixelData (resp. EncapsulatedDocument) with
256 provided a PNG/JPEG image (resp. PDF file) if it is encoded using Data URI Scheme
257 * Dropped support of Google Log
258
259
260 Version 1.0.0 (2015/12/15)
261 ==========================
262
263 * Lua: "IncomingFindRequestFilter()" to apply filters to incoming C-FIND requests
264 * New function in plugin SDK: "OrthancPluginSendMultipartItem2()"
265 * Fix of DICOMDIR generation with DCMTK 3.6.1, support of encodings
266 * Fix range search if the lower or upper limit is absent
267 * Fix modality worklists lookups if tags with UN (unknown) VR are present
268 * Warn about badly formatted modality/peer definitions in configuration file at startup
269
270
271 Version 0.9.6 (2015/12/08)
272 ==========================
273
274 * Promiscuous mode (accept unknown SOP class UID) is now turned off by default
275 * Fix serialization of DICOM buffers that might contain garbage trailing
276 * Fix modality worklists server if some fields are null
277 * More tolerant "/series/.../ordered-slices" with broken series
278 * Improved logging information if upgrade fails
279 * Fix formatting of multipart HTTP answers (bis)
280
281
282 Version 0.9.5 (2015/12/02)
283 ==========================
284
285 Major
286 -----
287
288 * Experimental support of DICOM C-FIND SCP for modality worklists through plugins
289 * Support of DICOM C-FIND SCU for modality worklists ("/modalities/{dicom}/find-worklist")
290
291 REST API
292 --------
293
294 * New URIs:
295 - "/series/.../ordered-slices" to order the slices of a 2D+t or 3D series
296 - "/tools/shutdown" to stop Orthanc from the REST API
297 - ".../compress", ".../uncompress" and ".../is-compressed" for attachments
298 - "/tools/create-archive" to create ZIP from a set of resources
299 - "/tools/create-media" to create ZIP+DICOMDIR from a set of resources
300 - "/instances/.../header" to get the meta information (header) of the DICOM instance
301 * "/tools/create-dicom":
302 - Support of binary tags encoded using data URI scheme
303 - Support of hierarchical structures (creation of sequences)
304 - Create tags with unknown VR
305 * "/modify" can insert/modify sequences
306 * ".../preview" and ".../image-uint8" can return JPEG images if the HTTP Accept Header asks so
307 * "Origin" metadata for the instances
308
309 Minor
310 -----
311
312 * New configuration options:
313 - "UnknownSopClassAccepted" to disable promiscuous mode (accept unknown SOP class UID)
314 - New configuration option: "Dictionary" to declare custom DICOM tags
315 * Add ".dcm" suffix to files in ZIP archives (cf. URI ".../archive")
316 * MIME content type can be associated to custom attachments (cf. "UserContentType")
317
318 Plugins
319 -------
320
321 * New functions:
322 - "OrthancPluginRegisterDecodeImageCallback()" to replace the built-in image decoder
323 - "OrthancPluginDicomInstanceToJson()" to convert DICOM to JSON
324 - "OrthancPluginDicomBufferToJson()" to convert DICOM to JSON
325 - "OrthancPluginRegisterErrorCode()" to declare custom error codes
326 - "OrthancPluginRegisterDictionaryTag()" to declare custom DICOM tags
327 - "OrthancPluginLookupDictionary()" to get information about some DICOM tag
328 - "OrthancPluginRestApiGet2()" to provide HTTP headers when calling Orthanc API
329 - "OrthancPluginGetInstanceOrigin()" to know through which mechanism an instance was received
330 - "OrthancPluginCreateImage()" and "OrthancPluginCreateImageAccessor()" to create images
331 - "OrthancPluginDecodeDicomImage()" to decode DICOM images
332 - "OrthancPluginComputeMd5()" and "OrthancPluginComputeSha1()" to compute MD5/SHA-1 hash
333 * New events in change callbacks:
334 - "OrthancStarted"
335 - "OrthancStopped"
336 - "UpdatedAttachment"
337 - "UpdatedMetadata"
338 * "/system" URI gives information about the plugins used for storage area and DB back-end
339 * Plugin callbacks must now return explicit "OrthancPluginErrorCode" (instead of integers)
340
341 Lua
342 ---
343
344 * Optional argument "keepStrings" in "DumpJson()"
345
346 Maintenance
347 -----------
348
349 * Full indexation of the patient/study tags to speed up searches and C-FIND
350 * Many refactorings, notably of the searching features and of the image decoding
351 * C-MOVE SCP for studies using AccessionNumber tag
352 * Fix issue 4 (C-STORE Association not renegotiated on Specific-to-specific transfer syntax change)
353 * Fix formatting of multipart HTTP answers
354 * "--logdir" flag creates a single log file instead of 3 separate files for errors/warnings/infos
355 * "--errors" flag lists the error codes that could be returned by Orthanc
356 * Under Windows, the exit status of Orthanc corresponds to the encountered error code
357 * New "AgfaImpax", "EFilm2" and "Vitrea" modality manufacturers
358 * C-FIND SCP will return tags with sequence value representation
359 * Upgrade to Boost 1.59.0 for static builds
360
361
362 Version 0.9.4 (2015/09/16)
363 ==========================
364
365 * Preview of PDF files encapsulated in DICOM from Orthanc Explorer
366 * Creation of DICOM files with encapsulated PDF through "/tools/create-dicom"
367 * "limit" and "since" arguments while retrieving DICOM resources in the REST API
368 * Support of "deflate" and "gzip" content-types in HTTP requests
369 * Options to validate peers against CA certificates in HTTPS requests
370 * New configuration option: "HttpTimeout" to set the default timeout for HTTP requests
371
372 Lua
373 ---
374
375 * More information about the origin request in the "OnStoredInstance()" and
376 "ReceivedInstanceFilter()" callbacks. WARNING: This can result in
377 incompatibilities wrt. previous versions of Orthanc.
378 * New function "GetOrthancConfiguration()" to get the Orthanc configuration
379
380 Plugins
381 -------
382
383 * New functions to compress/uncompress images using PNG and JPEG
384 * New functions to issue HTTP requests from plugins
385 * New function "OrthancPluginBufferCompression()" to (un)compress memory buffers
386 * New function "OrthancPluginReadFile()" to read files from the filesystem
387 * New function "OrthancPluginWriteFile()" to write files to the filesystem
388 * New function "OrthancPluginGetErrorDescription()" to convert error codes to strings
389 * New function "OrthancPluginSendHttpStatus()" to send HTTP status with a body
390 * New function "OrthancPluginRegisterRestCallbackNoLock()" for high-performance plugins
391 * Plugins have access to explicit error codes
392 * Improvements to the sample "ServeFolders" plugin
393 * Primitives to upgrade the database version in plugins
394
395 Maintenance
396 -----------
397
398 * Many code refactorings
399 * Improved error codes (no more custom descriptions in exceptions)
400 * If error while calling the REST API, the answer body contains description of the error
401 (this feature can be disabled with the "HttpDescribeErrors" option)
402 * Upgrade to curl 7.44.0 for static and Windows builds
403 * Upgrade to libcurl 1.0.2d for static and Windows builds
404 * Depends on libjpeg 9a
405 * Bypass zlib uncompression if "StorageCompression" is enabled and HTTP client supports deflate
406
407
408 Version 0.9.3 (2015/08/07)
409 ==========================
410
411 * C-Echo testing can be triggered from Orthanc Explorer (in the query/retrieve page)
412 * Removal of the dependency upon Google Log, Orthanc now uses its internal logger
413 (use -DENABLE_GOOGLE_LOG=ON to re-enable Google Log)
414 * Upgrade to JsonCpp 0.10.5 for static and Windows builds
415
416
417 Version 0.9.2 (2015/08/02)
418 ==========================
419
420 * Upgrade to Boost 1.58.0 for static and Windows builds
421 * Source code repository moved from Google Code to BitBucket
422 * Inject version information into Windows binaries
423 * Fix access to binary data in HTTP/REST requests by Lua scripts
424 * Fix potential deadlock in the callbacks of plugins
425
426
427 Version 0.9.1 (2015/07/02)
428 ==========================
429
430 General
431 -------
432
433 * The configuration can be splitted into several files stored inside the same folder
434 * Custom setting of the local AET during C-STORE SCU (both in Lua and in the REST API)
435 * Many code refactorings
436
437 Lua
438 ---
439
440 * Access to the REST API of Orthanc (RestApiGet, RestApiPost, RestApiPut, RestApiDelete)
441 * Functions to convert between Lua values and JSON strings: "ParseJson" and "DumpJson"
442 * New events: "OnStablePatient", "OnStableStudy", "OnStableSeries", "Initialize", "Finalize"
443
444 Plugins
445 -------
446
447 * Plugins can retrieve the configuration file directly as a JSON string
448 * Plugins can send answers as multipart messages
449
450 Fixes
451 -----
452
453 * Fix compatibility issues for C-FIND SCU to Siemens Syngo.Via modalities SCP
454 * Fix issue 15 (Lua scripts making HTTP requests)
455 * Fix issue 35 (Characters in PatientID string are not protected for C-FIND)
456 * Fix issue 37 (Hyphens trigger range query even if datatype does not support ranges)
457
458
459 Version 0.9.0 (2015/06/03)
460 ==========================
461
462 Major
463 -----
464
465 * DICOM Query/Retrieve available from Orthanc Explorer
466 * C-MOVE SCU and C-FIND SCU are accessible through the REST API
467 * "?expand" flag for URIs "/patients", "/studies" and "/series"
468 * "/tools/find" URI to search for DICOM resources from REST
469 * Support of FreeBSD
470 * The "Orthanc Client" SDK is now a separate project
471
472 Minor
473 -----
474
475 * Speed-up in Orthanc Explorer for large amount of images
476 * Speed-up of the C-FIND SCP server of Orthanc
477 * Allow replacing PatientID/StudyInstanceUID/SeriesInstanceUID from Lua scripts
478 * Option "CaseSensitivePN" to enable case-insensitive C-FIND SCP
479
480 Fixes
481 -----
482
483 * Prevent freeze on C-FIND if no DICOM tag is to be returned
484 * Fix slow C-STORE SCP on recent versions of GNU/Linux, if
485 USE_SYSTEM_DCMTK is set to OFF (http://forum.dcmtk.org/viewtopic.php?f=1&t=4009)
486 * Fix issue 30 (QR response missing "Query/Retrieve Level" (008,0052))
487 * Fix issue 32 (Cyrillic symbols): Introduction of the "Windows1251" encoding
488 * Plugins now receive duplicated GET arguments in their REST callbacks
489
490
491 Version 0.8.6 (2015/02/12)
492 ==========================
493
494 Major
495 -----
496
497 * URIs to get all the parents of a given resource in a single REST call
498 * Instances without PatientID are now allowed
499 * Support of HTTP proxy to access Orthanc peers
500
501 Minor
502 -----
503
504 * Support of Tudor DICOM in Query/Retrieve
505 * More flexible "/modify" and "/anonymize" for single instance
506 * Access to called AET and remote AET from Lua scripts ("OnStoredInstance")
507 * Option "DicomAssociationCloseDelay" to set delay before closing DICOM association
508 * ZIP archives now display the accession number of the studies
509
510 Plugins
511 -------
512
513 * Introspection of plugins (cf. the "/plugins" URI)
514 * Plugins can access the command-line arguments used to launch Orthanc
515 * Plugins can extend Orthanc Explorer with custom JavaScript
516 * Plugins can get/set global properties to save their configuration
517 * Plugins can do REST calls to other plugins (cf. "xxxAfterPlugins()")
518 * Scan of folders for plugins
519
520 Fixes
521 -----
522
523 * Code refactorings
524 * Fix issue 25 (AET with underscore not allowed)
525 * Fix replacement and insertion of private DICOM tags
526 * Fix anonymization generating non-portable DICOM files
527
528
529 Version 0.8.5 (2014/11/04)
530 ==========================
531
532 General
533 -------
534
535 * Major speed-up thanks to a new database schema
536 * Plugins can monitor changes through callbacks
537 * Download ZIP + DICOMDIR from Orthanc Explorer
538 * Sample plugin framework to serve static resources (./Plugins/Samples/WebSkeleton/)
539
540 Fixes
541 -----
542
543 * Fix issue 19 (YBR_FULL are decoded incorrectly)
544 * Fix issue 21 (Microsoft Visual Studio precompiled headers)
545 * Fix issue 22 (Error decoding multi-frame instances)
546 * Fix issue 24 (Build fails on OSX when directory has .DS_Store files)
547 * Fix crash when bad HTTP credentials are provided
548
549
550 Version 0.8.4 (2014/09/19)
551 ==========================
552
553 * "/instances-tags" to get the tags of all the child instances of a
554 patient/study/series with a single REST call (bulk tags retrieval)
555 * Configuration/Lua to select the accepted C-STORE SCP transfer syntaxes
556 * Fix reporting of errors in Orthanc Explorer when sending images to peers/modalities
557 * Installation of plugin SDK in CMake
558
559
560 Version 0.8.3 (2014/09/11)
561 ==========================
562
563 Major
564 -----
565
566 * Creation of ZIP archives for media storage, with DICOMDIR
567 * URIs to get all the children of a given resource in a single REST call
568 * "/tools/lookup" URI to map DICOM UIDs to Orthanc identifiers
569 * Support of index-only mode (using the "StoreDicom" option)
570 * Plugins can implement a custom storage area
571
572 Minor
573 -----
574
575 * Configuration option to enable HTTP Keep-Alive
576 * Configuration option to disable the logging of exported resources in "/exports"
577 * Plugins can retrieve the path to Orthanc and to its configuration file
578 * "/tools/create-dicom" now accepts the "PatientID" DICOM tag (+ updated sample)
579 * Possibility to set HTTP headers from plugins
580 * "LastUpdate" metadata is now always returned for patients, studies and series
581
582 Maintenance
583 -----------
584
585 * Refactoring of HttpOutput ("Content-Length" header is now always sent)
586 * Upgrade to Mongoose 3.8
587 * Fixes for Visual Studio 2013 and Windows 64bit
588 * Fix issue 16: Handling of "AT" value representations in JSON
589 * Fix issue 17
590
591
592 Version 0.8.2 (2014/08/07)
593 ==========================
594
595 * Support of the standard text encodings
596 * Hot restart of Orthanc by posting to "/tools/reset"
597 * More fault-tolerant commands in Lua scripts
598 * Parameter to set the default encoding for DICOM files without SpecificCharacterSet
599 * Fix of issue #14 (support of XCode 5.1)
600 * Upgrade to Google Test 1.7.0
601
602
603 Version 0.8.1 (2014/07/29)
604 ==========================
605
606 General
607 -------
608
609 * Access patient module at the study level to cope with PatientID collisions
610 * On-the-fly conversion of JSON to XML according to the HTTP Accept header
611 * C-Echo SCU in the REST API
612 * DICOM conformance statement available at URI "/tools/dicom-conformance"
613
614 Lua scripts
615 -----------
616
617 * Lua scripts can do HTTP requests, and thus can call Web services
618 * Lua scripts can invoke system commands, with CallSystem()
619
620 Plugins
621 -------
622
623 * Lookup for DICOM UIDs in the plugin SDK
624 * Plugins have access to the HTTP headers and can answer with HTTP status codes
625 * Callback to react to the incoming of DICOM instances
626
627 Fixes
628 -----
629
630 * Fix build of Google Log with Visual Studio >= 11.0
631 * Fix automated generation of the list of resource children in the REST API
632
633
634 Version 0.8.0 (2014/07/10)
635 ==========================
636
637 Major changes
638 -------------
639
640 * Routing images with Lua scripts
641 * Introduction of the Orthanc Plugin SDK
642 * Official support of OS X (Darwin) 10.8
643
644 Minor changes
645 -------------
646
647 * Extraction of tags for the patient/study/series/instance DICOM modules
648 * Extraction of the tags shared by all the instances of a patient/study/series
649 * Options to limit the number of results for an incoming C-FIND query
650 * Support of kFreeBSD
651 * Several code refactorings
652 * Fix OrthancCppClient::GetVoxelSizeZ()
653
654
655 Version 0.7.6 (2014/06/11)
656 ==========================
657
658 * Support of JPEG and JPEG-LS decompression
659 * Download DICOM images as Matlab/Octave arrays
660 * Precompiled headers for Microsoft Visual Studio
661
662
663 Version 0.7.5 (2014/05/08)
664 ==========================
665
666 * Dynamic negotiation of SOP classes for C-STORE SCU
667 * Creation of DICOM instances using the REST API
668 * Embedding of images within DICOM instances
669 * Adding/removal/modification of remote modalities/peers through REST
670 * Reuse of the previous SCU connection to avoid unnecessary handshakes
671 * Fix problems with anonymization and modification
672 * Fix missing licensing terms about reuse of some code from DCMTK
673 * Various code refactorings
674
675
676 Version 0.7.4 (2014/04/16)
677 ==========================
678
679 * Switch to openssl-1.0.1g in static builds (cf. Heartbleed exploit)
680 * Switch to boost 1.55.0 in static builds (to solve compiling errors)
681 * Better logging about nonexistent tags
682 * Dcm4Chee manufacturer
683 * Automatic discovering of the path to the DICOM dictionaries
684 * In the "DicomModalities" config, the port number can be a string
685
686
687 Version 0.7.3 (2014/02/14)
688 ==========================
689
690 Major changes
691 -------------
692
693 * Fixes in the implementation of the C-FIND handler for Query/Retrieve
694 * Custom attachment of files to patients, studies, series or instances
695 * Access to lowlevel info about the attached files through the REST API
696 * Recover pixel data for more transfer syntaxes (notably JPEG)
697
698 Minor changes
699 -------------
700
701 * AET comparison is now case-insensitive by default
702 * Possibility to disable the HTTP server or the DICOM server
703 * Automatic computation of MD5 hashes for the stored DICOM files
704 * Maintenance tool to recover DICOM files compressed by Orthanc
705 * The newline characters in the configuration file are fixed for GNU/Linux
706 * Capture of the SIGTERM signal in GNU/Linux
707
708
709 Version 0.7.2 (2013/11/08)
710 ==========================
711
712 * Support of Query/Retrieve from medInria
713 * Accept more transfer syntaxes for C-STORE SCP and SCU (notably JPEG)
714 * Create the meta-header when receiving files through C-STORE SCP
715 * Fixes and improvements thanks to the static analyzer cppcheck
716
717
718 Version 0.7.1 (2013/10/30)
719 ==========================
720
721 * Use ZIP64 only when required to improve compatibility (cf. issue #7)
722 * Refactoring of the CMake options
723 * Fix for big-endian architectures (RedHat bug #985748)
724 * Use filenames with 8 characters in ZIP files for maximum compatibility
725 * Possibility to build Orthanc inplace (in the source directory)
726
727
728 Version 0.7.0 (2013/10/25)
729 ==========================
730
731 Major changes
732 -------------
733
734 * DICOM Query/Retrieve is supported
735
736 Minor changes
737 -------------
738
739 * Possibility to keep the PatientID during an anonymization
740 * Check whether "unzip", "tar" and/or "7-zip" are installed from CMake
741
742
743 Version 0.6.2 (2013/10/04)
744 ==========================
745
746 * Build of the C++ client as a shared library
747 * Improvements and documentation of the C++ client API
748 * Fix of Debian bug #724947 (licensing issue with the SHA-1 library)
749 * Switch to Boost 1.54.0 (cf. issue #9)
750 * "make uninstall" is now possible
751
752
753 Version 0.6.1 (2013/09/16)
754 ==========================
755
756 * Detection of stable patients/studies/series
757 * C-FIND SCU at the instance level
758 * Link from modified to original resource in Orthanc Explorer
759 * Fix of issue #8
760 * Anonymization of the medical alerts tag (0010,2000)
761
762
763 Version 0.6.0 (2013/07/16)
764 ==========================
765
766 Major changes
767 -------------
768
769 * Introduction of the C++ client
770 * Send DICOM resources to other Orthanc instances through HTTP
771 * Access to signed images (instances/.../image-int16)
772 (Closes: Debian #716958)
773
774 Minor changes
775 -------------
776
777 * Export of DICOM files to the host filesystem (instances/.../export)
778 * Statistics about patients, studies, series and instances
779 * Link from anonymized to original resource in Orthanc Explorer
780 * Fixes for Red Hat and Debian packaging
781 * Fixes for history in Orthanc Explorer
782 * Fixes for boost::thread, as reported by Cyril Paulus
783 * Fix licensing (Closes: Debian #712038)
784
785 Metadata
786 --------
787
788 * Access to the metadata through the REST API (.../metadata)
789 * Support of user-defined metadata
790 * "LastUpdate" metadata for patients, studies and series
791 * "/tools/now" to be used in combination with "LastUpdate"
792 * Improved support of series with temporal positions
793
794
795 Version 0.5.2 (2013/05/07)
796 ==========================
797
798 * "Bulk" Store-SCU (send several DICOM instances with the same
799 DICOM connection)
800 * Store-SCU for patients and studies in Orthanc Explorer
801 * Filtering of incoming DICOM instances (through Lua scripting)
802 * Filtering of incoming HTTP requests (through Lua scripting)
803 * Clearing of "/exports" and "/changes"
804 * Check MD5 of third party downloads
805 * Faking of the HTTP methods PUT and DELETE
806
807
808 Version 0.5.1 (2013/04/17)
809 ==========================
810
811 * Support of RGB images
812 * Fix of store SCU in release builds
813 * Possibility to store the SQLite index at another place than the
814 DICOM instances (for performance)
815
816
817 Version 0.5.0 (2013/01/31)
818 ==========================
819
820 Major changes
821 -------------
822
823 * Download of modified or anonymized DICOM instances
824 * Inplace modification and anonymization of DICOM series, studies and patients
825
826 Minor changes
827 -------------
828
829 * Support of private tags
830 * Implementation of the PMSCT_RLE1 image decoding for Philips modalities
831 * Generation of random DICOM UID through the REST API (/tools/generate-uid)
832
833
834 Version 0.4.0 (2012/12/14)
835 ==========================
836
837 Major changes
838 -------------
839
840 * Recycling of disk space
841 * Raw access to the value of the DICOM tags in the REST API
842
843 Minor changes
844 -------------
845
846 * Protection of patients against recycling (also in Orthanc Explorer)
847 * The DICOM dictionaries are embedded in Windows builds
848
849
850 Version 0.3.1 (2012/12/05)
851 ==========================
852
853 * Download archives of patients, studies and series as ZIP files
854 * Orthanc now checks the version of its database schema before starting
855
856
857 Version 0.3.0 (2012/11/30)
858 ==========================
859
860 Major changes
861 -------------
862
863 * Transparent compression of the DICOM instances on the disk
864 * The patient/study/series/instances are now indexed by SHA-1 digests
865 of their DICOM Instance IDs (and not by UUIDs anymore): The same
866 DICOM objects are thus always identified by the same Orthanc IDs
867 * Log of exported instances through DICOM C-STORE SCU ("/exported" URI)
868 * Full refactoring of the DB schema and of the REST API
869 * Introduction of generic classes for REST APIs (in Core/RestApi)
870
871 Minor changes
872 -------------
873
874 * "/statistics" URI
875 * "last" flag to retrieve the last change from the "/changes" URI
876 * Generate a sample configuration file from command line
877 * "CompletedSeries" event in the changes API
878 * Thread to continuously flush DB to disk (SQLite checkpoints for
879 improved robustness)
880
881
882 Version 0.2.3 (2012/10/26)
883 ==========================
884
885 * Use HTTP Content-Disposition to set a filename when downloading JSON/DCM
886 * URI "/system" for general information about Orthanc
887 * Versioning info and help on the command line
888 * Improved logging
889 * Possibility of dynamic linking against jsoncpp, sqlite, boost and dmctk
890 for Debian packaging
891 * Fix some bugs
892 * Switch to default 8042 port for HTTP
893
894
895 Version 0.2.2 (2012/10/04)
896 ==========================
897
898 * Switch to Google Log
899 * Fixes to Debian packaging
900
901
902 Version 0.2.1 (2012/09/28)
903 ==========================
904
905 * Status of series
906 * Continuous Integration Server is up and running
907 * Ready for Debian packaging
908
909
910 Version 0.2.0 (2012/09/16)
911 ==========================
912
913 Major changes
914 -------------
915
916 * Renaming to "Orthanc"
917 * Focus on security: Support of SSL, HTTP Basic Authentication and
918 interdiction of remote access
919 * Access to multi-frame images (for nuclear medicine)
920 * Access to the raw PNG images (in 8bpp and 16bpp)
921
922 Minor changes
923 -------------
924
925 * Change of the licensing of the "Core/SQLite" folder to BSD (to
926 reflect the original licensing terms of Chromium, from which the
927 code derives)
928 * Standalone build for cross-compilation
929
930
931 Version 0.1.1 (2012/07/20)
932 ==========================
933
934 * Fix Windows version
935 * Native Windows build with Microsoft Visual Studio 2005
936 * Add path to storage in Configuration.json
937
938
939 Version 0.1.0 (2012/07/19)
940 ==========================
941
942 * Initial release