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