The above release files should be verified using the PGP signatures and the project release KEYS. See verification instructions for a description of using the PGP and KEYS files for verification. A SHA512 checksum is also provided as an alternative verification method.
/etc/yum.repos.d/apache-daffodil.repo
with the following content:
Daffodil 2.1.0 is the first release of Daffodil as an Apache incubator project. This release includes relicensing the source to Apache v2, changing the namespace to org.apache.daffodil, and numerous bug fixes and DFDL feature additions to support more DFDL schemas.
This release contains changes which break compatibility with past releases. Please see the deprecation / compatibility notes section for more information.
Added support for binary packed decimal data types. In addition to standard
,
the dfdl:binaryNumberRep
property now also accepts values of bcd
,
packed
, and ibm4690Packed
to support Binary Coded Decimal, IBM 390
Packed Decimal, and IBM 4690 Packed Decimal, respectively. The
dfdl:binaryDecimalVirtualPoint
property applies for the appropriate types.
Also implemented are dfdl:binaryPackedSignCodes
and
dfdl:binaryNumberCheckPolicy
to configure the valid nibble values when
dfdl:binaryNumberRep
is packed
.
Multiple changes were made to support the move to the Apache incubator. This includes changes to the source directory structure, relicensing files to Apache v2, changing the project package to org.apache.daffodil, updating the build infrastructure to SBT 1.x, and adding TravisCI continuous integration support.
Previously, ambiguous path expressions (i.e. path expressions that could potentially reference multiple non-array elements of the same name) were forbidden and caused a schema definition error at schema compilation time. As of 2.1.0, such ambiguities are detected at compile time but are now only considered schema definition warnings. However, if a path expression ever evaluates to more than one non-array element at runtime, it will then be considered an error and cause a runtime schema definition error. This change allows for schemas that appear to have ambiguous path expressions, but in only ever evaluate to a single element in practice.
Changes were made to the TDML runner to support an embedded defaultConfig option and to verify expected schema definition warnings.
The way bitOrder, byteOrder, and encoding consistency was checked required fairly complicated logic at schema compilation time. Not only was this logic difficult to validate, which led to bugs, it also contributed to slow schema compilation times. This complex logic was removed and replaced with an efficient mechanism for runtime validation. This reduced code complexity, fixerd some bugs, and will facilitate future performance optimizations during schema compilation.
The XML infoset output (via the XMLTextInfosetOutputter) now writes an XML
declaration <?xml version="1.0" ... ?>
at the beginning of output. It also
ensures output is flushed at the end of writing, which should prevent issues
users reported of receiving only partial data.
As of 2.1.0, the following changes have been made which affect compatibility with past releases:
Package Organization Change
Now that Daffodil is an Apache incubator project, the package organization has been
changed from edu.illinois.ncsa
to org.apache.daffodil
.
Developers using the Daffodil Java and Scala API will need to update their
source code and SBT/Maven configurations to use the new organization.
Daffodil Extension daf
XML Namespace Change
The Daffodil extension daf
XML namespace has been modified to represent the
move to Apache, changing from
urn:ogf:dfdl:2013:imp:opensource.ncsa.illinois.edu:2012:ext
to
urn:ogf:dfdl:2013:imp:daffodil.apache.org:2018:ext
. Backwards compatibility
is maintained for schemas using the old daf
namespace, though it should be
considered deprecated. All future Daffodil extensions will only be supported in
the new namespace, so it is recommended that one update schemas to use the new
namespace.
Deprecation of built-in-formats.xsd
The built-in-formats.xsd file is a schema that defines a set defaults for a
wide array of DFDL properties. This file was intended for use only during
testing, but was errantly made available for use in real schemas. This was an
oversight, and so use of this schema will now result in a deprecation warning.
Instead, one should import/include
org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd
and set the
dfdl:format
ref value to GeneralFormat
to get a reasonable set of
default property values or define all necessary properties within a schema.