News for libStorageMgmt

1.9.1: Apr 20 2021
    * Correct sim plugin install location
      - https://github.com/libstorage/libstoragemgmt/pull/463

1.9.0: Mar 24 2021
    * Add NVMe device health check
      - https://github.com/libstorage/libstoragemgmt/issues/265
    * Correct lsm_disk_record_alloc does not have plugin_data
      - https://github.com/libstorage/libstoragemgmt/issues/68
    * Limit lsmd to running a single instance against same socket dir
      - https://github.com/libstorage/libstoragemgmt/issues/398

1.8.8: Dec 15 2020
    * Remove NetApp ontap plugin
    * Remove Nexentastor nstor plugin
    * Re-orgainize plugins
      - https://github.com/libstorage/libstoragemgmt/issues/440

1.8.7: Dec 2 2020
    * Fix for Areca RAID cards
      - https://github.com/libstorage/libstoragemgmt/pull/444
    * Static code analysis fixes
      - https://github.com/libstorage/libstoragemgmt/pull/441

1.8.6: Nov 2 2020
    * Hpsa bug fixes
      - https://github.com/libstorage/libstoragemgmt/issues/419
      - https://github.com/libstorage/libstoragemgmt/issues/420
    * Change lsmcli output for missing lsmd (daemon)
      ref. https://bugzilla.redhat.com/show_bug.cgi?id=1872753

1.8.5: Aug 10 2020
    * Fix compile issue with check >= 0.15.0
    * Fix travis CI issues
    * Remove problematic language

1.8.4: May 21 2020
    * Bug fix for megaraid: correctly override vpd83 when WWN is NA
    * Re-work configure to be better about self configuration
    * Updates to travis CI docker script
    * Use jsmn JSON parser, remove YAJL and nlohmann
    * Make some of the simulator disks much larger
    * Introduce cformat makefile target to re-format C/C++ code
      requires clang-format

1.8.3: Feb 12 2020
    * Bug fix for arcconf
      - https://github.com/libstorage/libstoragemgmt/issues/410
    * Update nlohmann JSON

1.8.2: Dec 9 2019
    * Compile fixes for Alpine Linux
      - https://github.com/libstorage/libstoragemgmt/issues/403
      - https://github.com/libstorage/libstoragemgmt/issues/402
      - https://github.com/libstorage/libstoragemgmt/issues/401
    * Don't orphan lsmd process when displaying help
      - https://github.com/libstorage/libstoragemgmt/pull/399

1.8.1: May 24 2019
    * Bug fix
      - https://bugzilla.redhat.com/show_bug.cgi?id=1585169

1.8.0: Apr 16 2019
    * Bug fixes
      - Invalid vpd 0x83 value,
        https://github.com/libstorage/libstoragemgmt/issues/376
      - Fix duplicate files in debian packaging
      - Add simple test integration script
      - Unable to control some slot LEDs via SES
        https://github.com/libstorage/libstoragemgmt/issues/383
      - Numerous corrections for arcconf plugin
      - Correct deprecated python & perl usage

    * Enhancements
      - arcconf
        + pool member info
        + volume raid info
        + volume LED (on/off)
        + volume enable

1.7.3: Feb 15 2019
    * Bug fixes
      - https://bugzilla.redhat.com/show_bug.cgi?id=1670077
      - https://bugzilla.redhat.com/show_bug.cgi?id=1667096
      - https://bugzilla.redhat.com/show_bug.cgi?id=1667992

1.7.2: Dec 19 2018
    * Bug fixes
      - https://bugzilla.redhat.com/show_bug.cgi?id=1572137
      - https://bugzilla.redhat.com/show_bug.cgi?id=1583741
      - https://bugzilla.redhat.com/show_bug.cgi?id=1585169
      - https://bugzilla.redhat.com/show_bug.cgi?id=1624398
      - https://bugzilla.redhat.com/show_bug.cgi?id=1596731
      - https://bugzilla.redhat.com/show_bug.cgi?id=1583763
      - https://bugzilla.redhat.com/show_bug.cgi?id=1583681
      - https://bugzilla.redhat.com/show_bug.cgi?id=1584243
      - https://bugzilla.redhat.com/show_bug.cgi?id=1564151
      - https://bugzilla.redhat.com/show_bug.cgi?id=1583768
      - https://bugzilla.redhat.com/show_bug.cgi?id=1583765
      - https://bugzilla.redhat.com/show_bug.cgi?id=1591282
      - https://bugzilla.redhat.com/show_bug.cgi?id=1591282
      - https://bugzilla.redhat.com/show_bug.cgi?id=1571894
      - https://bugzilla.redhat.com/show_bug.cgi?id=1657407

1.7.1: Nov 6 2018
    * Fix up/add documentation and correct packaging lint errors.

1.7.0: Oct 24 2018
    * Replace yajl with nlohmann/json for JSON handling.
    * Bug fixes:
        - Fix the file path of lsmd.conf manpage.
        - HPSA plugin: Support ssacli version 3.25+.
        - Filesystem Hierarchy Standard: Move tools to
              /usr/libexec/lsm.d folder.
        - scan-scsi-target: Fix compiling on gcc 8.2.
        - Fix lsmcli on python 3.7.
        - Handle 'Warning:' message in hpsa plugin
    * Enhancements:
       - Add configure options for not including specified plugins
       - Add lsm_access_group_init_type_get to C API

1.6.2: May 18 2018
    * MegaRAID plugin: Fix cache information query.
    * SmartArray plugin: Remove the pyudev codes.
    * lsmd: Fix crash when plugin named as _lsmplugin.
    * Fix GCC 8 compiling warnings.
    * Add support of Debian/Ubuntu packaging.
    * User case tools for unused LUN scan and local basic storage check.

1.6.1: Oct 31: 2017
    * Add support of RHEL/Centos 6 back.
    * Fix regression on SMI-S plugin.

1.6.0: Oct 19 2017
    PLEASE DON'T USE THIS RELEASE, IT HAS REGRESSION, USE 1.6.1 OR LATER

    * New error number for deleting volume/fs with child dependency:
        * C:        `LSM_ERR_HAS_CHILD_DEPENDENCY`
        * Python:   `lsm.ErrorNumber.HAS_CHILD_DEPENDENCY`
    * Fix incorrect SCSI VPD query for 0x89 and 0xb1.
    * Fix regression on using libstoragemgmt with pywbem 0.7.0.
    * Updates on manpage and help message of lsmcli.

1.5.0: Oct 11 2017
    PLEASE DON'T USE THIS RELEASE, IT HAS REGRESSION, USE 1.6.1 OR LATER
    - New plugin -- LibstorageMgmt NFS server plugin(`nfs://`).
    - New plugin -- LibstorageMgmt Local Pseudo plugin(`local://`).
    - New plugin -- LibstorageMgmt Microsemi storage plugin(`arcconf://`).
    - Removed support of lmiwbem due to missing self-signed CA verification and
      inactive upstream of lmiwbem.
    - Support SES actions on kernel `bsg` module(old code was using `sg` kernel module).
    - Add manpages for every C API using kernel-doc.
    - Using docker of Fedora and Centos for Travis CI test.
    - New URI parameter `ca_cert_file` for ONTAP, SMI-S, targetd plugin.
    - Bug fixes:
        * Fix the ONTAP SSL connection.
        * Sim plugin: Fix sqlite3 transaction of fs_child_dependency_rm().
        * MegaRAID: Handle when both perccli and storcli are installed.
        * MegaRAID plugin: Support pool status for rebuild and check.
        * Fixed C++ code compile warnings.
    - Library adds:
	    * Query health status of local disk:
	        lsm_local_disk_health_status_get()/lsm.LocalDisk.health_status_get()

1.4.0: Feb 17 2016:
    - Add Python3 support.
    - Add support of lmiwbem.
    - Allow plugin test to be run concurrently.
    - Bug fixes:
        * Fix megaraid plugin for dell PERC.
        * Fix local disk rotation speed query on NVMe disk.
        * Fix lsmcli incorrect try-expect on local disk query.
        * Fix all the gcc compile warnings.
        * Fix the obsolete usage of AC_OUTPUT in configure.ac.
    - Library adds:
        * Query serial of local disk:
            lsm_local_disk_serial_num_get()/lsm.LocalDisk.serial_num_get()
        * Query LED status of local disk:
            lsm_local_disk_led_status_get()/lsm.LocalDisk.led_status_get()
        * Query link speed of local disk:
            lsm_local_disk_link_speed_get()/lsm.LocalDisk.link_speed_get()

1.3.4: Aug 2 2016:
    - Bug fixes:
        * https://github.com/libstorage/libstoragemgmt/pull/177

1.3.3: Jul 29 2016:
    - Bug fixes:
        * https://bugzilla.redhat.com/show_bug.cgi?id=1346901
        * https://bugzilla.redhat.com/show_bug.cgi?id=1346898
        * https://bugzilla.redhat.com/show_bug.cgi?id=1360177
        * https://github.com/libstorage/libstoragemgmt/issues/167
        * Seg. fault on qemu simulated disk
        * Fix make check on EL6 (python 2.6)
        * Misc. code improvements & corrections
        * Fix regression introduced by coverity scan correction

1.3.2: May 18 2016:
    - Bug fixes:
        * https://github.com/libstorage/libstoragemgmt/pull/152
        * https://github.com/libstorage/libstoragemgmt/pull/154

1.3.1: May 13 2016:
    - Bug fix for https://github.com/libstorage/libstoragemgmt/pull/150

1.3.0: May 12 2016:
    - Library adds:
        * Change the raid card cache split (%read, %write)
        * Retrieve/update cache information of both the card and physical disks
          (enable/disable caching etc.)
        * Turn on/off identify and fault LEDs
        * Retrieve information on batteries
        * Retrieve a physical disk RPM, link type and location string for a disk
        * Retrieve the vpd 0x83 for directly attached disk(s)
        * Given a vpd 0x83 return list of local disk paths
        * Given a disk path return the vpd 0x83 value
        * Retrieve list of local disks
    - Bug fixes:
        * https://github.com/libstorage/libstoragemgmt/issues/118
        * https://bugzilla.redhat.com/show_bug.cgi?id=1323789
        * https://github.com/libstorage/libstoragemgmt/issues/144

1.2.3: Jun 24 2015:
    - Bug fix:
        * lsmcli bash completion: Fix syntax error.
        * lsmcli bash completion: Fix volume-delete.
        * lsmcli bash completion: Add missing completions.

1.2.2: Jun 23 2015:
    - Bug fixes:
        * Fix: selinux dac_override
        * Manpage: Update hpsa and megaraid plugin manpages.
        * HP Smart Array Plugin: Fix pool querying on P410i.
        * MegaRAID Plugin: Fix bug when no volume configured.

1.2.1: Jun 17 2015:
    - Bug fix:
        * Fix 'make distcheck' error on bash-completion.

1.2.0: Jun 16 2015
    - New features:
        * The lsmd daemon now allows plugin to run as root using configure
          file.
        * Targetd plugin got full access group support.
        * The simulator plugin switched from risky pickle to sqlite3 for state
          saving.
        * Introduced bash auto completion support for lsmcli command.
        * Two new plugins for hardware RAID cards:
            * LSI MegaRAID plugin -- megaraid://
                Dell PERC and other OEM rebanded MegaRAID cards are also
                supported.
            * HP SmartArray plugin -- hpsa://
    - Library adds:
        * New method to query RAID information of volume:
            Python: lsm.Client.volume_raid_info().
            C: lsm_volume_raid_info().
        * New method to query pool membership:
            Python: lsm.Client.pool_member_info().
            C: lsm_pool_member_info().
        * New disk status constant to indicate certain disk could be used as
          pool disk or dedicate spare disk.
            Python: DISK.STATUS_FREE.
            C: LSM_DISK_STATUS_FREE.
        * New method to create RAID volume on hardware RAID cards:
            Python: lsm.Client.volume_raid_create_cap_get().
                    lsm.Client.volume_raid_create().
            C: lsm_volume_raid_create_cap_get().
               lsm_volume_raid_create().
        * New C plugin register interface for version 1.2 new methods:
            lsm_register_plugin_v1_2()
    - Bug fixes and miscellaneous fixes:
        * lsmd: Fix a possible infinity loop on plugin search.
        * Fix memory leak in C unit test.
        * Library: Fix incorrect Volume.vpd83 definition
        * SMI-S plugin: Fix SMI-S plugin spare disk support.
        * SMI-S plugin: Fix target_ports() for HP 3PAR and EMC VMAX.
        * SMI-S plugin: Fix the incorrect profile_check().
        * Fix C library compile warning.
        * Fix C library potential memory leak in handle_volume_raid_create().
        * ONTAP, MegaRAID, SMI-S Plugins: Enforce the definition of Pool.status.
        * Change license statement by replacing address to URL.
        * lsmd: add error catch for signal.
        * lsmcli: fix _get_item error message.
        * C Library: Fix message loop
        * C Library: Clean up code for DRY(don't repeat yourself).
        * SMI-S Plugin: Collect xml during exception.
        * C Library: Remove ambiguity between wrong type or OOM
        * C code clean up to use K&R code style.
        * Add Charles Rose to AUTHORS.

1.1.1: Dec 4 2014
    - Library adds:

      API Constants for new pool element types and plugin changes to support it
      * C constants:
         LSM_POOL_ELEMENT_TYPE_VOLUME_FULL, LSM_POOL_ELEMENT_TYPE_VOLUME_THIN
      * Py constants:
         Pool.ELEMENT_TYPE_VOLUME_FULL, Poll.ELEMENT_TYPE_THIN

      lsmcli:
      * lt - Alias for 'list --type target_ports'
      * Removed --init for volume-mask, it was broken for targetd (the only
        user) and instead of fixing we are going to improve targetd to support
        access groups in the next release

    - Numerous code improvements, including a big SMI-S plugin refactor,
      source code documentation corrections

    - Bug fix: Use correct default values for anonymous uid/gid in lsmcli
    - Bug fix: simc simulator not working for allowable NULL parameters for:
      *  fs_child_dependency
      *  fs_child_dependency_rm
      *  fs_snapshot_restore
    - Bug fix: lsm_restd memory leak corrections
    - Bug fix: NetApp plugin, correctly set export path when caller specifies
      default in API
    - Bug fix: Add file locking to sim plugin to prevent concurrent modification
    - Bug fix: Consistently report common error conditions for NO_STATE_CHANGE,
      EXISTS_INITIATOR for all plugins
    - Bug fix: Number of bugs addressed in SMI-S plugin including:
      * EMC: Correct error path when replicating a volume with a duplicate
        volume name
      * HDS: Correctly create thinly provisioned volume on thinly provisioned
        pool

1.0.0: Sep 7 2014
    - Release version 1
    - Numerous constants re-naming & removing
    - Removed the pool create/delete until things work better,
      esp. WRT SMI-S
    - Added checks for initiator ID verification
    - Added checks for vpd 0x83 verification
    - Simplified error logging (removed domain & level)
    - Re-named functions for online,offline -> enable,disable
    - Always use objects instead of object ID in function
      params
    - Removed individual files from fs snapshot creation
    - Add unsupported actions for pools
    - lsm_capability_set_n uses a -1 to terminate list
    - Volume status removed, replaced with admin state
    - Removed ibmiv7k plugin
    - Explicitly specify python2
    - Error path consistency changes (same error for same condition
      across plug-ins)
    - Numerous bug fixes

0.1.0: Jul 3 2014
    - Release candidate for a 1.0.0 release
    - Optional data removed
    - Initiator only functions removed
    - Pool create from from volumes removed
    - Code directory structure updated
    - Target port listing added

0.0.24: Jan 30 2014
    - Command line interface (CLI) re-factored and improved to be easier to use
      and more consistent, man pages have been updated
    - Command line output now has '-s, --script' for an additional way to output
      information for consumption in scripts
    - Command line option '-o' for retrieving optional/extended data for disks &
      pools
    - Pool creation/deleting in CLI & python API
    - Numerous small bug fixes
    - C API, added ability to list disks, list plugins and retrieve optional
      data for disks
    - SSL for SMI-S is more stringent on certificate checking for newer
      distributions, new URI option "no_ssl_verify=yes" to disable

0.0.23: Nov 27 2013
    - Addition of listing disks implemented for SMI-S and Ontap plugins
      (new, not in C library yet)
    - Add the ability to list currently installed and usable plug-ins
    - Verify return types are correct in python client calls
    - Added the ability to retrieve optional data (new, not in C library yet)
    - Visibility reductions for python code (somethings were public when should be
      private
    - Add calls to create/delete pools (new, not in C library yet)
    - Add missing initiator type for SAS
    - Improved vpd83 retrieval for SMI-S
    - Performance improvements for SMI-S plug-in
    - Numerous small bug fixes
    - Nstor plugin, additional testing and bug fixes
    - lsmd, added call to setgroups and enable full relo and PIE (ASLR) for
      security improvements
    - simulator state is now versioned
    - SCSI Unit Attention uevent handling

0.0.22: Aug 12 2013
    - Numerous code improvments/fixes
    - BZ 968384
    - BZ 990577

0.0.21: Jul 16 2013
    - IEC binary size handling
    - Functionality improvements for IBM V7K array
    - Workaround for python bug on F19
    - Bugfix (BZ 968384)
    - Package plug-ins as separately in rpm packages

0.0.20: May 24 2013
    - Python library files now in separate rpm
    - Additional debug for plug-ins when exceptions occur
    - iSCSI CHAP support modified to handle both inbound and outbound authentication
    - VOLUME_THIN Added as new capability flag
    - IBM V7000 storage array support
    - NFS export support for targetd
    - EXPORT_CUSTOM_PATH added capability flag

0.0.19: Apr 20 2013
    - Improved E-Series array support
    - Ontap plug-in: improve performance with many Volumes
    - lsmcli: Number of corrections on handling unit specifiers
    - lsmcli: Correct stack track when stdout is written to while closed
    - Fix build to work with automake >= 1.12

0.0.18: Mar 7 2013
    - lsmd: Re-written in C
    - Simplify fs_delete
    - Corrections for C client against Python plugin
    - Testing: Run cross language unit test too
    - Initial FS support for targetd plugin
    - Fix multi-arch python issues which prevent py and compiled py files
      from being identical on different arches

0.0.17: Jan 31 2013
    - Inconsistency corrections between C and Python API
    - Source code documentation updates
    - NexentaStor plug-in has been added

0.0.16: Jan 1 2013
    - lsmcli: Add confirmation prompt for data loss operations
    - lsmcli: Display enumerated values as text
    - lsmcli: Exit with 7 for --job-status when not complete
    - Fixed URI example to reference an existing plug-in
    - lsmcli: Retrieve plug-in desc. and version (lsmcli --plugin-info)
    - simc: Implement CHAP auth function (no-op)
    - lsmcli: Change check for determining if lsmd is running
    - Disable mirroring for SMI-S as it needs some re-work

0.0.15: Nov 20 2012
    - Pool parameter is optional when replicating a volume
    - Code improvements(Memory leak fix, lsmcli checks if lsmd is running)
    - Source code documentation updates
    - Ability to override simulator data storage location
    - make check target added to run unit tests

0.0.14: Oct 19 2012
    - test/cmdline.py added to automatically test what an array supports
    - Bug fixes (local plug-in execution, smi-s delete clone, code warnings)
    - targetd: (uri syntax consistency change, initialization code change)
    - Pool id added to volume information
    - lsmcli: Added --replicate-volume-range-block-size <system id> to retrieve
      replicated block size

0.0.13: Sep 28 2012
    - targetD Feature adds/fixes for initiators, init_granted_to_volume,
      volumes_accessible_by_init, initiator_grant, initiator_revoke
    - SMI-S added compatibility with CIM_StorageConfigurationService
    - SMI-S bug fixes/changes to support XIV arrays (Basic functionality verified)
    - SMI-S Proxy layer added to allow different internal implementations of smi-s
      client
    - Added missing version information for C plug-in API
    - lsmcli URI can be stored in file .lsmcli in users home directory

0.0.12: Sep 7 2012
    - SMI-S plug-in enhancements (Detach before delete, bug fixes for eSeries)
    - Added version specifier for non-opaque structs in plug-in callback interface
    - Documentation updates (doxygen, man pages)
    - Ontap plug-in: support timeout values
    - lsmcli, return back async. values other than volumes when using --job-status

0.0.11: Aug 13 2012
    - SMI-S fixes and improvements (WaitForCopyState, _get_class_instance)
    - Methods for arrays that don't support access groups to grant access
      for luns to initiators etc.
    - ISCSI Chap authentication
    - System level status field for overall array status
    - targetd updates for mapping targets to initiators
    - Simulator updates (python & C)
    - Removed tog-pegasus dependency (SMI-S is python plug-in)
    - Removed lsmVolumeStatus as it was implemented and redundant
    - initscript, check for /var/run and create if missing

0.0.10: July 20 2012
    - Simulator plug-in written in C, simc_lsmplugin is available
    - Numerous updates and re-name for plug-in targetd_lsmplugin
    - targetd_lsmplugin included in release
    - Memory leak fixes and improved unit tests
    - Initial capability query support, implemented for all plug-ins
    - Flags variable added to API calls, (Warning: C API/ABI breakage, python
      unaffected)
    - Bug fixes for NetApp ontap plug-in
    - SMI-S bug fixes (initiator listing and replication, mode and sync types)
    - Added ability to specify mirroring async or sync for replication
    - Added version header file to allow client version header checks

0.0.9: June 12 2012
    - Initial checkin of lio plug-in
    - System filtering via URI (smispy)
    - Error code mapping (ontap)
    - Fixed build so same build tarball is used for all binaries

0.0.8: June 4 2012
    - Make building of SMI-S CPP plugin optional
    - Add pkg-config file
    - SMIS: Fix exception while retrieving Volumes
    - SMIS: Fix exception while retrieving Volumes
    - lsm: Add package imports
    - Make Smis class available in lsm python package
    - Add option to disable building C unit test
    - Make simulator classes available in lsm python package
    - Make ontap class available in lsm python package
    - Changes to support building on Fedora 17 (v2)
    - Spec. file updates from feedback from T. Callaway (spot)
    - F17 linker symbol visibility correction
    - Remove unneeded build dependencies and cleaned up some warnings
    - C Updates, client C library feature parity with python

0.0.7: May 11 2012
    - Bug fix for smi-s constants
    - Display formatting improvements
    - Added header option for lsmcli
    - Improved version handling for builds
    - Made terminology consistent
    - Ability to list visibility for access groups and volumes
    - Simulator plug-in fully supports all block operations
    - Added support for multiple systems with a single plug-in instance

0.0.6: Apr 20 2012
    - Documentation improvements (man & source code)
    - Support for access groups
    - Unified spec files Fedora/RHEL
    - Package version auto generate
    - Rpm target added to make
    - Bug fix for missing optional property on volume retrieval (smispy plug-in)

0.0.5: Apr 6 2012
    - Spec file clean-up improvements
    - Async. operation added to lsmcli and ability to check on job status
    - Sub volume replication support
    - Ability to check for child dependencies on VOLUMES, FS and files
    - SMI-S Bug fixes and improvements

0.0.4: Mar 26 2012
    - Restore from snapshot
    - Job identifiers string instead of integer
    - Updated license address

0.0.3: Mar 19 2012
    - Updated to support better packaging
    - Fixes for NFS export handling
    - Simulator persistent state

0.0.2: Mar 11 2012
    - Native plugin for NetApp

0.0.1alpha: Feb 3 2012
    - First release in package form
    - Basic operation utilizing SMI-S providers.
