The above release files should be verified using the PGP signatures and the
project release KEYS. See
for a description of using the PGP and KEYS files for
verification. Checksums (SHA256, SHA512) are also provided as
alternative verification methods.
TDML Runner Cross Validation
It is now possible to use the TDML runner with tests with different DFDL implementations, including
the IBM DFDL implementation. DFDL implementations must create a class named
TDMLDFDLProcessorFactory and implement the abstract functions. A new implementation
attribute is added to the tdml:parserTestCase and tdml:unparserTestCase elements to define
which tests an implementation is known to work with.
[DAFFODIL-723] Compatibility: Cross Validation test rig for DFDL and IBM implementation
New in the TDML runner is type-aware infoset comparisons. One can now provide an xsi:type
attribute in infoset elements, allowing the TDML runner to determine if two elements are logically
the same even if there infoset values may differ.
[DAFFODIL-2035] prefixLengthType and element lengthUnits only needs to be the same when prefixIncludePrefixLength
The following changes have been made which affect compatibility with past releases:
Infoset elements with type xs:dateTime and xs:time no longer contain
milliseconds precision if the milliseconds value is 0.
[DAFFODIL-2005] dateTime types without milliseconds precision should not output .000000
Previous versions of Daffodil automatically coerced the result of a DFDL expression to the expected
type if they differed. This is incorrect behavior according to the DFDL specification, and now
results in a warning when such coercion is required. Instead, expressions must explicitly cast the
result type to the expected type. This auto-coercion + warning behavior is deprecated and will
change to a schema definition error in a future release.
[DAFFODIL-2021] Daffodil expressions for properties should not auto-coerce to property type. Test BC000.
[DAFFODIL-1044] DPath not finding obvious type errors involving constants at compile time
[DAFFODIL-2054] Change coerecion errors to warnings and eventually deprecate
Elements with a type of xs:hexBinary now ignore the dfdl:byteOrder property and always parse
data as if it were bigEndian. The result is that hexBinary bytes where
dfdl:byteOrder="littleEndian" now appear reversed when compared to previous releases.
[DAFFODIL-2019] daf extension property to turn on/off “hexBinary with bits” lengthUnits behavior