0.7.1 - 11/07/08
----------------

Tools - New Significant Additions/Features
------------------------------------------
o Add new tool ipmi-chassis-config for chassis configuration, such as
  boot device and power restore policy configuration.
o Add new tool bmc-device to support advanced BMC commands including
  cold reset, warm reset, setting BMC times, and more.
o Support FreeIPMI configuration file for most tools (bmc-config,
  bmc-info, bmc-device, bmc-watchdog, ipmi-chassis,
  ipmi-chassis-config, ipmi-fru, ipmi-oem, ipmi-raw, ipmi-sel,
  ipmi-sensors, ipmi-sensors-config, ipmiconsole, ipmimonitoring,
  ipmipower, pef-config) to avoid typing common options on the command
  line.  See freeipmi.conf(5) for more information.
o Add hostrange support to all config tools (bmc-config, pef-config,
  ipmi-sensors-config, ipmi-chassis-config) to support parallel
  configuration on a cluster.
o Support --bridge-sensors in ipmi-sensors and ipmimonitoring to 
  access non-BMC owned sensors (experimental).
o Support --sensor-config-file on ipmimonitoring to support 
  alternate interpretation rules.
o Add additional "connection timeout" error message to tools to
  differentiate between no IPMI communication at all vs. session
  timeout in the middle of a command's operations.
o Support hysteresis and sensor event configuration in
  ipmi-sensors-config.
o Support additional sensor monitoring interpretations in ipmimonitoring.
o Output additional sensor information in ipmi-sensors under verbose
  modes, such as lun, channel and event enable information.
o Support --always-prefix option in most tools for easier scripting.
o Support --sdr-cache-recreate in all SDR related tools for easier
  scripting.
o Support --guid option in bmc-info to retrieve global ID (guid).
o Support "SUNBMC" in-band driver for Solaris (experimental).  Please
see README.sunbmc for compilation instructions.

Tools - Enhancements/Changes/Bug Fixes
--------------------------------------
o Global in most tools
  - Rename --no-probing option to --disable-auto-probe for consistency
    in FreeIPMI.  Backwards compatability maintained.
o Global in config tools (bmc-config, pef-config, ipmi-sensors-config)
  - More carefully check for fatal vs. non-fatal errors when
    performing configuration.  This change may result in slight
    behavior differences.  For example, a session-timeout may have
    previously been considered a non-fatal error, making the config
    tools continue on attempting more configuration activities.  Now,
    it would error out on the first session-timeout indication.
o ipmi-sensors
  - Check variety of corner cases such as whether sensor readings,
    hysteresis, thresholds, etc. are even available before reading
    them.  Some sensors may output slightly different information than
    before.  For example, suppose a power supply sensor exists for a
    power supply that is not installed.  If the sensor is enabled on
    the motherboard, ipmi-sensors would likely report "OK".  If the
    sensor is disabled on the motherboard, ipmi-sensors would now likely
    report "NA".  Previously, "OK" would have been reported under both
    conditions.
  - Output "NA" for sensors whose slave addresses are not the BMC.
  - Output "Unknown" for sensors whose readings cannot be determined.
  - Output multiple sensor status messages on separate lines, rather
    than all on one line under verbose modes.
  - Output "Unrecognized State" if the sensor specifies a state that is
    unrecognized.
  - Busy sensors are now output with "Unknown" instead of causing
    errors.
  - When fields are not relevant, do not output as much information in
    verbose and very verbose mode.  For example, don't output
    hysteresis or threshold information for power supply sensors.
  - Alter some output ordering for consistency to IPMI spec.
  - Shorten/adjust some state strings for readability under
    non-verbose output.  For example, "Fully Redundant (formerly
    "Redundancy Regained")" is now just "Fully Redundant".
  - Change default privilege from user to operator.
o ipmimonitoring
  - Support -v verbose option to output sensors readings that aren't
    readable.
  - Check corner case for sensor readability.  May lead to slightly
    different output in ipmimonitoring.  For example, suppose a power
    supply sensor exists for a power supply that is not installed.  If
    the sensor is enabled on the motherboard, ipmimonitoring would
    normally report "Nominal".  If the sensor is disabled on the motherboard, 
    ipmimonitoring would normally not output a sensor state (it would
    output "N/A" under verbose mode). Previously, "Nominal" would have
    been reported under both conditions.
  - Consider sensors without BMC slave addresses unreadable.  May
    result in sensors not being output like before.
  - Busy sensors may result in sensors not being output rather than
    causing errors.
  - Output "Unrecognized State" if the sensor specifies a state that is
    unrecognized.
  - Output multiple bitmask strings if multiple bits are set.
  - Output "OK", similarly to ipmi-sensors when no bitmask strings are
    returned from a sensor reading.
  - Shorten/adjust some state strings for readability.  For example,
    "Fully Redundant (formerly "Redundancy Regained")" is now just
    "Fully Redundant".
  - Change default privilege from user to operator.
o ipmipower
  - Removed many early experimental features from ipmipower so
    ipmipower is more like other tools.  Removed ipmi-version,
    cipher-suite-id, privilege-level, and authentication-type auto
    discovery. Removed ability to enable/disable a number of experimental
    features.
  - Changed --config to --config-file in ipmipower for consistency to
    other tools.  Backwards compatability maintiained.
  - Replace --ipmi-version option with --driver-type.  Backwards
    compatability maintained.
  - Removed hostname config file option.  Require users to always input
    atleast hostname.
  - Changed primary config file to /etc/freeipmi.conf.  Legacy config
    file searched for and still supported.
  - Prefixed config file options with 'ipmipower' for consistency to
    new global FreeIPMI config file.  Old options still supported.
o bmc-config
  - Support configuration of UserN:Lan_Session_Limit and
    UserN:Serial_Session_Limit (where N is a user id number).
  - By default, do not output unsupported authentication type enables
    when checking out the Lan_Conf_Auth section.  Output unsupported
    authentication type enables under verbose output.
  - By default, do not output serial configuration parameters on checkout.
    Output serial configuration under verbose output.
  - Remove checkout of "Misc" section and "Power_Restore_Policy"
    field, which is now handled by ipmi-chassis-config.  Backwards
    compatability commit and diff maintained.
  - Remove case sensitivity when checking a number of fields.
o ipmi-chassis
  - Alter ipmi-chassis output to print "unknown" when field is not known.
  - Alter some ipmi-chassis output text to be more consistent to IPMI
    spec.
  - Hide configuration options now supported in ipmi-chassis-config.  
o ipmi-fru
  - Output FRU device names along with IDs in ipmi-fru.
  - Reduce excessive newline outputs in ipmi-fru.
  - Output more information by default.  Change the output of verbose
    vs. very verbose output.
o ipmi-sel
  - Change default privilege from user to operator.
  - Search of SDR records by sensor number and sensor owner id.
  - Support SEL Event Record debug dumping.
o ipmiconsole
  - Support --session-timeout and --retransmission-timeout options.
  - Removed -C short option for consistency to other tools.
  - Removed hostname config file option.  Require users to always input
    atleast hostname.
  - Changed primary config file to /etc/freeipmi.conf.  Legacy config
    file searched for and still supported.
  - Prefixed config file options with 'ipmiconsole' for consistency to
    new global FreeIPMI config file.  Old options still supported.
o bmc-watchdog
  - Remove legacy 'v' option for version.

Libraries
---------
o libfreeipmi
  - Add additional IPMI commands.
  - Support new "connection timeout" error message.
  - Support new "command invalid for selected interface" error message.
  - Support ipmb bridging in KCS, OPENIPMI, LAN, and LAN_2_0 interfaces.
  - Check for additional corner cases in fiid API.
  - Support SUNBMC driver.
o libipmimonitoring
  - Support new "connection timeout" error message.
  - Handle variety of corner case situations better, such as dealing
    with sensor readings that are unavailable.
  - Provide more information to user on unreadable/uninterpretable
    sensor readings.
  - Support SUNBMC driver.
  - Provide new IPMI_MONITORING_SENSOR_READING_FLAGS_BRIDGE_SENSORS flag.
  - Support several new sensor interpretation rules.
  - Return short message strings in ipmi_monitoring_bitmask_string().
o Various naming consistency fixes to IPMI specification.
o Various minor bug fixes.

Contributions
-------------
o Ganglia plugin scripts ganglia_ipmimonitoring.pl and ganglia_ipmi_sensors.pl.
o Nagios plugin script nagios_ipmimonitoring.pl.

0.6.10 - 10/13/08
-----------------
o Fix ipmi-fru FRU parsing corner case.

0.6.9 - 09/26/08
----------------
o Handle ipmiconsole/libipmiconsole non-default port corner cases.
o Fix --debug portability.
o Document new workarounds.

0.6.8 - 09/22/08
----------------
o Handle "invalid parameters" error codes in ipmi-sensors and
ipmimonitoring/libipmimonitoring to work around some motherboards.
o Fix bug in ipmimonitoring sensors configuration file parsing.
o Fix corner case in libipmimonitoring sdr-cache filename creation.
o Fix config tool exit code corner case.

0.6.7 - 09/11/08
----------------
o Handle "illegal sensor" error code in ipmi-sensors and
ipmimonitoring/libipmimonitoring.

0.6.6 - 08/26/08
----------------
o Output NA/Unknown for non-BMC owned sensors in ipmi-sensors.
o Do not output readings for non-BMC owned sensors in ipmimonitoring.
o libfreeipmi/ipmi-chassis fix invalid console redirection input check.

0.6.5 - 08/02/08
----------------
o Fix ipmimonitoring group assignment bug.
o Fix several invalid error outputs.
o Fix several minor bugs.
o Minor documentation cleanup.

0.6.4 - 06/04/08
----------------
o Do not exit ipmi-sensors or ipmimonitoring for sensors that return
  "sensor data not present" errors.  Output "NA", "Unknown", skip sensor
  output, etc. as needed.
o Fix bug in ipmi-sensors and ipmimonitoring when dealing with
  optional sensor state assertions after a sensor read.
o Fix bug in ipmi-sensors and ipmimonitoring when dealing with
  reserved fields in sensor state assertions after a sensor read.
o Add workaround in ipmi-sensors and ipmimonitoring when dealing with
  sensors that improperly report sensor assertions after a sensor read
  (i.e. no assertions set when required, or invalid assertions set).
o Fix minor corner cases.
o Fix manpage typos.

0.6.3 - 05/27/08
----------------
o Fix --eliminate option in ipmipower.
o Fix --quiet-cache option to work with flushing cache.
o Fix ipmi-sensors-config flush cache corner case.
o Fix ipmi-fru output corner case.
o Fix workarounds parsing bug.
o Fix/clarify various manpage text.

0.6.2 - 05/15/08
----------------
o Fix ipmi-fru output corner cases.
o Fix ipmi-chassis boot-device configuration bug.
o Fix ipmiconsole config file parsing corner case.
o Fix ipmipower max password length corner case check.
o Fix command line parsing error messages.
o Remove excess error output messages.
o Add missing manpage option listings.

0.6.1 - 04/27/08
----------------
For Users
---------
o Add new tool ipmi-sensors-config.
o Add new tool ipmi-oem.
o Support --groups (plural) for multiple groups listing in
  ipmi-sensors.  Older --group (non-plural) option maintained for
  backwards compatability.
o Support --list-groups and --flush in ipmimonitoring for consistency
  to ipmi-sensors.
o Change --cache-dir to --sdr-cache-dir in ipmimonitoring for consistency
  to ipmi-sensors.
o Change short option -f option to -n in pef-config and bmc-config for
  consistency to ipmi-sensors-config.  The -f option is maintained for
  backwards compatability.
o Support -e (--escape-char) for alternate escape character in
  ipmiconsole.
o Change --wait-until-off short option from -B to -G.
o Support -B in ipmipower for consistency to other tools, although -B
  offers no purpose in ipmipower.
o Support -F in ipmipower for consistency to other tools.
o Enhanced speed of ipmi-fru, by skipping unnecessary FRU data reads.
o SSIF Inband driver will timeout after a certain period of time.
o Support additional sensor monitoring interpretations in ipmimonitoring.
o Provide more detailed error messages in config tools.
o Support shared SDR caches for ipmi-sensors, ipmi-fru, ipmi-sel,
  ipmi-sensors-config, and ipmimonitoring.  (libipmimonitoring will
  still use a different default cache directory.)  This will require a
  new cache generation for these tools.
o Support driver-type options for ipmipower ipmi version option.
o Modified SDR caching output messages in ipmi-sensors, ipmi-sel,
  ipmi-fru, ipmi-sensors-config and ipmimonitoring to provide more
  useful information.
o In ipmi-sensors, updated SDR output under verbose and very verbose
  output modes with:
  o More IPMI compliant field names.  For example, 'Sensor Name' has
    been replaced with 'ID String'.
  o More correct output.  For example, 'NA' will be output instead of
    '0.0' when a value is not truly available.  Fields that don't exist
    will not have a default output.
  o Fix incorrect hysterisis calculation and output.
  o Fix incorrect OEM data output.
  o Support more SDR record types for output.
  o Output more SDR record information in general.
o Added new freeipmi(7) and libfreeipmi(3) manpages.
o Various other bug fixes, documentation fixes, and enhancements.

For Developers
--------------
o Many libfreeipmi API changes.  Not counting specific tool changes
  listed above, these API changes should not affect FreeIPMI user tools.
  o locate/probing API revamped.
  o SMIC driver/api removed. 
  o 'udm' renamed to 'api' globally.
  o 'ipmi_device_t' device context renamed to 'ipmi_ctx_t'.
  o New sdr-caching library added. 
  o Code re-organized into subdirectories.
  o New header files for more ipmi spec subsections added.
o Support new 'ipmi_monitoring_sdr_cache_filenames' function in
  libipmimonitoring.  
o Support IPMI_MONITORING_SENSOR_UNITS_WATTS sensor units in
  libipmimonitoring.
o Store SDR with different format for ipmi-sensors, ipmi-fru,
  ipmi-sel, and ipmi-sensors-config, ipmimonitoring/libipmimonitoring
  for easier future extensibility.  
o Packet names added to IPMI dump outputs in all tools for easier
  packet identification in debugging.
o Make IPMI dump outputs consistent across all tools.
o Support driver timeout error codes in all drivers and APIs.
o SDR record dumping added into all tools.
o Various other bug fixes and enhancements.

0.5.6 - 03/27/08
----------------
o Fix bmc-watchdog probing corner case.
o Fix bmc-watchdog openipmi corner case.

0.5.5 - 02/25/08
----------------
o Fix bmc-info firmware and IPMI version output.
o Fix Sun endian bug workaround.
o Fix FRU data output corner cases.
o Fix workaround documentation.

0.5.4 - 02/07/08
----------------
o Output addresses in hex in ipmi-locate.
o Clarify device addresses in manpages.
o Support --ignore-sdr-cache option in ipmi-sel and ipmi-fru.
o Minor SDR caching bug fixes.
o Minor ipmimonitoring corner case fixes.
o Various SSIF corner case fixes.

0.5.3 - 01/02/08
----------------
o Fix minor ipmimonitoring command line option combination bugs.
o Fix several minor corner cases in ipmi-sel, ipmi-sensors, and
ipmimonitoring.
o Fix corner case in all tools by recognizing 127.0.0.1 as the same as
localhost.
o Fix documentation/manpage text/typos.

0.5.2 - 12/21/07
----------------
o Clarify "Password Verification Timeout" troubleshooting information.
o Fix ipmipower cmdline parse bug.
o Support suffixes in hostrange inputs.

0.5.1 - 12/07/07
----------------
For Users
---------
o Added previously missing IPMI 2.0 (-D LAN_2_0) support into
  ipmi-chassis, ipmi-fru, ipmi-sensors, ipmi-sel, ipmi-raw, and
  ipmimonitoring.
o Added more strict IPMI over LAN implementation into ipmi-chassis,
  ipmi-fru, ipmi-sensors, ipmi-sel, ipmi-raw, and ipmimonitoring.  
o OpenIPMI and KCS Inband drivers will timeout after a certain period
  of time, so tools will no longer hang if the BMC is non-functional.
o Ported IPMI compliance workarounds from ipmipower, ipmiconsole, and
  ipmimonitoring into ipmi-chassis, ipmi-fru, ipmi-sensors, ipmi-sel,
  and ipmi-raw.
o Updated all manpages with more instructions, information, examples,
  and trouble shooting tips.
o Support --debug option under the non-debug builds.
o Rewrote error messages to provide more accurate descriptions.
o Removed CALLBACK and OEM privilege capabilities in most tools.
o Removed the quiet and silent options from bmc-config.
o Added openipmi driver to bmc-watchdog.
o Added keypair command line support to pef-config.
o Removed bmc-autoconfig tool.
o Added more details comments and instructions to bmc-config checkout.
o Converted ipmiconsole, ipmipower, and ipmimonitoring to use argp
  instead of getopt for consistency of usage output.
o Re-word "ASUS 2.0" workaround into generic "IGNORE SOL PAYLOAD SIZE"
  workaround.
o Support new "IGNORE SOL PORT" workaround.
o Made many command line options, interactive prompt, and config file
  options consistent across FreeIPMI tools.  Inconsistencies between
  dashes and underscores have been fixed in a number of places.
  Backwards compatability has been maintained when possible. Notable
  changes include:
  o --priv-level and --privilege options are now --privilege-level.
  o --auth-type options are now --authentication-type.
  o --reg-space or --register-space options are now --register-spacing.
  o --hostnames (plural) is now --hostname (not-plural).  
  o --timeout is now --session-timeout.
  o --retry is now --retransmission.
  o All tools now use -W (--workarounds) to specify workarounds.
  o The "plain" authentication type is now the
    "straight_password_key" authentication type.
  o The short option -r for --register-spacing has been removed for
    consistency with other command line options.
  o Short options for most debugging options have been removed.
  o All -H and -h (help) options have been changed to -? for
    consistency in all tools. 
  o All -v (version) options have been changed to -V for consistency
    with all tools. 
  o The -T option and -I option in ipmipower have been flipped for
    consistency with other tools.
  o The -c option in ipmiconsole is now the -I option for consistency
    with other tools.
  o Short option -I changed to -D in bmc-watchdog for consistency with
    other tools.
  o The -i option in bmc-config is now the -c option.
  o The -k option in bmc-config and pef-config is now the -e option.
o Various other minor bug fixes and enhancements.

For Developers
--------------
o Added IPMI 2.0 into UDM.
o Added workaround support into UDM for IPMI 1.5 and IPMI 2.0.
o Added IPMI 2.0 into the libipmimonitoring API.
o Added scalability fixes into libipmiconsole for Conman.
o Fix various library variable names and macros for consistency.
  Notable changes.
  1) ipmi_ver_minor and ipmi_ver_major in struct ipmi_locate_info have
     been renamed to ipmi_version_minor and ipmi_version_major.
  2) reg_space/register_space have been renamed to register_spacing globally.
  3) privilege has been replaced to privilege_level globally.
  4) Various library error codes have been renamed for consistency for
     error codes in other libraries.  For example OUTMEM has been
     changed to OUT_OF_MEMORY globally.
  5) Various error codes and messages have been renamed/redone to give
     more useful information.  For example, IPMI_ERR_PRIVILEGE is now
     IPMI_ERR_PRIVILEGE_LEVEL_CANNOT_BE_OBTAINED and the error message
     has been updated appropriately.
o Various bug fixes and enhancements.
     
0.4.6 - 10/11/07
----------------
o Fix sdr cache corruption bug.

0.4.5 - 10/02/07
----------------
o Fix command line parse issue in ipmidetect.
o Fix rpm daemon install scripts for ipmidetectd.

0.4.4 - 09/19/07
----------------
o Alter userncame-capabilities workaround to
authentication-capabilities workaronds to cover more situations.
o Fix libipmiconsole new console port corner case.
o Fix manpage typos.

0.4.3 - 08/14/07
----------------
o Add ASUS P5M2 workarounds in ipmipower, ipmiconsole, and ipmimonitoring.
o Fix bad input assert corner cases.
o Fix non-default install bug.
o Fix range check in bmc-config SOL config that was inconsistent with IPMI spec.
o Fix ipmipower config file logic bug.
o Fix ipmipower config output logic bug.
o Fix potential pre-processor compile bug.
o Fix manpage typos.
o Fix error output messages in bmc-config.
o Fix legacy config option issues.
o Fix usage help in ipmiconsole.

0.4.2 - 08/02/07
----------------
o ipmimonitoring: Fixed free bug that can cause segfaults.
o Fix SLES packaging issue.

0.4.1 - 07/26/07
----------------

For Users
---------
o Added hostrange support to ipmi-sensors, ipmi-sel, ipmi-raw, and bmc-info
o Added ipmimonitoring
o Added ipmidetect
o Added pef-config
o Added ipmi-chassis
o Added ipmi-fru
o Added -T option to ipmiconsole.
o Re-architected workarounds options for Ipmipower due to increasing number
  of vendor specific workarounds implemented. -W, -S, -Z, -X, -Y options removed.
  New -W option implemented.
o Adjust ipmipower options to follow hostrange convention of other tools.
o -Q option added for ipmi-sensors and ipmi-sel.
o -q option added for ipmi-sensors.
o Add verbose checkout/commit progress information for large checkout(s)/commit(s).
o Add sensor names to ipmi-sel output when possible.
o Output more descriptive error messages in most FreeIPMI tools.
o '0x' parsing support in ipmi-raw.
o Sun IPMI 2.0 workarounds in ipmipower and ipmiconsole.
o Various bug fixes throughout FreeIPMI.

For Developers
--------------
o Added SDR debugging capabilities to ipmi-sdr and ipmi-sensors.
o Added libipmimonitoring
o Added libipmidetect
o Additional IPMI sub section support in libfreeipmi.
o Re-architected UDM for more descriptive error codes.
o Various bug fixes/performance fixes to libipmiconsole, libfreeipmi.

0.3.3 - 05/05/07
----------------
o Support per-msg-auth in LAN udm and majority of FreeIPMI tools.
o Support hex k-g input/output.
o Fix ipmipower per-msg-auth.
o Fix ipmiconsole k_g key corner case.
o Fix libipmiconsole state machine corner case.
o Fix OpenIPMI driver build bug.
o Fix strdup corner case in bmc-config.
o Allow OEM network functions.

0.3.2 - 03/29/07
----------------
o -N option added to ipmiconsole.
o -L option added to ipmiconsole.
o -K option added to ipmipower and ipmiconsole.
o -P option replaced w/ -W option in ipmipower.
o -P option added to most tools.
o Fix seg-fault in ipmiconsole.
o Fix various bugs in in libipmiconsole and ipmiconsole.
o Fix secure malloc bug.

0.3.1 - 12/18/06
----------------

o FreeBSD Support
o libfreeipmi: Header file include/C++ fixes.
o ipmi-sensors, ipmi-sel: Fix SDR cache creation bug for /tmp.
o ipmi-sensors: Fix SDR parsing corner case bugs.
o ipmipower, ipmiconsole: Fix mem-leak possibility.

0.3.0 - 11/13/06
----------------

For Users
---------
o Added ipmiconsole.
o IPMI 2.0 connection support added to ipmipower.
o IPMI 2.0 ping support added to ipmiping.
o IPMI 2.0 and Serial-Over-LAN (SOL) configuration added to bmc-config.
o Added sectional input/output support to bmc-config (--listsections and --section options).
o Added OpenIPMI driver support to bmc-info, ipmi-raw, ipmi-sel, ipmi-sensors.
o ipmi-raw raw input/output style change to support luns and network functions.
o bmc-info, ipmi-raw, ipmi-sel, ipmi-sensors out-of-band communication made more reliable.
o Sensor reading added to ipmi-sel for better output
o Intel 2.0 workarounds added to ipmipower.
o Supermicro 2.0 workarounds added to ipmipower.
o --wait-until-on, --wait-until-off, --retry-wait-timeout options added to ipmipower.
o --delete-range option added to ipmi-sel
o --flush-cache option added to ipmi-sel.
o --sdr-cache-directory option added to ipmi-sel and ipmi-sensors.
o Removed fish
o Removed garpd
o Various bug fixes throughout FreeIPMI.

For Developers
--------------
o IPMI 2.0 support added to libfreeipmi.
o Added libipmiconsole.
o ipmi-sensors, ipmi-sel, and bmc-config re-written in C.
o Added OpenIPMI driver support to libfreeipmi.
o Libfreeipmi Fiid interface re-implemented.
o Libfreeipmi code significantly cleaned up.
o In debug mode, packet dump, function trace, and various debugging added to libfreeipmi.


