2.4.0#
Changes#
- Removed support for Python 3.6 (EOL since December 2021) 
Enhancements#
- Added attribute - alphabetic(#1634)
- Added value validation for numerical VRs, add type validation for all validated VRs (#1414) 
- CLI commands now accept pydicom charset test files and CLI help shows Python Version (#1674) 
- Added support for Python 3.11 (#1658) 
- Added - ISfloatto allow non-strict reading of existing files with float IS values (#1661)
- Improved speed of creating and accessing highly nested structures (#1728, #1734) 
- Switched to a pyproject.toml build process (#1792) 
- Updated DICOM and UID dicts to DICOM 2023b (#1803) 
Fixes#
- Fixed length validation of DS values with maximum length without a leading zero (#1632) 
- Increased download speed with progress bar for test data (#1611) 
- Fixed crash due to invalid private creator (#1638) 
- Fixed extremely long BytesLengthException error messages (#1683) 
- In codify, ensure unique variable names for DICOM keywords repeated in sequences, and handle unicode characters correctly (#1670) 
- Fixed handling of some invalid values in - to_json_dict()if suppress_invalid_tags is set to True (#1693)
- Fixed reading of data with 8 bits allocated, encoded in Big Endian transfer syntax using VR - OW(#1680)
- Fixed crash if reading regular dataset that has the SOP Class of a DICOMDIR (#1702) 
- Fixed wrong waveform data calculation when as_raw=False and baseline!=0 (#1667) 
- Fixed reading LUTData to expected size (#1747) 
- Fixed handling of AT VRs when codifying data elements (#1738) 
Pydicom Internals#
- In test suites, renamed ‘setup’ and ‘teardown’ methods, deprecated starting in pytest 7.2 
- Use own fork of CharPyLS to handle builds with Python 3.11 (#1788) 
