2016-12.01
==========

  * Updated good.zip file for the Q4 quarter

2016-11-16
==========

  * Added the cost equations to the Readme.txt file

2016-11-07
==========

  * The gross savings calculations were updated to use net values for 'C&S' claims
  * Added `StartsWith` rule that enforces prefix use in fields
  * Added `MarginsOfWarningAndError (x,y)` rule that enforces limits
    on the difference between fields for warnings and error:
    - A record is accepted if the claimed field is within x of the CEDARS calculation
    - A record is accepted and a warning is returned if the claimed record is
      between x and y of the corresponding CEDARS calculation
    - A record is rejected if the claimed field is more than y different than the CEDARS calculation
  * Added `StartsWith PA` rule to claim_spec.sql fields:
    - Claim.ClaimID
    - Site.SiteID
    - ContactClaim.ContactID
  * Added `MarginsOfWarningAndError (0.01, 0.1)` rule to claim_spec.sql
    for all `Total*` fields to enforce that claimed total savings and costs
    are within 0.1% of CEDARS calculations for a claim to be accepted,
    and within 0.01% of CEDARS calculations for it to issue no warnings.
  * Added `NotEmpty` rule to `claim_spec.sql` for fields:
    - UnitEndUserRebate
    - UnitIncentiveToOthers
    - UnitDirectInstallLab
    - UnitDirectInstallMat
  * Updated warning that RUL <= EUL / 3 to RUL <= EUL / 2.75
  * Removed warning rules:
    - NumUnits = 0 when three Unit_1stBaseline fields = 0 and WhySavingsZeroed is not null
    - WhySavingsZeroed is not null when three Unit_1stBaseline fields = 0
  * Added warning rules:
    - WhySavingsZeroed is null when any of the three TotalFirstYearGross_ savings fields =! 0
    - WhyCostsZeroed is null when any of the three TotalGross_ cost and incentive fields =! 0
    - WhySavingsZeroed is not null when all 0f the three TotalFirstYearGross_ savings fields = 0
    - WhyCostsZeroed is not null when all of the three TotalGross_ cost and incentive fields = 0
  * Added warning rules:
    - RUL > 0 when MeasAppType = 'ER'
    - RUL = 0 when MeasAppType = 'ER'
  * The Readme.txt was updated to document the `MarginsOfWarningAndError` and `StartsWith` rules,
    and to update the gross savings equations for 'C&S' claims.
  * Note that, from this change set onwards, the dates given for each change will be
    the dates of publication to PA users on staging or production, not the dates on which
    the change was implemented in the codebase.

2016-08-22
==========

  * This Changelog file and Source of Truth files updated for the June 1st changes.

2016-06-01
==========

  * Fix typo in UnitTherm1stBaseline and UnitTherm2ndBaseline fieldnames in
    `validation_rules.csv`. Previously the rule said "Baselines", plural, which
    prevented the fields from validating correctly.
  * Adjust submission deadlines for 2017.

2016-05-29
==========

  * SiteID "is not null" validation rule clarified.
  * `good.zip` file updated to latest validation/warning rules.

2016-05-22
==========

  * 'C&S' exceptions added to several "is not null" validation rules:
    - E3MeaElecEndUseShape
    - E3GasSavProfile
    - AvoidedCostCombo

2016-05-17
==========

  * Dates for all SoT files have been reset because of internal changes regarding
    the upcoming Filings module.
  * This Changelog has been updated to reflect those changes in the dateing.
    However, no other changes have occurred to the contents of the documents themselves.

2016-05-15
==========

  * Updated the `good.zip` sample upload file.

2016-05-12
==========

  * Removed `references Claim` directive from CustomMeasure and DeemedMeasure
    specs. This is just a technical adjustment. Uploads are still required to
    contain matching Claims/Measures for every ClaimID.
  * Corrected the `RUL_Yrs is less than EUL_Yrs` rule so it doesn't trigger
    when both values are zero.

2016-04-29
==========

  * Removed rule on CombustionType from `validation_rules.csv`. The field is now optional for all PAs.
  * Updated `claims_metadata.csv` file.
  * Added `claims_spec_PII.sql` file.

2016-04-19
==========

  * Removed PartialPaymentPercent warning.

2016-04-14
==========

  * Formatting changes to `claims_spec.sql`

2016-04-10
==========

    generated field, and was erroneously included in the SoT files.

2016-04-03
==========

  * CombustionType now validates against the Uploader's PA, not against
    the ImplementationPA stated in the uploaded record

2016-04-02
==========

  * AvoidedCostCombo now validates against the Uploader's PA, not against
    the ImplementationPA stated in the uploaded record.

  * good.zip file now matches the current Source of Truth.

2016-03-31
==========

  * `DefaultFalse` modifier added to our SQLPlus dialect. See Readme.txt for more details.
  * Spec updated with new fields and new field names:
    - PII fields removed from Site table.
    - Contact table removed completely because of PII
    - Two new fields added to Claim: `CombustionType` and `TotalGrossMeasureCost_ER`
    - Some flags now have the `DefaultFalse` modifier applied instead of `NotEmpty`
    - Validation ranges for EUL/RUL are now uniformly [0, 30]
    - Some table names changed for clarity:
      - `DirectImplementation*` fields are now named `DI*`
      - `EUL`, `RUL` are now named `EUL_Yrs`, `RUL_Yrs`.
      - `*Flag` names normalized to be named `*_Flag`.
    - See versioned claims_spec.sql for the full picture.
  * Validation changes:
    - Validate `SiteState` to be 'CA' only.
    - Validate `SiteZipCode` to be valid California zipcode (in interval [90001, 96162] exclusively)
  * Correct first year savings equation for the case when both `EUL` and `RUL` are less than one.
  * Readme.txt file edited to reflect new validators.
  * WARNING: Test data benchmark good.zip NOT updated yet to the new column names/contents.

2016-03-25
==========

  * Changes management implemented and deployed
  * Cosmetic fixes to claims_spec.sql (no new content)

