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.
Explicit Length Choices
Support is added for the property dfdl:choiceLengthKind="explicit" and
dfdl:choiceLength. Previously, Daffodil ignored the choiceLengthKind
property, always acting as if it had the value of implicit. The property is
now required to be defined in scope for all choices.
A new dfdlx namespace (http://www.ogf.org/dfdl/dfdl-1.0/extensions) was
created to support Daffodil extensions to the DFDL specification. The existing
daf namespace is deprecated and all uses should be switched to dfdlx.
Some properties, such as the layering extension properties are also moved to
this namespace with backwards compatibility supported for now. Extensions
should be considered experimental–support may change or be removed in a
[DAFFODIL-2096] Add dfdlx extensions namespace prefix. Convert existing extensions to this namespace.
A new DFDL property named dfdlx:emptyElementParsePolicy is added to
control the behavior of empty string and hexBinary elements. This property
allows one to switch between different behaviors for empty elements which
correspond to currently described behavior in the DFDL v1.0 specification
document, and an alternate behavior planned for future inclusion in the DFDL
v1.0 specification which also increase compatibility with IBM DFDL.
Daffodil now does a better job at validating attribute-, short-, and
element-form DFDL properties, which will now result in an error if unknown
properties are used, mostly commonly caused by typos. Additionally, if DFDL
properties are ignored (e.g. dfdl:textPattern is provided when
dfdl:lengthKind is not “pattern”), Daffodil will now provide a warning.
[DAFFODIL-2163] False warning about unused dfdl:choiceBranchKey on direct dispatch array
The following changes have been made which affect compatibility with past releases:
The behavior of separators has been revised to better conform to the DFDL
specification, which enables more DFDL schemas to work without Daffodil
specific modifications. Schemas that relied on the previous non-comformant
behavior may require changes.
The dfdl:choiceLengthKind property must now be defined in scope of all
xs:choice’s. Allowed values are either implicit or explicit. The
previous behavior always treated the property as if it had the value of
The daf namespace has been deprecated and replaced with the dfdlx
namespace. Some properties were also moved to the new dfdlx namespace.
The following properties/functions should be updated to use the new
namespace, with backwards compatibility supported for now:
DFDL Schema Compatibility
Many changes and bug fixes specifically made to improve compatibility with more
DFDL schemas. With these fixes and features, the schemas
now work with Daffodil.
[DAFFODIL-784] Update default properties in examples to have missing required properties for portability.