On December 21st 2023 fo-dicom 5.1.2 was officially released.
This release contains the following bugfixes:
- Fix issue where extracting a string from a DICOM dataset could return null if the tag was present but empty
- Fix issue where stopping a DICOM server left the unused services cleanup task running (#1562)
- Fix incorrect values returned from
DicomEncoding.GetCharset()
(#1624) - Fix issue where reading a DICOM file with large pixel data (> 2 GB) did not work (#1453)
- Fix issue where a DICOM server could stop accepting incoming connections if MaxClientsAllowed is configured and one or more connections never close (#1468)(#1670)
- Fix issue where a DICOM server could leak memory when one or more connections never close (#1594)
- Fix the issue of 'DicomAttribute not generated in XML when element is of type DicomFragmentSequence'
- Fix issue with missing known DicomTransferSyntax from static DicomTransferSyntax.Entries dictionary (#1644)
This release contains the following changes:
- Update to DICOM Standard 2023e
- fo-dicom.Imaging.Desktop supports net6.0-windows and net7.0-windows targets (#1318)
- Added private tags mentioned in RayStation 11A DICOM Conformance Statement (#1612)
- Extension methods
DicomDataset.WriteToLog
andDicomFile.WriteToLog
now also accept aMicrosoft.Extensions.Logging.ILogger
- Optimize the common case of adding a single
DicomItem
to aDicomDataset
by adding an overloadDicomDataset.Add(DicomItem item)
(#1604) - Immediately throw an exception if DICOM server synchronously fails to start (#1562)
- Add the possibility to configure TCP buffer sizes (#1564)
- Tolerate
Specific Character Set
values misspelled as "ISO-IR ###" additionally to "ISO IR ###" - Prevent adding duplicate presentation contexts to an association request (#1596)
- Improve robustness of DicomService when presented with HTTP requests. Fail early if the PDU type is not recognized (#1678)
- Added IEquatable implementation and equality operators for DicomDataset class
There are the following breaking changes from version 5.1.1 to version 5.1.2
- Configuration of
MaxClientsAllowed
must now be done via theconfigure
parameter ofIDicomServerFactory.Create(..)
instead of using theOptions
property of aDicomServer
. IServiceCollection.AddDicomServer(Action<DicomServiceOptions> configure)
was changed toIServiceCollection.AddDicomServer(Action<DicomServerOptions> configure)