Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Daffodil 1.0.

...

Full Changelog

...

0 - detailed changelog

Core

  • schemas inside jars on the classpath can now be linked via include/import statements
  • updates to DFDL expression parser to fix numerous bugs and add features
    • add date, time, constructors
    • add timeZoneFromDateTime, Time, and Date functions
    • add comparison operators for booleans
    • improve error messages
  • support empty strings in long-form properties
  • throw SDE when testPattern is empty but testKind="pattern"
  • throw SDE when inputValueCalc is used on optional or non-scalar elements 
  • improve numerous diagnostic error messages
  • improve performance when writing hexBinary to the infoset
  • support %ES; in delimiters to make a delimiter optional
  • fix non-thread-safe code related to text numbers
  • fix numerous typos and grammatical errors
  • fix delimiter scanning with %WSP*;
  • add tests to validate Java 8 support
  • check for disallows regular expression constructs
  • add ability to specify a temporary directory, currently only useful as part of TDML tests
  • improve performance when processing errors are heavily used for backtracking

...

  • allow the --schema option to use schemas inside jar files on the classpath
  • only allow the --schema option to be provided once; all other schemas must come from import/include statements
  • prevent the eval command from aborting if a DFDL expression failed to compile
  • re-enable support for breakpoints
  • add validation and auto-completion to debugger display command

API

  • add new API functions to compile schema's in either File or URI form
  • only allow a single schema to be provided to the API; all other schemas must come from import/include statements
  • add scala API and scaladoc

TDML

  • improve handling of whitespace and line/column information in TDML files

Daffodil 0.15.x

Full Changelog

 

Daffodil 0.15.0 - detailed changelog

Infrastructure

  • license information for dependencies is not distributed in the released files
  • remove test dependencies from released files
  • use a plugin to create release files rather than our own custom packager

...

  • changes to properly support the saving and reloading of parsers

Daffodil 0.14.

...

Full Changelog

...

0 - detailed changelog

Core

  • support for bitOrder property
  • support for encodingErrorPolicy="replace"
  • fix bug where schemas using import/include were not properly validated, causing various error messages
  • fix bug where lengthKind="explicit" in some cases incorrectly included initiators and terminators in the content length
  • various performance improvements, with some parses having increased speed of ~30%
  • improve error messages when invalid regular expressions are used in properties like testPattern and lengthPattern
  • fix error with when runtime byteOrder expressions fail
  • fix potential thread safety bugs in delimiter scanning

...

  • decrease the amount of memory needed for performance suboption, allowing for many more input files to be used
  • removed the --namespace option and modified --root option to optionally include the namespace, for example, --namespace ns --root r is now --root {ns}r

Daffodil 0.13.

...

Full Changelog

...

0 - detailed changelog

Dependencies

  • upgrade to scala-2.10.4
  • upgrade to sbt-0.13.2

...

  • add new 'performance' command used to execute performance tests and gather statistics

Daffodil 0.12.x

...



Daffodil 0.12.0 - detailed changelog

Dependencies

  • upgrade to Saxon-HE-9.5.1-1
  • upgrade to jdom2-2.0.5
  • upgrade to scallop-0.9.4

...

  • check for unescaped curly braces in DFDL literals
  • ignore dfdl:representation when type is xs:hexBinary or xs:string. Representation is assumed to be binary with xs:hexBinary, and text with xs:string
  • remove defaulting of dfdl:sequenceKind to ordered. The property must now be specified
  • fix bug causing the use of the wrong root element when not provided via the API or CLI
  • report schema definition error when no terminator is supplied, but lengthKind='delimited' and tralingSkip > 0
  • add check for alignment ambiguity
  • require xs:string and xs:hexBinary to defined minOccurs/maxOccurs when lengthKind='implicit'
  • when a delimiter is not found, display what was found in the error message
  • check for distinctness of delimiters
  • disallow whitespace in some properties. Instead the DFDL character entites such as %SP; must  must be used instead
  • add support for DFDL expressions in escapeCharacter and escapeEscapeCharacter 
  • fix incorrect parse failures when escapeEscapeCharacter was set to the empty string

API

  • add new function to the Compiler Compiler setValidateDFDLSchemas to enable/disable DFDL schema validation, such as unique particle attribute and various facet related checks

...

  • modify --validation-mode option to have the form form --validate [mode]. If If mode is  is not provided, it defaults to "on". If --validate is not provided, validation defaults to "off".

...

  • .

...


Full Changelog


Daffodil 0.11.0 - detailed changelog

Core

  • add support for runtime expressions in byteOrder
  • add support for sequenceKind="unordered"
  • add support for infoset validation,  three modes
    1. "on": check constraints and Xerces validation
    2. "limited": check constraints, no Xerces validation
    3. "off"" no validation performed
  • add support for external variables
  • add support for advanced text number properties: 
    • textStandardDecimalSeparator (static & dynamic)
    • textStandardGroupingDeparator (static & dynamic)
    • textStandardExponentRep (static & dynamic) (renamed from from textStandardExponentCharacter)
    • textStandardInfinityRep 
    • textStandardNaNRep 
    • textStandardZeroRep 
    • textNumberPattern 
    • textNumberCheckPolicy 
    • textNumberRounding 
    • textNumberRoundingMode 
    • textNumberRoundingIncrement 
  • add new DFDL expression compiler to better detect invalid expressions, primarily those primarily  those related to unordered sequences
  • add min/maxOccurs validation check
  • require appinfo source attribute to be "http://www.ogf.org/dfdl/"
  • add support for binary and text text xs:decimal type
  • improve diagnostics when a variable is used but not set set  
  • fix bug with dynamic separators using variables
  • fix SDE detection on last required element when when maxOccurs="unbounded" and {{occursCountKind occursCountKind="implicit"}} 
  • fix fix lengthKind='pattern' to not error when a match is not found, but instead to instead  to return a length of zero
  • fix bug where where nonNegativeInteger range was not checked correctly
  • fix bug iso-8859-1 support

Java API

  • fix bug in JAPI default log writer causing logs to fail to writewrite 

CLI

  • new options to enable external variables
    • -D, --variables to define one or more external variables
    • -c, --config to define an XML file containing external variables
  • new option for validation
    • --validation-mode=<mode>, where mode can be "on", "off", or "limited" 
  • new option for the test subcommand subcommand
    • -i, --info to  to display more information about what a test failed. May be supplied multiple times to increase the amount of information

TDML

  • ability to enable validation via a new attribute, validation="<mode>", placed on a parserTestCase 

API

  • new function added to the DataProcessor to modify validation mode: setValidationMode(mode)
  • new compile methods  methods added to to supply external variables, one method takes a Map and  and one takes a File
  • new methods added to the DataProcessor to the DataProcessor to supply external variables, setExternalVariables(), which can accept wither a FileMap, or list of Binding

...


Full Changelog


Daffodil 0.10.1 - detailed changelog

Core/ Java API

  • fix bug causing duplicate elements to be added to the infoset
  • fix bug where delimiters containing DFDL character entities but not starting with a DFDL character entity caused a schema definition error

...

  • fix bug where the debugger/tracer attempted to access a non-existent element after a parse failure, causing an abort
  • limit limit info parser output to 2 lines of text
  • modify the tracer defaults to only output the parent node and its children, instead of the entire infoset

Daffodil 0.10.0 - detailed changelog

Core

  • xs:include and xs:import now work with relative file schemaLocations
  • respect minOccurs when occursCountKind="implicit"
  • diagnostics improvements
  • fix 7-bit USASCII with implicit alignment
  • add schema definition warning if xs:appinfo source is incorrect
  • fix unsignedXXX values
  • improve schema definition error detection
  • eliminate duplicate errors
  • require that a complexType must have exactly one child, which must be a sequence, choice, or group reference
  • allow spaces in pathnames to input files and schemas
  • calculated values (e.g. inputValueCalc) maintain their precision in error messages
  • check for invalid DFDL entities
  • support for escaping percent sign

...