From 981b59c318effaafd7f0bf89766fd009b6c25811 Mon Sep 17 00:00:00 2001 From: Josh Adams Date: Mon, 13 Jan 2025 16:10:13 -0500 Subject: [PATCH] Changes made in preparation for 3.10.0 --- site/_releases/3.10.0.md | 133 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 site/_releases/3.10.0.md diff --git a/site/_releases/3.10.0.md b/site/_releases/3.10.0.md new file mode 100644 index 0000000..70e403a --- /dev/null +++ b/site/_releases/3.10.0.md @@ -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 '...' 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 (update) +* Apache Commons IO 2.18.0 (update) +* FasterXML Woodstox Core 7.1.0 (update) + +**CLI** + +* JLine 3.28.0 (update) +* Scallop 5.2.0 (update) + +**Code Generator** + +* OS Lib 0.11.3 (update) + +**Testing + +* JUnit 4.13.2