﻿*******************************************************************************
*          NIST/ITL-CSD BioCTS for ANSI/NIST-ITL MRT                          *
*******************************************************************************
* For more information:                                                       *
* Email: biocts@nist.gov                                                      *
* Website: https://www.nist.gov/itl/csd/biometrics/                           *
* biometric-conformance-test-software-biocts                                  *
*******************************************************************************
*******************************************************************************
* 08/31/2017 Version Number: Beta 1.1.0.0                                     *
*******************************************************************************

Bug Fixes:
  + Tests were previously missing for "Repeating SubFields", where the value is 
    contained a series of repeating SubFields or repeating XML elements. See 
    Field 10.019 for example.
  + Corrected issue where some XML child elements were not being tested. This 
    issue was related to the way informaiton items are parsed. This also 
    fixes issues with CondCode testing.
  + Corrected issue with Editor pop-out data editor for binary fields in non-
    binary records (i.e. image fields). The editor now correctly allows editing
	of those fields.

Application Changes:
  + Added suppport for all Level-2 tests, which includes the following MRT 
    elements:
    > DependPresenceReq (Field A present IFF Field B present)
    > DependPresenceOpt (If Field A present, then Field B present)
    > DependAbsence (If Field A present, the Field B not present)
	> DependValue (Field A present IFF Field B passes value test)
	> DependValueReq (If Field B passes value test, then Field A is present)
	> DependValueOpt (If Field A is present, the Field B passes value test)
	> InterFieldOccur (If Field B present, then occurrence of Field A must be
	  equal to the occurrence of Field B)
	> InterFieldCount (If Field B present, then occurrence of Field A must be 
	  equal to the numeric value of Field B)
	> InterFieldValue (If Field B present, then Field A value must pass the 
	  comparitive value test in relation to Field B)
  + Added ability to turn off Level-2 testing in both CLI and GUI versions.
  + Added tests to detect XML elements that are not defined by the MRTs.
    If an undefined element contains a value it it will now result in an error. 
	Only elements containing values are required to be defined by the MRTs.	
  + Field presence and occurrence tests modified:
    > Tests for <CondCode> values are now reported only for M or M^, and test
      only that the field is present (not occurrence). The tests for O, O^, D,
      and D^ were redundant.
    > New static requirement added "NoFieldNumberDuplicates" that checks for 
      any duplicates of a single field number within a Record, which are not 
      permitted. Multiple "occurrences" of fields are represented using
      subfields. Note: Binary Records do allow duplicate fields, so this is
      not tested for Binary Records.   
    > <MinOccur> and <MaxOccur> now test the number of Sub Field occurrences 
      for a specific field number, instead of testing the occurrence of the 
      field. Note: Binary Records test field occurrence, since Sub Fields
      do not exist in that encoding.
   + TOTField tests modified for Tagged (ASCII) Records to test for Sub
     Field occurrence rather than FieldNumber occurrence.
   + Added tests for CondCode, MinOccur, and MaxOccur for XML encoding.
   + Output logs now indicate "Testing Constraints Applied" which list any
     restrictions the user puts on the conformance tests, such as reporting
     errors only or opting out of Level-2 testing.
   + All log types now include "Application Name" and "Application Version"

GUI Changes:
  + Drag and drop files on the BioCTS application .exe icon to automatically
    load the files in the application. 
  + Improved the responsiveness of the "stop testing" button on the Batch Test
    tab. Testing now stops immediately. Previously, testing continued until 
    the current file testing was complete for all configurations.
  + Added passing/failing indicators on all Result lists in the Editor. It is 
    now easier to determine exactly where errors are being reported.	
  + The "Selected Configuration" in the Editor can now be changed prior to 
    loading a file.

CLI Changes:
  + The flag -configpath is now respected when combined with -tprompt. This
    allows the user to specify a configuration file, and then to run prompts
    using that configuration file until the user exits the program.
  + The -h and -help flags may now be used in -tprompt mode.
  + Added -nolevel2 flag to turn off Level-2 testing.
  + Added -about flag to display information about the application.
  + Added -changelog flag to display the latest changelog.

MRT File Changes:
  + To view all changes, search the MRT files for "BioCTS". All changes to the
    MRT files are tagged with <!--BioCTS Category:X | Description--> where X is 
	either "Defect", "Editorial", or "Validation". Defect indicates that MRTs 
	did not accurately reflect the standard requirements, Editorial indicates 
	only a minor non-technical change, and Validation indicates that the 
	modification was needed to properly validate or conformance test the 
	requirement. Description explains the modification made. 
  + All FieldDefinition files:
    > Updated to reflect cases where the standard mapping tables have 
      defects regarding nc:Date (when it should be nc:DateTime). These 
      include: 18.013, 18.014, 20.005, 21.005, 98.006
    > Updated <TradXML> to be TX for all Record Types so that tests for
      Traditional Fields would apply.
    > Updated all FieldDefs that contain information items so that the 
      <InfoItem> and <InfoItemCount> elements are specified in order to 
      ensure proper parsing.
  + FBIEBTS10.0.5-FieldDefinition.xml: 
    > Modified <FieldDef> with <FieldID>02.046</FieldID> so that the <XMLPath>
      correctly references ebts:RecordTransactionActivity and not 
      ebts:RecordActivity (which was used in version 9.3).
    > Modified <FieldDef> with <FieldID>02.060</FieldID> to allow newlines
  + FBIEBTS10.0.5-LookupCodes.xml: 
        > Adjustments to FBIEBTS:NDR codes (removed leading zeros, removed
          deprecated codes 4 & 5)
  + FBIEBTS9.3-FieldDefinition.xml: 
	> Modified <FieldDef> with <FieldID>02.060</FieldID> to allow newlines
        > Added missing support for field 2.2033-I (NDR)
        > Added missing support for field 9.013
        > Added FingerprintImageImpressionCategoryCode as an alternative path
          for any XML path that is listed as 
          FrictionRidgeImageImpressionCategoryCode (for backwards compatibility 
          as reflected in schema). 
  + FBIEBTS9.3-LookupCodes.xml: 
        > Adjustments to FBIEBTS:NDR codes (added missing values & modified
          descriptions that were incorrect)

Sample Transaction Changes:
  + Modified FBI EBTS XML transactions to reflect correct XML paths. The paths
    used in the old version of the files were deprecated. For example, field
    10.023 FaceImageAcquisitionSource previously used the prefix (itl:), but it 
    was deprecated in favor of (biom:)
  + Modified FBI EBTS XML transactions with Field 9.303 values that are out of 
    range of the valid values defined in NIST SP 1134 (Extended Features Set
    Profile Specification)
  + Corrected invalid values based on Level-1 and Level-2 tests defined in the 
    MRTs. Some additional test transactions were added for Level-2 specific 
    tests.
    