title: 3.6.0 release: final apache: true date: 2023-11-03 summary: > Miscellanous bug fixes
source-dist: - “apache-daffodil-3.6.0-src.zip”
binary-dist: - “apache-daffodil-3.6.0-bin.tgz” - “apache-daffodil-3.6.0-bin.zip” - “apache-daffodil-3.6.0-bin.msi” - “apache-daffodil-3.6.0-1.noarch.rpm”
This release focused primarily on bug fixes. A number of changes resulted in deprecation or backwards incompatible changes. See the Deprecation/Compatibility section for more details.
dfdlx:repType
can no longer reference primitive types (e.g. xs:int
). Instead, a global simple type definition should be created which has a base of the primitive type.
{% jira 2211 %}
The dfdlx:repType
property now must reference a type with an underlying primitive type derived from xs:integer
, and elements that define dfdlx:repType
must have an underlying primitive type of xs:string
{% jira 2738 %} {% jira 2809 %}
dfdlx:repType
, dfdlx:repValues
, and dfdlx:repValueRanges
are now ignored if referenced on xs:simpleType
s that are referenced from xs:unions
. Instead, unions should be combined into a single simple type with the combined representation type and values properties.
{% jira 2211 %}
The dfdlx:inputTypeCalc
and dfdlx:outputTypeCalc
properties and functions have been removed. Instead, one should use dfdlx:repType
with dfdlx:repValues
and dfdlx:repValueRanges
.
{% jira 2211 %}
Resolving relative import/include schemaLocation
paths absolutely is now deprecated and will output a warning, and support may eventually be removed. For example, a common import is:
<import schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd" />
Although this path is relative, previous versions of Daffodil allowed this to be found on the classpath absolutely, as if it started with a slash. This behavior is deprecated. If a schemaLocation
is expected to be found on the classpath and not relative to the importing file, then it should start with a slash, for example:
<import schemaLocation="/org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd" />
Daffodil still supports the old behavior and will look up relative schemaLocation
paths absolutely, but will output a schema definition warning. Future versions of Daffodil may change this to an error.
{% jira 2828 %}
Support for importing edu/illinois/ncsa/daffodil/xsd/built-in-formats.xsd
has been removed. Schemas should instead import /org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd
and change dfdl:format
to reference GeneralFormat
{% jira 2828 %}
Assert.usage()
now throws a UsageException
instead of an Abort on usage errors. Compiler.forLanguage()
, DataProcessor.parse()
, DataProcessor.unparse()
and ProcessorFactor.onPath()
, when isError
is true, throws a UsageError
, which wraps an IllegalStateException
, unlike before where it threw an Abort.
{% jira 2072 %}
The following dependencies have been added or updated:
Core
CLI
Schematron Validator
Logging
Changes to Transitive Dependencies