v0.7.0
DICOM-rs 0.7.0
Today a major edition of DICOM-rs is released. Version 0.7.0 encompasses a new array of changes to correct existing quirks in the API and make way for grater capabilities. It is also not without new features, improvements and a few bug fixes.
Changes
- [core,dictionary-builder] Data element dictionary entries now provide a
VirtualVr
instead of a specific value representation (#478) - [core] DICOM date/time value types were revamped to optionally include the time zone offset, affecting function signatures around it (#453 @jmlaka)
- [encoding]
SpecificCharacterSet
is now an opaque struct type instead of an enum (#489) - [encoding] Monochrome reinterpretation for pixel data readers was relaxed to no longer require converting monochrome1 to monochrome2 (#498)
- [encoding]
PixelDataObject
trait now has methodphotometric_interpretation
(#497) - [ul]
Pdu
is now aware of user identity negotiation variables (#402 @nicholasrussell) - [ul]
Pdu::short_description
now returns animpl Display
(#488) - [parser] Parser
IntoTokens
trait was expanded to support options, namely whether to discard sequence lengths (#456) - [object] Missing type parameter in
FileMetaTable::set_transfer_syntax
was added to conform withTransferSyntax
type parameters (#485) - [pixeldata]
openjp2
is no longer added by default when usingdicom-pixeldata
. Users interested in JPEG 2000 need to enable eitheropenjp2
oropenjpeg-sys
(#449) - Updated
snafu
to 0.8 (#450) - Removed contents which were already deprecated in previous versions (#458)
New
- [ul] Add Promiscuous mode in server association options (#500 @nickamzol)
- [parser] add
::new_with_ts
functions (#494) - [object] New functionality for mutating an object's element values at an arbitrary attribute (#471 @naterichman)
- [object] Add method for changing an object's character set (#456 @thomas-tribus)
- [object] Baseline capability for private element look-up and insertion is now available (#508 @naterichman)
- [storescp] Update CLI app arguments to include promiscuous mode (#510)
Fixes
- [parser] Correct VR interpretation dependent on Pixel Representation (#462 @thomas-tribus)
- [findscu] Fix nonconforming status matching in response objects (#481)
- [ul] Fix docs in ClientAssociation (#484)
Enhancements
- [dictionary-std] Update dictionary entries (#509)
- [ts-registry] Fix pixel sample rearrangement in RLE lossless (#496)
- [ts-registry] Improved JPEG encoding attribute hinting (#497)
- [ts-registry] Bump jpeg2k to 0.7 (#502, #506)
- [pixeldata] Add lookups into shared/per frame functional groups (#437 @naterichman)
- [pixeldata] Trim
\0
characters from photometric interpretation (#451 @dougyau) - [pixeldata] Update gdcm-rs to 0.6 (#468)
- [pixeldata,toimage,fromimage] Update image lib (#491 @leonz)
- [json] Allow arbitrary element order for
JsonDataElement
(#459 @feliwir) - [json] Allow null for string values (#464 @feliwir)
- [json] Skip bulk data URI when deserializing JSON (#472 @feliwir)
- [parent] Re-export more Cargo features from pixeldata (#469)
- [storescp] Handle
Pdu::AbortRQ
(#474 @jennydaman) - [storescp] Improve storescp to handle multiple p-data values (#487)
Miscellaneous
- [ts-registry] Bump jpeg2k dependency (#502)
- [json] Update base64 to 0.22 (#467)
- [dump] Remove term_size in favor of terminal_size (#466)
- [storescp] Replace hard-coded UIDs in transfer.rs with
dicom_dictionary_std::uids::-
(#475 @jennydaman) - [dictionary-builder] update heck to 0.5 (#495)
- Code cleanup (beta toolchain checks) (#482)
- Bump eyre from 0.6.9 to 0.6.12 (#492)
- Maintenance lint fixes (#505)
- Dependency updates (#507)
π¦ Updated crates
Starting from this release, all crates with breaking changes will have their version set to the project version. For instance, rather than bumping dicom-pixeldata
from 0.2.2 to 0.3.0, it will be set to 0.7.0.
This is to reduce the confusion of certain crates in the ecosystem appearing to be outdated when they are not, as well as to better clarify which versions are expected to be compatible with which crate in the ecosystem.
dicom-core
0.7.0dicom-dictionary-std
0.7.0dicom-encoding
0.7.0dicom-parser
0.7.0dicom-transfer-syntax-registry
0.7.0dicom-ul
0.7.0dicom-scpproxy
0.7.0dicom-object
0.7.0dicom-dump
0.7.0dicom-json
0.7.0dicom-pixeldata
0.7.0dicom-echoscu
0.7.0dicom-storescu
0.7.0dicom-storescp
0.7.0dicom-findscu
0.7.0dicom-toimage
0.7.0dicom-fromimage
0.7.0dicom-dictionary-builder
0.7.0dicom
0.7.0
π Thanks
Acknowledging that DICOM-rs can only grow at this pace with the active collaboration from the community, it is worth highlighting that version 0.7.0 had the highest number of new contributors in a DICOM-rs release yet.
Thank you all!
Full Changelog: v0.6.3...v0.7.0