Revision history for FusionInventory agent

2.6 Thu, 26 Nov 2020

* as explain in comments, actual versioning is problematic for CPAN versions,
  so any future version will probably be defined as only major.minor but evantually
  as major.minor_rev if a package revision is necessary. This policy could be revised
  after any major upgrade.
* Fix configuration reloading to keep set script options
* Avoid a not critical perl error while reloading HTTP server
* Fix #820: Fix config reading to permit completly empty settings

* Bump Inventory task version to 1.10
* Fix #771: added Acer monitor serial support for models (G227HQL, G236HL, R221Q, S273HL)
* Fix #787: fix debian package reporting when size is not defined
* Battery capacity support provides now canonical values
* Battery capacity support permits to compute battery capacity usage, thanks to Thierry Bugier
* Fix #819: Surface Go 2 was recongized has Hyper-V
* Fix #825: Enhanced disk encryption detection under linux
* Fix #829: added other Acer monitor serial support (H226HQL, K222HQL, SA220Q)
* Enhanced Qemu KVM virtualization detection, thanks to Rico29
* Dmidecode output parsing cleanup
* Fix #804: Filter out virtual overlay FS while using docker
* Fix #540: Added powersupplies support on MacOS
* Fix #797: Fix ASM storage inventory
* Better canonical manufacturer reporting
* Fix Snap software inventory support with long summary on a package
* Added PartNumber API to enhanced inventory memory and controllers support:
 * Elpida, Hynix, Micron & Samsung memory partnumbers
 * Dell controller partnumbers
* thanks to Vadim Pisarev:
 * Storages can now use smartctl command
 * Enhanced HP Storage inventory with smartctl
 * Memory inventory includes partnumber as MODEL
 * Controller inventory includes SERIAL and MODEL
 * Enhanced memory and controllers inventory via IPMI
 * Better storage support
 * Micron memories PartNumber support
* Updated pci.ids to 2020.11.14 version
* Updated usb.ids to 2020.08.26 version

* Bump NetDiscovery task version to 4.2
* Bump NetInventory task version to 4.2
* Updated Ricoh printers support with better hostname detection
* Updated Zebra printers support with better hostname detection
* Introduced Siemens industrial modules support
* Introduced Multitech industrial modules support
* Fix #823, #856: Add Ubiquiti UniFi AP linux appliance support
* Fix #772: Enhanced some HP switchs support
* Introduced Hwg support, thanks to Bertrand Keller
* Fix #830: Retrieve rigth model for Oki printers
* Updated sysobject.ids (tagged fia-2.6 tag on github repository)

* Bump ESX task version to 2.6
* verify a user and password are provided before attemting to connect to ESX server

* Fix an issue with --xml-ua option triggering a perl fatal error on empty or wrong XML files
* Fix typo in man page

2.5.2 Mon, 16 Dec 2019

* fix HTTP server IPv6 support as HTTP::Daemon module now supports IPv6 natively
* Always compile IPv4 address as IPv6 too for trusted ips. This is needed when
  system default is to listen other IPv6 or you set httpd-ip to IPv6 address
  like '::' or '::1'.
* win32: always detach agent thread after 10 seconds when stopping the agent
  service when it is blocking on anything to guaranty the service stops in 10s max
* check agent persistent datas for a "forcerun" set flag. This is firstly intended
  to be used by win32 installer to handle the "start inventory after installation"
  option directly from the service.
  This can also be used to change or reset the agent deviceid.
* Add --set-forcerun option support to fusioninventory-agent script
* Add J-C-P contribution to simplify agent installation under linux debian/ubuntu
* fix: don't reschedule too early on a forced run at start
* fix: Don't use delaytime on config reload
* fix: use target counters reset to better support config reload
* feature: limit next run delay reduction
  Limit next run random delay reduction to max 1/6 of the delay if less than 6 hours,
  limit to max an hour for delay from 6 hours to 24 hours,
  and limit to max 1/24 of the delay for delay greater than a day.
  This would keep enough delay randomization to avoid mass agent server connection and
  keep next seen run more coherent with the requested delay.
* fix service shutdown when HTTP client close the connection before the agent
* fix HTTP server keep-alive support with a 8 requests by connection maximum limit
* service update to support a safe forking system to firstly support handling
  parallel http request for the Proxy HTTP server plugin.
* Proxy HTTP server plugin now support max_proxy_threads configuration which is
  set to 10 maximum concurrent requests by default.

* Bump Inventory task version to 1.9
* unix: fix last log user after a reboot
* added Samsung monitor serial support for models: B1940MR, B1940W, S22A450BW,
  S22B420, S22E450, S22F350FHU, S27D390H, S27D850T, S27H850QFU, S19A450, SM943BM,
  S22C450, S27H650FDU
* macosx:
 - fix monitors inventory using ioreg as it provides EDID block from monitors
 - fix few perl error messages on exotic cases
* win32: fix hyperv host wasn't filtered from installed virtual machines
* win32: fix Adobe key detection, thanks to PR-gh
* Megacli storage support update, thanks to po1vo
* linux: Added macvlan/docker network interfaces support, thanks to po1vo
* win32: fix firewall inventory cases, thanks to PR-gh
* win32: fix Office license inventory, thanks to PR-gh
* win32: enhanced network card inventory, thanks to PR-gh
* linux: provides debian installed software filesize in bytes
* linux: Added support for installed softwares by Snap
* linux: double-check a network interface is not virtual
* fix #723: check debian linux version in /etc/debian_version
* fix #726: Added support for latest SPARC cpus on Solaris
* hdparm support fixes by, thanks to po1vo
* win32: fix software inventory failing due to unsupported UTF-16 Appx manifest XML
* improved HP storage support, thanks to po1vo
* fix minor edid parsing issue
* linux: fix downed network interface speed, thanks to po1vo
* linux: enhanced generic SCSI storage support, thanks to po1vo
* linux: added process to enhance storage support testing
* fix #769: fix Virtuozzo virtualization inventory
* fix #752: normalize video cards memory on macosx
* fix #452, #642: better macosx network cards support
* fix #359: try to obtain remote management litemanager ID under win32
* Updated pci.ids to 2019.12.11 version
* Updated usb.ids to 2019.11.05 version

* Bump NetDiscovery task version to 4.1
* Bump NetInventory task version to 4.1
* linux: avoid to share HTTP client with threads to fix RHEL/CentOS 7 crash
* Add Tagged VLAN, work at least with HPE Switch, thanks to PR-gh
* Enhanced Qlogic support to report device serial number, thanks to po1vo
* Added StormShield support via FreeBSD MIBSupport, thanks to PR-gh
* Fix memory and storage size normalization in some cases, thanks to PR-gh
* fix #738: fix time expiration when netinventory is chained with netdiscovery
  while using fusioninventory-netdiscovery script --inventory option
* fix #741: device with empty description was no more inventoried
* fix #717: use cdpCacheSysName when available to enhance connection detection
  Try also to extract remote mac address from deviceId when possible (fix Meraki
  connection detection, even support Yealink SIP phones)
* fix #684: Added IAP Aruba serial number support
* moved APC pdu support to mibsupport, thanks to po1vo
* fix #751: Added Seagate storage support
* enhanced VLAN support
* fix #734: Fix issue with Ricoh printers
* fix #722: Enhance LinuxAppliance support with Sophos UTG support
* improved Ricoh printer support
* Updated sysobject.ids (tagged fia-2.5.2 tag on github repository)

2.5.1 Tue, 02 Jul 2019

* build: fix fusioninventory-remoteinventory was not installed
* fix HTTP server plugins base configuration folder
* fix HTTP server plugins installation from Makefile
* fix HTTP server SSL plugin so SSL sessions are not closed after one second
* fix #679: Win32 service HTTP server wasn't answering during an inventory
* feature: Added Proxy and SecondaryProxy HTTP server plugins

* Bump Inventory task version to 1.8
* fix error message while starting fusioninventory-inventory script
* fix #667: LG tv monitor inventory failure
* win32: VirtualBox or VPN network adapters are now set as virtual
* added Samsung S24E450 monitor serial support
* linux: fix megacli storage analysis
* linux: check package status before telling it is installed on debian/ubuntu
* fix #688: inventory on "windows x64 1903" takes too much time. That was only
  happen when an antivirus other than Windows Defender was enabled and it blocks
  WMI call toward MSFT_MpComputerStatus class.
* win32: Add Symantec/Norton antivirus support
* fix #399: Deduplicate logged users without being case sensitive on win32
* Updated pci.ids to 2019.06.30 version
* Updated usb.ids to 2019.05.08 version

* Bump NetDiscovery task version to 4.0
* Bump NetInventory task version to 4.0
* add Hygon Dhyana Support
* refactor: the multi-threading scheme has been re-worked so it is now working for
  netinventory task and more efficient for netdiscovery while scanning many range
  by job
* refactor: Collected datas are also sent to server from threads
* Added 2 options to fusioninventory-netdiscovery to save XMLs as file and
  automatically start netinventory when convenient:
  * add --inventory option to netdiscovery to automatically start netinventory
  * add --save option to define a folder where to save related XML
* Updated sysobject.ids (tagged fia-2.5.1 tag on github repository)

* Bump ESX task version to 2.5
* Support EnclosureSerialNumberTag and SerialNumberTag values as availables since
  VMware ESXi 6.5, Patch Release ESXi650-201811002 (build-10884925) and in latest
  VMware ESXi 6.7.
* add esx script new options:
  Add --dump and --dumpfile option to help ESX support debugging

2.5 Fri, 12 Apr 2019

* linux: reload logger during daemonize to avoid issues like not listening http
  daemon if logger has still not been used before starting the listener
* Fix #646: HTTP daemon not starting on CentOS 7
* revert dfcb64573e as now more generic fix has been implemented in a538abaed7
  (tested on CentOS 6)
* win32: don't show service memory usage on OS not supporting GetProcessMemoryInfo
* Fix #601: Log URL for server target and log path for local target
* win32: add early stderr logging support for service
  Just rename "fusioninventory-win32-service.rc.sample" removing ".sample" part
  to enable this feature. This can be handy to investigate start service failures.
* Added support for HTTPD plugins
* Added Inventory HTTPD plugins to permit remote inventory request (disabled by default)
* Added Listener target to permit agent to only answer http requests
* Updated configuration to support HTTPD plugins dedicated configuration file
* Added fusioninventory-remoteinventory script to request agent with Inventory
  HTTPD plugin enabled
* Fix HTTPD local address reuse
* Added SSL HTTPD plugins to support SSL in any server plugins
* Limit the reload target check to 30 seconds
* win32: report memory usage as Working Set Size (WSS) and Page File Usage (PFU)
* win32: revert handling service with callbacks. Even if Win32::Daemon proposes
  the callbacks usage obsoletes the typical skeleton code, the callbacks usage
  is known to leak memory and tests with latest Win32::Daemon shows that's true.
* win32: handle task run in a managed thread as this is more efficient than using
  perl fork with thread emulation under win32 and preserve a little memory usage.
* win32: wait service control manager is ready before really starting the service
* logger: don't use File::stat module to just get logfile file size, better use -s
  as File::stat module seems to fail in rare case.

* Bump Inventory task version to 1.7
* Fix lspci command subsystem parsing
* Fix hponcfg.exe can output on stderr on win32 when not really usable
* Skip not working under win32 Generic::Users inventory
  Also avoid error in log on /etc/passwd and /etc/group not found files
* Fix #601: Log deviceid as agentid and related target when running an inventory
* Fix #644: Make WORKGROUP inventory consistent
* Fix #541: Don't try to scan virtualbox VM in win32 users directories
* Updated pci.ids to 2019.04.12 version
* Updated usb.ids to 2019.03.20 version

* Bump NetDiscovery task version to 2.9
* Bump NetInventory task version to 3.3
* Add Lancom in networking devices recognized by description parsing
* Fix #650: discard empty consumable level elements
* Fix #651: discard empty type element
* Add Netdisco export contrib script from Stoatwblr, see contrib/netdisco
* Fix #638: Fix Kyocera counters handling thanks to Stoatwblr
* Printers: assume -2 counter value means a WARNING level and report it
  Thanks Stoatwblr for the deep investigation
* Add Oki printer support
* Add APC serialnumber support
* Fix #612: Enhanced Ubnt AccessPoint support
* Updated sysobject.ids (tagged fia-2.5 tag on github repository)

* Bump Deploy task version to 2.8
* Fix #394: Check file parts source/mirror url to guaranty it ends with a slash
  and trigger an error if it doesn't look like a valid URL.

* Bump Collect task version to 2.6
* WMI properties can now be a list of properties with comma or space as separator

2.4.3 Fri, 22 Feb 2019

* fix some cases where a file handle was not closed
* win32: fix a handle leak case when agent was running as service
* Fix #637: Don't depend on GNU install during "make install" to support
  more Unix systems
* daemon/service: reload target when the stat file has been updated by
  another script to use the updated next run timeout
* For server target, server connection attempts are delayed from 60 seconds,
  doubled at each new failed attempt, now until reaching max defined by delaytime
  configuration parameter.

* Bump Inventory task version to 1.6
* win32 antivirus support update:
 - nicer product name report for ESET
 - report expiration date for ESET
* Fix #582: Add other Acer monitors support
* Fix #687: Virtuozzo inventory task doesn't include first container
* Add few minor fix to virtuozzo containers inventory
* Fix LXC containers support to support recent LXC versions
* Fix #625: Container UUID is the same than host UUID
* Fix #624: Skip incomplete battery infos from dmidecode (seen on MacOS)
* Fix #631: Fix duplicated memory inventory on MacOS
* linux: fix storage size inventory
* linux: try to set storage serialnumber from mbr partition id or even
  PV UUID when not found (hdparm missing or virtual drive)
* Fix #604: Only inventory Windows Store on recent win32 platforms
* Fix #596: Openstack container seen as Physical on win32
* Fix #593: Correct detection of machine type when /var/log/dmesg is too short
* Fix #583: Add BitDefender antivirus support
* Encrypted filesystems support added
* Updated pci.ids to 2019.02.20 version
* Updated usb.ids to 2019.01.17 version

* Bump NetDiscovery task version to 2.8
* Bump NetInventory task version to 3.2
* Add BlueCoat proxy appliance serialnumber support
* win32: Support arp table check for NetDiscovery task
* Fix #634: Net::Ping version may not numeric with win32 installer
* Add Panasas PanFS support
* Add few HP/Compaq serialnumber cases support
* Fix #605: try 'ip neighbor show' if 'arp' is not available for netdiscovery
* Add UPS-MIB support for Riello, S2S & APC
* Components support added
* Updated sysobject.ids (tagged fia-2.4.3 tag on github repository)

2.4.2 Wed, 03 Oct 2018

* Linux: fix agent not listening on http port when syslog logger is active
  and Sys::Sylog module is too old

* Bump Inventory task version to 1.5
* Fix physical memory error correction detection via WMI under win32
* Fix #299: Added UWP/APPX/Windows Store software inventory
* win32 antivirus detection enhanced support:
  - add support for few antivirus base versions (defender, kaspersky,
    EST, avira, MSE, McAfee, F-Secure)
  - try to set license expiration date for F-Secure, kaspersky & avira
* Fix #442: kaspersky not fully recognized in russia
* Fix #501: wrong status was reported when windows defender was disabled
* Enhanced software inventory under Arch Linux
* Fix #453: under MacOS, skip XML DTD validation for software inventory as
  parsing may fail if a proxy is enabled
* Fix #473: fix arch detection under MacOS
* Fix #475: fix video cards support under MacOS
* Fix #504: support non-standard ssh port to report local ssh server pubkey
* Updated pci.ids to 2018.10.02 version
* Updated usb.ids to 2018.08.15 version

* Bump Deploy task version to 2.7
* Fix deployment of private packages: their downloaded parts were not
  fully found when download were too long (closes: #542)
* Handle retention duration differently for p2p and not p2p files
* P2p files have a default retention of 3 days by default
* P2p files have a default retention of 3 times the target prolog delay
  after download, parts retention is reset to the same delay for all file parts,
  so the retention duration applies at the time parts has been downloaded
* P2p file parts are now cleaned up after job success if retention duration
  is null
* Fix WinKeyNotEquals audit check to also be true when the registry key is
  simply missing
* Add support to "startjob" key for failing deploy audit check to permit
  to skip remaining checks when a failing condition makes them obsolete.

* Bump ESX task version to 2.4
* Support 2 ServiceTags case to cover chassis & lame board S/N inventory
* Updated AssetTag support
* fix wrong cpu core computation when only one package is available

* Bump NetDiscovery task version to 2.7
* Bump NetInventory task version to 3.1
* Thanks to @QuickNerd357, Brocade devices will now show serial number and
  firmware informations.
* Sanitize VLAN names. This fixes an issue with Cisco Small Business Switches.
* Get rid of unofficial Net::Ping::TimeStamp support to only use official
  support if available. Net::Ping v2.67 is now mandatory to discover
  devices thanks to timestamp ping.
* Fix #481: Add Synology NAS support
* Fix #480: Add CheckPoint support
* Fix #488: Update HP Printers support
* Updated LLDP/CDP connection match checks
* Updated sysobject.ids (tagged fia-2.4.2 tag on github repository)

* Bump Collect task version to 2.5
* Thanks to David Durieux, add support for dynamic pattern in registry key
  collect under win32. The dynamic pattern is '**' to glob subkeys like in:

* Bump Maintenance task version to 1.1
* Disable Maintenance task if no maintenance module could be used

test suite:
* Make snmp walk tests faster

2.4.1 Fri, 29 Jun 2018

* Update setup & FusionInventory::Agent::Version modules during make install
* Can set FusionInventory::Agent::Version module VERSION & COMMMENTS during
  perl Makefile.PL configuration stage
* Normalized Target class APIs
* Register planned tasks at target level so target class can filter out
  unsupported tasks
* Add Scheduler target support to be used at the same time than Server target
  but more often to make maintenance other server target storage
* One scheduler target is created for each configured server target
* Scheduler target will trigger between one to 2 minutes
* Get rid of Time::Piece dependency

* New Maintenance v1.0 task
* Maintenance task handles quick server target storage cleanup to deploy
  packages are really removed afetr their expiration time
* Task only supported by Scheduler target

* Fix BSD Storages support
* Don't try to run dmidecode inventories if it returns no output
* Set Bios && Hardware from /sys/class/dmi on recent Linux when dmidecode is missing
* Add PowerSupplies support
* Add BSD batteries support
* Add UUID to LXD containers under Linux
* Fix #439: Wrong network interface speed under win32
* Fix #472: On MacOS, add monitors serial number when available
* Fix #479: No virtual machine memory under Proxmox
* Fix #485: Fix df output parsing under MacOS
* Fix #500: Add Acer monitor EDID id match
* Better SQL Server software inventory under win32
* Update Xen Server support
* Fix get-edid command output parsing, thanks to David Durieux
* Updated pci.ids to 2018.06.29 version
* Updated usb.ids to 2018.05.04 version

* Bump NetDiscovery task version to 2.6
* Bump NetInventory task version to 3.0
* fusioninventory-netdiscovery & fusioninventory-netinventory scripts
  now support '--port' and '--protocol' options for not standard snmp support.
* Fix RAM & CPU are missing from net inventory
* Fix MEMORY/RAM OID support
* Added support for HP Net Peripheral, involving better HP printers inventory
 * Get Serial number & firmware version
 * Fix total printed pages counter in many case
 * Added total color pages counter support
* Don't assume colors table was read: fixes black toner detection on many HP printers
* Added Microtik devices support
* Enhanced Epson printers support, including model name, serial number and firmwares
* Updated LLDP support
* NetInventory task protocol upgrade to fix multithreading scheduling according to
  upgrades done server-side.
* Fix discovery of devices with only ping responding and without found hostname. In
  that case, we default the DNSHOSTNAME to the scanned ip.
* fix entity option in fusioninventory-netdiscovery script
* Get rid of nmap support for NetDiscovery task
* Add Zebra printer support
* Add QuesCom Appliance detection
* Add Linux Appliance template support
* Closes: #441,#519
* Update extmod function calls, thanks to Vadim Pisarev
* Add custom OID for Canon printer counters
* Updated sysobject.ids (tagged fia-2.4.1 tag on github repository)

* Bump Deploy task version to 2.6
* Fix file retention support
* Add P2P peers caching to reduce peers discovery load in the meantime
* Reduced timeout for peer discovery and file parts downloading for P2P. This
  efficiently limits the time passed to discover the local peers and disqualify
  any busy or not responding peers in a more acceptable delay.
* For better P2P support, agent ajusts its 404 message to "Nothing found" when it
  has nothing to share with other agents. So peers won't ask again and again for
  any file part during 20 minutes by default.

2.4 Fri, 29 Dec 2017
* Cleanup confdir use in task so using deprecated etc/softwares folder is no more
  logged in journal
* Get rid of confdir setup in
* Added "include" directive support while reading configuration file to make
  configuration maintenance easy
* Update syslog name to fullname agent
* Get rid of List::Util & Proc::PID::File module dependencies
* Try to load more recent IDS database files if found in well-known places
* Fixed default daemon pid filename
* When --pidfile is used, don't permit to manually start daemon even in foreground
  unless --pidfile parameter is different
* Makes --pidfile filename optional to compute a default one
* Check if we need to include libdir while daemonize
* Class refactoring: Get rid of discouraged 'use base' syntax in favor of lighter
  'use parent' and as fields pragma is not used (see 'base' man)
* Logger refactoring: no more an Exporter based class to simplify its usage and
  as Logger object should be commonly shared everywhere it is used.
* Fix command run to also time out while an alarm has been set
* Fix WMI calls to also time out under win32
* Few code refactoring
* remove devtom30 from maintainers

* Bump Inventory task version to 1.4
* Fixed Provider program name in agent context
* Fixed HyperV VM issue while BIOSGUID is not defined
* Fix #349: Include last logged user as usual computer user on win32 platform
* Linux distro: Add support for reading os-release file and removing LSB support
* Fix Solaris drives df output parsing adding better zfs handling
* Make backend-collect-timeout working even while waiting on command output
* Support ASM filesystems on Oracle Grid
* Introduce getDeviceId() API on Inventory class so it returns task deviceid if set
  or set a new deviceid (aka agentid or machineid) in case of remote inventory
* Fix #161: Support retrieving License software via WMI, including Office 2016
* Fix #364: [win32] Get antivirus version from software installation and get
  Windows Defender version via WMI
* Added Windows 10 version support
* Updated pci.ids to 2017.12.20 version
* Updated usb.ids to 2017.12.28 version

* Bump NetDiscovery & NetInventory task version to 2.5
* Added section support for MODEMS, SIMCARDS & FIRMWARES
* Added new detection algorithm based on exposed device supported MIB (sysORID list)
  and/or sysObjectID
* Added support for HP iLO cards
* Added support for Digi devices with enhanced MODEMS, SIMCARDS & FIRMWARES support
* Updated sysobject.ids with a lot of new devices support
* Keep first MAC address found while discovering
* Try first to select MAC address from SNMP session during SNMP device scan
* Updated sysobject.ids (tagged fia-2.4 tag on github repository)

* Bump Deploy task version to 2.5
* ddurieux fixed a regression introduced in 2.3.18 preventing to re-use known
  good peer to download file parts.

* Bump ESX task version to 2.3
* Removed no more needed createFakeDeviceid() API

* Support --no-ssl-check option to avoid checking server SSL certificate

* Added new task and script to permit agent-less inventory on win32 platform based
  on remote WMI support.

2.3.21 Mon, 31 Jul 2017
* Service/daemon refactoring:
 * Move all daemon method to dedicated FusionInventory::Agent::Daemon package
 * Win32 service now based on private FusionInventory::Agent::Service inheriting
   from FusionInventory::Agent::Daemon
 * support configuration reloading on SIGHUP signal (unix)
 * support pausing service under win32
 * support run now on SIGUSR1 signal (unix)
 * and a lot of daemon/service optimizations and enhancements
 * daemon process renamed to provider derivated name under unix-like systems with
   tag if defined. Example: "fusioniventory-agent (prod)"
* Report http proxy error to help debug communication problems: #324
* Prevent indexing in CPAN as requested by CPAN admins
* Other fixed issues: #321

* Bump Inventory task version to 1.3
* Fixed win32 softwares finally missing when 2 'inventory' are set in tasks
* Fixed bug: last dmidecode block wasn't parsed
* Updated pci.ids to 2017.07.27 version
* Updated usb.ids to 2017.07.29 version
* Updated storage inventory on MacOS supporting Firewire storages: #309 #310
* Fixes on dmidecode memory inventory: #320
* Update memory component capacity on virtual systems: #339
* Fix lenovo system information product name read from dmidecode: fix #311
* Include TL in AIX OS version: #328
* Fix Xen vm with space in name not colleted: #176

* Bump NetDiscovery & NetInventory task version to 2.3
* Fix credentials option support
* Fixed duplicated mac addresses: #315
* Also accept LLDP notifications on sysName
* Force MANUFACTURER to match real vendor, VENDOR inventory key removed
* Better cleanup of canonical strings with invalid characters
* Support more alternate mac address formats
* Fix some string field encoding
* Support Digi devices serial
* Support ups model oid
* Fixed Juniper serial retrieval
* Enhanced Konica printer discovery
* Enhanced mac address discovery
* Fixed wrong result on snmp read case: #139
* Enhanced error messages in netdiscovery task
* Updated sysobject.ids

* Bump Deploy task version to 2.4
* Added new audit checks winkey not equals support
* Support User Interaction under win32 using WTS API (need server-side plugin upgrade)

* Support xml file extension: #360
* Fixed returns exit code 0 even on error: #329
* Enhanced displayed error messages

2.3.20 Thu, 1 Jun 2017
* Fix #224, #254, #268
* Fix 2.3.19 regression while installing from sources
* Fix bad initialization while computing inventory checksum involving crash in rare case
* Include new file to reference not mergeable contributions
* Fix scheduling issue restarting tasks too early
* Avoid a warning on Socket module version check, issue found on Debian and MacOS
* Fix: Support SSL debugging at verbosity 2 on Stderr only

* Bump Inventory task version to 1.2
* Fixed Docker support
* Added system software category support
* Added firewall status innventory support
* Fix last user computation on some unix systems
* Add CPU CORECOUNT support based on dmidecode output
* Fix STORAGES support on some platforms
* MacOS: Refactoring to replace Tie::IxHash dependency with XML::XPath to better
  parse system profiler output
* Fix: block device inventory still possible even if fdisk command is missing on linux
* Fix #289: Add ARM Board support
* Support UUID for lxc containers

* Fix #221, #275
* Command documentation updated
* a lot more of additional devices in sysobject.ids
* Fix Juniper new model and firmware detection

* Bump Deploy task version to 2.3
* Audit checks refactoring and fixes
* Fix win32 registry key check
* Added new audit checks like winkey values, needs a server plugin upgrade
* Enhanced audit checks error reporting
* Fix and enhanced command action to really report output, may require a server plugin upgrade
* Fix command action exit code while target command is not found on unix

* Bump WakeOnLan task version to 2.2
* Fix thanks to Ludovic Pouzenc: send magic packets to all non-loopback non-dumb interfaces

2.3.19 Fri, 17 Feb 2017
* Version & provider refactoring to simplify release process
* Provided agent versions can now been commented by providers and  programs will
  expose comments for --version argument
* Tasks version is now read more efficiently and should reduce agent memory
  footing while running under daemon or service mode
* Bump tasks versions to reflect new way of reading task version
* Support no-compression option: useful for debugging or while server do not
  support compression
* Replace JSON dependency with JSON::PP pure perl version
* Fixed configuration parsing
* Fix sigterm support on win32
* Reduced agent memory footprint on win32
* Service optimizations limiting inventory run time on win32
* Fix service registration on win32 while requested from sources
* Try to reschedule target sooner on network error
* add Thomas Lornet aka devtom30 as maintainer

* Screen inventory refactoring introducing ALTSERIAL inventory value which may
  show a better serial number for some manufacturer. This will ease future
  screen serial number fix integration: comparing expected S/N toward ALTSERIAL
  will tell us we just need to update dedicated subclass for a given monitor.
* Some portable computer screens are now recognized
* Previously undefined screen caption may now contains additionnal informations,
  mostly for lcd internal panel, like panel model. These are taken from EDID
  "monitor_text" when found.
* Few more Acer serial number are fixed
* Fix some memory size read using canonical API
* add --no-compression|-C option to disable compression of communication with server
* Fix HOSTNAME for MacOS
* Add docker container support for linux
* Fix install date while using rpm packaging or for MacOS
* solaris support update
* macos support updates & fixes
* rudder updates
* virtualization/container detection updates (HyperV, VMWare, KVM, LXC/LXD, VirtualBox)
* Added TeamviewerID support for win32 & MacOS
* Fix win32 key registry reading while it contains white space
* Add batteries support on MacOS
* Add HOSTID support on linux & solaris

* Bump Deploy task version to 2.2
* Deploy task audit refactoring
* Add support for fileSHA512mismatch check processor in audit
* Fix #205 - Improve software package's audits
* Support optional audit check name in reported status (needs server update)
* Add checkprocessor unit tests

* add --no-compression|-C option to disable compression of uploaded files

2.3.18 Thu, 16 Jun 2016
* Many bug fixes
* enhance daemon/service mode:
 - running tasks are killed while service is stopping
 - httpd daemon is now made not blocking so daemon/service handles
   external events quickly
* full win32 service refactoring introducing Windows 10 support
* win32 service can be registered/deleted from sources
* support new option --tasks to specify tasks to execute and their order
* support new option --conf-reload-interval to ask to reload conf at
  regular time interval while running in daemon or service mode.

* Many bug fixes
* enhanced McAfee antivirus reporting
* added REMOTE_MGMT section to report infos related to installed remote
  management tools. Actually reports Teamviewer ID
* Eventually try ethtool syscall on linux to find network cards
* Fixed memory reporting on Solaris
* Enhanced installdate for softwares on many platforms
* Enhanced drive a storage reporting on win32
* Fix #584: Acer B196HQL S/N support

* Bump Deploy task version to 2.1.0
* trigger error on servers missing Digest::SHA library to help diagnostic
* Backport some master branch work done by guillomovitch on P2P support
* Net::Ping & Parallel::ForkManager library are now mandatory for P2P support
* POE & POE::Component::Client::Ping requirements are now obsolete
* Also add few fixes and enhancement to P2P support
* Added unittest for P2P support
* fixed issues related to JSON support
* Enhanced run command output to help debugging failures

* add --recursive|-R option to scan sub-folder for OCS files

* add g-bougard as maintainer

2.3.17 Sun, 27 Sep 2015
* add collect task support
* fix CPU frequency retrieval on Windows (#2876)
* fix CPU core and thread retrieval on Windows (#2894)
* small fixes for DragonFlyBSD (#2899)
* fix interface speed retrieval in Solaris zones (#2939)
* fix memory information retrieval on Solaris (#2907)
* fix recurrent timeout for system_profile usage on MacOS (#2913)
* fix hangup when enumerating ovirt virtual machines (#2917)
* fix virtuozzo virtual machines identification (reported on mailing-list)
* fix offline xen virtual machines properties retrieval (#2988)
* fix warning and parsing issues with LSI RAID adapter
* retrieve Rudder agent information for all kind of Unix systems (#2999)

* fix multi-threading issues

* better serial retrieval (#2912)
* better VLAN retrieval for non-Cisco devices
* fix firmware retrieval issues leading to malformed XML (#2908, #2956, #2994)
* fix multi-threading issues
* add support for Kyocera printers page counters
* additional devices in sysobject.ids (#2912, #2932, #2965, #2966, #2994)
* minor fixes in sysobject.ids
* relax constraints on sysobjectid syntax

* fix communication issue with latest FusionInventory for GLPI (#2937)

* allow to mimic agent in user-agent HTTP header

* support multi-threading via --threads option
* support inventory toward multiple hosts
* dropped unused --entity option

test suite:
* more robust SSL connection tests

2.3.16 Sun, 1 Mar 2015
* fix Rudder server UUID file location (#2865)
* use BIOS ID as guest ID for HyperV hypervisor (#2881)
* filter disabled CPUs in DMI data (#2525)
* minor fixes in CPU information retrieval

* fix communication with latest FusionInventory for GLPI (#2862)
* add multiple H3C/SMC/HP models in sysobject.ids (#2873)
* change sysobject.ids file format

* fix communication with latest FusionInventory for GLPI (#2862)
* add hirschman-specific firmware and serial OIDs (#2631)

2.3.15 Tue, 6 Jan 2015
* retrieve attached network gateway from default gateway
* do not report as address for non-configured IPMI interfaces
* fix last user retrieval with 32 bit agent on 64 bit Windows

* better firmware retrieval (#2806)

test suite:
* fix Perl version check for POE tests
* force IPv4 for connection tests

2.3.14 Mon, 15 Dec 2014
* fix ESX and Deploy task execution from server request (#2809, #2820, #2823)
* manage PID file explicitely (#2796)
* make PID file location configurable, through --pidfile option (warning:
  default location is now in agent state directory)

* add a few H3C/HP models in sysobject.ids (#2812)

* fix fast interface speed computation (#2833)

* add versioned dependencies on IO::Socket::SSL and Thread::Queue

2.3.13 Thu, 6 Nov 2014
* log HTTP replies status
* log agent stop event (#61)
* better logging of task initialisation process
* fix syslog logger usage with debug level >= 2 (#2780)
* fix SNMPv1 multiple values queries

* skip SNMP scan immediatly if there is no answer from remote host
* send task termination message to server when shutting down (#185)
* thread usage cleanup

* propagate error messages to server
* fix null-character presence in XML output (#2670,#2746,#2754,#2784)
* fix WWN physical address parsing (#2759)
* send task termination message to server when shutting down (#185)
* thread usage cleanup

* add support for FibreChannel controller on Linux (#2759)
* fix HyperV machines enumeration (#2141)
* fix typo in printer property name on Windows (#2782)
* fix wrong function call on BSD i386 (#2797)
* fix wrong function call on Solaris (#2799)
* fix parsing of psrinfo -vp output on Solaris (#2798)

test suite:
* disable tests requiring POE under perl 5.8

2.3.12 Mon, 06 Oct 2014
* drop Socket::GetAddrInfo usage, and use Socket directly for name to address

* fix networks interface enumeration on Windows XP (#2733)
* fix BIOS date format error on Solaris (#2735)
* retrieve OS minor version on Solaris (#2736)
* identify dockers containers (#2731)
* fix adobe license key format (RT #99164) Wed, 25 Sep 2014
* update MANIFEST to fix missing files

2.3.11 Wed, 25 Sep 2014
* additional distribution metadata
* more flexible message filtering in logger

* additional exclusion categories
* more detailed log message for inventory execution
* utf8 encoding fixes for local users and groups on Windows
* fix mac address retrieval for bonded addresses on Linux (#2622)
* fix network interface type identification on Windows
* add network interface type on BSD and Linux (#1838,#2622)
* add WIFI info for network interfaces on BSD and Linux ()
* identify interfaces aliases on Linux (#2622)
* add PCIID for network interfaces and video cards 
* better Xorg log file parsing on Linux
* fix disk size computation on Linux (#2718)
* prevent abusive /etc/ update on Linux
* ignore whitespace-only disk serial numbers on Windows (#2665)
* fix architecture identification on Solaris (#2672)
* add publisher for dpkg-based distribution on Linux

* drop consumables database in favor of standard consumable identification data
* no more arbitrary consumables number limit
* report unknown and approximate consumable level values as such
* fix negative consumable level values
* report multiple IP addresses associated with each port (#1421)
* report aggregated network ports (#2179,#2564,#2575)
* log sysdescr lookup in devices database
* additional Hischmann and Fortinet devices IDs (#2631) Mon, 04 Aug 2014
* fix regression introduced in 2.3.10 wrt hostname on Windows (#2647)
* fix regression introduced in 2.3.10 wrt last logged user on Windows
* provide error messages for name to resolution failures

netdiscovery and netinventory:
* avoid crash for missing logger with command-line tools

2.3.10 Wed, 30 Jul 2014
* fix serial key retrieval regression on Windows (#2632,#2641)
* fix office 32bits serial retrieval on 64bits Windows (#2616)
* fix duplicate network interface on AIX (#2527)
* fix warnings for non-parsable etime on Unix (#2636)
* fix global zone identification on Solaris (#2620)
* fix software retrieval on recent BSDs (#2637)
* better file system types identification on Solaris
* add support for HyperV machines enumeration (#2141)
* add support for LXC container identification (#2311)
* add --scan-profiles option to fusioninventory-inventory (#2625)

* fix nmap parameters computation (#2618)
* better device identification (#2601, #2194)

* fix invalid character presence in XML output
* add support for Extreme Discovery Protocol (EDP)
* better handling of CDP implementation differences
* better handling of multiple discovery protocols Tue, 15 Jul 2014
* fix sysobjectid and consumables databases files installation

2.3.9 Tue, 15 Jul 2014
* disable lower-level SSL checks when no-ssl-checks is used

netinventory and netdiscovery tasks:
* merge all files from sysobjectid database into a single one
* update sysobjectid database

netdiscovery task:
* catch more SNMPv3 authentication errors
* allow multiple SNMP credentials for netdiscovery executable

netinventory task:
* better printer consumable identification, using vendor references
* externalize consumable ids in a data file
* report 0% level instead of 100% for wastetoners with OK status (#2593) 
* skip problematic address only for non-existing interfaces (#2599)
* mark --model option as deprecated for netinventory executable

inventory task:
* disable user profile scanning for software by default on Windows (#2555)
* avoid fatal dmidecode usage on Windows 2003 for CPUs (#2562)
* fix last loggued user identification on Windows (#2553)
* fix product key decoding on Windows 8 (#2544)
* fix IE 10+ version retrieval on Windows (#2528)
* more details for USB devices on Windows (#2598)
* get OS UUID for SPARC on Solaris (#2539)
* add Xen Citrix server VM support (#2529)

2.3.8 Sun, 11 May 2014
netinventory task:
* add support for trunk port identification on non-cisco hardware (#2386)
* add VENDOR element, and keep MANUFACTURER bound to original manufacturer
* add H3C hardware database
* better error messages for non-existing interfaces

inventory task:
* fix multiple crashes introduced by command logging
* fix crash in Windows License module when office is not installed (#2202)
* fix last loggued user retrieval on Windows (#2458)
* fix 32bits software in user environment retrieval on Windows 64bits

test suite:
* transfer hardware tests in private hardware repository Wed, 30 Apr 2014
inventory task:
* fix crash introduced by command logging on BSD hosts

2.3.7 Tue, 29 Apr 2014
* do not rely on GNU install specific options

netinventory and netdiscovery tasks:
* drop support for SNMP dictionary
* drop support for SNMP models
* large code cleanup
* enhance firmware and serial number retrieval
* update extreme networks models database

inventory task:
* fix multiple warnings for missing commands (#2460)
* fix 'broken pipe' error messages on Solaris (#2460)
* fix warnings for NIS/NIS+ external references in /etc/passwd (#2460)
* log executed commands with debug level >= 2
* fix a crash in Windows storage inventory (#2471)
* fix process inventory on AIX (#2481)
* fix firmware version retrieval on AIX (#2480)
* fix mac address extraction for infiniband interfaces (#2432)
* fix CPU identification on newer ARM kernels (#2485)
* fix inconsistencies in process runtime computation (#2491)

test suite:
* ship missing LXC test file (#2483)

2.3.6 Mon, 10 Mar 2014
* abort with explicit error message when there is 
  no available task
* when receiving a push request from a server, reschedule
  contact for this server only

inventory task:
* fix a warning with LXC 1.0.x

netinventory task:
* fix SNMPv3 credentials handling
* fix mac address retrieval on non-default VLANs
* fix LLDP info retrieval for some hardware
* fix memory exhaustion for some hardware (#2414)
* use get-next-requests instead of get-bulk-requests, slower but safer,
  especially with large gaps in indexes

netdiscovery task:
* fix SNMPv3 credentials handling
* do not report errors for non-responding host with SNMPv3

wake-on-lan task
* honour all mac addresses from server request (#2353)

test suite:
* fix network interface test on Solaris (#2438) Tue, 14 Jan 2014
inventory task:
* fix AIX LVM regression introduced by incorrect fix (#2384)
* fix another potential warning on AIX

2.3.5  Tue, 14 Jan 2014
netinventory task:
* add more default OIDs for mappings undefined in SNMP model
* fallback on default OID if SNMP model mapping doesn't bring any result
* restore and enhance mac adressses extraction for connected devices on
  non-default VLANs
* fix trunk port identification
* fix model loading with fusioninventory-netinventory

inventory task:
* get size for Adaptec RAID controller disks on Linux (#2360)
* fix size reporting for LSI RAID controller disks on Linux
* add support for modern MegaRAID controllers on Linux (#2361)
* better identification for hard disk manufacturers (#2362)
* fix timeout for user enumeration in AD environment on Windows (#2201)
* fix a potential crash in software inventory on Windows
* cleanup whitespace for DMI and /proc values (#2391)
* fix multiple potential warnings on AIX (#2384)

test suite:
* fix test files list (#2394)
* fix network interface enumeration test on Solaris (#2346)

2.3.4  Fri, 29 Nov 2013
netdiscovery task:
* install missing sysobjectid database files
* add additional device types (phones, storage, etc...) support

netinventory task:
* add default OIDs for mappings undefined in SNMP model
* add IFALIAS support for interfaces
* allow SNMPv3 usage from fusioninventory-netinventory
* allow discovery without model from fusioninventory-netinventory

netinventory and netdiscovery tasks:
* fix infinite recursion in mac address canonicalisation, leading to memory
  exhaustion (#2336)
* fix SNMPv3 usage without optional parameters

* OpenVZ: disable the Virtuozzo module if libvirt is already plugged on OpenVZ

2.3.3  Wed, 06 Nov 2013
* clean up in the distribution, thanks Olivier Mengué <>

inventory task
* fix missing 32bits software on 64bits windows (#2212)

netinventory task
* fix SNMP reconnection when issuing VLAN-specific queries on some Cisco
  devices (#2178)
* use longer default SNMP timeout, and make them configurable
* handle MAC addresses with embedded VLAN identifier

netdiscovery task
* backport device model identification from sysobjectid value

2.3.2  Fri, 20 Sep 2013
* avoid some warning messages

netinventory task
* fix: properly pass the SNMP credentials
* better handling of mac addresses

2.3.1  Mon, 09 Sep 2013
inventory task
* report when running in a BSD Jail or a LXC system, thanks Igor Morozov
* better strategy for extracting USB printer serial on windows (#2213)
* force lowercase identifiers for USB and PCI lookups (#2122)

netdiscovery task
* fix invalid log message and spurious warnings during discovery (#2200)
* fix dictionary update handling, breaking fusioninventory-netdiscovery usage
* use sysobjectid for better identification
* more sysdescr-based identification rules
* fix loss of information when applying sysdescr-based identification rules
* normalize sysdescr better before dictionary lookup

netinventory task
* ensure device type is set in agent answer
* emits warnings when retrieved values are obviously wrong
* better handling of mac addresses
* large code cleanup and optimisation

wake-on-lan task
* fix wrong mac address pattern check

2.3.0  Thu, 01 Aug 2013
* Deploy, Network and ESX tasks are now integrated in the distribution
* new fusioninventory-inventory executable, dedicated to inventory task

* no more thread usage for HTTP interface
* no more token usage for HTTP interface, request source address is enough
* --httpd-trust option now allows multiple values
* --daemon and --no-fork options are now available from command-line only 

inventory task:
* add DNS_DOMAIN, BOOT_TIME and FQDN in OPERATINGSYSTEM section (#1197, #1347, #1358)
* collect public SSH keys
* collect local users and groups (#1570, #1870)
* collect license key for MS Office on Windows (#152)
* collect software from user profile on Windows(#1674)
* collect license key for Adobe suite, Panic's Transit, VMware Fusion on MacOs
* collect service package version on AIX (#1896)
* collect manufacturer information for memories (#1735)
* enforce consistent handling of USB and PCI identifiers (#1861)
* enforce consistent TYPE values for network interfaces (#1838)
* various UTF8 encoding fixes
* better stripping of bogus values
* Megaraid and 3ware RAID controller support on BSD (Egor Morozov)
* Megaraid controller support on Linux (Egor Morozov)
* support new OpenVZ configuration on Linux (Alessandro Iurlano)
* LPAR support on AIX (#950, #952)
* FreeBSD jail support on BSD (#736, #1555)
* better caching of system_profiler output (#2076)
* better Qemu support (#2106)
* better OpenVM support (#1774)
* better HyperV support (#1989, #1990, #1991)
* fix CPU inventory for non-i386 arches on Linux (#2172)
* better CPU inventory on Solaris (#1741, #1905, #2152)
* better memory inventory on Solaris (#1711, #1714, #1737)
* better slot inventory on Solaris (#1730)
* fix VXFS filesystem identification on Solaris (#1696)
* minimal support for busybox-specific command output (#1372)
* no more memconf usage on Solaris
* no more Mac::SysProfile usage on MacOS (#1646)

wake-on-lan task:
* ethernet and udp methods support on all systems

netdiscovery task:
* fix for regression introduced during code refactoring regarding printers

test suite:
* check the link for 404 error in the doc
* check for warnings generated during parsing
* check entries generated from parsing match expected inventory format
* normalize list before comparaison, for perl 5.18 hash randomisation

2.2.8  unreleased

* minor fixes in LVM support

2.2.7  Tue, 13 Nov 2012

* additional hack for LG screens (#1848)
* additional model for ACER screens hack (#1840)
* fix directory creation error handling with older File::Path versions (#1817)
* fix initial delay randomness (#1809)
* fix spurious null character in decoded strings (#1837)

* fix missing bios release information on some machines (#1820, #1825)

2.2.6  Fri, 14 Sep 2012

* fix installation with older MakeMaker versions
* do not generate html version of man pages
* minor fixes to dependencies list

* better fix for size parsing with HP RAID controllers, avoiding warnings
* implement model-specific hack for ACER screens serials (#1607)

* fix parsing of newer ifconfig output, such as used on Fedora 17

2.2.5  Thu, 16 Aug 2012
* Fix: deal with broken last_state file
* Fix: fix HP RAID size parsing
* Fix: virtual machine inventory with VMware desktop
* Fix: add /usr/local/{bin,sbin} in default $PATH

* Fix: do not run dmidecode.exe on Win2003
* Fix: software inventory

* Fix: improve ZFS support
* Fix: get memory on solaris on Sun-Fire-V490

* Fix: variou syntax issues (Drives, Uptime, etc)
* Fix: get network interfaces from netstat -nrv
* Fix: import VXFS 7 volumes

Test suite:
* Add an AIX slot test
* Deals properly with disabled thread support
* use the first available TCP port for network tests
* Enable SSL test even in IPv6 environment

2.2.4  Sun, 22 Jul 2012
* Fix: non blocking flock() on log file

* Fix: STORAGES uses MiB instead GB
* Fix: add Fiber Channel storage support
* Fix: Don't ignore second screen, if both have the same name

* Fix: collect qemu -drive information (Alexander Evseev)

* Fix: OCS Inventory registry support
* Fix: some time the softwares were not collected

* Fix: Collect ZFS drives properly

2.2.3  Mon, 25 Jun 2012
* Fix battery voltage and capacity retrieval
* Add --timeout option

* Fix global memory and CPU inventory
* Fix drives inventory

* LXC support (Egor Morozov)

2.2.2  Wed, 30 May 2012
* Improve README
* Fix syntax error
* Add a test_requires dependency on LWP::Protocol::https

* fix command execution

7ff3260 fix warning if getDevicesFromUdev returns nothing

* detect Virtuozzo VM (Alexander Evseev)

2.2.1  Thu, 24 May 2012
* failure encoding with UTF8 content when using Fusion protocol (#1663)
* wrong CSS path (#1580)
* missing test suite dependency (#1575)
* improve CPU details (#1597)
* --no-category process support (#1630)
* replace IS64BIT software property with more general ARCH property (#1581)
* sync EDID parsing code with mandriva
* more EDID manufacturer codes

* various encoding issues (#1550)
* network addresses collecting failure (#1549)
* inventory all the KB on Win Vista/7 (#1668, #197, #706)
* Store the XML file with the local codepage (#272)

* wrong character in Xen machine ID (#1562)
* additional disk emulation types for qemu and kvm support (#1630)

* multiple network addresses per interface support (#1565)

* no swap/memory informations for unknown hardware (#1594)
* solaris container zone bug (#1586)
* sparc T3-1 CPU support (#1583)
* solaris 8/9/10 swap bug (#1577)

* bad name for physical volumes (#1587)
* missing volume group ID (#1585)
* wrong volume group ID (#1584)
* duplicate volume groups (#1582)
* fix Lsilogic raid controller support (#1630)
* get device name from udev file content, not file name (#1630)
* get more disk informations from smartctl (#1630)
* sparc arch mismatch (#1573)
* read EDID data directly from /sys when available

2.2.0  Sat, 07 Apr 2012

Major changes:
* large speed improvement: up to 150% for a local inventory
* better multitasking support:
 - the agent use fork() to run task if needed, instead of running a new process
   from scratch, avoiding the need to use a temporary file to transmit
   parameters, with related security risks
 - the agent only forks to run a tasks when running as a server, making tracing
   and debugging easier
 - the agent only use one thread for the web interface
* better SSL support:
  - IO::Socket::SSL perl module is now required for certificate validation
  - Crypt::SSLeay perl module still allow HTTPS support, but without
    certificate validation, and the connection will be aborted unless
    certificate checking is disabled
  - validation is now performed by SSL library, and honours alternative subject
    names, and other subtilities
* large cleanup of values returned from inventory:
  - unknown values are filtered out
  - strings are trimmed for trailing spaces
  - irrelevant values, such as windows internal USB serial number, or
    controllers type and manufacturer on AIX and HPUX, are filtered out
* installation procedure automatically setup configuration and data directories
  locations in executable, there is no need to manually configure them anymore
* removal of useless features:
  - support for OCS account info have been dropped, the agent doesn't store
    arbitrary informations locally anymore
  - support for OCS network discovery and software deployment features within
    inventory task have been removed, we have better alternatives
  - useless Ping task has been dropped
* cleanup of available options:
  - deprecated --nosoft and --nosoftware options have been removed
  - --devlib, --share-dir, --basevardir and --realm options have been
    deprecated, as their values are now computed automatically at installation
  - --daemon-no-fork option has been deprecated, and replaced by --daemon
    --no-fork options
  - --info option has been deprecated, as it had no effect
  - --rpc-trust-localhost option has been deprecated, in favor of a more
    generic --http-trust option, allowing an arbitrary IP adresse or range
  - --debug option can be specified multiple times, for additional verbosity
  - --no-inventory, --no-ocsdeploy, --no-snmpquery, --no-netdiscovery options
    have been deprecated in favor of a generic --no-task option
  - --no-software, --no-printer options have been deprecated in favor of a
    generic --no-category option, and 'environment' value support has been added
* new --config option allows to select configuration backend, allowing to use
  file configuration if needed under windows, or to ignore any external
* fusioninventory-agent-config executable has been dropped, in favor of better
* documentation has been reviewed for consistency in various places where it
  appears (--help output, man page, configuration file)
* XML::TreePP perl module is now used instead of XML::Simple, reducing native
  perl modules dependencies
* OcsDeploy task is now deprecated. Please continue to use the 2.1.x agent is
  you need it.

Minor changes:
* Add the HARDWARE/CHASSIS_TYPE information
* Linux: report all IP addresses used by each interfaces (#854)
* HPUX: don't report unoccupied memory slots
* AIX: add LVM support

2.1.14  Wed, 22 Feb 2012

 ✔ Detected OS is &quot;RedHat&quot; for CentOS servers if lsb_release not available
   thanks: Jonathan Clarke

 ✔ no-software option doesn't work as advertised
   thanks: Ronan Mejecaze
 ✔ syntax error in Video module
   thanks: Walid Nouh

 ✔ No 2007 Microsoft Office system into XML
   thanks: Walid Nouh, Xavier Caillaud, jerome slayer
 ✔ On Windows Vista Office 2007 is not correctly gathered
   thanks: Walid Nouh, Xavier Caillaud
 ✔ VM System incorrect
   thanks: Mario Gzuk
 ✔ Inventory Internet Explorer when it's not present in Add/remove programs
   thanks: Walid Nouh, Xavier Caillaud, jerome slayer

2.1.13  Wed, 14 Dec 2011

 ✔ 2.1.10 Test suite fails
   thanks: Remi Collet

 ✔ VM System incorrect
   thanks: Mario Gzuk
 ✔ Fix the CPU detection on Windows
   thanks: Anthony Facchin

2.1.12  Wed, 23 Nov 2011

 ✔ Memory: Add ECC / no ECC information
   thanks: Walid Nouh, jerome slayer

 ✔ Duplication virtualmachine name on the same machine
   thanks: DuyLong LE

 ✔ [windows] Virtual network adapter reported as physical - and breaks all computer linking in GLPI
   thanks: David Durieux, V'yacheslav Stetskevych
 ✔ 2.1.11 - Total amount of total RAM memory incorrectly detected on some Windows 7 computers
   thanks: Tomás Abad, Andre Silva
 ✔ Dual screen configuration ignored on Windows Vista/7

 ✔ Fix some warnings for spurious stat() calls
 ✔ Fix hostname being forced to 'SOLARIS'

2.1.11  Mon, 12 Sep 2011

 ✔ Fix the BIOS information collect on Win2003 <= system
       commit:8c2427da5, commit: fe345815

2.1.10  Tue, 06 Sep 2011

 ✔ Model and SSN don't correct
   thanks: DuyLong LE

 ✔ Report Linux distribution version number
   thanks: Guillaume Rousse, Jonathan Clarke
 ✔ incorrect FSF postal address
   thanks: Remi Collet
 ✔ Incorrect test for LWP version
   thanks: Guillaume Rousse

 ✔ Use of uninitialized value in pattern match on
   thanks: DuyLong LE

 ✔ Can't get network interface
   thanks: DuyLong LE
 ✔ Agent segfault on Opensolaris when trying to send an inventory using https
   thanks: Walid Nouh

 ✔ FusionInventory::Agent::RPC build fails is no JSON
 ✔ New build-deps: Test::Exception, HTTP::Server::Simple::CGI,

 ✔ use BIOS/MMODEL instead of BIOS/SMODEL on Win32 &lt;= 2003
 ✔ keyboard with same serial added twice in connected items
   thanks: David Durieux, Fabrice Flore-Thebault, jerome slayer

2.1.9  Tue, 14 Jun 2011

 ✔ HARDWARE/MEMORY missing on HPUX PA-RISC 11.11
   thanks: Amir Pakdel, yanick durant
 ✔ machinfo on HP-UX 11.31 ia64 (tukwila chip) reports differently - breaks Fusioninventory CPU reporting
   thanks: Earl Flack
 ✔ HP-UX: typo in CPU name
 ✔ Serial and bios informations are missing on 11.31
   thanks: yanick durant
 ✔ HPUX Superdome CPU not correctly identified
   thanks: yanick durant
 ✔ HPUX: Error in execution of fsdb in
   thanks: yanick durant
 ✔ should we use fsdb on HP-UX to get the FS creation date?
       commit:39cd5a commit:ecd475
   thanks: Guillaume Rousse, Amir Pakdel

 ✔ Change message &quot;Force run now&quot;
   thanks: Walid Nouh
 ✔ RPC: do not regenerate a token if RPC request come from local loopback
 ✔ regression if --rpc-trust-localhost --scan-homedirs have no argument
 ✔ Agent should follow HTTP err 301 redirection
 ✔ on linux, type of computer not reported
   thanks: Fabrice Flore-Thebault
 ✔ use full name key for LVM inventory
 ✔ missing RPC port in the agent log
 ✔ LWP 6 support
 ✔ add Hyper-V virtual machine detection
 ✔ set TAG in local mode

 ✔ rhn inventory
   thanks: Remi Collet
 ✔ HP DL servers - Harddisk
   thanks: Amir Pakdel, Walery Wysotsky
 ✔ Add Linux LVM support
       commit:5f861e commit:0a3aa5 commit:9e6d79
   thanks: Sébastien Dagnicourt
 ✔ Vmware desktop virtual machines not detected on Linux
   thanks: Walid Nouh
 ✔ With newer gentoolkit software query is failing
   thanks: Guillaume Rousse, İbrahim Özgür Erişen

 ✔ Software installed on parallel virtual guest listed in physical host inventory
   thanks: Guillaume Rousse
 ✔ Error during Vmware Fusion inventort on Mac OS X
   thanks: Walid Nouh
 ✔ Error running Parallels Desktop on Mac OS X
   thanks: Walid Nouh
 ✔ Improve Parallels Desktop support
   thanks: Walid Nouh
 ✔ Fix MONITORS/VIDEOS detection on MacOSX
   thanks: Loic Lhermitte

 ✔ SolarisZones module ignored in fusioninventory-agent  2.1.8_rc1
   thanks: Christian Lete

 ✔ FusionInventory::Agent::RPC build fails is no JSON
   thanks: Remi Collet

 ✔ The agent still conflicts with Oracle Perl
       commit:a63eba commit:1d18c6 commit:4afe98
   thanks: GuruNot
 ✔ GLPI plugin imports duplicate entries with software from Windows Agent
   thanks: David Durieux, Peter Luk

2.1.8  Fri, 25 Mar 2011
       * Show a larger part of the string returned by the server in case of
       * Win32: Decrease the severity of a winkey read error
       * add FusionInventory::Agent::Tools::Win32::getValueFromRegistry()
         unused for now.
       * Win32: getWmiProperties() depends on Win32::OLE, load it first.
       * Win32/AntiVirus: avoid pointless OLE error
       * Add BNQ screen manufacturer support
       * scan-homedirs and rpc-trust-localhost don't works in command line
       * Update the Inventory XML documentation
       * HPUX: use NAME instead of TYPE to set the CPU name (Yanick Durant)
       * Document NETWORKS/{BSSID,SSID}
       * VirtualBox: major rewrite of the mostly broken Vbox mod
       * add support for the task called «Deploy»
       * add support for the task called «ESX»

2.1.8_rc1  Sat, 05 Mar 2011
       * Linux, correctly read the number of core from /proc/cpuinfo
       * MacOSX: KB unit in missing in Mac OS X
       * FusionInventory::Agent::Task::Base, correctly preinitialize
         'myData' by loading the expected file.
       * A yum plugin in contrib to trigger FusionInventory after the updates
         (Remi COLLET)
       * SSL certificat check: Accept wild card in the hostname
       * Linux/CPU: avoid a warning is $serial is undef, thanks Raúl who
         pointed the issue
       * SSL: try to use the default CA if now --ca-cert-* is avalaible,
         thanks Kevin Cousin who suggested the idea
       * Inventory must be run after the deployment (OcsDeploy)
       * Linux: fix Knoppix version format
       * fix month number in process list start date
       * Avoid failure if the agent can't load the .dump file, see: #542
         thanks Kevin Cousin for the report
       * Decrease the severity of the error message when a optional module
         is missing
       * MacOSX/Drives: do not ignore the / filesystem
       * MacOSX/USB: no empty devices
       * Win32/Software: avoid a warning
       * Networks: improve the error message if deflat fails, thanks Walid Nouh
         for the suggestion
       * HP-UX/CPU: add a test-suite
       * HP-UX/CPU: identify the CPU on HP RX4640, (Yanick Durant)
       * HP-UX/Memory: hack to preinitialize the memory map (Yanick Durant)
       * t/README.t: only run the test if TEST_AUTHOR=1
       * Makefile.PL: add XML::TreePP in test_requires
       * RPM: feed the PUBLISHER field (Stéphane Urbanovski)
       * MacoSX/Software: Avoid breakage if .app's plist file is corrupted
       * Solaris: SUNWCzone is optionnal, use zonename instead (Raphaël SurcouF)
       * Inventory: look for backend module in @INC+$archname.'/auto' too, thanks
         to Philip Grodzki who helped to point out the issue.
       * Inventory: improve POD documentation
       * Inventory: Display a debug message if the STORAGES/INTERFACE is invalid
       * backport from master FusionInventory::Agent::Tools::getCanonicalManufacturer()
       * Linux/CPU rename AuthenticAMD to AMD
       * injector: --help show usage menu
       * injector: minor clean up in the --help menu
       * Add 2011 in the copyright years
       * Win32: set HARDWARE/DESCRIPTION
       * Tools: move the code used to find .pm in @INC in getFusionInventoryLibdir()
       * Linux/Network: set the IPv6 network address (Ludovic Hutin)
       * HP-UX/CPU: improve the machinfo parsing, thanks Amir Pakdel for
         the machinfo output on HP-UX 11.23
       * AIX: collect EMC/Clariion LUN storage (Sébastien Dagnicourt)
       * Win32: fix NETWORKS/VIRTUALDEV on OS prior Vista (David DURIEUX)
       * Internal: add and use getFusionInventoryLibdir(), getFusionInventoryTaskList()
       * Linux/Storage: collect WWN from SAS / SATA disk using hdparm
       * Win32/Networks: avoid duplicated IP in HARDWARE/IPADDR, thanks Fernando Lagrange
         for the bug report
       * Gentoo: fix the regex to collect packages,
       * Linux: dhcp-leases file now always detected, mostly on Redhat hosts (Bernhard Denner)
       * Win32: retrieve Antivirus information from //./root/SecurityCenter2 on Win7
       * Win32: software, do not ignore software with very few information
       * Win32: better detection of product key on 64bit system, thanks Ionut Bujor for
         the feedbacks
       * Drop the Ping task. Was not used.

2.1.7  Sun, 12 Dec 2010
       * RPC: Better message if access is denied
       * add --no-p2p parameter
       * initialize $config->{'rpc-trust-localhost'} to avoid a warning
         with --help
       * injector: fix the --help, there is no default server
       * fusioninventory-agent, do not load lib with use to be able to change the @INC first.
         this is needed for AIX 6.1 prebuilt.
       * AIX/CPU: use addCPU() and collect the CORE/THREAD
       * AIX/hardware: fix a typo sysplanar0 instead of sysplana00
       * AIX/storage: reinitialise temp var correctly
       * AIX/storage: store the harddrive serial number
       * AIX/storage: use addStroage
       * AIX/user: use addUser()
       * Big Oops, CPUID != CPU serial number, see:
         Revert commit a1c4c665, which is broken because of that:
         Win32: try to identify dual core CPU even if Windows thinks it two physical CPU
       * Linux/resolution: fix the parsing for Nouveau, than Remi Collet
       * Linux: improve the Harddrive detection if lshal is not avalaible,
         thanks Bernhard DENNER for the initial patch
       * No warning if ddcprobe is not avalaible

2.1.7_beta1  Fri, 19 Nov 2010
       * replace Cwd::abs_path with File::Spec->rel2abs
         abs_path fails if the directory doesn't exist yet. This was breaking
         --basevardir on UNIX system.
         The problem was fixed on Win32 with the 2.1.5 release. See commit
       * Fix regression: Do not empty log file if logfile-maxsize is undef
         or 0, thanks Remi Collet
       * Linux/PPC: Fix various warnings in
       * Linux/PPC: ignore some wrong warning
       * Linux: CPUS/TYPE renamed to CPUS/NAME
       * POD: add doc for BIOS/{S,B}MANUFACTURER
       * POD: fix a syntax error in fusioninventory-agent
       * use the default basevardir.
       * POD: clarify, we ignore virtual filesystem like /proc in <DRIVES />
       * Solaris: move showrev output example in ressources/solaris
       * Solaris: ignore Zone on Solaris < 5.10
       * Solaris: collect the UUID on x86
       * OpenSolaris: collect firmware information even if showrev is not installed
       * OpenSolaris: support GNU df to collect partition
       * Solaris: identify zfs filesystem and collect serial number (UUID)
       * Solaris/ code clean up
       * Solaris/ Don't set revision to 'Serial' if revision is empty
       * MacOSX: No serial & uudi gathered on Mac OS X 10.5 running VirtualBox
         fail back on ioreg when system_profiler do not give the wanted information
       * import a dmidecode output on OpenBSD 4.5
       * BSD/Storage: Avoid warning if model is unknown
       * BSD/CPU: failback on CPU Family if Version is empty in dmidecode, closes: #439
       * Linux, distro detection: ensure /etc/issue is parsed last if lsb_release is
         missing. This way /etc/debian_version is used on Debian
       * Linux: correctly parse /etc/resolv.conf to identify the domain
       * Linux: don't save 2 time the same domain
       * Linux/ARM: collect the Hardware information from /proc/cpuinfo
       * BSD: use sysctl -n hw.model to get the CPU name and frequency
       * MacOSX:, convert hex string to ASCII when needed, thanks Sylvain la Gravière
         for the bug report
       * Add support for 3 new manufacturer. Backport Adam Buchbinder changes on
         1.1.x branch
       * Linux/ARM: collect the Hardware information from /proc/cpuinfo
       * Windows: Disable dmidecode.exe on Win2003
       * MacOSX/Drives: don't ignore autofs filesystem, thanks François Legastelois
         for the bug report
       * BSD: use mount to identify the filesystem type, this shoud fix bug #450
       * Win32: try to identify dual core CPU even if Windows thinks it two physical CPU
       * Win32: no need to change %PATH% anymore
       * fusioninventory-agent-config, better question for server address
       * BIOS: clean up
          - do not mix motherboard and system information anymore
          - do not use CPU information do create fake serial anymore
          - retrieve the SKU number
       * MacOSX: use ioreg to get the machine serial number
       * Logger: ensure the logger is load just one time
       * add fusioninventory-injector in the distribution
       * Linux: fix: Agent don't give video ram size and video resolution,
         Eric FREYENS for the fix suggestion.
	 We now use ddcprobe or Xorg to get the resolution of the main screen.
	 This fix will be improved in the futur and should be seen as experimental
       * Win32: ignore garbage character in the XML, and filter SOFTWARES/VERSION
         to deal with some very strange case, thanks Mario GZUK for the bug report
         and RDP access
       * MacOSX: ignore a warning in
       * MacOSX: retrieve partition UUID on MacOSX 10.4
       * Linux, use ddcprobe and Xorg log file to detect the X resolution, turn
         off the generic module
       * Solaris/Networks: no ugly hack to detect the Perl bin path to launch kstat
       * Solaris/Networks: no useless grep call
       * HTML: add the deviceid in the HTML file
       * Linux/CPU: workaround if cpuinfo has broken "physical id"
       * BSD: add support for DragonFlyBSD! :D
       * VirtualBox: Don't use process list (ps) to find running process
       * MacOSX/VirtualBox: looks for user dir in /Users on MacOSX
       * Linux/Storage: ignore fdisk -l error message
       * Linux/Storage: avoid error message with fdisk -s on invalid devices
       * RPC: Allow access to / from everywhere

2.1.6    Tue, 05 Oct 2010
       * Ensure the RPC serivce URL printed in the log message targets with the default settings
       * Restore the Storage even if the target is not a server.
         Enable --tag and keep the DeviceID
       * fix 2.1.5 regression, correctly initialise $basevardir default value
       * POD, explain the registry is used on Windows, thanks Stéphane URBANOVSKI
       * Add support for MontaVista Linux, thanks Luka KODRIC
       * BSD: Fix a syntax error in Domain
       * BSD: Some adjustement for Debian GNU/kFreeBSD
       * BSD: avoid warning if the lease file can't be parsed
       * BSD: hide, df messages on STDERR
       * BSD: convert the IP mask from hex to dec
       * Win32: workaround to add timeout for HTTPS on Windows
       * OpenBSD: Do not fails if dmesg is in /sbin/dmesg instead of /bin/dmesg
       * AIX: ignore /proc filesystem like on Linux
       * Logger: avoid breakage if log file is > 5MB, thanks Benoit Machiavello
       * AIX: Error running AIX::Mem module on AIX 6.1, thanks Luka KODRIC
       * AIX: Erroor in harddrive module on AIX 6.1, thanks Luka KODRIC

2.1.5    Wed, 15 Sep 2010
       * Win32: Do not fail if the log file doesn't exist yet, thanks Igor
       * Win32: Correclty launch the sub Perl process, thanks Igor
       * Fix: Some NETWORKS/VIRTUALDEV were set to yes instead of 1

2.1.4    Wed, 15 Sep 2010
       * Save the realm if we found it by ourself. With this changes
         we avoid useless request with the wrong realm from sub module
       * Add Win32::OLE and Win32::TieRegistry dependency on Win32
       * MacOSX: fix the memory size inventory, thanks Eric Freyens for the
         bug report
       * Do not use dmidecode if it fails to give valuable information,
         use WMI instead on Win32
       * ensure basevardir and share-dir are canonical pathname
       * POD doc, add this sentence:
         "The command line parameters overwrite the configuration file."
       * Fix several issues in agent.cfg file (Walid NOUH)
       * Corrected a lot of english sentences (Benoit MORTIER)
       * Win32, avoid warning if the CPU has no name
       * if envvar REALLIB is defined, we use it to overright @INC, this in order
         to relocate the perl tree easily
       * Pass @INC content to the subprocess
       * Vmsystem, ignore some normal warning (missing /proc on some OSes)
       * fix Solaris Zone detection and add a test and some Solaris release file

2.1.3    Wed, 01 Sep 2010
       * Linux: Avoid error on system with no /proc/bus/input/devices
       * agent.cfg, add more server= parameter example
       * --server remove spaces at the begin and end of the server parameter
       * fix is_success, load use HTTP::Status;
       * fix t/xml-query-inventory.t to not fail on non i486-linux-gnu-thread-multi
       * fix t/app.t on Windows

2.1.2    Mon, 23 Aug 2010 
       * set a default SNMP version to really avoid warnings
       * Add ./t/README.t to check is README{,.html} files are present
       * Really set a default SNMP version, and bails out if an invalid version
         is used
       * Fix compatibility with snmpquery and netdiscovery plugins
       * Fix some warnings in
       * Ensure Xen PVH host identification
       * Linux: fix DNS domain detection
       * t/modules.t: do not fail on Syslog on Windows

2.1.1    Wed, 18 Aug 2010
       * Turn daemon mode off in the base configuration file
       * Fix some POD warnings
       * POD: document the common server URL for OCS and FusInv for GLPI
       * Add resources/hal/rh4-kvm and test it with t/drives.t
         adjustment needed
       * RH4, avoid false STORAGES (partition instead of disk)
       * Proc::Daemon close all the file descriptors including the file logger.
         We reopen it if needed
       * Print rpc-trust-localhost value in --help
       * RPC, cosmetic adjustement in debug message format
       * Linux/Storage: avoid breakaging if there is no disk in HAL
       * FusionInventory::Agent::SNMP clean up to avoid warning at run time
         (Guillaume Rousse)
       * Linux: parseLshal(): do not return empty hash ref anymore, thanks
         Guillaume Garson
       * Fix bypassing of virtualised system detection
       * Fix error message for non-present zoneadmin command
       * Do not call getCapacity() in parseUdev(), thanks Michał Panasiewicz

2.1      Sun, 15 Aug 2010
       * cleanup Makefile.PL
       * enhance documentation with optional and mandatory dependencies
       * drop README file lost in the middle of perl modules
       * Fix some warnings on Windows
       * agent.cfg, fix a syntax error
       * turns most call to carp() and die() into logger usage
       * Linux: storage, hdparm gives more reliable serial number
       * XML, storage, rename STORAGES/SERIAL to STORAGES/SERIALNUMBER, thanks
       * Win32: uses WMI to collect Environment vars to get correct UTF-8 data
       * Win32: ensure the hostname is in UTF-8
       * Win32: fix: load Win32::OLE in UTF-8
       * Win32: get the hostname from WMI in unicode
       * Win32: use the standard codepage to access the registry
       * Big thank you to Denis Linvinus who gave RDP access to a Russian
       * Win32: don't put BIOS ROM in STORAGES, thanks EmpereurZorg
       * Win32: add
       * Fix: Virtuozzo containers memory unit (Jan JUNGMANN)
       * Win32: Ignore network it the network interface has no PNPDeviceID
       * HP-UX: fix --no-software support
       * Win32: retrieve the Windows key on Windows 64 bit,
       * Win32: Push the default monitor in <MONITORS />
       * Win32: Use the GUID as software name is NAME is empty
       * Solaris: Various fixes (CPU, memory, storage)
       * Fix HTTP auth on non HTTPS server, _BIG_ thinks to Mario Gzuk and
         Michael Kolowicz
       * Linux: Avoid a warning if /sys/class/net/%INTERFACE%/device/uevent doesn't
       * Basic HTTP Auth: if the realm parameter is missing, the agent reuse the one
         from the server
       * Initialize PROLOG_FREQ to 1h for every target
       * Don't fail is RPC module can't be loaded. threads and HTTP::Daemon are optional
         and it may be normal.
       * web interface: do not open a new windows when an inventory is forced

2.1_rc3  Sun, 25 Jul 2010
       * MacOSX: fix if diskutils gives size in GB/MB instead of GiB/MiB
       * MacOSX: ignore printer if name start with:
         The printers list is empty. To add printers (fixes: #169)
       * MacOSX, BSD, Linux: unify domain name computation to use host name
         as primary information source, and avoid using windows-specific
         'workgroup' as default value
       * Add resources/cpuinfo/linux-686-samsung-nc10-1
       * Fix, restore ability to specify server as an host name rather
         than a full URL
       * Fix, restore --noinventory support, print a warning saying
         --no-inventory should be used instead
       * Fix: Linux, PC: detect CPU configuration of machine with one
         CPU with one core and 2 threads (Samsung NC10)
       * Fix: Linux, PC: support /proc/cpuinfo with no "physical id:"
         thanks Sébastien Prud'homme
       * Fix: Linux, PC: get the number of core from dmidecode if
       * Win32 and Linux, PC: get the CPU frequency from the CPU name, if
         possible. That's the most reliable way to get the
         information since 'Max Speed' in dmidecode is most of the
         time on crack and /proc/cpuinfo is not reliable because of
         the frequency scaling
       * Linux, PC: the cpu detection can work if only dmidecode is
       * remove --perl-bin-dir-in-path, turns it on only in the Windows
       * test scripts: fix is_deeply() argument order
       * RPC: print "now" as next contact date instead of 1/1970
       * Inventory, correctly store user list
       * Fix the noDuplicated to avoid duplicated XML sections in inventory
       * Import the new FusionInventory logo
       * Fix, HP-UX errors when listing drives (Amir PAKDEL)
       * Win32, network: Filter interfaces with no IP, IPv6 and MAC
       * Win32, printer: restore the DRIVER field
       * Win32, drive: restore the SIZE field
       * Win32, get the memories from WMI only if dmidecode is missing
       * Dmidecode, drop the unit from the memory speed like the Win32 OCS
         agent do
       * Win32, set the BIOS/TYPE field
       * Win32, storage: clean up. Reduce the number of hdparm call.
       * Win32, set USBDEVICES/NAME
       * RPC: rewrite the thread management to reduce the memory consumption
         on Windows
       * Win32: Users, we need to use Get() to retrieve Win32::OLE::Variant
         object content
       * Add more test scripts: xml-query-inventory.t,
         xml-query-simplemessage.t, t/xml-response.t
       * Fix a typo scanhomedirs → scan-homedirs
       * HP-UX: add HP-UX VM support (Sébastien PRUD'HOMME)
       * Linux, PC: CPU fixes for VMware ESX, thanks Benoit Machiavello
       * Linux: set correctly HARDWARE/WORKGROUP with the domain name,
         thanks Benoit Machiavello
       * HARDWARE/USERID: don't put more than one time in row the same user
       * Makefile.PL: Turns off the post-installation script. The hack is broken.
       * Solaris: imporove CPU, Mem, Slots (Lucas MASSE)
       * Solaris: imporove Bios, Controllers, Domains, Drives, IPv4, Memory,
         Networks, Packages, Storages and Users (Jérome LEBAS)
       * Add comment and default settings in agent.cfg (Walid NOUH)
       * UUID, improve the code to support old dmidecode
       * VirtualBox, improve Virtualbox detection, closes: #230
       * MacOSX: Set the UUID
       * MacOSX: rewrite without Mac::SysProfile
       * MacOSX: collecte IPv6 address
       * Win32: set the NT Domain for the WORKGROUP if avalaible like OCS agent
       * MacOSX: Collect Firewire disk

2.1_rc2  Thu, 01 Jul 2010
       * MANIFEST.SKIP, we need the resources files for the test suite
       * Linux: set back DRIVES/FREE
       * Linux: CONTROLLERS/NAME drop the trailing whitespace
       * addEntry(), do not ignore $noDuplicated parameter
       * remplace --html-dir by --share-dir
       * use pciid to know the pci device name and manufacturer, thanks
         Sébastien Prud'homme
       * load dmidecode from $PATH
       * fix VirtualBox VM detection (David DURIEUX)
       * Makefile.PL, UNIVERSAL::require is a dependency now
       * Document --logger
       * Fix --logger: to not overwrite other loggers if --logfile is on
       * POD, add for PROCESSES inventory
       * tools/ fixes for Solaris shell
       * Fix: Linux/i386: retrieve the number of CORE correctly
       * Fix: Vmsystem, don't load 'version', we don't use it anymore
       * Fix: Linux/ARM: drop a debug print
       * Fix: Linux Storages, fix fdisk parsing
       * MacOSX: use addCPU to collect cpu information
       * MacOSX: the number of core of the CPU
       * MacOSX: Collect all the net devices and set VIRTUALDEV=1/0
       * MacOSX: collect all the drives (fixes: #119)
       * MacOSX: DRIVES, swap VOLUMN and TYPE fields
       * Makefile.PL, no parameter for install_share, thanks Act from GLPI
         forum (
       * drop the dependency on Net::SSLeay and IO::Socket::SSL,
         we don't need them (!)
         Fix: HTTP proxy with HTTPS
       * drop the dependency on Net::SSLeay and IO::Socket::SSL,
         we don't need them (!)
         Fix: HTTP proxy with HTTPS
       * Makefile.PL, no parameter for install_share, thanks Act from GLPI
         forum (
       * Fix: don't ignore 0 values in the XML
       * MacOSX: don't use Mac::SysProfile to get memory info
       * Linux/i386: Igore empty CPU socket, thanks Sébastien Prud'homme,
         bug: #177
       * MacOSX: USB devices inventory
       * LInux/PC: Fix the core detection on multiCPU system
       * in and README are now in a new git
         repository 'agent-tools.git'
       * Linux + Lsilogic, avoid a warning if smartctl is installed
       * Linux Storage, parseUdev() use SERIALNUMBER _SHORT if avalaible

2.1_rc1 Sat, 26 Jun 2010
       * Add Windows support for 2000/XP/2003/Vista/2008/Seven
       * Windows: Add new values for SOFTWARES key
       * Add Windows service
       * disable --color for Windows for now
       * Collect Solaris process informations (Emengao)
       * VirtualMachine: Add
       * VirtualMachine: Check is the status is correct
       * detect Slackware packages (David DURIEUX)
       * switch SUBSYSTEM and VMTYPE values.VMTYPE is "libvirt"
       * Better error handling if it's not possible to create basevardir
       * Inventory: reduce the number of debug messages
       * Add DRIVES/SYSTEMDRIVE to know if it's the system partition
       *, fix: addStorages is deprecred, not addStorage
       *, addSection() is now deprecated and a warning is
         printed everytime the function is called
       * Linux/PC/CPU: set CPU name and detect CORE/THREAD
       * Stores environement variables
       * Identify USB devices (Windows, Linux)
       * --realm was two time in --help
       * LoggerBackend/ fix
         (Guillaume Rousse)
       * LoggerBackend/ don't reopen file descriptor for every new
         message (Guillaume Rousse)
       * gets all installed printers and their drivers names
        (Aurelien Bondis)
       * ocsinventory-ng is not more the default server hostname, you've to
         set it yourself in agent.cfg
       * adds Inputs support for Linux clients (Aurelien Bondis)
       * Turns off interactive mode of GNU fdisk (Aurelien Bondis)
       * Add a few new PNP monitor IDs (Alex Mauer)
       * Makefile.PL: Define Perl 5.8 as the minimal version.
       * RPC: Add http://hostname:62354/status to get the current status of
         the agent
       * Add --rpc-trust-localhost
       * RPC: serve a basic page to present the agent
       * --html-dir parameter
       * Linux/Domains. Use Sys::Hostname to get the domain
       * Exit if no --server or --target is defined
       * Inventory: If two modules with the same name are found, only load
         the first
       * Linux/Storages: detect floppy and block devices (Amir PAKDEL)
       * Linux/Storages: don't attempt to run df on cdrom devices
         (Guillaume Rousse)
       * Linux/Storages: factorize redudant code for udev devices detection
         (Guillaume Rousse)
       * HP-UX numerous improvement (Amir PAKDEL)
       * Add NETWORKS/SPEED (in MB/s) (Amir PAKDEL)
       * HP-UX/Drives: Swapped "Type" and "File System" (Amir PAKDEL)
       * Inventory: POD doc for NETWORKS part
       * add --no-printer parameter
       * BSD: don't use uname to get the OSName, but $^O aka $SNAME
       * BSD: chomp() the number of CPU
       * HP RAID disk detection is now in Generic directory and so, can be
         used by Windows and probably HP-UX.
       * Linux: use blkid to get the partition serial number
       * Task: Add the module for debugging purpose
       * HTTP::Daemon::get_request is not thread safe and must be called from
         the master thread. The timeout is set at 5 seconds to avoid
       * Linux: HP Integrated Lights-Out (iLO) (Management Interface of HP
         ProLiant servers) (Amir PAKDEL)
       * HP-UX: HP Management Processor (MP) (Management Interface of HP
         Integrity servers) (Amir PAKDEL)
       * Add --perl-bin-dir-in-path parameter for the Windows package
       * Collect Batteries information
       * Add --disable-perllib-envvar to be able to ignore PERLLIB and
         PERL5LIB envvar
       * turns off PERL5LIB envvar in win32-service
       * Simplify a lot, add _addEntry() function
       * Do not set CPU Id as MBoard serial number anymore
       * XML: Only set the non empty field to decrease the final file
         size and improve the performance
       * Add a template config file in etc/agent.cfg
       * Add --conf-file=XXX parameter to allow the user to use another
         config file
       * Fix, allow dash in key name in config file
       * Rethink the script in ./tools, see ./tools/README
       * Inventory: use encode('UTF-8', $string) to reencode to UTF-8
         string detected invalide.
       * print help messages on STDERR
       * Linux: factorize redundant modules for non-LSB Linux distribution
         identification (Guillaume Rousse)
       * rewrite lshal and dmidecode parsing code for readability and
         efficiency (Guillaume Rousse)
       * don't test umask() result, it always succeed
       * don't test Sys::Hostname availability, it's a core module
       * RPC: ignore when socket::accept return an undef $socket
       * RPC: display the date of the next inventory planned
       * testing: test modules loading (Guillaume Rousse)
       * testing: test PBP compliance (Guillaume Rousse)
       * testing: test dmidecode and lshal parsing tests (Guillaume Rousse)
       * code cleanup: ensure consistent 4-spaces indentation step everyhwere
        (Guillaume Rousse)
       * code cleanup: use strict and warning pragmas everywhere
        (Guillaume Rousse)
       * code cleanup: use lexical file handles (Guillaume Rousse)
       * code cleanup: use 3-args open statement (Guillaume Rousse)
       * code cleanup: use block-style eval statement (Guillaume Rousse)
       * code cleanup: use english names for magic variables (Guillaume Rousse)
       * code cleanup: use explicit return statement (Guillaume Rousse)
       * code cleanup: ensure all opened file handles are proprely closed
        (Guillaume Rousse)
       * code cleanup: ensure all open failure are signaled to user with a
         meaningful message (Guillaume Rousse)
       * code cleanup: ensure object constructors can handle subclasses
         (Guillaume Rousse)
       * Linux/Storages: Rename addStorages to addStorage finally
       * Add Virtuozzo support (Jan JUNGMANN)
       * merge README file with the fusioninventory-agent POD documentation
       * File::Find is required
       * Add --html parameter
       * Improve --help presentation

2.0.7    Mon, 14 Jun 2010
       * Avoid a warning if --stdout is used.
       * print help messages on STDERR
       * --wait: no need to wait before the final exit
       * Inventory PROCESSES. Support more different date format and avoid

2.0.6    Fri, 28 May 2010
       * Fix DRIVES/CREATEDATE for ext* filesystem
       * Inventory: Always generate a CHECKSUM, OCS is not able to import
         inventory is the key is missing, thanks Eric Feron
       * Ipdiscover: Fix, wrong IP/MAC pair, thanks anto1ne
       * Fix dmidecode version comparaison
         (Guillaume Rousse)
       * Mismatch between xen dom0 and xen PV host
         (Guillaume Rousse)

2.0.5    Wed, 12 May 2010
       * Don't use dmidecode with -t and -s parameter since it's not
         supported on RHEL4
       * Remove wrong code to detect problem with umask. umask(077) will
         returns the previous umask. In daemon mode, the umask is set to
         0 which was seen as an error code
       * Fix a minor typo in
       * daemon mode: don't change current directory to / if --devlib is
       * Add MIME::Base64 as recommended package
       * A Fedora RPC spec file in contrib/fedora (Remi COLLET)
       * RPC: drop the sleep(1) before every new request
       * RPC: avoid threads::running to keep compatiblity with Perl < 5.10
       * SSL: --ca-cert-file correctly detect if the cert is present
       * Don't use ExtUtils::Installed to identify the installed files,
         ExtUtils::Installed looks all the @INC directory for .pack files,
         including '.'. When the agent was launched by a cron task or in
         daemon mode, the current directory is / and so the whole system was
         scanned, thank you Remi COLLET for pointing this issue.
       * BIOS: correctly set SMANUFACTURER and SSN instead of

2.0.4    Thu, 06 May 2010
       * Add debug message on WOL and correction when no mac address comes
         in xml file from server (David DURIEUX)
       * etc/cron.d/fusioninventory-agent, call fusioninventory-agent
         instead of ocsinventory-agent
       * limit the number of RPC connection, and fix the Win32 issue
       * Restore --wait XXX
       * Fix --wait documentation.
       * Avoid an error with --lazy, thanks Remi Collet
       * Bump "Next server contact planned for ..." message severity from
         debug to info

2.0.3     Sun, 11 Apr 2010
       * Fix a syntax problem in FusionInventory::Agent::Network

2.0.2     Sat Apr 10
       * fusioninventory-agent-config: Fix a typo, thank you Act
       * --delaytime really read the parameter, thanks Walid NOUH
       * fix --no-socket
       * Fix a typo in fusioninventory-agent-config, logtotate (Girish NAVUDA)
       * Fix: between two server query, really wait during a random period
         still based on server PROLOG_FREQ
       * Do not load Crypt::SSLeay and IO::Socket::SSL at the same
       * POD doc, explain how to use more than one server
       * Fix: between two server query, really wait during a random period
         still based on server PROLOG_FREQ
       * Correct bug when oid result is pack and put mac in right format
         (David DURIEUX)
       * Set 2.0.1 release date in Changes file

2.0.1 (Solarium)    Sun, 28 Mar 2010
       * tools/ clean up
       * Only use thread if Perl has got thread support, thank you
         Lei Andy Shi for the bug report (LP: #545477)
       * -D/-d avoid unless loop if --local is used too
       * RPC: correctly initialize $logger in new()
       * Add a warning for the breakage with pre 2.0 tasks
       * fixes (David DURIEUX)

2.0 (Zygotene Bouquet)   Tue, 23 Mar 2010
       * OcsDeploy: avoid a warning when the server don't send DOWNLOAD
       * Drop the Net::Walk dependency
       * README, add File::Copy::Recursive in the list of dependency
       * OcsDeploy: use 'df -Pm' to get a consistent output with GNU tools
       * Task exec: Log the errcode return by the system()
       * Debug: do not drop the FusionInventory-Agent.dump to help debbuging
       * VERSION is not defined in $FusionInventory::Agent::VERSION
       * README: Clean up
       * Storage: Use only hashref to pass arguments
       * SNMPQuery: translate in english some comments
       * FusionInventory::Agent::Task::{OcsDeploy,NetDiscovery,SNMPQuery} are now
         maintained in new sub-projects
         - drop their dependencies in Makefile.PL
       * backport a fix from ocsinventory in fusioninventory-agent-config to fix a typo
         thanks Guillaume PROTET and Jean-Sebastien NORMAND
         ocsinventor-agent → ocsinventory-agent
       * Don't try to parse empty response from server
       * fusioninventory-agent-config: RPM/DEB mode turn off by default
       * Check if the module is installed before the execution
       * fusioninventory-agent-config: add a minimalist POD doc
       * FusionInventory::Agent::RPC add POD documentation
       * Load LWP::UserAgent and HTTP::Status in an eval to get these
         dependencies loaded only when needed
       * Makefile.PL add Net::CUPS is recommended
       * Linux, retrieve the PCI Class

2.0beta4 Thu, 04 Mar 2010
       * Drop the dependency on Net::SSLGlue::LWP because its own dependencies
         are not avalaible on RHEL5.x, thank you Remi Collet for pointing
         this issue.
       * Makefile.PL: suggest IO::Socket::SSL for SSL
       * Drop the Dependency on LWP::Simple
       * RPC: Do not die if client send random data
       * HP-UX: Use can_run to know if machinfo if avalaible  (François MERMET)
       * HP-UX: code clean up  (François MERMET)
       * Net::IP is now required.
       * OcsDeploy: Fix 2 malformed regex, thank you Mario Gzuk
       * OcsDeploy: avoid a warning if $rc in unset on Perl 5.8
       * OcsDeploy: Archive::Extract is just recommended now
       * Network: load HTTP::Status
       * dropped, was deprecated with the 2.0 changes
       * Do not ignore --server if --local is present
       * Inventory: No need to generate in local mode
       * Inventory: create one last_state file per server
       * Inventory: save last_state if server send a response
       * Storage: use umask 077 for stored files
       * Target and Logger: fix the lock, use a global var now
       * Inventory: Set the VERSIONCLIENT XML key
       * HPUX: Software, fix the package name
       * MacOSX, move the MacOSX packing files from the main branch to
       * SNMPQUERY : Update Dico to known new devices (David DURIEUX)
       * SNMPQUERY : Corrections of ports, mac address and other things (David DURIEUX)
       * NETDISCOVERY : Correction of NMAP discovery (David DURIEUX)
       * NETDISCOVERY : Correction of many bugs (empty devices, data send to server...) (David DURIEUX)
       * rename FusionInventory::Agent::Task::NetDiscovery::dico in FusionInventory::Agent::Task::NetDiscovery::Dico;
       * WAKEONLAN : Begin to rewrite good WOL, so send magic packet directly on OSI2 of network card (ONLY FOR LINUX UNDER ROOT) (David DURIEUX)

2.0beta3 Mon, 22 Feb 2010
       * README: clean up
       * Do not use IPC::Run, thanks Mario Gzuk
       * Fix --local
       * fix: Invalid type 'W' in pack in, thanks Mario Gzuk
       * HP-UX: fix the module. They'd been broken during the merge
       * Turns Off FusionInventory::Agent::Storage
       * Correctly checks if $basevardir exist (-d instead of -f)
       * --no-ssl-check, show warning just one time
       * ignore stderr
       * HP-UX: Fix CPU/serial detection on HP-UX 11.31 (Marty RIEDLING)
       * POD documentation for FusionInventory::Agent::Network
       * POD documentation clean in FusionInventory::Agent::XML::Query::Inventory
       * POD documentation for FusionInventory::Agent::XML::Query::SimpleMessage
       * Linux: Handle channel bonding interfaces (Stéphane URBANOVSKI)
       * XML: clean up addNetwork (Stéphane URBANOVSKI)
       * CPU: Add CORE/THREAD
       * Inventory: use the standard Inventory object
       * Inventory: correctly save OcsDeploy package ID
       * NetDiscover/SNMP: Various changes (David DURIEUX)

2.0beta2 Wed, 17 Feb 2010
       * Update dico for detected devices in NETDISCOVERY module
         (David DURIEUX)
       * Changes file clean up

2.0beta1 Wed, 17 Feb 2010
       * Use Sys::Hostname instead of uname for better portability
       * add --daemon-no-fork
       * Don't ask the user if should be
       * Drop the linux_agent modules compatibility layer
       * Rename module hook functions:
          check()    → isInventoryEnabled()
          run()      → doInventory()
          longRun()  → postInventory()
       * Add isPostInventoryEnabled() function
       * Drop AccountConfig. replaced by Storage
       * Move Ocsinventory::Agent::XML::{Inventory,Prolog,SimpleMessage} in
       * WakeOnLan support (David DURIEUX)
       * Ocsinventory renamed to FusionInventory
       * OcsDeply jull rewrite
       *  P2P mode in daemon mode (-d or -D)
       * add --rpc-ip
       * SNMP support (David DURIEUX)
       * Network discovery (David DURIEUX)
       * WakeOnLan (David DURIEUX)
       * is now and is installed in the $PATH
       * Solaris: use regex to identify CPU class (Jerome LEBAS)
       * Solaris/Network: support Zone (Jerome LEBAS)
       * HP-UX: initial support, tested on RP3440 (François MERMET)
       * Changed arguments to dpkg-query for compatibility (Scott HANNAHS)
       * MacOSX: Distinguish clearly between "OS Name" and "System Version" by
         parsing output carefully for both variables. Clean up language in
         description. (Scott HANNAHS)
       * Add an in contrib example of script to identify specific software
         (Simon CLARA)
       * Upgrade memconf to V2.13
       * Use parameters to simplify the way dmidecode is called (Dmitry ILYIN)
       * Solaris: Bonding support (Stéphane URBANOVSKI)
       * Remove exec flag on
         lib/Ocsinventory/Agent/Backend/OS/MacOS/ (Remi COLLET)
       * spelling in manpage authentification → authentication
       * MacOSX: Correctly identify the CPU frequency on MacOSX 1.6 French,
         thanks Grek
       * Improve the README about non-interactive installation
       * Bump copyright date from 2009 to 2010
       * Linux/PPC: Frequency is an integer, not a float
       * run dosfslabel on the correct device
       * Nmap: Check ip send by server

1.1.2    Sun, 27 Dec 2009
       * Avoid problem with dmidecode -V output on RHEL3.9 (Remi COLLET)
       * Fix internal --delaytime handling. That's seconds, not hours!
       * improve a error message

1.1.1    Mon, 21 Dec 2009
       * NETWORKS/VIRTUALDEV should be 1 or 0
       * FreeBSD: Fix CPU detection (David DURIEUX)
       * Virtualization::Qemu, fix kvm detection
       * Don't run brctl if it's not installed
       * Various wording fixes (Vincent KNECHT)
       * Improve README (Barius DRUBECK)
       * Get serial number from ext4 partition if ext4dev driver is used
       * LP: #494908 Agent fails to retrieve info file when a package is
         activated only with the server name (Pascal DANEK)
       * LP: #495398 Fix RedHat version detection (Stéphane URBANOVSKI)
       * Improve README (Barius DRUBECK)
       * LP: #490774 Fix PowerPC CPU detection on Linux, thanks darkpep for
         the bug report

1.1     Fri, 06 Nov 2009
       * addMemorie() renamed to addMemories(), this had been broken during
         the addMemories() → addMemory() transition
       * Debug mode: msg "check function failed" changed to "ignored" since
         the fails may be wanted by the check() function
       * CompatibilityLayer: $self->{params} changed to $self->{config},
         this restore the debug mode in
       * Continue XML::Inventory functions name clean up. Rename:
        - addSlots() calls to addSlot()
        - addMemories() calls to addMemory()
       * Move ocsinventory-agent POD documentation frol Ocsinventory::Agent
         to the ocsinventory-agent shell script. So now the manpage has the
         correct name
       * Fix RPM output parsing (Remi COLLET)
       * VMWareESX: avoid breakage is VM has spaces in its name
         (Christian Michallek)
       * Try to detect kvm --uuid value
       * Makefile.PL, check for Net::SSLeay
       * Move Ocsinventory::Agent in a .pm and add a wrapper script to load
         in order to by able to process --devlib
       * doesn't use sudo anymore and check for
       * Prune 'Mac OS X' from the version on Mac + typo fixes (Scott HANNAHS)
       * POD doc, add a paragraph about the config file
       * LP: #462529, Fix EDID screen detection, thanks Sergio MERINO
       * Use boolean for networks/virtualdev
       * Generic/Screen: chomp uuencode output
       * Generic/Screen: HSD code for "Hanns.G" (Remi COLLET)
       *, put user $PATH in /etc/cron.d/ocsinventory-agent

1.1_beta1    Fri, 18 Sep 2009
       * Can use Net::CUPS to find the default printer
       * AIX: Hide procfs in Filesystem
       * OS::Linux::Storages, correctly retrieve the serial (Vladimir ELISSEEV)
       * load $http_proxy env settings and --proxy option is available
       * Add OS::Linux::Distro::NonLSB::ArchLinux (Julien SAFAR)
       * New Backend OS::Generic::Processes
       * Linux/BSD: detect DNS servers config
       * Solaris: Better output for $OSVErsion (Vladimir ELISSEEV)
       * Solaris: Sun Fire T1000 patches for memory (Vladimir ELISSEEV)
       * Solaris: memory SPARC Enterprise T5220 (Vladimir ELISSEEV)
       * Solaris: CPU SPARC Enterprise T5220 (Vladimir ELISSEEV)
       * Solaris: CPU SPARC Enterprise T5220 (Vladimir ELISSEEV)
       * Linux: split the /proc/cpuinfo parsing depending on the arch
       * Linux: drop Linux::Controllers which is duplicated with
         Generic::Lspci::Controllers (Vladimir ELISSEEV)
       * AIX: Various fixes in (Sebastien DAGNICOURT)
       * AIX:, Virtual disks support and fixes (Sebastien DAGNICOURT)
       * Bump the default timeout from 30 to 180 secondes
       * Agent/XML/Inventory: Fix when version == 0, bug found by neisen
       * AIX: device type adjustment (Sebastien DAGNICOURT)
       * Solaris: Sun-Fire-V440 support (Sebastien DAGNICOURT)
       * Add a missing space is the name banner in --debug mode
       * Agent/XML/ Add FROM and INSTALLDATE fields in software
         in HARDWARE (Nicolas EISEN)
       * Initialize etcdir key even if there is no config file
       * CompatibilityLayer: correctly set $debug
       * CompatibilityLayer: better log messages
       * getOptionInfoByName return an array ref now
       * rename getOptionInfoByName to getOptionsInfoByName
       * --debug print the XML on STDERR
       * Rename the params key to config to avoid ambiguity
         with $params
       * RPM: collect the install date and the size (Nicolas EISEN)
       * DPKG: collect the Installed-Size (Nicolas EISEN)
       * Linux: Collect the ext{2,3,4} and xfs serial number
       * Linux: Collect the ext{2,3,4} creation date
       * Add a warning when no certificat is found
       * Turns off alarm once it's backend run is finish
       * Fix the IPMI module detection
       * Linux: Store the PCISLOT and the driver name
       * NETWORKDS, only store Networks with an address
       * Linux: detect virtual network device
       * Linux: Collects xfs, ext{2,3,4} and vfat label
       * runs the backend module from main() it's possible to
         reuse the Backend object.
       * Linux: filter non standard MAC address returned by ifconfig like
         00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 mac
       * Linux: Fix the Uptime check()
       * Preliminary libvirt support
       * Partial rewrite of the backend
       * Add a warning if the user is no root, thanks Nicolas EISEN and
         Sylvain LUCE
       * SPARC-Enterprise M4000 and M5000 support (Sylvain LUCE)
       * Libvirt: collect VCPU info (Philippe LIBAT)
       * Add Virtualization::Xen module (Philippe LIBAT)
       * Solaris: add a warning if memconf is not in $PATH
       * Switch the XML content from ISO-8859-1 to UTF-8, BTW we force
       * Fix the history flood in (Pascal DANEK)
       * Storage the monitor EDID string in BASE64 and UUENCODE
       * Linux: Storages: reorganize the code base and use lshal
       * Linux: Drives, complete inforamtions with lshal (Nicolas EISEN)
       * Linux: fix the PowerPC CPU detection
       * Warns the user during the install process if one of
         the recommended module is not installed
       * Update out copy of memconf, thanks WeatherDave who notified the new
         revision and of course Tom Schmidt who do a great job
       * MacOSX: Avoid a scalar used has hash ref error, thanks Adadov
       * MacOSX: Correctilly detect Up/Down network interfaces
         (David OLIVIER)
       * AddNetwork() doesn't ignore network with no IP address
         (David OLIVIER)
       * add --backend-collect-timeout parameter (Nicolas EISEN)
       * MacOSX: convert the IP mask from hex (David OLIVIER)
       * MacOSX: add a workaround to avoid Mac::SysProfile failure on
         MacOSX 10.5.7 (David OLIVIER)
       * Add Virtualization::VirtualBox module (Nicolas EISEN)
       * Add Virtualization::Qemu module (Nicolas EISEN)
       * Add Virtualization::Vmsystem module (Nicolas EISEN)
       * Better smartctl detection (Nicolas EISEN)
       * optimization and vm users detection Virtualization::VirtualBox (Nicolas EISEN)
       * Add Virtualization::VmwareFusion module (Walid NOUH)
       * Don't use hdparm prior 9.2.2 anymore to avoid crap in kernel log, see
       * Correctly detect ipmitool
       * Solaris: i86pc Memory support (Jean-François BOUCHER)
       * Solaris Zone support (Maurizio BERTABONI)
       * Always send tag, even if server already has one
       * Add the byHand software collect method (Sébastien DAGNICOURT)
       * add logging to can_read(), can_load() and can_run()
       * use addUser() instead of setHardware()
       * Add the runcmd() in the Backend modules

1.0.1    Sun, 22 Mar 2009
       * Fix a typo in Ocsinventory::Agent::Backend::OS::AIX::Memory

1.0    Sun, 22 Mar 2009
       * Hide warning messages when tw_cli or hpacucli are not present on CentOS
       * Avoid unnecessary about missing 'http://' in local mode
       * use can_run do detect ipmitool
       * properly use can_run
       * Avoid a warning in in local mode
       * Improve the README file
       * Avoid a warning at runtime if rpm is not correctly installed
       * BSD: Detect AMD64 arch (David DURIEUX)
       * force detection even if slot 1 is 0 (Remi COLLET)
       * minor clean up + indentation
       * send the $model as NAME to avoid NAME == 'unknown' (Remi COLLET)
       * New backend module ServeRaid for IBM ServeRAID card (Remi COLLET)
       * Linux::Storages, fix the hdparm call (Remi COLLET)
       * OS::Generic::Dmidecode::Bios, fix for RHEL2 dmidecode (Remi COLLET)
       * launch backend modules with a 30sec timeout
       * use prompt() from ExtUtils::MakeMaker to avoid
         unexpected error with cpan
       * avoid the "No LSB modules are available." warning message
       * Backend: --debug print a warning when arun() function is not found
       * Fix the Debian/Ubuntu detection for non lsb system
       * also drop /etc/cron.d/ocsinventory-client is the user
         want to drop the old linux_agent
       * Backend::OS::Solaris::Memory: use the Logger instead of "print"
       * Solaris: Drop unwanted spaces around OSVERSION and STORAGES/DESCRIPTION
       * Solaris: Avoid warning is the user can't use fstyp
       * MANIFEST.SKIP: ignore .git/ and .gitignore
       * add a workaround for
       * use cpanp and perl 5.10 now
       * do a eval around require File::Find
       * Add a workaround to find the backend modules for PAR::Packer
       * internal change, now do eval 'use $pmodule' instead of require
       * fix serialnum detection in and (Edouard GAMIN)
       * Makefile.PL: drop wait(), not used
       * Makefile.PL: fix a syntax error
       * add tools/ to document the workaround used to avoid
       * Fix --logfile=/somewhere.log, see
       * tools/, add a new script
       * Don't print ugly error if next_timefile can't be saved
       * OS::Linux::Domains, improve the way it deals with multiple
         domaine entries (Remi COLLET)
       * AIX: Record the last memory Slot (Wilfried BRUNKEN)
       * Bump 0.0.10 to 1.0 because it's the first release to be officially part
         of the OCSInventory distribution

0.0.10beta2    Wed, 24 Sep 2008
       * README: add a not about the $PATH varible on Solaris.
       * Added extra section support for backends (Pascal DANEK)
       * Fix the way submodules are disabled with $runMeIfTheseChecksFailed
       * Linux: Use lsb_release if presents to detect the OS, this will fix
         the Ubuntu detection
       * Hide a Perl warning if the agent is run by the user want the last_state
         file is missing
       * Add Ipmi backend module (Jean PARPAILLON)
       * Drop the control characters from the inventory XML
       * Apply a little change in that may fix the ParserDetails.ini problem,
         thanks tharoun

0.0.10beta1    Thu, 04 Sep 2008
       * Fix a "ocs server name" => URI side effect (Pascal DANEK)
       * Download::Store: used absolute path to "cp" on STORE action (Pascal DANEK)
       * Download::Store: set -dpR flags to "cp" (Pascal DANEK)
       * Solaris: Replaced hostid in serialnumber by real serialnumber (Nicolas DORFSMAN)
                  (SUNWsneep becomes mandatory on sparc)
       * Solaris: Return only one IP address (trying to guess which one corresponds to hostname) (Nicolas DORFSMAN)
       * Solaris: return disks SERIALNUMBER and FIRMWARE as XML fields (Nicolas DORFSMAN)
       * Redirection and stderr issue on Solaris (Nicolas DORFSMAN)
         - Removed close of stderr fd
         - Modified lspci and screen check() to avoid pollution of stdout/stderr
       * fix the previous changelog entry, the fix had been done by Nicolas DORFSMAN
       * checks for MANIFEST present
       * improve the backend module detection by also scanning the symlinked directory
       * add the --devlib flag to load ./lib only if wanted and remove '.' from the directory to scan
         with File::Find.
       * import the can_run, can_load and can_read functions in the Backend modules
       * the backend module can have no check function, in this case OCS assume it's ok
       * apply a patch by Etienne GUILLAUMONT to fix CPU detection on AIX 4
       * checks PAR::Packer presence now
       * only inventory installed .deb
       * accept another vardir if the first one was invalide
       * correctly actived in modules.conf is the user needs it
       * add MacOSX support thanks to Wes YOUNG (Wes YOUNG)
         - Added tools/darwin/ support scripts/code for OS X enterprise deployment
       * add the follow_skip==2 flag to File::Find in so it doesn't detect the same
         file two time
       * import of backend module for RAID controler on Linux (3ware, Adaptec, HP and Lsilogic)
         (Edouard GAMIN)
       * remove a warning in Debug mod, if a backend module has no run() function
       * don't crash in Daemon mode if the server is unreachable (Wes YOUNG)
       * Net::IP is just (strongly) suggested now
       * fix --basevardir so it really accepts a parameter, thanks Gubluts from the forum who
         pointed out the bug
       * use which to find ocsinventory-agent location
       * Makefile.PL, Perl 5.6 doesn't have Config::config_re, I call it from an eval now
       * Added --delaytime option as commandline / .cfg file adjustable (Wes YOUNG)
       *, don't use grep -v since it's not POSIX
       * doesn't die if is missing like with perl 5.6
       * avoid a warning with gzip -h on AIX if Compress::Zlib is missing
       * README: depends on Perl 5.8
       * README: On solaris the Makefile needs gmake
       * README: Add a note about crontab and PATH
       * Linux: redirect hdparm error to /dev/null
       * yes/no questions have a default value now
       * fix a bug in the import of the old ocsinv.adm
       * doesn't create two vardir directories anymore
       * do not print a wrning is --nosoftware is used. Thanks Knarfling and Remi who pointed the issue
       * fix the POD documentation, some mistakes were detected by Perl 5.10's perldoc.
       * the agent doesn't crash anymore if ocsinv.adm or ocsinv.conf is corrupted
       * install memconf on Solaris
       * Solaris: apply patches to use memconf for CPU, Drives and Memory (Christoph HALMES) 04/18/2008 Bug fix
       * Add /ocsinventory in the server path if the user enter just the hostname 04/03/2008 Bug fix
       * fix a error in the previous release that was forcing the local mode (Nicolas DORFSMAN)

0.0.9 04/01/2008 April Fool release!
       * Added fallback for --lazy if no prolog freq was found and server error (Pascal DANEK)
       * Fixed accountinfos handling bugs (Pascal DANEK)
       * Changed --wait behaviour (--wait=number_of_seconds || "server") (Pascal DANEK)
       * PROLOG_FREQ is handled in prolog phase (Pascal DANEK)
       * the random value for file_nexttime is computed only if prolog_freq has changed since last prolog (Pascal DANEK)
       * import the documentation documentation by adding a description of the
         agent and pointer to the official website
       * --nosoft option renamed to --nosoftware, --nosoft still works but with a warning
       * add --basevardir to be able to use a specific place to store the var file
       * add the --lazy parameter: send an inventory only if the a random delay between 0 and PROLOG_FREQ had been run over. Usefull for package maintainer (Remi COLLET)
       * return 1 to the shell is the agent failed to contact the server
       * asks for the basevardir
       * write the modules.conf
       * OS::Linux::Network::Networks, correctly reset the ipaddress before every loop so
         now a network can't have the address of the previous one
       * rename the key $params->{conffile} to $params->{accountconfig}
       * fix the way accountinfo information are stored
       * improve (a bit) tools/ to avoid error if people launch it
         from the tools directory
       * --server is ignore if --local is in use
       * adjust Backend::OS::Generic::Screen to be able to use monitor-edid with DVI link (Remi COLLET)
       * OS::Linux::Storages, add NEC as a know manufacturer add assume the manifacturer is Seagate if
         the model doesn't match the others and begin with ST (rjhill)
       * fix the CPU detection on Linux Sparc64 and ARM (Linksys NSLU2)
       * improve the Solaris version detection by reading the /etc/release file (Nicolas DORFSMAN)
       * Solaris: fix the MAC addresses when the leading zeros is missing (Jean-Jacques MICHEL)
       * Solaris: Add publisher is possible in the software list (Nicolas DORFSMAN)
       * Solaris: improve the hard drive detection (Nicolas DORFSMAN)
       * can remove the previous linux_agent
       * reuse linux_agent old config file to set the default server and tag
       * return the SERIALNUMBER and the FIRMWARE on Linux with hdparm, the feature is not supported
         yet by the server (egamin) 02/20/2008
       *, correctly save the realm, do not override the password
       * Added "CAPTION" field to memory (Pascal DANEK)
       * Fix a bug with "NUMSLOTS" memory field (Pascal DANEK)
       * improve the parsing of the config file to accept quote and spaces in the value
       * save the configfile with 0600 right since the server
         password maybe be stored in it
       * doesn't scan the inc/ directory anymore
       * remove the BUNDLE packages which seem to break the install process
       * change Solaris::CPU to use psrinfo -v to get the CPUs which works fine on x86
       * fix a path error in Ocsinventory::LoggerBackend::File (Remi COLLET)
       * fix: don't send the inventory if the server doesn't need it (Remi COLLET)

0.0.8 02/05/2008
       * fix the deviceid and old_deviceid handling (Pascal DANEK)
       * fix a debug message in (Pascal DANEK)
       * different fixes on (Pascal DANEK)
       * fix an event message name in Option/ (Pascal DANEK)
       * fix the Compatibility Layer with prolog_read hook (Pascal DANEK)
       * merge PowerPC and PC code to detect the CPU and improve/fix the regex
       * looks for config file in /etc/ocsinventory /usr/local/etc/ocsinventory and
       * add a pod documentation about the different config files and directories
       * Compress::Zlib is required but recommended now. In fact, you need it with
         ocs server prior 1.02 01/16/2008
       * fix the post installation script to avoid invalid cron time 01/14/2008
       * add in the MANIFEST.SKIP to keep it out of the tarball

0.0.7 01/13/2008
       * Ocsinventory::Agent::AccountInfo does not warn accountinfofile if runned in debug mode
         without root privilege
       * fix params->{etcdir} to /etc/ocsinventory, /etc/ocsinventory-agent/modules.conf must be moved
         to /etc/ocsinventory/modules.conf
       * Solaris: Improve the CPU detection (Olivier ROUSSY)
       * AIX: Return the directory with the AIX package name (Olivier ROUSSY)
       * Ocsinventory::Agent::XML::Inventory can now write software inventory
         value of FILESIZE, FOLDER and PUBLISHER
       * processChecksum() and feedInventory() are called by Ocsinventory::Agent::XML::Inventory
         directly now
       * the server responses are not parsed in the main script anymore
       * do not create an inventory if the server doesnn't need it
       * new parameters for the backend modules (run and check functions):
         - prologresp, the Ocsinventory::Agent::XML::Response::Prolog object returned by
           the prolog
         - storage: an hashref stored on the harddrive at the end of the execution of the module
       * a backend module without a run function is accepted now
       * add addIpDiscoverEntry() to add host from the same network
       * @runMeIfTheseChecksFailed: new optional setting for Backend module
       * Ipdiscover is now a backend module and nmap can be used instead of ipdiscover
       * --nosoft disable the Ocsinventory::Agent::Backend::OS::Generic::Packaging modules
       * Remove the deprecated modules Ocsinventory::Agent::Option::Ipdiscover and
       * the check function of the backend accepts the same parameter than the run function
       * Linux::Archs::I386 regex are more robust
       * perldoc documentation for the ocsinventory-agent command
       * minor improvment on the Makefile.PL
       * change the way --server parameter is read. Now we can have a full URL, --remotedir
         is now useless
       * fix: correctly load the last_state
       * improve the Makefile.PL by using inc::Module::Install and adding new check
       * add a --version parameter and improve the --help
       * come with bundled dependency to simply the build process
       * fix the login/passwd/realm authentification
       * remove Agent/, I've to prepare a better system to keep the pid first
       * try to read the config in /usr/local/etc/ocsinventory/ocsinventory-agent.cfg if the
         standard one is missing 07/16/2007 Bug fix release

       * remove a debug "die" in the code 06/12/2007 Bug fix release
       * Fix an undef value in Ocsinventory::Agent::Backend::OS::BSD::Mem
       * AIX: retrieve correctly the MAC address of some FibberChannel card
       * now will try to find every module before the build to
         avoid unexplicated error

0.0.6  06/07/2007
       * Enable "verbose" is debug is turned on
       * AIX: Ocsinventory::Agent::Backend::OS::AIX::Networks rewrote
       * AIX:, remove the spaces from the end of the DESCRIPTION
       * add, a script designed to prepare a stand-alone binary of the agent
       * AIX: Retrieve all the gateway of every subnet instead of just the default one
       * renamed to
       * New flag: --stdout to print the inventory directly on STDOUT
       * If the use want write on the system var directory, the agent create one in
       * The agent setting can be preinitialised with /etc/ocsinventory/ocsinventory-agent.cfg or
       * remove two debug messages printed during accountinfo rewrite and the
         daemon starting process
       * remove a stupid check in Ocsinventory::Agent::AccountConfig, the
         accountconfig file was not written unless the file was already present
       * add a recMkdir function in ocsinventory-agent to create directory recursivly
       * do not process checksum in local mode

0.0.5  04/17/2007
       * AIX: use lslpp -c -l to find installed packages
       * AIX: fixes on, and
       * AIX: fetch the serial number with lscfg unless it was found with lsvpd
       * add the .ocs extension to local written files
       * with --local flag: don't not warn if last_state doesn't exit
       * Solaris: retrieve installed package
       * downgrade some message important from info to debug
       * read screen serial number in the EDID (DDC screen)
       * replaced by
       * all the data are read from EDID now
       * Initial Linux PPC support (tested in Debian Etch).
         thanks Walid Nouh for the hardware
       * Apply patch by Remi Collet to fix an issue with Linux distro detection and Perl 5.6.1
       * Turn of STDERR during the module execution to avoid useless message (e.g: foo: not found)
         use --debug to turn them back
       * If the system side vardir can't be created. The agent try to create one in ~/.ocs-inventory-agent
       * Add a THANKS file

0.0.4 03/20/2007
       * use of gzip when Compress:Zlib is not avalaible. OCS server 1.01 and
         prior are not supported.
       * dmidecode parsing improved
       * lspci stuffs moved to generic
       * Linux: find Wifi connection
       * fix: pass correctly the logger to the modules
       * don't write the last_state is the connexion failed
       * Deals correctly with the accountinfo if it's internaly stored in a
         array ref
       * BSD support by Thierry Lacoste