You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

Daffodil 0.12.x

Full Changelog

Daffodil 0.12.0

Dependencies

  • upgrade to Saxon-HE-9.5.1-1 and jdom2-2.0.5

Core

  • 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 be used instead
  • perform escapeChar and escapeEscapeChar compilation optimizations at compile time to prevent run-time evaluations

API

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

CLI

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

Daffodil 0.11.x

Full Changelog

Daffodil 0.11.0

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 textStandardExponentCharacter)
    • textStandardInfinityRep
    • textStandardNaNRep
    • textStandardZeroRep
    • textNumberPattern
    • textNumberCheckPolicy
    • textNumberRounding
    • textNumberRoundingMode
    • textNumberRoundingIncrement
  • add new DFDL expression compiler to better detect invalid expressions, 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 xs:decimal type
  • improve diagnostics when a variable is used but not set 
  • fix bug with dynamic separators using variables
  • fix SDE detection on last required element when maxOccurs="unbounded" and {{occursCountKind="implicit"}}
  • fix lengthKind='pattern' to not error when a match is not found, but instead to return a length of zero
  • fix bug 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 write

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"

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 added to to supply external variables, one method takes a Map 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

Daffodil 0.10.x

Full Changelog

Daffodil 0.10.1

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

Debugger

  • fix bug where the debugger/tracer attempted to access a non-existent element after a parse failure, causing an abort
  • 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

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

Java API

  • fix character entity infoset output when using the Java API
  • add support for controlling the debugger, including a trace debugger
  • fix issue where multiple retrievals of the parser result caused error

TDML Runner

  • can now use CDATA tags in dfdl:infoset for cases where characters like < and > are in the expected output
  • replaceDFDLEntities attribute for documentPart element now defaults to false

CLI

  • new --trace option to display verbose output of Daffodil parsing
  • the --debug option can now take a file containing a list of debugger commands (e.g. --debug=cmds.txt)
  • add check for not yet implemented features
  • fix bug where order of multiple --schema options was not maintained

Debugger

  • add 'history' command to display the list of past commands
  • replace 'undisplay' command with 'delete display'
  • 'delete' command requires 'breakpoint' or 'display'
  • 'break' command does not require the 'element.' prefix anymore
  • No labels