Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes made in preparation for 3.10.0 #161

Merged
merged 1 commit into from
Jan 13, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
133 changes: 133 additions & 0 deletions site/_releases/3.10.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
---
title: "3.10.0"
release: "rc1"
apache: true
date: 2025-01-13
summary: >
Bug fixes and performance improvements

source-dist:
- "apache-daffodil-3.10.0-src.zip"

binary-dist:
- "apache-daffodil-3.10.0-bin.tgz"
- "apache-daffodil-3.10.0-bin.zip"
- "apache-daffodil-3.10.0-bin.msi"
- "apache-daffodil-3.10.0-1.noarch.rpm"

scala-version: 2.12
---

This release focused on bug fixes. Of note is the removal of redundant schema
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

* {% jira 2736 %} Need warning when multiple child elements with same name
* {% jira 2810 %} option to escalate schema definition warnings to errors

### Miscellaneous Bugs/Improvements

* {% jira 561%} If you do not specify a type for documentPart, results in Abort
* {% jira 1076 %} fn:not, fn:nilled, fn:empty, xs:boolean constructor - was: DPath: Vague SDE - 'Value has not been set'
* {% jira 1141 %} Debug option isn't working with save-parser for CLI
* {% jira 1589 %} dfdl:outputNewLine="" does not throw an SDE
* {% jira 1592 %} unparsing - string truncation modifies the value
* {% jira 1595 %} Check for data too long for specified length - missing
* {% jira 1842 %} Property scoping bug - spurious SDE
* {% jira 2289 %} TDML unparser test case with warnings expected but no data expected - abort
* {% jira 2297 %} Runtime SDE - zero-length binary integer gets no value. Should be a parse error
* {% jira 2339 %} CLI Test fails if xsi:schemaLocation added to config.xml file.
* {% jira 2419 %} Enforce hiddenGroupRef cannot be model group of Complex type
* {% jira 2660 %} prefixLengthType needs to evaluate asserts before using the prefix value
* {% jira 2758 %} Need doc for config files, how to use tunables, and the various tunables
* {% jira 2781 %} OOLAG LV evaluated multiple times when there is a failure
* {% jira 2806 %} Incorrect SDE on simpleType with lengthKind 'implicit' even if type is used with a computed element
* {% jira 2896 %} validationMode=full enables Daffodils limited validation
* {% jira 2904 %} trace and TDML runner don't work together because of SAX and non-SAX API being tested
* {% jira 2926 %} Address unexpected warnings in TDML Tests
* {% jira 2928 %} getPropertyOption called on functions which allow expressions
* {% jira 2929 %} Update !isEmptyAnObservableConcept SDW to be more clear
* {% jira 2931 %} lengthUnit='bits' not supported for calendar type with binary packed representation
* {% jira 2933 %} daffodil-test-integration does not include daffodil-test as a dependency
* {% jira 2937 %} Namespace Difference check doesn't account for hidden groups
* {% jira 2938 %} Namespace Difference check generates warning for same namespaces
* {% jira 2940 %} Layer doc doesn't mention needed imports
* {% jira 2944 %} CLI: Missing input file leads to NoSuchFileException
* {% jira 2947 %} TDML test case rootNS="" doesn't work to specify root element in no namespace
* {% jira 2948 %} Internal "GroupRefFactory" appears in diagnostic
* {% jira 2949 %} Update .sonar-project.properties sonar.tests and sonar.cpd.exclusions
* {% jira 2950 %} Regression in v3.9 when validation mode is Full: "java.lang.IllegalArgumentException: URI is not absolute"
* {% jira 2953 %} "Unable to resolve schemaLocation" error fails to give line/column number information
* {% jira 2954 %} Update site PMC roster
* {% jira 2955 %} TDML Should trim leading and trailing whitespace from '<error>...</error>' strings
* {% jira 2960 %} stale reference to DI2E.net on site
* {% jira 2961 %} When using a bcd element as length for a subsequent field a ClassCastException is thrown
* {% jira 2962 %} Complex nillable leads to Expression Evaluation Error: Element does not have a value.
* {% jira 2965 %} Improve Schema Compiler performance
* {% jira 533 %} TDML Runner: More user-friendly error if expected infoset provided is empty
* {% jira 1042 %} Date and Time Strict Parsing is not very strict
* {% jira 2362 %} JSON output should not quote all values unnecessarily
* {% jira 2773 %} Expression .[intexpr] should create warning
* {% 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

* {% jira 2297 %} Runtime SDE - zero-length binary integer gets no value. Should be a parse error

Although still supported via the tunable allowSignedIntegerLength1Bit, it is recommended that
schemas be updated to not depend on 1-bit signed binary integers. allowSignedIntegerLength1Bit=true
may be deprecated and removed in the future. Binary integers with 0 bit length are no longer
supported.

* {% jira 2931 %} lengthUnit='bits' not supported for calendar type with binary packed representation

allowBigIntegerBits tunable no longer has any effect. All types are allowed to use lengthUnit=bits.
WarnID DeprecatedBigIntegerBits has been deprecated. It is no longer in use in the codebase

* {% jira 1141 %} Debug option isn't working with save-parser for CLI

--trace and --debug are no longer global arguments for daffodil, and are instead arguments for parse, unparse and test only.

* {% 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.

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

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

### Dependency Changes

The following dependencies have been added or updated:

**Core**

* ICU4J 76.1 <small>(update)</small>
* Apache Commons IO 2.18.0 <small>(update)</small>
* FasterXML Woodstox Core 7.1.0 <small>(update)</small>

**CLI**

* JLine 3.28.0 <small>(update)</small>
* Scallop 5.2.0 <small>(update)</small>

**Code Generator**

* OS Lib 0.11.3 <small>(update)</small>

**Testing

* JUnit 4.13.2
Loading