Skip to content

Commit

Permalink
Final changes for 3.10.0 release
Browse files Browse the repository at this point in the history
Daffodil 3.10.0 fixed some bugs that may require small updates to some
schemas that had been relying on incorrect behavior. This commit
emphasizes these changes in the release notes.
  • Loading branch information
Josh Adams authored and jadams-tresys committed Jan 21, 2025
1 parent 161803a commit dcb46be
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 15 deletions.
44 changes: 34 additions & 10 deletions site/_releases/3.10.0.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
title: "3.10.0"
release: "rc1"
release: "final"
apache: true
date: 2025-01-13
date: 2025-01-17
summary: >
Bug fixes and performance improvements
Expand All @@ -23,7 +23,31 @@ validation during schema compilation that has resulted in some large schemas
compilation time dropping from more than 2 minutes to under 20 seconds.


### New Features
### New daffodil-tdml-junit library

This removes a lot of boilerplate and duplications when declaring test cases.
Test suites can now be defined as follows:

```
object MyTests extends TdmlSuite {
val tdmlResource = "/resource/path/to/tests.tdml"
}
class MyTests extends TdmlTests {
val tdmlSuite = MyTests
@Test def test1 = test
@Test def test2 = test
@Test def test3 = test
}
```

Note that this requires the test name to be identical to the test name in the
TDML file.

* {% jira 2958 %} TDML Runner needs feature to run test using method name as test name

### Additional New Features

* {% jira 2736 %} Need warning when multiple child elements with same name
* {% jira 2810 %} option to escalate schema definition warnings to errors
Expand Down Expand Up @@ -74,13 +98,6 @@ compilation time dropping from more than 2 minutes to under 20 seconds.
* {% jira 2797 %} Make Runner final
* {% jira 2952 %} Update Github Actions to support newer version of macOS
* {% jira 2956 %} Update Website from updates to CLI arguments and new env variable
* {% jira 2958 %} TDML Runner needs feature to run test using method name as test name

This removes a lot of boilerplate when declaring test cases. Essentially this:
`@Test def someTestName(): Unit = runner.runOneTest("someTestName")`
becomes
`@Test def someTestName(): Unit = runner()`

* {% jira 2959 %} Clean up core TestUtils and FuzzData rigs

### Deprecation/Compatibility
Expand All @@ -104,11 +121,18 @@ compilation time dropping from more than 2 minutes to under 20 seconds.
* {% jira 2896 %} validationMode=full enables Daffodils limited validation

Full Validation no longer performs limited validation in addition to Xerces validation. It now only performs Xerces validation.
This has resulted in some changes to error messages that are reported during validation, which may require updates to any tests
that are expecting validation error messages that are specific to the limited validation process.

* {% jira 2773 %} Expression .[intexpr] should create warning

Removed the text "subset" from the "Indexing is only allowed on arrays" Schema Definition Error message.

* {% jira 1042 %} Date and Time Strict Parsing is not very strict

Daffodil had been parsing xs:date/time leniently regardless of what dfdl:calendarCheckPolicy had been set to. This change may
require some changes to schemas that were reliant on this faulty behavior and may need to set dfdl:calendarCheckPolicy="lax".

### Dependency Changes

The following dependencies have been added or updated:
Expand Down
15 changes: 11 additions & 4 deletions site/doap.rdf
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"?>
<rdf:RDF xml:lang="en"
xmlns="http://usefulinc.com/ns/doap#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://usefulinc.com/ns/doap#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:asfext="http://projects.apache.org/ns/asfext#"
xmlns:foaf="http://xmlns.com/foaf/0.1/">
<!--
Expand Down Expand Up @@ -39,10 +39,10 @@
consume, inspect, and manipulate fixed format data in existing
solutions. Daffodil is also capable of serializing or "unparsing"
data back to the original data format.
The DFDL infoset can also be converted directly to/from the
The DFDL infoset can also be converted directly to/from the
data structures carried by data processing frameworks so as to bypass any
XML/JSON overheads. </description>

<homepage rdf:resource="https://daffodil.apache.org" />
<download-page rdf:resource="https://daffodil.apache.org/releases/"/>
<mailing-list rdf:resource="https://daffodil.apache.org/community/#mailing-lists" />
Expand Down Expand Up @@ -84,6 +84,13 @@
</asfext:Standard>
</asfext:implements>

<release>
<Version>
<name>Apache Daffodil</name>
<created>2025-01-17</created>
<revision>3.10.0</revision>
</Version>
</release>
<release>
<Version>
<name>Apache Daffodil</name>
Expand Down
2 changes: 1 addition & 1 deletion site/docs/latest

0 comments on commit dcb46be

Please sign in to comment.