# DicomObjects.NET Release Notes

- ###### 8.40.1216.0

  1 change 14/05/2026

- YCbCrToRgb in jpeglossy if needed

- ###### 8.40.1215.0

  1 change 21/01/2026

- ForceSeekableStream regword added to avoid creating a "safe copy" and VFR support added (video)

- ###### 8.40.1214.0

  1 change 10/07/2025

- Add required package

- ###### 8.40.1213.0

  1 change 30/06/2025

- Fix PixelValuesByFrame method

- ###### 8.40.1212.0

  1 change 28/01/2025

- Fix the GDI PrintImage rotation issue and center PrinterImage output in bitmap file after rotation

- ###### 8.40.1211.0

  1 change 06/11/2024

- Fix for FormatException missing parameter in Validation

- ###### 8.40.1205.0

  1 change 15/03/2022

- ReceiveToDisk bugfix

- ###### 8.40.1204.0

  1 change 01/03/2022

- Duplicate TS in Accepted / Offered TS List Bugfix

- ###### 8.40.1203.0

  2 changes 01/03/2022

- J2K Padding fix
- MPEGLibraryLocation fix for ASP.NET

- ###### 8.40.1203.0

  1 change 01/03/2022

- J2K Padding fix

- ###### 8.40.1202.0

  1 change 08/02/2022

- Dictionary updated to 2022a

- ###### 8.40.1201.0

  2 changes 04/02/2022

- Support Async Operations Window in ASSOC-Req
- DicomImage.SubImage/PrinterImage/Bitmap method auto scale to match max D3D texture dimention based on feature level

- ###### 8.40.1201.0

  1 change 04/02/2022

- Support Async Operations Window in ASSOC-Req

- ###### 8.40.205.0

  1 change 30/12/2021

- MINT support added

- ###### 8.40.1199.0

  1 change 23/12/2021

- Final LTS for 4.0

- ###### 8.40.1200.0

  1 change 23/12/2021

- Last .NET CLR4.0 LTS build

- ###### 8.40.204.0

  5 changes 21/12/2021

- Adding video TS to default offered and accepted list
- DicomImage Add() method overloads to add attributes directly to underlying Dataset object
- DicomGlobal DefaultCacheMode for DicomDataSet and DicomImage added
- DicomImage.SetPixelData and SetPixelFile support both compressed and uncompressed pixel data
- Frame number parameter for SubImage, PrinterImage and Bitmap overloads begins with 1 (1-index)

- ###### 8.40.204.0

  1 change 21/12/2021

- Adding video TS to default offered and accepted list

- ###### 8.40.203.0

  1 change 22/11/2021

- BasicBitmap memory leak fix

- ###### 8.40.203.0

  6 changes 22/11/2021

- BasicBitmap memory leak fix
- Fixes for Read & Write behaviours
- Set Icon OriginalTS when reading
- Fix for recent bug in Association Request handler
- 3D Reference lines working again
- AttemptToFixHologicCompressedFrames ReadBehaviour added

- ###### 8.40.201.0

  1 change 13/10/2021

- OverwriteWithCorrectVR WriteBehaviour added

- ###### 8.40.200.0

  2 changes 04/10/2021

- Add DelayedSequenceLoad ReadBehaviour for on-demand sequence parsing
- Huge Optimization changes

- ###### 8.40.200.0

  1 change 04/10/2021

- Add DelayedSequenceLoad ReadBehaviour for on-demand sequence parsing

- ###### 8.40.131.0

  1 change 09/06/2021

- PolyShutter working

- ###### 8.40.130.0

  3 changes 04/05/2021

- DicomLabel TextLabelRendering option to control anti-aliasing
- Missing attributes in Dx SubImage fixed
- Fix for jumping frames in RealTimeCine

- ###### 8.40.130.0

  1 change 04/05/2021

- DicomLabel TextLabelRendering option to control anti-aliasing

- ###### 8.40.129.0

  1 change 24/02/2021

- Nuget package to include latest SharpDx references

- ###### 8.40.128.0

  1 change 16/02/2021

- MediaStorageSOPInstanceUID to match updated SOPInstanceUID for Lossy compression

- ###### 8.40.127.0

  8 changes 12/02/2021

- WriteBehaviours.ChangeLossyAttributes added
- Blt method in Dx mode
- SubImage Dx mode added
- DicomImage.CaptureBackColour to control background colour of PrinterImage, Bitmap and SubImage
- Support for 32 bit texture in Dx mode
- Fix for PixelData.Value after optimization changes
- Added Request property to Qido/Stow/Wado event args to expose the HttpRequestMessage object
- Stricter checks for mandatory attributes in PS

- ###### 8.40.127.0

  1 change 12/02/2021

- WriteBehaviours.ChangeLossyAttributes added

- ###### 8.40.126.0

  1 change 27/08/2020

- Descriptive error message when failing to decompress icon pixel data

- ###### 8.40.125.0

  4 changes 03/07/2020

- Minor fix on Concurrent license activation
- Added ForceImplicitVRForPrivateSequenceItem to tolerate bad DICOM data
- Add optional ReadBehaviour parameter to all Read methods
- ReadBehaviours.IgnoreAfterTag added

- ###### 8.40.125.0

  1 change 03/07/2020

- Minor fix on Concurrent license activation

- ###### 8.40.124.1

  1 change 08/05/2020

- Handle bad Frame Level Retrieve request with requested frame(s) greater than frame count

- ###### 8.40.123.0

  1 change 06/04/2020

- Dev version on Nuget

- ###### 8.40.122.0

  2 changes 03/04/2020

- DICOM dictionary 2020b update
- Support for bad DICOM multiframe data with missing fragment

- ###### 8.40.122.0

  1 change 03/04/2020

- DICOM dictionary 2020b update

- ###### 8.40.121.0

  1 change 28/02/2020

- Added support for Pen.DashPattern

- ###### 8.40.121.0

  6 changes 28/02/2020

- Added support for Pen.DashPattern
- fixed flipped/rotated shutter problem
- Add list of exceptions to ignore in ReadBehaviour
- fix for UID double dot validation - changed how we handle faulty NM data after pixel
- Added tolerance for bad JPEG encoding
- Added "StopReadingWhenGEAreZero" regword to cope with Dodgy NM images with junk data after private attribute

- ###### 8.40.120.0

  4 changes 20/06/2019

- Added Polygon Cut to 3D Image
- Detecting DICOM Preamble vulnerability
- Adding FlipState for Image LabelType
- DICOM data dictionary updated to 2019b

- ###### 8.40.120.0

  1 change 20/06/2019

- Added Polygon Cut to 3D Image

- ###### 8.40.111.0

  1 change 20/03/2019

- Font Style private Attributes Added, Added DicomValidationException.Errors property

- ###### 8.40.110.0

  3 changes 26/02/2019

- DICOM data dictionary updated to 2019a
- Private PS attribute for ArrowSize
- DicomGlobal.PreserveDoublePrecision property added for retaining double precision numbers

- ###### 8.40.110.0

  1 change 26/02/2019

- DICOM data dictionary updated to 2019a

- ###### 8.40.109.0

  1 change 23/11/2018

- Added new DataSet method to add existing DicomAttribute

- ###### 8.40.109.0

  10 changes 23/11/2018

- Added new DataSet method to add existing DicomAttribute
- DicomViewer.Clear method added
- Fixed missing BitsAllocated in PrinterImage Dx mode
- Avoid pixel padding when DicomImage.ExternalShader is applied. Requires testing
- Added DicomLicense.RemoveRamLicense method
- Handing FrameVOILUTSequence in Enhanced Imaging objects
- Added CPixelDataCompressedOnDemand.Clone method
- Label Rotation Minor Change - pending QA
- Documentation update for SubImage behaviour change
- Fixed back colour of ExternalShader

- ###### 8.40.108.0

  1 change 07/09/2018

- Helpfile updates

- ###### 8.40.107.0

  2 changes 31/08/2018

- Contrast Frame Averaging minor conversion bug fixed
- text label RotationMode.NoRotate fix

- ###### 8.40.107.0

  1 change 31/08/2018

- Contrast Frame Averaging minor conversion bug fixed

- ###### 8.40.106.0

  1 change 09/08/2018

- Full support for Mask Module Attributes.

- ###### 8.40.106.0

  5 changes 09/08/2018

- Full support for Mask Module Attributes.
- Include annotations when invoking RenderToArray.
- Removed D3D_FEATURE_LEVEL_11_1 from default list.
- Added UseD3DFeatureLevel_1 keyword.
- PrivateKeyword added

- ###### 8.40.105.0

  1 change 28/06/2018

- Licencing updates

- ###### 8.40.104.0

  1 change 27/06/2018

- InstalledLicenses to return All available licenses including expired

- ###### 8.40.103.0

  1 change 12/06/2018

- Signature based licensing restored

- ###### 8.40.102.0

  1 change 31/05/2018

- Using correct length for >8 bit data in SingleArrayData

- ###### 8.40.101.0

  1 change 31/05/2018

- DICOM data dictionary updated to 2018b

- ###### 8.40.100.0

  1 change 10/04/2018

- 2018a - Data Dictionary update

- ###### 8.40.55.0

  4 changes 14/03/2018

- Several small overlay fixes - especially for 12 bit output
- Only remove non-Pixel overlays from SubImage and fix RGB16=>MONO8 rendering
- Allow in plane flips for 2D/3D fusion (for LCMR)
- DicomImageFusion Rotate overload with Viewer parameter added

- ###### 8.40.55.0

  1 change 14/03/2018

- Several small overlay fixes - especially for 12 bit output

- ###### 8.40.54.0

  1 change 19/02/2018

- Support for FIPS and null image aspect ratio handling in DicomLabels

- ###### 8.40.53.0

  3 changes 16/02/2018

- Fix for wrong use of reallocated overly long arrays
- Added ability to pack compressed data back into formats with Bits Allocated not multiple of 8
- Fixed Overlay drawing error

- ###### 8.40.53.0

  1 change 16/02/2018

- Fix for wrong use of reallocated overly long arrays

- ###### 8.40.52.0

  1 change 07/12/2017

- Fixed invalid ROI calculation

- ###### 8.40.51.0

  1 change 23/11/2017

- Added new methods to obtain VM and VR values of a DICOM attribute as defined in the standard

- ###### 8.40.50.0

  1 change 02/11/2017

- BoundingBox calculation for Polygons and Polylines

- ###### 8.40.48.0

  2 changes 30/10/2017

- 2017d - Data Dictionary update
- Added support for dynamic PrivateCreator dictionary

- ###### 8.40.48.0

  1 change 30/10/2017

- 2017d - Data Dictionary update

- ###### 8.40.47.0

  1 change 25/10/2017

- PrinterImage improvements for 3D rendering and avoiding using image properties for Scalemode == Cell

- ###### 8.40.46.0

  1 change 24/10/2017

- Fixed bug when handling faulty J2K images with JP2 header

- ###### 8.40.45.0

  4 changes 11/10/2017

- Handling of MPR and fusion transparency even with colour tables
- DicomViewer.AdjustMultiRowsColumns method added
- Added DicomGlobal.DefaultSOPClasses property to get the default list of Abstract syntaxes
- Added DeactivateOnline method

- ###### 8.40.45.0

  1 change 11/10/2017

- Handling of MPR and fusion transparency even with colour tables

- ###### 8.40.44.0

  1 change 07/09/2017

- Improved handling of unknown user negotiation items

- ###### 8.40.44.0

  2 changes 07/09/2017

- Improved handling of unknown user negotiation items
- Ending logging with LogToStream method

- ###### 8.40.43.0

  2 changes 10/08/2017

- Improved image area redraw by working out exact clip region (DX mode)
- Allow import of level MP@HIGH 1440 as subset of MP@HL

- ###### 8.40.43.0

  1 change 10/08/2017

- Improved image area redraw by working out exact clip region (DX mode)

- ###### 8.40.42.0

  1 change 21/06/2017

- Avoiding mis-classifying icon pixel data when width & height are both odd.

- ###### 8.40.42.0

  2 changes 21/06/2017

- Avoiding mis-classifying icon pixel data when width & height are both odd.
- Fixed lossless codec for >8 bit data and Al != 0

- ###### 8.40.41.0

  1 change 07/06/2017

- Allow windowing of colour image from PS & other fixes

- ###### 8.40.40.0

  2 changes 24/05/2017

- Label adjustments and support for new VR's
- Removal of BouncyCastle and Security references

- ###### 8.40.40.0

  1 change 24/05/2017

- Label adjustments and support for new VR's

- ###### 8.40.39.0

  1 change 05/05/2017

- Fixed null exception on Viewer labels clear

- ###### 8.40.39.0

  2 changes 05/05/2017

- Fixed null exception on Viewer labels clear
- RealTime cine rate fixed

- ###### 8.40.38.0

  1 change 26/04/2017

- Synced changes to CLR 3.5

- ###### 8.40.37.0

  1 change 25/04/2017

- Added AssociationCount and RotationMode : CentreToRotationPoint

- ###### 8.40.36.0

  1 change 27/03/2017

- Dx background colour fixed

- ###### 8.40.35.0

  4 changes 21/03/2017

- Ignoring invalid empty BasicOffsetTable entries
- Improved video frame rate handling
- Allow changing of log level by using null for Path or stream
- Handling texture failure in magnifying glass feature

- ###### 8.40.35.0

  1 change 21/03/2017

- Ignoring invalid empty BasicOffsetTable entries

- ###### 8.40.34.0

  1 change 18/02/2017

- DicomViewer Refresh changes

- ###### 8.40.33.0

  1 change 17/02/2017

- DirectX improvements

- ###### 8.40.32.0

  1 change 17/02/2017

- Internal code tidy-up

- ###### 8.40.31.0

  1 change 08/02/2017

- Larger Tile sizes and better tile edge handling

- ###### 8.40.30.0

  1 change 08/02/2017

- Fix for SubImage of compressed images to set correct (uncompressed) TS

- ###### 8.40.29.0

  1 change 06/02/2017

- Fixes for Texture Tiling

- ###### 8.40.28.0

  1 change 02/02/2017

- Clip with Line LabelType correction

- ###### 8.40.27.0

  1 change 30/01/2017

- Effective rescaling and VOI LUT handling

- ###### 8.40.26.0

  1 change 30/01/2017

- Multi-texture support

- ###### 8.40.25.0

  1 change 30/01/2017

- CLR 3.5 support restored

- ###### 8.40.24.0

  1 change 27/01/2017

- Fix for JPEG rescaling

- ###### 8.40.23.0

  1 change 24/01/2017

- Restoring DicomLabel.Matrix method

- ###### 8.40.22.0

  1 change 23/01/2017

- Changes in SharpDx dependency

- ###### 8.40.21.0

  9 changes 19/01/2017

- Fixed multi-frame issue claiming to have the original number of frames with only the first frame present and the rest missing
- Protection against bad overlays in GDI Mode
- Ability to have Limited PHI in logs
- Ability to specify attributes to de-identify in logs
- Multiple efficiency improvements
- Fixed issues for encoding into MPEG
- Modification of FrameCount in transcoded images to match count actually available from MPEG data.
- Fixes for FFMPEG sequencing
- Adjustments in 3D Label ScaleMode

- ###### 8.40.21.0

  1 change 19/01/2017

- Fixed multi-frame issue claiming to have the original number of frames with only the first frame present and the rest missing

- ###### 8.40.20.0

  1 change 02/01/2017

- Fix for DirectX 3D Initialisation error

- ###### 8.40.19.0

  1 change 22/12/2016

- DICOM dictionary 2016e update

- ###### 8.40.18.0

  1 change 15/12/2016

- Video support using FFmpeg

- ###### 8.40.17.0

  1 change 05/12/2016

- Fixed MoveOriginator AET error

- ###### 8.40.16.0

  1 change 21/11/2016

- Option to reset ExternalShader changes and minor fixes

- ###### 8.40.15.0

  1 change 09/11/2016

- MPEG-4 profile compatibility check

- ###### 8.40.14.0

  1 change 04/11/2016

- Better handling of old JPEG lossless bug http://www.medicalconnections.co.uk/kb/Lossless_bug_in_old_COM_versions_of_DicomObjects

- ###### 8.40.13.0

  1 change 14/10/2016

- Handling over-sized texture errors in curved MPR

- ###### 8.40.12.0

  2 changes 13/10/2016

- Added support for Curved MPR
- Added functionality to support Web services

- ###### 8.40.12.0

  1 change 13/10/2016

- Added support for Curved MPR

- ###### 8.40.11.0

  1 change 12/10/2016

- JPEG-LS padding error

- ###### 8.40.11.0

  3 changes 12/10/2016

- JPEG-LS padding error
- Added 2D/3D fusion functionality
- DicomImage.Import supports multipage image

- ###### 8.40.10.0

  1 change 30/09/2016

- Fixed VR errors with Implicit LE Transfer syntax

- ###### 8.40.9.0

  1 change 29/09/2016

- Fixed errors on loadup

- ###### 8.40.8.0

  1 change 29/09/2016

- Fixed loadup error in CLR 3.5

- ###### 8.40.7.0

  1 change 28/09/2016

- Fixed data dictionary delay at startup

- ###### 8.40.6.0

  2 changes 27/09/2016

- Better recovery from DirectX errors including full TDR
- Improved initialisation time

- ###### 8.40.6.0

  1 change 27/09/2016

- Better recovery from DirectX errors including full TDR

- ###### 8.40.5.0

  1 change 21/09/2016

- Check for duplicate positions in BOT

- ###### 8.40.5.0

  2 changes 21/09/2016

- Check for duplicate positions in BOT
- Excluding potential exception when cloning DicomLabel in Dx mode

- ###### 8.40.4.0

  1 change 27/08/2016

- Updating output dlls in download package

- ###### 8.40.3.0

  3 changes 26/08/2016

- Colour to Mono PrinterImage support
- DicomLabel ruler length
- Handling of icons based on its ReadBehaviour

- ###### 8.40.3.0

  1 change 26/08/2016

- Colour to Mono PrinterImage support

- ###### 8.40.2.0

  1 change 12/08/2016

- DicomLabel Pen styles and Multiframe SubImage problem fixed

- ###### 8.40.1.0

  1 change 10/08/2016

- V8 Release Build