Version 1.18.0 -  30th Jan 2018
===============================
  * Changed Block Tracking
  * USB device passthrough
  * Unit test improvements
  * Code Cleanup
  * CA-214749: Fix infinite loop in getAllVHDs
  * CA-245400: Use right rpcinfo option to query service status
  * CA-244822: retry loading VDIs to guard against race when GC is running
  * CA-231356: Conditionally return empty VDI list from getAllVHDs
  * CP-21357: Improve error message on iSCSI login failure
  * CP-22423: Convert XenError into an exception factory
  * CA-248228: Removable Storage Disk attached to VM lost after reboot
  * CA-128095: Unhandled exception in LVMoISCSISR.load()
  * CA-254408: Fix variable shadowing
  * CP-22880: [REQ-490] Add support for ISOSR over SMB3
  * CA-188721: Fix a few potential hazards of XAPI session leaking
  * CA-218867: Handle exceptions and fail more elegantly
  * CA-240718: Fail multi-step plugins on first failure
  * CP-24279: Ignore multipath flag for blacklisted devices
  * CP-24280: blacklist ScaleIO devices in multipath
  * CA-263084: Fix path to iSCSI database
  * CA-255945: fix race on mkdir
  * CA-264210: Intellicache only supports a single base disk with deltas.
  * CA-267032: add ESRCH to list of acceptable errors in pid search

Version 1.17.1 -  21st Mar 2017
==============================
  CP-19491: Remove assumption that XenAPI is present and mock
  CA-234893: sm-multipath.service goes inactive after SM RPM upgrade
  CP-19247: Fix mpathcount problems affecting scalability test
  Revert "CA-208229: enable mpathcount filtering by SCSIid"
  CA-226070: Switched on logging for snapwatchd daemon
  CP-19491: Track branch coverage and report on coverage at completion
  CP-19491: Ignore unit test outputs
  CP-19491: Don't get random text emitted to stderr during the test
  CP-19491: Run unit tests in RPM build step
  CA-221768: Use appropriate mount options based on ISO type

Version 1.17.0 -  19th Oct 2016
==============================
  CP-18840: Enable leaf coalesce for file SRs
  CA-219124: Create unit tests for check_server_service
  CA-219124: Wait for NFS service to be up before attempting mount
  CA-198309: Cleanup locking files after inline vdi delete
  CA-218953: Use other-config parameter to identify tools repository
  CA-209401: add a default value for NFS other_config
  CA-209401: check the session existence before using it
  CA-209401: introduce vdi_detach_from_config
  CA-209401: add optional flags for detach method
  CA-207930: Space reclaim operation fails with errors on a full SR
  CA-216855: Linux 3.0 and later always has (should have) the same ABI
  CA-202383: Linux 3.0 and later always has (should have) the same ABI
  CA-212699: Linux 3.0 and later always has (should have) the same ABI
  CA-203353: Use new validation routine in FileSR create and resize operations
  CA-203353: Use new validation routine in LVHDSR create and resize operations
  CA-203353: define a single validation method for vhd size
  CA-214746: made snapwatchd service not executable
  CA-213968: Make NFS retrans configurable
  CA-213968: Use NFS defaults for timeout and retrans
  CA-213968: Get nfs_timeout from cached other_config
  CA-213968: Move get_nfs_timeout to nfs.py
  CP-17867: Add VDI_MIRROR capability to LVHDoFCoESR
  CP-17867: Add new capability `VDI_MIRROR` to SM plugins.
  CA-213600: Read BATMAP directly from the VHD and not sm-config
  CA-212761: Use eth field in probe data conditionally
  CA-208229: pass SCSIID via environment variable
  CA-208229: enable mpathcount filtering by SCSIid
  CA-212295: Stale Refcount files on pool slaves after coalescing
  Rename: util.silent_noent() -> util.force_unlink()

Version 1.16.1 -  9th Sep 2016
==============================
  CA-217822: Fix unit test, use test context
  CP-16977: Add dependecy on xenserver-lvm2

Version 1.16.0 -  19th Aug 2016
===============================
  Remove xlvhd thin-provisioning code from SM

Version 1.15.1 -  19th Aug 2016
===============================
  CA-186241: Fix allocation_quantum and per-host pool size
  CA-185992: Do not fail if the dmsetup entry is not there
  CA-184385: Remove deprecated field from local-allocator conf
  CA-185079: set-vg-info always called with local_allocator path
  Fix error handler on lvhd-thin, python 2.4->2.7 extra strict
  Add timing of LV commands with logging for lvm commands
  CP-16402: do not advertise SR_STATS in CAPABILITIES

Version 1.15.0 -  18th Aug 2016
===============================
  CP-16736: Add dependecy on xenserver-multipath
  Redesign multipath handling
  CA-202093: make sm-multipath handle FCoE BfS specific options
  Blacklist NVMe devices
  Remove custom changes to multipath.conf due to reconfigure

Version 1.14.3 -  1st Aug 2016
==============================
  Get rid of udev sync/rules from LVM config
  Set LVM_DEVICE environment variable to speed up LVM scanning
  CA-177141 [CA-177063]: Fix various race conditions

Version 1.14.2 -  29th Jul 2016
==============================
  Skip unnecessary call in _pathrefresh for LVHDoFCoE
  CA-189699: Fix FC vs FCoE adapter detection
  CP-12104: Added unit tests for FCoE SM driver.
  CP-12705: Fixed sr-probe to support Broadcom CNAs also.

Version 1.14.1 -  26th Jul 2016
==============================
  CA-198593: Do not assume N iscsi connections means N devices
  CP-6096: Decouple iSCSI baseclass from existing SR types

Version 1.14.0 -  8th Jun 2016
==============================
  CA-212813: Fix NFS attach unit test
  CA-207781: NFS SR probe should use one of the supported versions
  CA-207783: Honour additional options passed to NFS SR creation
  CA-169953: Enable read caching on SMB SRs
  CP-11979: Added FCoE driver and fixed sr-probe.
  CP-15135: Converted updatempppathd init script to systemd unit file
  CP-15900: Handle new Tools ISO name
  CA-196244: Username/password made optional for SMBSR
  CA-195426: Add 'guest' to CIFS mount options to avoid password prompt

Version 1.13.0 -  6th Apr 2016
==============================
  [CA-183960][CA-196882]: GC in batch mode and immediate deletes in SRs
  Skip unnecessary calls to load in _pathrefresh for constructors
  Allow _pathrefresh to skip expensive load call
  CA-184364: Convert snapwatchd init script to systemd unit file
  CA-189186: Fixed Unit Tests for trim_util.py
  CA-189186: Fixed Unit Tests for lvutil.py
  CA-189186: Fixed Pylint errors

Version 1.12.2 - 30th Nov 2015
===============================
  CA-186487: Normalize SMB mount paths
  CA-184517: Added temporary log to track SR virtual allocation
  CA-183814: Upgrade code writes config files also for slave
  CP-14242: Advertise SR_STATS capability for lvmoiscsi and lvmohba
  CA-178380: Fix xlvhd reset on boot
  CA-184025: Add/Rem VGs to thinprovd on upgrade
  CA-184700: Refine initial_allocation for clone and snapshot
  CA-179190: Decrease min host pool to 10 times min aq
  CP-14360: tell xenvmd to connect before starting local allocator

Version 1.12.1 - 9th Nov 2015
===============================
  CA-180727: Handle SMlog rotation
  CA-184394: Check dm device status before attempting to remove it
  CP-14504: Change all user visible CIFS references to SMB
  CA-184022: Exception happening in _deactivate_locked cause backend link not to be removed
  CA-167972: Do not enable read cache on Suspend VDI when resuming
  CA-180792: Enable ALUA autodetection and group_by_prio for VPLEX
  CA-182713: lvm.conf file is wrong in some systems
  CA-125111: mpathutil does not work with latest multipathd
  CP-11227: Unit tests for SMB SR
  CA-174964: VM.start failed, global name 'XenAPI' is not defined

Version 1.12.0 - 25th Sep 2015
===============================
Enabled xlvhd (SAN thin-provisioning) support

Version 1.11.3 - 25th Sep 2015
===============================
  CA-174715: Update CIFS SecurityFlags for new kernels
  CA-174530: Fix udev rules for multipath boot-from-SAN
  CA-162397: Unhelpful error message when empty DVD drive attached to VM
  CA-163782: Return reason for O_DIRECT with VDI.attach result
  The new dmsetup library removes the lv symlink and any attempts to the same explicity from SM a

Version 1.11.2 - 25th Sep 2015
===============================
  CA-171359: mount.cifs - Domain needs to be specified separately
  CA-181447: Fix checking of node minor
  CA-176801: [UnitTest] Fix assert after changes to nfs.py
  CA-176801: Work around rpcinfo intricacies to determine nfs versions
  CA-172263: Hide base-vdi post SXM between FileSR's and LVHDSR's
  CA-174892: scsiutil.getSCSIid() fails if multipath device is given
  CA-174104: Setting LVM_SYSTEM_DIR to the correct value for trim
  CA-173498: Fix match_targetIQN in iscsilib
  CP-12200: Files beloging to SM moved from dom0
  CP-9913: Added originator for xapi login_with_password
  CA-171849: Symlink in /dev/disk/by-scsid failed for dm devices
  CA-162918: DM-MP - dev_loss_tmo not set without setting no_path_retry
  CA-165611: DM Multipath mishandles blacklisted devices if some paths down
  CP-12403: Set backend-kind to vbd for all VDIs in LUNperVDI SRs

Version 1.11.1 - 7th Sep 2015
===============================
  CA-92675: Change ISCSI SR scheduler to NOOP
  CA-155766 Fix race between lvchange and tap-ctl open
  Improving readcache check for file based SRs
  CA-165487: Fix typo in SymLink.symlink
  CA-161436: Fix mount options for NFS ISO SRs.
  CA-161436: Disable caching for CIFS ISO SRs
  CA-170671: Cleanup xen-ringwatch cron from SM
  CA-136790: Ensure consistent behaviour of get_devices_by_SCSIid
  CP-13187: Disable usage of OCFS SRs

Version 1.11.0 - 24th July 2015
===============================
  New feature supporting SMB as a first class SR

Version 1.10.0 - 20th July 2015
===============================
  Various updates to make it work on CentOS 7

Version 1.9.50 - 27th March 2015
================================
