The released versions correspond to PyPi releases.
dicom-validator versions follow Semantic Versioning.
Version 0.8.2 (2026-04-12)
Fixes Windows executable and API documentation.
- added convenience method
EditionReader.dicom_info_for_editionfor easier usage as API, adapted the (incorrect) documentation (see #258)
- Added missing dependencies in Windows executables
- Automated smoke test for Windows executables in GitHub action
Version 0.8.1 (2026-04-04)
Fixes bug in handling "shall not be present" condition.
- tags with a non-fulfilled "shall not be present if" condition have been incorrectly shown as erroneous (see #258)
- updated the tests for current DICOM version 2026b
Version 0.8.0 (2025-12-24)
Reworked result handling, allowed and documented using the validator programmatically.
- removed support for Python 3.9
- added typing to production code
- the result dictionary generated by
IODValidator.validate()has changed to an instance ofValidationResult, and the log messages in the result have been replaced by error codes - changed
--revisionto--editionto conform to DICOM vocabulary, deprecated--revision; also renamedrevisiontoeditionelsewhere in function names - logging the errors has been decoupled from validation via an error handler argument
- do not count non-DICOM files as errors, if not using
--force-read
- added better support for using the validator programmatically
- added support for conditional enum values
- tags not allowed in multi-frame functional groups have been listed as errors twice (see #196)
- fixed handling of enum values for a specific tag
- fixed handling of multiple definitions for referenced enum values
- fixed handling of conditions in functional groups (see #226)
- fixed crash when looking up tags in functional groups with lazily-decoded DICOM files
- fixed error count for functional groups
- added initial documentation on
ReadTheDocs, including API documentation
- added Python 3.14 to the CI
Version 0.7.3 (2025-10-13)
Fixes handling of nested sequences.
- fixes to correctly evaluate SR documents (see #206):
- sequences defined recursively in the standard are now supported
- conditions for including macros inside a sequence are now evaluated on the correct level
- updated the tests for current DICOM version 2025d
Version 0.7.2 (2025-08-16)
Fixes parsing of some newer IODs and group macros.
- the error message for tags not allowed in Shared or Per-Frame Functional Groups has been made more specific
- several IODs in newer DICOM versions (17 out of 174) have not been parsed
- some of the IOD-specific group macros (4 of 27) have not been found (see #193)
- updated the tests for current DICOM version 2025c
Version 0.7.1 (2025-05-25)
Fixes condition parser problems with newest DICOM standard.
- fixed condition parser to work with current DICOM standard
- updated the tests for current version 2025b
Version 0.7.0 (2025-05-25)
Uses a grammar parser as condition parser.
- Python 3.8 has reached EOL and is no longer officially supported
- the condition parser now uses a grammar-based parser (pyparsing), which is more accurate, but also slower
- Condition parser: almost all parsable conditions are now correctly parsed, conditions which contain unparsable parts are now correctly ignored
Version 0.6.5 (2025-04-02)
Fixes an incompatibility with newer pydicom versions.
- support values of type list in addition to MultiValue (see #165)
- updated the tests for current version 2025a
Version 0.6.4 (2024-12-19)
Bugfix release.
- fixed handling of empty type 2 enumerated values (see #147)
- updated the tests for current version 2024e
- added CI tests for Python 3.13
Version 0.6.3 (2024-10-24)
Bugfix release.
- fixed possible
KeyErrorwhile checking functional group macros - handle conditions for not allowed tags ("Shall not be present if...")
- use the current DICOM standard (2024c) for testing
- make the package compatible to
pydicom3.0 - use trusted publisher for release (see https://docs.pypi.org/trusted-publishers/)
Version 0.6.2 (2024-08-09)
Fixes a regression in version 0.6.1.
- fixed a regression bug introduced in 0.6.1, leading to an exception during docbook parsing (see #119)
Version 0.6.1 (2024-08-05)
Some condition parser fixes.
- Attribute conditions that are hard to parse from the spec can be now defined manually.
- fixed
(0070,0024) Graphic Filledcondition (see #115) - fixed a case of mixed ORed values and conditions
- handle
, that isclause in condition
Version 0.6.0 (2024-07-15)
Adds Windows executable to GitHub release.
- iod_validator: added validation of values against value representations, with
a new option
-svrto suppress the above check - Infrastructure for building executable using
pyinstalleron Windows
- dump_dcm_info: suppressed invalid value warnings from dcmread
Version 0.5.1 (2024-04-06)
Fixes for enum checks.
- added checking of enumerated values defined for a specific index
- added CI tests for Python 3.13
- fixed exception on parsing some older DICOM standard versions
- fixed checking of multi-valued tags with defined enum values (see #87)
Version 0.5.0 (2024-01-25)
Adds enum checks and fixes a regression.
- added checking of most enumerated values (see #54)
- fixed a regression that causes an exception in the DICOM dump tool (see #77)
- added CI tests for Python 3.12
Version 0.4.1 (2023-11-09)
Mostly a bugfix release for the condition parser.
- removed official support for Python 3.7 which has reached end of life
- added handling of conditional includes (needed for SR documents) (see #39)
- an empty tag with type 1C was not handled as an error
- Condition parser: the value index for some expressions is now correctly parsed
- Condition parser: the parsing is now stricter to avoid some false positives
- Condition parser: condition for AT values have not been correctly parsed if the condition used equality comparison (see #58)
lxmlis used instead ofxmlto speed up the xml parsing
- use
pyproject.tomlinstead ofsetup.py - fixed possibility to run single tests
- use downloaded standard instead of fixture files for tests
Version 0.4.0 (2023-08-13)
Adds support for functional group macros.
- added support for validating functional group macros, see #27
- added option
--recreate-jsonfor testing purposes (per default, the json files are only recreated after adicom-validatorversion change)
- fixed handling of unverifiable and condition, see #32
- fixed too broad matching for "otherwise" condition, see #29
- fixed too strict handling without "otherwise" condition, see #38
- ignore private tags during validation (had been flagged as unexpected)
- Added pre-commit configuration for use with pre-commit hook
Version 0.3.5 (2023-07-24)
Fixes several issues with the condition parser.
- Condition parser: multiple or expressions handled correctly
- Condition parser: handle a few more complicated conditions
- Condition parser: handle conditions without values, see #15
- Condition parser: fixed handling of "zero" and "non-zero" values, see #17
- Condition parser: handle a few more simple expressions
- Condition parser: ignore equality conditions with missing values (caused crash, see #20)
- Removed support for Python 3.6, added support for Python 3.11
- Added release workflow
Version 0.3.4 (2021-11-22)
Fixes a regression introduced with the last release.
- fixed regression that broke the validator command line tool, see #9
Version 0.3.3 (2021-11-20)
This is a bugfix release.
- all tags including PixelData are now loaded to account for dependencies on PixelData (see #6)
Version 0.3.2 (2021-07-30)
Renamed from dcm-spec-tools to dicom-validator and moved into pydicom organization. No functional changes have been made in this release.
Version 0.3.1 (2021-01-24)
- Removed support for Python 2.7, 3.4 and 3.5
- dump_dcm_info: added --max-value-len (-ml) option to configure value display length
- dump_dcm_info: added possibility to dump several files or recurse directories
- dump_dcm_info: added option --show-image-data (-id) to also show the pixel data tag
- dump_dcm_info: added option --show-tags (-t) to show only specific tags
- all: added option --revision local to use latest locally installed revision
- handled empty rows in some editions (caused crash for 2019 edition)
- account for added columns in IOD and UID tables (see #3)
- changed CI to GitHub actions
Version 0.3.0 (2018-06-26)
(omitted some minor releases)
- validate_iods: consolidated / enhanced output
- fixed serialization of conditions
Version 0.2.0 (2018-04-23)
(omitted some minor releases)
- validate_iods: added parsing of condition for optional presence of tags
- validate_iods: added handling of
orcompound conditions - dump_dcm_info: added dumping of unknown tags
- all: download specs on demand instead of needing a separate command
- several fixes for condition handling
Version 0.1.0 (2016-12-18)
Initial release