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.
<dependency>
<groupId>org.apache.daffodil</groupId>
<artifactId>daffodil-core_3</artifactId>
<version>4.2.0</version>
</dependency>libraryDependencies += "org.apache.daffodil" %% "daffodil-core" % "4.2.0"/etc/yum.repos.d/apache-daffodil.repo with the following content:
[apache-daffodil]
name=Apache Daffodil
baseurl=https://apache.jfrog.io/artifactory/daffodil-rpm/
enabled=1
gpgkey=https://downloads.apache.org/daffodil/KEYS
gpgcheck=1
repo_gpgcheck=0sudo dnf install apache-daffodilThis release focused on bugs fixed and performance improvements. A number of changes resulted in deprecation or backwards incompatible changes. See Deprecation/Compatibility section for more details.
This release requires Java 17 or newer, and Scala 3.3.x. It was tested with Java 17, 21, and 25, and Scala 3.3.7. We recommend Java 25 for the best performance.
Of note is the addition of a new infosetWalkerMode property that can be used
provide performance improvements in some schemas that aren't very large. Note
that in cases of large infosets or if memory is a concern, the default
infosetWalkerMode of "streaming" should be used.
infosetWalkerMode to "streaming"[DAFFODIL-2909] - stringAsXML: TDML XML Comparison fails on mixed content XML or other non-DFDL-conforming XML
Previous versions of Daffodil used the ScalaXMLInfosetInputter/Outputter as the default inputter/outputter for TDML Runner, this version changed it to XMLTextInfosetInputter/Outputter since it supports the stringsAsXml feature. Note that for this implementation, we check the actual infoset for the presence of XMLTextInfoset.stringAsXML (currently stringAsXML) and don't normalize CRLF to LF for that element
[DAFFODIL-182] - option for having xsi:type added to infoset
Previous versions of Daffodil could sometimes use scientific notation when outputting elements with an xs:decimal type, which XSD does not allow. Daffodil now always outputs xs:decimal types using standard decimal notation without any exponent part.
The following dependencies have been added, updated, or removed: