+------------------------------------------------------------------------------+
|                    Release Notes for Smart Energy Framework                  |
|                                January 29, 2014                              |
|                             93000957 Revision G                              |
+------------------------------------------------------------------------------+

---------------------------- 1.6.5 RELEASE ---------------------------

Bug Fixes:

* SEF-151 Issue where SEF starts to fail to push asynchronous messages to Device
  Cloud properly after switching accounts.
* SEF-169 SEF buffer manager refactored for better consistency in reporting, 
  fixed a number of issues related to reporting with buffering.
* SEF-179 Issue where reporting packs integers >32 bit as binary strings for 
  output.
* SEF-33 Change SEF to inherit timezone settings from Gateway, if possible, yet
  still allow manual setting if not.
* SEF-127 ESI Router is issues leave_network request when it should not.
* SEF-139 Default server/client correction option changed to true.
* SEF-140 Smart Energy Framework not converting old style reporting 
  configurations gracefully
* SEF-141 Gateway not falling back to Get Current Price, when Get Scheduled 
  Prices not supported
* SEF-142 Reporting on Smart Energy attribute is not auto-updating though 
  reporting configuration exists.
* SEF-143 PAN ID cannot be set as integer in CP-X2e SE.
* SEF-150 Long delays in attribute reporting sometimes seen after attribute 
  change.
* SEF-152 SEF synchronous responses will occasionally not include the response.
* SEF-155 CP-X2e SE Coordinator can no longer add_device giving error "error 
  registering device: 180".
* SEF-162 Issue where some attributes read correctly with 2D2C load controller.
* SEF-163/146 Fixed issue where CP-X2e SE Coordinator Gateway with ERT/SE 
  Bridge and SE Range Extender stopped updating metering attribute.
* SEF-181 Header generation for ZCL reporting is sorted to prevent data loss.
* SEF-187 Race condition on match_desc_req broadcast as device joins network 
  can break client key establishment
* SEF-189 Fixed issue where remove_device often triggers twice.
* SEF-195 Install Code generates incorrect link key when the CRC is byte 
  switched.
* SEF-197 Race condition on remove_device and match_desc_rsp prevents 
  add_device.
* SEF-198 Firmware reset on coord XBee causes SEF to consider network 
  dropped.
* SEF-92 Device Cloud occasionally fails to respond to reporting push from an
  SE gateway within gateway timeout.
* SEF-137 Custom default registry settings aren't preserved when restoring
  registry settings to default.
* SEF-191 Issue where attribute reports drop long-type request_identifier.
* SEF-199 SEF shouldn't send APSME remove if ZDP leave succeeds
* SEF-200 Added range checking to MAC address checks.
* SEF-177 Removed unnecessary write when loading saved reporting configs

---------------------------- 1.6.4 RELEASE ---------------------------

Bug Fixes:

* SEF-131: Reporting for multiple devices when configured between 
  reboots caused inconsistent reporting results.
  
---------------------------- 1.6.3 RELEASE ---------------------------

Bug Fixes:

* SEF-94: Reporting using ZigBee cluster reporting mechanisms now
  works correctly.  Previously, all reporting was pseudo-reporting.
* SEF-83: Reporting of configurations using intervals less than one
  minute no longer generate a backlog.
* SEF-26: When DRLC GetScheduleEvent requests occurred with a
  populated StartTime, we would not respond with the proper events.
* SEF-11: Error reporting and robustness changes to support partner
  link-key exchange for a multi-ESI scenario.

---------------------------- 1.6.2 RELEASE ---------------------------

Features:

* A reporting watchdog was added to the framework to re-start
  reporting in the event of reporting failures.

Bug Fixes:

* SEF-88: Virtual attribute reporting failed on reboot when multiple 
  endpoints were present.
* SEF-79: Meter profiling (Get_Meter_Profile command) did not resume
  after reboot in some instances.
* SEF-76: Multiple attribute reporting failed to operate after some
  period of time.
* SEF-62: Reports stopped being generated after some period of time 
  and required a power cycle to resume.

---------------------------- 1.6.1 RELEASE ---------------------------


Bug Fixes:
* Day of the week reporting failed to work correctly (45390).
* DST was not handled correctly (45763).
   


---------------------------- 1.6.0 RELEASE ---------------------------

Important Notes: 

* This version of the framework is only supported on ConnectPort X2e
  and other box products based on Digi Embedded Linux due to memory
  constraints of the ConnectPort X2.
* New XBee firmware version 0x5123 requires a 10 second delay before
  joining devices after changing from a router to a coordinator.
* Default encryption is now APS for most clusters; clusters cannot mix 
  encryption on the same endpoint.

Features:
* New type 'cron' added to simple parameters.
* Added Buffer Manager system to better control and limit internal memory 
  usage.
   - RPC output buffer now stores outgoing messages using a binary encoding.
   - Reporting groups store their data in a binary format, which should allow 
     for many more data points to be stored during network outages.
   - Total max RAM used by buffers set by Buffer_Manager.max_ram_size in 
     registry settings
   - Total max flash used by buffers set by Buffer_Manager.max_flash_size in 
     registry settings
   - Timeout to move RAM buffers to flash set by 
     Buffer_Manager.store_to_flash_delay in registry settings
   - Priority of RPC output buffer set by RPC_Manager.output_buffer_priority 
     in registry settings
   - Removed RPC_Manager.max_buffer_length (replaced by 
     RPC_Manager.output_buffer_priority) from registry settings
   - Removed RPC_Manager.store_to_flash_delay (replaced by 
     Buffer_Manager.store_to_flash_delay) from registry settings

* Reworked ZCL Reporting
   - Added support for multi-attribute reporting groups, which included adding
     RPC interface methods start_reports, stop_reports, and flush_reports and 
     response message attribute_report
   - Added new ZCL records StartReportRecord, StartReportStatusRecord, 
     StopReportRecord, StopReportStatusRecord, ReportHeaderRecord, and 
     ReportDataRecord.
   - Added support for cron scheduling, used for scheduled reporting
     and scheduled pushes of collected reporting data.
   - Modified the LocalReportingConfigurationRecord to support
     groups and scheduling of collections of readings to be reported
     together. 
   - Depricated start_receiving_reports, stop_receiving_reports, and
     response message received_attribute_report.
   - Pseudo reporting is now the default reporting style; previous
     framework versions would default to attempting real reporting and
     retrying with pseudo reporting on failure.
 
* RPC Manager now sets a limit on size of outgoing messages using
  RPC_Manager.max_output_length in registry settings.
* main.tick_delay on non-X2 platforms will now default to 0.2
  instead of 0.05 in registry settings.
* Added new commands to the RPC interface to get configuration
  information: get_paths, get_modules, get_endpoints, get_clusters.
* Added parameter "zigbee_time_offset" to get_time response.
* Added timezone support to platforms that don't natively support
  timezone information through RPC commands get_timezone,
  set_timezone, clear_timezone.
* RPC command enable_joining now preserves joining time over reboots. 
* Endpoints now set the default for clusters requiring APS
  encryption.  This will affect all endpoints and any clusters that do
  not specify their encryption level: Endpoint, Cluster, ZCL_Cluster and
  temporary clusters).


Bug Fixes:
* Re-adding a device no longer overwrites the ephemeral link key
  (41349).
* Devices that are not active on XBee network upon removal no longer
  cycle active/inactive (41346).
* X2e SE Router endpoints are now preserved after xbee NR=0 (44949).
* Flooding the gateway with multiple time requests no longer causes
  the Coordinator to stop responding (40899).





