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