This is an automated email from the ASF dual-hosted git repository.
mbeckerle pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/daffodil-site.git
The following commit(s) were added to refs/heads/main by this push:
new 592b244 V 3.8.0 release notes
592b244 is described below
commit 592b244078bce232393a258223e61f37a3cdb5e2
Author: Michael Beckerle <[email protected]>
AuthorDate: Wed Jun 5 19:55:44 2024 -0400
V 3.8.0 release notes
Small improvements also to layers doc page.
DAFFODIL-2908
---
site/_releases/3.8.0.md | 112 ++++++++++++++++++++++++++++++++++++++++++++++++
site/layers.md | 12 +++++-
2 files changed, 123 insertions(+), 1 deletion(-)
diff --git a/site/_releases/3.8.0.md b/site/_releases/3.8.0.md
new file mode 100644
index 0000000..ff17226
--- /dev/null
+++ b/site/_releases/3.8.0.md
@@ -0,0 +1,112 @@
+---
+title: "3.8.0"
+release: "rc1"
+apache: true
+date: 2024-06-05
+summary: >
+ Supported Layer API for Algorithmic Plug-ins
+
+source-dist:
+ - "apache-daffodil-3.8.0-src.zip"
+
+binary-dist:
+ - "apache-daffodil-3.8.0-bin.tgz"
+ - "apache-daffodil-3.8.0-bin.zip"
+ - "apache-daffodil-3.8.0-bin.msi"
+ - "apache-daffodil-3.8.0-1.noarch.rpm"
+
+scala-version: 2.12
+---
+
+This release focused on providing a supported API for creating Daffodil Layers.
+
+### Layers Feature
+
+A layer is an algorithmic transformation of the data stream that cannot be
expressed using regular
+DFDL properties.
+Daffodil provides a DFDL language extension using the property name
`dfdlx:layer` to invoke
+these layer transformations when parsing or unparsing.
+Layers can encode/decode data as well as can verify/recompute checksums/CRCs.
+
+See the [Layers](/layers) documentation which has links to the javadoc for the
new API as well
+as a description and examples of the [built-in
layers](/layers#built-in-layers) that are available
+to use.
+
+This supported API is incompatible with the experimental and unsupported prior
version layering APIs.
+See the [Deprecation/Compatibility](#deprecationcompatibility) section for more
+details.
+
+### New Features
+
+* {% jira 2569 %} - document how to write layer transforms
+* {% jira 2903 %} - Allow inputValueCalc to apear in a hidden group
+* {% jira 2825 %} - Define supported layering API
+* {% jira 2844 %} - LayerNotEnoughDataException doesn't propagate Throwable
Error
+* {% jira 2845 %} - Layer improvements
+* {% jira 2841 %} - Layers do not support (or poorly documented) creating SDE
or Parse/UnparseErrors
+
+### Miscellaneous Bugs
+
+* {% jira 2900 %} - enable javadoc and scaladoc for runtime1 api
+* {% jira 2905 %} - add error parameter to N-byte-swap layer
+* {% jira 2907 %} - Improve documentation for building/testing the release
candidate container
+* {% jira 2104 %} - TDML runner - throws exception if test has neither
<tdml:errors> nor <tdml:infoset>
+* {% jira 2843 %} - Unclear how to create Parse/UnparseError from
ParseOrUnparseState
+* {% jira 2883 %} - Pre-existing PUA characters in data cause SDE
+* {% jira 2887 %} - Choice branch array with discriminator or direct dispatch
broken
+* {% jira 2890 %} - Set SOURCE_DATE_EPOCH when creating releases
+* {% jira 2891 %} - Abort: Invariant broken: minReps.==(0L) when unparsing
+* {% jira 2892 %} - JAR file URI processing does not allow for JARs within JARs
+* {% jira 2893 %} - Unable to initialise
+* {% jira 2895 %} - Runtime SDE in ElementCombinator parser with validation
causes "Expression Evaluation Error: Element does not have a value"
+* {% jira 2897 %} - change scalafmt back to rewrite.trailingCommas.style
'never'
+* {% jira 2898 %} - Compilation error with Java 21, add to CI
+
+### Deprecation/Compatibility
+
+This release removes the unsupported/experimental APIs for creating layer
plug-ins that were
+present in releases 3.7.0 and prior.
+These are replaced with a new supported and documented API which is
+much easier to use and maintain and has more functionality.
+All layers written to the older 3.7.0 unsupported APIs will be broken and must
be rewritten to
+use the new API in 3.8.0.
+
+See the [Layers](/layers) documentation which has links to the javadoc for the
new API.
+
+{% jira 2825 %}
+
+### Dependency Changes
+
+The following dependencies have been added or updated:
+
+**Core**
+
+* Apache Commons IO 2.16.1 <small>(update)</small>
+* FasterXML Jackson Core 2.16.1 <small>(update)</small>
+* FasterXML Woodstox Core 6.6.2 <small>(update)</small>
+* ICU4J 75.1 <small>(update)</small>
+* Scala Parser Combinators 2.4.0 <small>(update)</small>
+* Scala XML 2.3.0 <small>(update)</small>
+* Typesafe Config 1.4.3 <small>(update)</small>
+* XML Resolver 1.2 <small>(update)</small>
+
+**CLI**
+
+* JLine 3.26.1 <small>(update)</small>
+
+**Code Generator**
+
+* OS Lib 0.10.2 <small>(update)</small>
+
+**Logging**
+
+* SLF4J API 2.0.13 <small>(update)</small>
+
+**Schematron Validator**
+
+* Saxon-HE 12.4 <small>(update)</small>
+
+**Changes to Transitive Dependencies**
+
+* Woodstox Stax2 API 4.2.2 <small>(update, used by Woodstox Core)</small>
+* XML Resolver & Data 5.2.2 <small>(update, used by Saxon-HE)</small>
diff --git a/site/layers.md b/site/layers.md
index a25605e..28c2767 100644
--- a/site/layers.md
+++ b/site/layers.md
@@ -74,7 +74,9 @@ These are:
- [boundaryMark](#boundarymark-layer)
- [fixedLength](#fixedlength-layer)
-Each of the built-in layers will be documented separately below with examples
of their usage.
+Each of the built-in layers will be
+[documented separately below](#daffodil-built-in-layer-documentation) with
examples of their
+usage.
### Custom Plug-In Layers
@@ -470,6 +472,14 @@ Further details on how to define custom plug-in layers is
in the Javadoc for the
Each of the layers built-in to the Daffodil implementation are documented in a
section below
which gives the name, namespace, variables, and some usage notes.
+The built-in layers are:
+- [base64_MIME](#base64-mime-layer)
+- [fourbyteswap](#byte-swapping-layers)
+- [twobyteswap](#byte-swapping-layers)
+- [gzip](#gzip-layer)
+- [lineFolded_IMF](#line-folded-layers)
+- [lineFolded_iCalendar](#line-folded-layers)
+
----
### Base64 MIME Layer