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

Compare with Current View Page History

« Previous Version 19 Next »

Daffodil 0.14.x

Full Changelog

Daffodil 0.14.0

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

CLI

  • 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.x

Full Changelog

Daffodil 0.13.0

Dependencies

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

Core

  • fix non-thread-safe code in date/time/dateTime types, text numbers, delimiters, occursCountKind='expression', and expression evaluation
  • use correct namespace for external variables
  • improve performance for data containing only ASCII encoding
  • remove broken support for lengthUnits=bytes with specified lengthKind and variable-width encodings
  • replace much of the parser combinator code with DFAs specifically tailored towards DFDL requirements, giving a performance increase on delimited data

CLI

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

Daffodil 0.12.x

Full Changelog

Daffodil 0.12.0

Dependencies

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

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
  • 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 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"
  • new option for the test subcommand
    • -i, --info 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 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