v2.1.0 (2023-10-25)
New Feature | Java and C++ API extended to handle time values following CCSDS Time Code Formats (#0033) |
Improvement | Improve exception handling in DFDL4S API (#0067) |
Bug Fix | DFDL4S crashes when a directory is passed as schema location (#00063) |
Bug Fix | Incorrect handling of occursCount when expression evaluates to 0 (#0073) |
Bug Fix | Root element ignored in absolute path evaluation (#0074) |
Bug Fix | Crash when document outlives dfdllib (C++) (#0075) |
Bug Fix | In C++ installation package, CreateNewDocumentExample crashes if the output file already exists (#0079) |
v2.0.0 (2022-08-01)
New Feature | Upgraded DFDL4S to Java 11 (also compatible with the latest Java 17 LTS release) (#0065) |
New Feature | Added support for custom CDS time code fields (days, seconds, microseconds) (#0076) |
Improvement | Updated statement of compliance with the latest DFDL standard available [documentation] (#0070) |
v1.7.0 (2021-06-23)
New Feature | Added support for DFDL variables (dfdl:defineVariable and dfdl:newVariableInstance) (#0022) |
New Feature | Added support for Reporting capabilities (including CRC/Reed-Solomon) (#0023) |
New Feature | Added support to checking CRC and apply Reed-Solomon Error Correction (#0035) |
Improvement | Aligned implementation of occursCountKind=”fixed” with DFDL standard (#0060) |
Improvement | Added support for paths to array elements (#0061) |
Bug Fix | Corrected faulty instantiation of DataSize objects (C++ only) (#0062) |
Bug Fix | Corrected trimming in StorageInFile detected during Transfer Frame to ISP transformation (#0066) |
Bug Fix | Corrected evaluation of non-integer values in length fields (#0068) |
v1.6.1 (2020-11-13)
New Feature | Enable support for repeating records based on occursCountKind=”expression” (#0050) |
New Feature | Add uniqueName()/absoluteUniqueName() that include record number in element name (#0059) |
New Feature | Enable setting integer value in element with xs:hexBinary type (#0048) |
Improvement | Reduce the dependency from 3rd party libraries (#0027) |
Improvement | Improve serialization of large packets built from scratch (#0058) |
Bug Fix | Correct the packet number passed to progress monitor (was stuck at 1) (#0057) |
v1.6.0 (2020-09-11)
New Feature | Enable custom field formatting based on given representation allowing type conversion (#0040) |
New Feature | Extend library API to support more sophisticated applications (#0041) |
New Feature | Enable progress monitoring when interpreting a document [Java only] (#0052) |
New Feature | Enable specifying DFDL4S_JAVA_OPTS to customize JVM options [C++ only] (#0053) |
Improvement | Upgrade 3rd party libraries and the DFDL4S++ Compiler toolchain (#0042) |
Improvement | Update DFDL4S++ to be linked only with libjvm.(so|dylib) on all *nix platforms [C++ only] (#0054) |
Bug Fix | Correct interpretation of GPS_time field occasionally displayed with wrong second 60 (#0039) |
Bug Fix | Correct destructor definition in DFDL4S++ API [C++ only] (#0051) |
v1.5.3 (2020-03-06)
Bug Fix | Corrected inability to set values of elements when initializing based on memory buffer (#0043) |
New Feature | Extend API to enable complete creation of ISP based on field structure from scratch (#0037) - See example in the documentation and package (#0020) |
New Feature | Enable the retrieval of traits regarding CCSDS time code fields (#0038) |
New Feature | Enable support for MetOpSG timecode (32bit, seconds; 32bit, nanoseconds) (#0045) |
New Feature | Extend number of octets allowed in CCSDS Unsegmented Time Code (CUC) (#0046) |
Improvement | Add support for multiplication in dfdl:length expressions (#0036) |
Improvement | Align the versions of 3rd party libraries used in Java and C++ packages (#0049) |
v1.5.2.1 (2019-04-23)
Bug Fix | Incorrect handling of $node by the DFDL standard intersect operator (#0015) |
v1.5.2 (2019-04-03)
Bug Fix | Incorrect behavior of childAt() when getting child after adding element (#0030) |
New Feature | Use evolutions in the DFDL standard to cover the semantics of the custom "in/inrange" operators (#0015) |
New Feature | Enable default constructors in C++ API (#0029) |
Improvement | Replace use of dmx:representation by XSD intrinsic type definition when retrieving element values (#0017) |
Improvement | Use dfdl:defineFormat with a name (declared only once, in dedicated schema file) to make explicit all default values in the DFDL schema (#0013) |
Internal | Enable fully automated API test suite (#0025) |
v1.5.1 (2018-09-02)
Improvement | Consolidation of the library's public API: removal of classes and methods related to internal processing; harmonization of the Java and C++ API, so that the same functionality is provided in both languages (#0028) |
Improvement | Re-introduction of methods childAt() and childAvailableCount() in class Element, allowing an easy navigation of the Element’s tree |
Improvement | Re-introduction of methods getError() and getChildErrors() in class Element, allowing to query the error status of interpreted binary data |