# changelog

author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.0-10
changelog:
  - Added warnings and errors if ve.cfg has been corrupted. Fixed shutdown lvectl when ve.cfg contains some errors


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.0-12
changelog:
  - Added apply-many|destroy-many functions to apply|destroy LVE limits to multiple distinct LVEs (uids of users are read from stdin)


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.0-18
changelog:
  - Changed "lvectl set" and "lvectl package-set" commands for correct work with (--param value) attributes.


author: Anton Volkov <avolkov@cloudlinux.com> 1.0-20
changelog:
  - added newline at the end of /etc/cron.d/lveutils-cpanel-cron (bugfix - lveutils-cpanel-cron cronjob does not work)
  - added "chmod 0644 /etc/cron.d/lveutils-cpanel-cron" command to posttrans (bugfix - "cp -f" command does not change permissions of the target file)
  - cron/processcpaneluserspackages: set package limits for new users, not only change package limits for users that existed before (bugfix)


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.0-21
changelog:
  - Added Plesk control panel packages support
  - Added verification for negative limits (bugfix)
  - Added plan limits on delete ve action (bugfix)


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.0-25
changelog:
  - Fixed 'lvectl apply all' for existing ve's (bugfix)
  - Fixed 'apply' & 'apply all' commands for packages names with spaces (bugfix)
  - Updated getpleskuserspackages


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.0-26
changelog:
  - Added support backward compatibility for IO limits for backward campatibility on el5.lve0.8 (bugfix).
  - Added native support php to mysql connection under Plesk.


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.0-27
changelog:
  - Fixed backward compatibility for IO limits (bugfix).
  - Added "lvectl paneluserslimits" show current user's limits for control panel.
  - Removed sysctl -w ubc.dentry_check=-1 from /etc/init.d/lvectl


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.0-28
changelog:
  - Added Direct Admin control panel packages support.
  - Added list-package option for 'getcontrolpaneluserspackages' (output all packages in control panel).
  - Fixed vmem and pmem limits output for 'lvectl package-list'


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.0-30
changelog:
  - Added echo 'Y' > /sys/module/lve/parameters/lve_ubc on CL5
  - Show correct VMem & PMem limits on 'lvectl paneluserslimits' (bugfix).
  - Added check before save for 'lvectl set' when limits are same as default|package.


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.0-32
changelog:
  - Added first CronJob run in PostTrans section for aviod 5 min. of halt (bugfix).
  - Fixed 'lvectl paneluserslimit', removed create lve container (bugfix).


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.0-36
changelog:
  - Fixed getdauserspackages. When the user folder name does not match the with the username in user.conf (bugfix).


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.0-37
changelog:
  - Updated remove_ubc.py. Remove <system> section from ve.cfg.
  - Updated lvectllib.py. Set ubc_flag true for default.
  - Remove check from lvectl for <system> section in ve.cfg.


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.2-1
changelog:
  - Removed getcontrolpanel.py. getcontrolpaneluserspackages works via cldetect. Added CXS detection in cldetect.


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.2-3
changelog:
  - Cldetect Added PostGreSQL detection. Added LiteSpeed detection. Added H-Sphere detection. Setup securelinks correctly for control panel.


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.2-7
changelog:
  - Added cldetect --detect-cp-nameonly.
  - Improve getcontrolpaneluserspackages. Fast detection of user control panel name via cldetect.


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.2-10
changelog:
  - cldetect --set-securelinks-gid. fs.symlinkown_gid always setup (bugfix)
  - getpleskuserspackages. Get correct Plesk users packages (bugfix).
  - lvectl list. Fix error when break output. (bugfix)


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.2-11
changelog:
  - Added check for CL setup.
  - Added error in /dev/null when CL is installing.
  - Added exception on apache user if it not exists (bugfix).
  - Remove remove_ubc.py from /usr/bin.
  - lvectl destroy all, added json output.


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.2-12
changelog:
  - Added sys.stdout.flush() for error exception on lvectl list | head(tail) (bugfix).
  - cldetect --set-nagios. Automatically detect/whitelist nagios when installing lve-utils.
  - lvectl delete does not delete LVE configuration from ve.cfg when lve_id not in /proc/lve/list (bugfix).
  - Performance optiization for DirectAdmin user package functions.


author: Igor Seletskiy <iseletsk@cloudlinux.com> 1.2-13
changelog:
  - Reworked spec to use make file
  - Removed processcpaneluserspackages and lveutils-cpanel-cron
  - Moved processpaneluserspackages and lveutils-panel-cron


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.3-1
changelog:
  - cldetect --get-admin-email. Prints control panel admin email.
  - cldetect --update-license. Updates license information.
  - cldetect --check-license. Check license information.
  - cldetect --update-new-key. Updates license with new key.
  - Added license check in CronJob.
  - Added check for liblve init result.
  - Bugfix, jsonhandler returns error in non-json format on kernel check.
  - Added cron jobs for processing cl-quota.
  - Implemented lvectl set-user, list-user, delete-user.


author: Anton Krishtopin <AKrishtopin@cloudlinux.com> 1.3-5
changelog:
  - Bugfix, lvectl set add ability to set unlimited values.
  - Bugfix, lvectl apply added ability to apply default LVE id by lvectl apply 0.


author: Igor Seletskiy <i@cloudlinux.com>, Igor Savenko <bliss@cloudlinux.com> 1.3-7
changelog:
  - Detect HostingNG from Parallels, by checking if file /lib64/libnss_ng.so
    exists. We check only for 64bit file - as that CP doesn't exist on 32bit
    platforms.
  - removed cron jobs for lvemanager


author: Anton Volkov <avolkov@cloudlinux.com> 1.3-8
changelog:
  - cldetectlib.py: bugfix in function getCP: do not calculate len(None) when CP has not been detected


author: Anton Volkov <avolkov@cloudlinux.com> 1.3-10
changelog:
  - bugfix: call dlopen for soname ( cdll.LoadLibrary("liblve.so.0") instead of cdll.LoadLibrary("liblve.so.0.9.0") )
  - added requires liblve >= 1.2


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Igor Savenko <bliss@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com> 1.3-15

changelog:
  - fix import for python 2.4 for cl5
  - add cloudlinux diagnostic script
  - add option "--unlimited" to lveclt
  - cpanel introduces 'packages/extensions' directory which adds 'extensions' to lve-utils package listing.
  - added checking if item is a regular file
  - change default memory limit to 0
  - Separate functions for detect machines


author: Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Anton Volkov <avolkov@cloudlinux.com> 1.3-17
changelog:
  - cldetec: disable check and send email if panel is not cPanel
  - cldetectlib.py: specify path to sysctl binary (fix error 'sh: sysctl: command not found')


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Dmitry Kasyanov <dkasyanov@cloudlinux.com> 1.3-19

changelog:
  - remove unused code
  - fix double M in json format in memory field
  - bugfix json format for cl5
  - add cronjob to kill orphaned PHP processes when using mod_fcgid for all control panels


author: Konstantin Vaskovtsov <derkonstantin@cloudlinux.com> 1.3-21
changelog:
  - bugfix: add close config file after read it;
  - bugfix: remove space as separator in check_usePam func
  - bugfix: add check cagefs installation in check suexec and suphp patch
  - bugfix: add missen new line symbol in cldiag


author: Konstantin Vaskovtsov <derkonstantin@cloudlinux.com> 1.3-22
changelog:
  - add smart memory output
  - disable cldiag by default
  - disable suphp or suexec is not error for cldiag


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Alexander Grynchuk <agrynchuk@cloudlinux.com> 1.3-29

changelog:
  - create panel lib;
  - add cpanel\da\isp\plesk class to lib
    https://cloudlinux.atlassian.net/browse/LU-22
  - add ability to specify custom scirpt for get_userpackage mapping
    https://cloudlinux.atlassian.net/browse/LU-35
  - add some test for cpanel and da classes
  - redone to use clcommon lib from python-cllib package
  - add check result from c-lib lvectl
    https://cloudlinux.atlassian.net/browse/LU-41
  - Added ability to save config ve.cfg usernames


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Alexander Grynchuk <agrynchuk@cloudlinux.com> 1.4-3

changelog:
  - redone da algorithm of finding panel packages;
    https://cloudlinux.atlassian.net/browse/LU-46
    Now each admin must see packages from
    /usr/local/directadmin/data/users/ADMIN_NAME/package.list  and
    /usr/local/directadmin/data/admin/package.list
  - redone lvectl to use pylve lib
  - redone lvectl to understand new lve-kmod format
    https://cloudlinux.atlassian.net/browse/LU-47
  - Add ability to specify IOPS (input output operations per second)
    https://cloudlinux.atlassian.net/browse/LU-43
  - Add IOPS to lveps\lvetop
  - LVEMAN-107: fix bug License not valid script in cPanel doesn't work "sumbit" instead of submit


author: Konstantin Vaskovtsov <derkonstantin@cloudlinux.com> 1.4-5
changelog:
  - https://cloudlinux.atlassian.net/browse/LU-57
    add ability to use fractional number; make mhz\ghz case unsens
  - https://cloudlinux.atlassian.net/browse/LU-56
    hide some error message whan use unimplemented func
  - https://cloudlinux.atlassian.net/browse/LU-55
    fix some type func call errors
    fix lvectl help message
  - https://cloudlinux.atlassian.net/browse/LU-55
  - remove func check_speed; use convert_func as testing speed values


author: Anton Volkov <avolkov@cloudlinux.com>, Konstantin Vaskovtsov <derkonstantin@cloudlinux.com> 1.4-8
changelog:
  - LU-66: remove pkg name from output getcontrolpaneluserspackages --package on plesk
  - LU-65: fix value type in getcontrolpaneluserspackages (PLESK class)
  - LU-64: redone lvectl package-list and panellimits to show speed insted cpu
  - LU-67: add to lvectl json output format speed and cpu
  - LU-62: crons/kill_orphaned_php-cron: do not kill php-fpm processes
  - LU-68: remove speed upper limit; use system upper limit if user limit is greater than system limit
  - LU-69: revert smart memory output in package-list and paneuserlimits


author: Konstantin Vaskovtsov <derkonstantin@cloudlinux.com> 1.4-9
changelog:
  - LU-71: DA: getcontrolpaneluserspackages uses login in terminal name instead of user name and shows wrong package list
  - LU-72: fix cpu convertation with *


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Dmitry Kasyanov <dkasyanov@cloudlinux.com> 1.4-15

changelog:
  - LU-80: Add creation of symlinks for Percona-Server to alt-php-mysql-reconfigure script
  - LU-79: set default limits via lve_set_default, but not via lve_setup


author:
  Pavel Negrobov <pnegrobov@cloudlinux.com>, Konstantin Vaskovtsov <derkonstantin@cloudlinux.com> 1.4-16

changelog:
  - LU-77 fix: add functions to detect all admin users and user type in DirectAdmin
  - LU-84: getcontrolpackages show packages with space in it on ISP wrong
  - LU-83: lvect package-set can`t create package with russian name
  - LU-82: display warning "--cpu option had been deprecated, use --speed instead" instead of error
  - LU-81: remove max value of speed from lvectl --help


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com> 1.4-17

changelog:
  - LU-86: lvectl package-delete doesn't remove packages with russians symbols from /etc/container/ve.cfg on ISP
  - LU-77 additional fix: add functions to detect all admin users and user type in DirectAdmin
  - LU-85: lvectl do not accept decimal separator for vmem value


author: Konstantin Vaskovtsov <derkonstantin@cloudlinux.com> 1.4-18
changelog:
  - LU-88: lvectl package-set doesn't set --pmem parameter
  - LU-87: bugfix for lvemanager (rus symbols in package names) for isp cl5


author:
  Anton Volkov <avolkov@cloudlinux.com>, Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Dmitry Kasyanov <dkasyanov@cloudlinux.com> 1.4-19

changelog:
  - LU-91: add lve_namespaces service
  - LU-90: getcontrolpackages fail on da with broken cache file
  - ALTPHP-31:MariaDB 10 support in php-selector


author:
  Anton Volkov <avolkov@cloudlinux.com>, Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Andrew Perepechko <panda@cloudlinux.com> 1.4-21

changelog:
  - LVEMAN-109: add handling of iops and speed (for proc version 8) to cpanel/extension/cl_modify_pkg.py
    add ability to change lve_ext template on cpanel
  - remove unnecessary conditions
  - changed load order of lvectl and lve_namespaces services
  - LU-92: fix PID column in lveps -p output
    show command names in the COM column
  - LVESTATS-17: Record and manage IOPS
    add missing row in LVEStat.py


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Alexander Grynchuk <agrynchuk@cloudlinux.com> 1.4-27

changelog:
  - LU-107: add --no-iops option to lvectl, getcontrolpaneluserslimits (for backward compatibility)
  - LVEMAN-200 - LVEManager licensing screen should detect when license was updated
  - LU-102: improve DirectAdmin detection
  - LU-105: getcontrolpaneluserspackages: do not fail when user has no package assigned on Plesk
  - LU-100: lvetop should display CPU usage in terms of 'speed' setting
  - LU-99: encoding error in lvectl on DirectAdmin, Plesk
  - LU-98: crons/kill_orphaned_php-cron: do not kill lsphp processes
  - LVEMAN-202: LVE Manager not showing limits on Plesk when subscription is without plan


author:
  Anton Volkov <avolkov@cloudlinux.com>, Ruslan Rakhmanberdiev <rrakhmanberdiev@cloudlinux.com>, Konstantin Vaskovtsov <derkonstantin@cloudlinux.com> 1.4-33

changelog:
  - LU-114: move /usr/bin/alt-php-mysql-reconfigure to alt-php-conf package
  - LU-122: add "mount --make-rprivate /" command to lve_namespaces service
  - LU-116: processpaneluserspackages to not run twice
  - LU-113: Disabling kill_orphaned_php-cron job with some config


author: Michael Zhbankov <mzhbankov@cloudlinux.com> 1.5-3
changelog:
  - LU-126: Fix cpu speed displaying in mhz (lvetop -m)
  - LU-131: Fix traceback in lve-utils while converting server into CL


author:
  Michael Zhbankov <mzhbankov@cloudlinux.com>, Konstantin Vaskovtsov <derkonstantin@cloudlinux.com> 1.5-4

changelog:
  - LU-133: Move lve-utils to alt-python27
  - LU-134: Fix traceback while trying to set a very large value of the limit in lvectl


author: Sergei Chernikov <schernikov@cloudlinux.com>, M Zhbankov <mzhbankov@cloudlinux.com> 1.5-5
changelog:
  - LU-135: Fix /usr/bin/getcontrolpaneluserspackages fail if system user does not exist
  - LU-136: Incorrect display of speed limits via "lvetop" utility


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, M Zhbankov <mzhbankov@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com> 1.5-12

changelog:
  - LU-162: Stop processing Plesk ftp subaccounts as system users by panel packages
  - LU-164: Add ability to edit user's limits via CLI to lvectl_lib
  - LU-172: add handling of LVE version 9
  - LU-171: Move cllimits/mysql_governor_lib.py from LU to PTCLLIB
  - LU-170: lvectl option "--unlimited" should set correct SPEED value for package
  - LU-149: View users' limits via CLI
  - LVEMAN-348: Fix addons to not be processed as packages on Plesk
  - LU-154: generate unit tests coverage information while building rpm


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Pavel Vavilin <pvavilin@cloudlinux.com> 1.5-13

changelog:
  - LU-164: Add ability to edit user's limits via CLI to lvectl_lib
  - LU-167:mysql_governor_lib improvement (Edit user's limits via CLI)
  - LU-190: Implement lvectl_lib methods for --unlimited and --reset keys in cloudlinux-limits LU-174: Set individual limits to default via cloudlinux-limits
  - LU-193: Add tuned-profiles-cloudlinux dependency for CL6
  - LU-173: Set individual limits to default via lvectl
  - LU-188: Improve lveps man page regarding DT/DO
  - LU-166: clquota_lib improvement (Edit user's limits via CLI)
  - LU-185: lve_namespaces should be started after lve-utils installed
  - LU-184: fix default vmem limit for CL6, CL7 (should be unlimited)
  - LU-165: Add cagefs operations to cloudlinux-limits utility
  - LVEMAN-763: Fix package inode functionality when package contains multiple spaces fix bug in json format
  - LU-168: cloudlinux-limits improvement (Edit user's limits via CLI)


author:
  Anton Volkov <avolkov@cloudlinux.com>, Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Pavel Vavilin <pvavilin@cloudlinux.com> 1.5-14

changelog:
  - LU-206: make cllimits/lib/limits.py not readable by users
  - LU-203: Fix traceback while update lve-utils on ISP Manager v5
  - LU-198: implement locking while processing ve.cfg file
  - LU-201: Add ISPManager5 panel detection
  - LU-202: cloudlinux-limits --get: process speed correctly
  - LU-190: Implement lvectl_lib methods for --unlimited and --reset keys in cloudlinux-limits
  - LU-174: Set individual limits to default via cloudlinux-limits
  - LU-194: Remove mount --rprivate in lve_namespaces script for CL6
  - LU-197: fix error while restarting lvectl service
  - LU-195: Save custom settings in /etc/sysconfig/cloudlinux during lve-utils update/reinstall


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com> 1.5-16

changelog:
  - LU-198: implement locking while processing ve.cfg file. part2 add locking to each function that save config to file
  - CAG-528: Fix postgresql working through socket on CL7
  - LU-213: Print correct process status in cloudlinux-limits


author: Pavel Negrobov <pnegrobov@cloudlinux.com>, Pavel Vavilin <pvavilin@cloudlinux.com> 1.5-17
changelog:
  - LU-238: Add detection for CentOS Web Panel
  - LU-204: Extend the response of cloudlinux-limits for error messages with dynamic components
  - LU-236: Fix problem with ISPManager 5 Business and separate node
  - LVEMAN-878: Do not show System users in lvemanager->settings via web on cPanel 11.57.9 (EDGE)
  - LU-237: make all mounts private while executing lvectl start
  - LU-231: cloudlinux-limits should not return inodes when they are not supported by cl-quota
  - LU-214: lvectl should process reseller packages also in DirectAdmin LU-220: lvectl should process reseller packages in Plesk correctly


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Pavel Vavilin <pvavilin@cloudlinux.com> 1.5-19

changelog:
  - LVEMAN-881: Investigate CloudLinux.cgi and lvectl encodings support
  - LU-223: improve processing of reseller packages in cPanel
  - LU-230: add lvectl all-package-list option
  - LU-242: Investigate issues with reseller handling and its customers on Plesk panel
  - LU-243: Fix package management on Plesk panel
  - LU-241: Make cloudlinux-limits output valid if username or domain is absent
  - LU-228: Add to cloudlinux-limits support dbctl
  - LU-240: Optimize lvectl apply-all for large number of entries in ve.cfg


author: Pavel Vavilin <pvavilin@cloudlinux.com> 1.5-20
changelog:
  - LU-249: add handling of --reseller option to lvectl package-delete command
  - LU-213: Print correct process status in cloudlinux-limits


author: Pavel Vavilin <pvavilin@cloudlinux.com> 1.5-21
changelog:
  - LU-253: Fix getcontrolpanelusers to show all packages
  - LU-251: lvectl should correctly process ID of reseller package on Plesk


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Pavel Vavilin <pvavilin@cloudlinux.com> 1.5-23

changelog:
  - LU-257: create migration script for ve.cfg in ISP5
  - LVEMAN-940: Add ability to cl-quota to set/view inodes limits for empty resellers packages and fix cl-packages utility
  - LU-259: Get CloudLinux license status via CLI utility cloudlinux-license
  - LU-215: View package's configuration via CLI
  - LU-256: disable lve limits for packages on ISP5


author: Anton Volkov <avolkov@cloudlinux.com>, Konstantin Vaskovtsov <derkonstantin@cloudlinux.com> 1.5-25
changelog:
  - LU-267: make lvectl backward compatible regarding reseller packages processing
  - LU-266: fix recursion depth error in deepcopy in isppackagesreducer
  - LU-262: cldetect --update-license should work when lve-stats package is not installed


author:
  Anton Volkov <avolkov@cloudlinux.com>, Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 1.5-29

changelog:
  - LU-174: Set individual limits to default via cloudlinux-limits
  - LU-216: Edit package's limits via CLI
  - LU-275: fix for getcontrolpaneluserspackages --package= in Plesk
  - LU-192: start lve_namespaces, lvectl and cagefs services before apache and other system services on CL7
  - LU-268: Fix cloudlinux-limits CLI issues
  - LU-273: create migration script for reseller packages in ve.cfg
  - LU-267: make lvectl backward compatible regarding reseller packages processing part 3; add backward compatibility and support for version 2 ve.cfg
  - LU-267: make lvectl backward compatible regarding reseller packages processing part 2; add Backward compatible  for lvectl paneluserslimits
  - LICENSE.TXT: update EULA


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Pavel Vavilin <pvavilin@cloudlinux.com> 1.5-30

changelog:
  - LU-151: View LVE manager settings via CLI
  - LU-209: notifications, inodes, ui settings
  - LU-278: Fix  for viewing additional admin resellers' packages in DA
  - LU-283: lve_namespaces and lvectl services should be enabled after update of lve-utils package
  - LU-277: Set CloudLinux license via CLI utility cloudlinux-license


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Pavel Vavilin <pvavilin@cloudlinux.com> 1.5-31

changelog:
  - LU-174: Set individual limits to default via cloudlinux-limits
  - LU-294: add "RemainAfterExit=yes" to lvectl.service and lve_namespaces service
  - LU-282: Fix lvectl package-delete to work correctly for resellers packages
  - LU-285: Fix typos in the output of /usr/bin/getcontrolpaneluserspackages --help
  - LU-208: add functionality for mysql governor to cloudlinux-config


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 1.5-32

changelog:
  - LU-293: Fix for cloudlinux-packages set with --provider root
  - LU-265: fix lvectl apply all. lvectl apply all should use resellers package limits for users


author:
  Anton Volkov <avolkov@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 1.5-33

changelog:
  - CAG-647: fix dependencies
  - LU-290: additional admins on DA panel should not be presented in the Settings tab of LVE Manager
  - LU-300: Error when calling lvectl all-user-list, if users list is empty
  - LU-150: Edit LVE manager settings via CLI


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Pavel Vavilin <pvavilin@cloudlinux.com> 1.5-34

changelog:
  - LU-303: Edit configuration of PHP Selector via CLI
  - LU-248: View PHP selector's configuration via CLI


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Pavel Vavilin <pvavilin@cloudlinux.com> 1.5-35

changelog:
  - LVEMAN-1033: fix selectorctl error
  - LU-305: add coverage of the lvectl list and lvectl limits lve_id commands for test-suite lvectl_resellers_test.robot
  - LU-307: Custom limits of the reseller's packages should be inherited correctly by it's users for cPanel, Plesk, DA


author:
  Pavel Negrobov <pnegrobov@cloudlinux.com>, Pavel Vavilin <pvavilin@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 1.5-36

changelog:
  - LU-314: Fix cloudlinux-config uiSettings functioning on new servers
  - LU-312: Incorrect display speed limit for packages after reset it to default value
  - LU-309: Fix issues with cloudlinux-selector set --default-version native and --selector-status "dummy input"
  - LU-311: check for cagefs in cloudlinux-selector utility
  - LVEMAN-1035: selectorctl falls with traceback instead of JSON with error message
  - LU-313: Add profiling to cloudlinux-limits
  - LU-308: check license in all cloudlinux-* utilities


author: Pavel Negrobov <pnegrobov@cloudlinux.com>, Pavel Vavilin <pvavilin@cloudlinux.com> 1.5-37
changelog:
  - LU-318: Fix inodes limits output in cl-packages
  - LU-317: cloudlinux-selector --version native doesn't work


author:
  Pavel Negrobov <pnegrobov@cloudlinux.com>, Pavel Vavilin <pvavilin@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 1.5-38

changelog:
  - LU-319: SPA edit users data
  - LU-316: Fix speed limit output in lvectl
  - LU-321: cl-limits: return user's limits which have been changed marked with asterisk
  - LU-320: Add default package to lvemanager -> packages tab via web
  - LU-310: cloudlinux-selector: implement disabling of PHP Selector for Plesk


author:
  Anton Volkov <avolkov@cloudlinux.com>, Dmytro Gierman <dgierman@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com> 1.5-39

changelog:
  - LU-327: Fix for cloudlinux-limits set --save-all-parameters
  - LU-330: Show Inodes in default package
  - LU-319: cloudlinux-limits: --default and --unlimited options should work when disk quota is disabled
  - LU-326: add --human-readable-numbers option to cloudlinux-packages
  - LU-325: Add --human-readable-numbers option to cloudlinux-limits
  - LU-258: Atomia CP statistics
  - LU-324: Fix slow work of lvectl paneluserslimits


author: Anton Volkov <avolkov@cloudlinux.com>, Pavel Vavilin <pvavilin@cloudlinux.com> 1.5-41
changelog:
  - LU-340: Allow to save speed limits without %
  - LU-337: Fix error with wrong encoding in package name


author:
  Anton Volkov <avolkov@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 1.5-43

changelog:
  - LU-366: Fix /usr/sbin/processpaneluserspackages traceback
  - LU-363: Add ability to cl-packages to pass package name as string of codes
  - LU-364 Accumulate ret codes during cllimits set Fixed trace when Mysql governor isn't installed
  - LU-360: Create key `--get-user-reseller` for getcontrolpaneluserspackages script for DA and Plesk
  - LU-343: "cloudlinux-limits set" command should return new limits as json
  - LU-367: Fix cloudlinux-limits traceback is user's package contains quotas
  - LU-198 Fix: save_xml() was not atomic. Used tmp file + os.rename to make it atomic (implement locking while processing ve.cfg file)
  - LU-340: Allow to save speed limits without % (part 2)
  - LU-128: rewrite /usr/sbin/processpaneluserspackages from perl to python
  - LU-351: Fix error during saving new limits for package with non-ascii characters
  - LU-359: Fix cloudlinux-config hangs during MySQL Governer configuration
  - LU-356: Hide "Select PHP version" icon in the user interface of cPanel when selector is disabled
  - LU-348: LVE Manager -> Packages fails on DA and Plesk
  - LU-336: --save-all-parameters option of lvectl should correctly process speed limits
  - LU-279: lveps does not work due to cpu frequency in the /proc/cpuinfo = 0


author:
  Pavel Negrobov <pnegrobov@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 1.5-44

changelog:
  - LU-376: Fix traceback in 'cloudlinux-selector --json set --selector-status=disabled/enabled' on Plesk
  - LU-373: Fix behaviour for keys `--get-user-reseller`, `--userid`, etc in getcontrolpaneluserspackages


author: Stepan Oksanichenko <soksanichenko@cloudlinux.com> 1.5-45
changelog:
  - LU-380: Fix traceback when try to set speed limit that bigger than machine's maximum limit witout "%" sign.
  - LU-374: Fix behavior of "cloudlinux-limits" when reset limits to package default. Part II
  - LU-336: --save-all-parameters option of lvectl should correctly process speed limits
  - LU-374: Fix behavior of "cloudlinux-limits" when reset limits to package default


author: Stepan Oksanichenko <soksanichenko@cloudlinux.com> 1.5-46
changelog:
  - LU-373: Fix behaviour for keys `--get-user-reseller`, `--userid`, etc in getcontrolpaneluserspackages. PART II
  - LU-374: Fix behavior of "cloudlinux-limits" when reset limits to package default. Part III


author: Pavel Vavilin <pvavilin@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 1.5-47
changelog:
  - LU-380: Fix traceback when try to set speed limit that bigger than machine's maximum limit witout "%" sign. PART II
  - LVEMAN-1072: Fix behavior of Reset button for inodes limits in Options


author:
  Anton Volkov <avolkov@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 1.5-49

changelog:
  - LU-399: change helpdesk.cloudlinux.com to cloudlinux.zendesk.com
  - LU-397: Improve error detection if MySQL Governor have errors
  - LU-395: "cloudlinux-limits set" command should return limits when disk quotas are turned off
  - LU-393: Getcontrolpaneluserspackages script incorrect processing resseler users on Plesk
  - LU-390: LVE utils - fix error: invalid literal for int()
  - LU-388: Fix changing of MySQL limits for DEFAULT user
  - LU-389: cloudlinux-limis get --json is dramatically slow
  - LU-381 Add tuned-profiles-cloudlinux dependencie for CL7+ too
  - LU-382: Activate --limits key in cloudlinux-package utility and check it functionality
  - LU-276: Fix cloudlinux-limits CLI issues (issues 3,4)
  - LU-346: Fix cloudlinux-limits set --save-all-parameters for inodes limits
  - LVEMAN-1078: Fix error that occur during installation
  - LU-355: Fix trace for cloudlinux-limits set --user <user> --mysql-gov
  - LU-365: Print mysql-io limit in Kbytes per second in cllimits utility


author: Stas Django <pythonpowerd@gmail.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 1.5-50
changelog:
  - LU-392: add readable error message when incorrect cpu limit is in ve.cfg
  - LU-290: additional admins on DA panel should not be presented in the Settings tab of LVEMAN
  - LU-400: Add option for passing parameters to custom script to lvectl
  - LU-401 Ensure unicode before comparing packages(fixes warnings in cron)


author:
  Pavel Negrobov <pnegrobov@cloudlinux.com>, Stas Django <pythonpowerd@gmail.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 1.5-52

changelog:
  - LU-393: Getcontrolpaneluserspackages script incorrect processing reseller users on Plesk
  - LU-387: Allow cloudlinux-limits utility handle not integer values vmem|pmem parameters
  - LU-402 Small workaround for old Governor to prevent dropping to defaults when setting 1MB limits
  - LU-405: Correct the help message in cloudlinux-packages utility for --limits key


author:
  Alexander Grynchuk <agrynchuk@cloudlinux.com>, Oleksandr Shyshatskyi <oshyshatskyi@cloudlinux.com> 1.5-52rl

changelog:
  - LVES-759: Add reseller limits support to cloudlinux-limits
  - LVES-726: Implement reseller limits to lvectl (fix defaults)


author:
  Anton Volkov <avolkov@cloudlinux.com>, Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Stas Django <pythonpowerd@gmail.com> 1.5-53

changelog:
  - LU-427 Implemented checking of configuration of symlink owner match protection and few cagefs checks
  - LVEMAN-1118: prevent cronjobs from overlapping
  - LU-426: cldetect --update-license should check exit code of rhn_check instead of its output
  - LU-413: Fix cl-config traceback when MySQL Governer config have non-integer values


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Monstrofil <oshyshatskyi@cloudlinux.com> 1.5-55rl

changelog:
  - LVES-778: Investigate and fix default cpu data in ve.cfg
  - LVES-759: Add reseller limits support to cloudlinux-limits (fix --default for reseller)
  - AAP-167: lveps should return "N/A" for command value when it is not available
  - LVES-797: Allow set reseller --unlimited
  - LVES-762: Add ability to use --bytes key to lvectl list-reseller
  - LU-458: cloudlinux-limits should prevent admin from managing reseller's users when reseller limits are enabled for this reseller
  - LU-438: lvectl: Do not alow reseller to change user's limits of another reseller
  - LU-453: Allow the reseller to make the user unlimited
  - LU-437: Add parameter --for-reseller to cloudlinux-limits utility for get/set reseller's users LVE limits
  - LU-455: cldetectlib: improve performance for ISP5
  - LU-452 Add ability to get all resellers in cloudlinux-limits
  - AAP-161: make lveps work with LVE1.5 (reseller limits)


author:
  Monstrofil <oshyshatskyi@cloudlinux.com>, Pavel Vavilin <pvavilin@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 2.0-2

changelog:
  - LU-482 Check whether current user is root for all our utils and exit if not
  - LU-479: Fix bugs while reseller removing or remove reseller rights from user
  - LU-404: lvectl: traceback on incorrect 'delete' option
  - LU-472: lve.reseller_limit_supported() should return True for cPanel only
  - LU-469: cloudlinux-selector should print more informative error messages
  - LU-441 Added json output to cldiag utility
  - LU-478: Fetch True to Y in /etc/sysconfig/lvestats.config/StatsNotifier.cfg
  - LU-469: cloudlinux-selector should print more informative error messages
  - LVEMAN-1120: PHP Selector: check web server configuration and display warning if not compatible
  - LU-434: cldiag: implement checking for incorrect packages in cPanel


author: Konstantin Vaskovtsov <derkonstantin@cloudlinux.com> 2.0-3
changelog:
  - LVEMAN-1132: cldiag: check syntax of config files of php selector
  - LU-470: better handling of errors while processing packages


author:
  Pavel Negrobov <pnegrobov@cloudlinux.com>, Pavel Vavilin <pvavilin@cloudlinux.com>, Stas Django <pythonpowerd@gmail.com> 2.0-4

changelog:
  - LU-329: make prospector more usefull
  - LU-432 Fixed few typos and messages. Fixed one "used before assignment bug" Removed unused os import. Added few existing options to --help
  - LU-481: Fix mysql-restrict/unrestrict functionality for reseller's end users


author:
  Pavel Negrobov <pnegrobov@cloudlinux.com>, Pavel Vavilin <pvavilin@cloudlinux.com>, Sergei Chernikov <schernikov@cloudlinux.com> 2.0-5

changelog:
  - Added MockPanel support for QA
  - LVEMAN-1120: PHP Selector: check web server configuration and display warning if not compatible
  - LU-227: Add detection EA4 to cldetect


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Stas Django <pythonpowerd@gmail.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 2.0-7

changelog:
  - LU-503: Fix the output of lvectl all-user-list
  - LU-506: Fix output for cloudlinux-selector when a status of an extension is wrong
  - LU-492 Allow admin to turn on|off cagefs and mysql governor and  edit inodes limits for all reseller's end users (even for resellers which have enabled limits)
  - LU-500: print valid JSON response while executing lvectl --json destroy for nonexistent lve id
  - LU-488 Show reseller's default limits for reseller's packages instead of admin globals
  - LVEMAN-1150: Wrong encoding in user file in cPanel is error. Print error message
  - LVEMAN-1154: Add warning to selectorctl and cloudlinux-selector when try to unselect dependency module
  - LU-409: Variance in help message and real behavior in cloudlinux utility when use "--human-readable-numbers" key


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Monstrofil <oshyshatskyi@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 2.0-9

changelog:
  - LU-499: Update file /proc/lve/map after removing users
  - LU-510: Investigate the problem with reseller's list
  - LU-512: Reseller's list is not recreated after apply all
  - LU-409: Variance in help message and real behavior in cloudlinux utility when use --human-readable-numbers" key. Part II.
  - LU-509: remove leading zeros from value of IO limit
  - LVES-799: User's package should not affect reseller's limits
  - LU-497 Fixed traceback with non-existent reseller in cllimits set command
  - LU-494: Fix cloudlinux-packages exception because unicode string


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Monstrofil <oshyshatskyi@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 2.0-11

changelog:
  - LU-534: Fix wrong identification of reseller name for own account of reseller if it belongs to the root
  - LU-519: cloudlinux-limits should process mysql limits depending on mode of  mysql governor
  - LU-488 Fixed reseller's default limits propogation to users. Part II. Fix check reseller's limits activity
  - LU-488 Fixed reseller's default limits propogation to users
  - LU-505: Fix for cloudlinux-packages set for packages, created by reseller with enable limits
  - LU-533: Remove old source C code for lvectl from project
  - LU-518: Optimization for cloudlinux-limits get request
  - LU-499: Update file /proc/lve/map after removing users. Part II
  - LVEMAN-1132: cldiag: check syntax of config files of php selector fix help: write correct path to default.cfg config
  - LVES-828 - Simplify NameMap usage
  - LU-525: Fix set-reseller and remove-reseller commands in lvectl


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Monstrofil <oshyshatskyi@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 2.0-12

changelog:
  - LU-513: Do not reset inodes limits to default from reseller plugin.
  - LU-473 - Reset 'lve' limits when 'lvp' changes
  - LU-518: Optimization for cloudlinux-limits get request. Part II


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Stas Django <pythonpowerd@gmail.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 2.0-14

changelog:
  - LU-528: Fix response for keys set --for-reseller in cloudlinux-config, cloudlinux-limits and  cloudlinux-packages
  - LU-496 Cache parsed VE xml and get_cpu_data()
  - LU-545: fix lvectl destroy all
  - LU-510: Investigate the problem with reseller's list part 2. Fix applying limit for reseller user with admin package
  - LU-518: Optimization for cloudlinux-limits get request. Part III
  - LVEMAN-1170: PHP Selector should print error when alt-php is used as system default version
  - LU-539: /usr/sbin/kill_php_scripts should not kill background lsphp processes
  - LU-519: cloudlinux-limits should process mysql limits depending on mode of mysql governor part 2: remove dependence from reseller limits
  - LU-535: Fix functions reseller_users from cpapi and reseller_uids from lveapi
  - LU-546: Remove CL crons when erasing lve-utils package


author:
  Egor Zvorykin <ezvorykin@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Stas Django <pythonpowerd@gmail.com> 2.0-15

changelog:
  - LU-542: Fix "cloudlinux-limits get --for-reseller" if not reseller's end-user was given
  - LVEMAN-1177: Fix parser sysctl.conf in da_add_admin script
  - LU-507: implement "cloudlinux-limits enable-reseller-limits" command
  - LU-463 Call "lvectl apply all" when server/reseller default limits changed from UI
  - LU-530: Optimization for cloudlinux-limits get --for-reseller


author: Stepan Oksanichenko <soksanichenko@cloudlinux.com> 2.0-18
changelog:
  - LU-562: lvectl paneluserslimits <reseller_name> should work correct on Plesk and DA
  - LU-561: Fix issue realted to "lvectl apply all"


author: Anton Volkov <avolkov@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 2.0-22
changelog:
  - LU-568 - kill_php_script should not kill mysql
  - LU-561: Fix issue realted to "lvectl apply all". Part II.


author:
  Anton Volkov <avolkov@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 2.0-24

changelog:
  - LU-566: Fix response 'cloudlinux-limits --for-reseller' for DA and Plesk
  - PTCLLIB-102: Optimize function time execute `clcommon.utils.grep`
  - LU-565: Correct message after "lvectl set-reseller" for DirectAdmin/Plesk/cPanel on resellers packages and kernel
  - LU-567: fix cldetect --detect-cp-full errors when ispmanager-business-common is not installed


author:
  Monstrofil <oshyshatskyi@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 2.0-25

changelog:
  - LU-579: Fix trace for CageFS installation in DA
  - LVES-806 - Use lve_stats2_lib for config parsing in StatsNotifier
  - LU-574: investigate issues with resellers limits


author:
  Anton Volkov <avolkov@cloudlinux.com>, skohan <skokhan@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 2.0-28

changelog:
  - LU-233: implement ability to configure default namespace
  - LU-582: CL+DirectAdmin, fix code related to the error: ValueError: No JSON object could be decoded
  - AAP-195: Fix for lvetop \ lveps counting speed load for lve


author:
  Anton Volkov <avolkov@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com> 2.0-31

changelog:
  - LU-598: Fix traceback after run "lvectl sync-map" on no-panel Cloudlinux server
  - LU-518: Optimization for cloudlinux-limits get request. Part 4
  - LU-600: cldiag --all should check php selector


author: Anton Volkov <avolkov@cloudlinux.com>, Monstrofil <oshyshatskyi@cloudlinux.com> 2.0-33
changelog:
  - LU-548: Return default config for non-existing reseller in cl-config
  - LU-597: change start number of lvectl service from 29 to 65 (CL6)


author: Monstrofil <oshyshatskyi@cloudlinux.com> 2.1-1
changelog:
  - LU-572: Missing user without package in 'getcontrolpaneluserspackages' commands (plesk)
  - LVES-818: Implement reseller limits to lvectl for Plesk
  - LU-460: Use NameMap instead of ClPwd to get reseller id


author: Anton Volkov <avolkov@cloudlinux.com>, Oleksandr Shyshatskyi <oshyshatskyi@cloudlinux.com> 2.1-5
changelog:
  - LU-609: fix problem with setting limits on the same-named packages (Plesk)
  - CAG-796: use hidepid=2 when mounting /proc
  - LU-631: Keep reseller lve-id to avoid issues with statistics on Plesk
  - LU-612: Use kernel implementation of lve_lvp_move
  - LU-614: Fix identification of the owner of the package
  - LU-638: Improve cloudlinux-limits performance (part 1)


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Stas Django <pythonpowerd@gmail.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 3.0-1

changelog:
  - LVEMAN-1206: Implement ability to pass app_mode, startup_file and etc params to selectorctl while creating webapp
  - LU-591: implement installing modules for user's NodeJS application
  - LVEMAN-1201: Need to create or modify ~/.cl.selector/node-selector.json while creating user's webapp
  - LU-587: implement user's CLI for getting info about NodeJS applications
  - LU-589: implement reading/saving config files for NodeJS user's application
  - LU-586: implement user's CLI for creating NodeJS application
  - LU-602: cloudlinux-selector NodeJS: implement hiding UI icon based on config setting
  - LU-581 Initial support of NodeJS for cloudlinux-selector


author:
  Anton Volkov <avolkov@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Stanislav Sergiienko <ssergiienko@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 3.0-5

changelog:
  - LU-683: Automatically start stopped NodeJS application before change NodeJS version, app-root and app-uri
  - LU-669: implement detection of config files for users' applications
  - LU-677: cloudlinux-selector install-modules should not require --version parameter
  - LU-666, LU-668, LU-673: Display user friendly error messages cloudlinux-selector
  - LU-672: Fix arg parser errors for --selector-status, --default-version, --supported-versions, --extensions options in cloudlinux-selector utility
  - LU-656 prevent uninstalling NodeJS version which is used by users' applications
  - LU-648: implement additional commands for managing NodeJS versions
  - LU-650 Prohibit a user from using admin-only commands: "install-version" and "remove-version"
  - LU-645: Refactor get_nodejs_users_info function from node_selector_lib.py and improve output
  - LU-627: Make user and domain args optional in cloudlinux-selector
  - LU-587, LU-621: Implement user's CLI for getting info about NodeJS applications
  - LVEMAN-1229 Ability to specify either full or major version for NodeJS (part2)
  - LU-640: make cloudlinux-selector workable inside CageFS
  - PTCLLIB-112: Fix traceback in safely_resolve_username_and_doc_root if user is absent
  - LU-592: implement running script in user's NodeJS application environment
  - LU-630: update help  for getcontrolpaneluserspackages for options --list-packages
  - LVEMAN-1229 Ability to specify either full or major version for NodeJS
  - LU-619 Implemented initial ability to install/uninstall NodeJS version directly from cloudlinux-selector
  - LU-624: do su to user when admin executes command from user's CLI
  - LU-618: ensure that NodeJS application is workable after changing version or modules
  - LU-590: implement changing properties of user's NodeJS application
  - LU-621 Fix json output of cloudlinux-selector's selector_enabled field according to spec
  - LU-588: Implement start, restart, stop, destroy for user's NodeJS application


author:
  Pavel Negrobov <pnegrobov@cloudlinux.com>, Egor Zvorykin <ezvorykin@cloudlinux.com>, Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com>, Sergei Chernikov <schernikov@cloudlinux.com> 3.0-6

changelog:
  - LU-658: Add logrotate for /var/log/selectorctl.log file
  - LU-694: Fix run-script traceback
  - LU-680: Fix "error: Error code -3; pylve.lve_destroy" on Plesk and DA
  - LU-663: Request "cloudlinux-limits get --json --reseller-name=reseller" returns wrong JSON on DA
  - LVES-869: Missing values validation in statsnotifier config


author: Egor Zvorykin <ezvorykin@cloudlinux.com>, Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com> 3.0-9
changelog:
  - LU-663: Request "cloudlinux-limits get --json --reseller-name=reseller" returns wrong JSON on DA (fix --list-reseller-users)
  - LU-700: Fix creating nodejs web app in additional domains of user
  - LU-710: Restore unicode check in lve apply
  - LVES-883: Skip empty lines in StatsNotifier config
  - LU-657: correctly process paths to users' applications taking symlinks into account


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com> 3.0-10

changelog:
  - LU-714: Fix incorrect applying package limits on reseller
  - LU-646: disable CLI for user when NodeJS Selector is disabled by admin


author:
  Anton Volkov <avolkov@cloudlinux.com>, Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com>, Stanislav Sergiienko <ssergiienko@cloudlinux.com> 3.0-12

changelog:
  - LU-661 Switching user's App interpreter version should lock interpreter Currently, we check this lock only in "uninstall-version" cmd
  - LU-731: fix detection of H-Sphere
  - LU-662: implement locking for nodejs applications
  - LU-737: remount_proc.py should not ignore fs.proc_super_gid in /etc/sysctl.d/* files
  - LU-693: "selectorctl --interpreter nodejs" command should print "please use cloudlinux-selector utility instead"
  - LVEMAN-1260 "--new-app-uri" is now optional when moving app to the new domain only


author:
  Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com>, Stanislav Sergiienko <ssergiienko@cloudlinux.com>, Vladislav Yakushenko <vyakushenko@cloudlinux.com> 3.0-13

changelog:
  - LU-537: add cronjob for detection of control panel and automatic reconfiguration of our software
  - LU-632: Admin should not be able to set pmem and vmem limits for user under reseller with limits
  - LU-756: Fix sync-map for users with the same UID
  - LU-754 Check that user really exists in system before getting other info
  - LVEMAN-1269: Improve mechanism of hading nodejs icon in the end-user UI
  - LU-752: No package assigned to a user in LVE Manager when subscription has add-on plans selected in Plesk @BS-LINKED-5aef9a84c3953463c3932eb9
  - LU-725: Prettify unicode returned with "app_uri" key for NodeJS selector


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com> 3.0-14

changelog:
  - LU-773: Make some refactoring of caching mechanism in lvectllib.py
  - LU-740:  Fix traceback while calling "cloudlinux-selector" when lvemanager hasn't been installed


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com>, schernikov <schernikov@cloudlinux.com> 3.0-15

changelog:
  - LU-771: Prettify unicode returned with "Application startup file" key for NodeJS selector
  - LU-633: notify users when admin has changed version for their applications
  - LVES-899: False resources exceeded alerts
  - LU-537: add cronjob for detection of control panel and automatic reconfiguration of our software (don't reinstall packages if PANEL FILE is absent)


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Stanislav Sergiienko <ssergiienko@cloudlinux.com> 3.0-16

changelog:
  - PTCLLIB-125: cllib utils.grep() works incorrectly and give wrong results in many places (e.g. DA package confusion)
  - LU-813 Incorrect error message when trying to delete app with already deleted folders
  - LU-789: DA: Skip users with incomplete/broken data in user.conf and write warnings to syslog
  - LVEMAN-1244 - LVE Manager UI loads very slow on a server with a lot of users
  - LU-760: wrapper should print error "cannot be run as root"
  - LU-678: Improve cldiag script to detect lsapi handler
  - LU-679: Improve cldiag script to detect suPHP/suEXEC modules
  - LU-798: cldiag --json --check-phpselector does not work properly


author:
  Anton Volkov <avolkov@cloudlinux.com>, Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com>, Stanislav Sergiienko <ssergiienko@cloudlinux.com> 3.0-19

changelog:
  - LU-753: our code should process /etc/sysctl.d/* files along with /etc/sysctl.conf. Part II.
  - LU-826 Cleanup tests/constants.py after move
  - LU-826 Bump package requirements
  - LU-826 Move cloudlinux-selector util to lvemanager package
  - LU-689: Make install-modules, set --new-version, set --new-app-uri, set --new-startup-file, set --new-domain commands insensitive to application status
  - LU-822: Show/hide lvemanager plugin for resellers
  - LU-753: our code should process /etc/sysctl.d/* files along with /etc/sysctl.conf


author: Konstantin Vaskovtsov <derkonstantin@cloudlinux.com> 3.0-20
changelog:
  - PTCLLIB-130: "lvectl reseller-package-list" crashing if empty string present in DA_USER_DIR/USERNAME/packages.list


author: Sergei Chernikov <schernikov@cloudlinux.com> 3.0-21.3
changelog:
  - LU-758 - Reseller with active limits but without custom config file for notifier should correct inherit options from admin's config


author:
  Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com>, Anastasia Lutsiuk <alutsiuk@cloudlinux.com>, Stanislav Sergiienko <ssergiienko@cloudlinux.com>, Daria Kavchuk <dkavchuk@cloudlinux.com>, Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Sergei Chernikov <schernikov@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com> 3.0-21.4

changelog:
  - LU-857: implement collecting statistics about cagefs usage
  - Remove unneeded cagefs build requirement.
  - LU-858: db_governor status and version, DB info added to cloudlinux-config (merged)
  - LU-864: add mailman to clsupergid group and configure proc_super_gid setting for cPanel servers
  - LU-868: implement collecting statistics about Reseller Limits usage
  - LU-881: Collect kernel and uptime info for Dashboard
  - LU-861: implement cloudlinux-summary
  - LU-879: Collect faults information for Dashboard
  - LU-887: Implement old LVE limits integration mechanism detection in cloudlinux-summary
  - LU-861: implement cloudlinux-summary (part-2: resellers support)
  - LU-886: Send cloudlinux-summary data to clickhouse
  - LU-883: Collect default versions of selectors for both Dashboard and Statistics
  - LU-857: implement collecting statistics about cagefs usage
  - LU-861: implement cloudlinux-summary (part-3: fixes and tests)
  - LU-862: implement collecting statistics about PHP Selector usage
  - LU-862: implement collecting statistics about PHP Selector usage (fix tests)
  - LU-893: Implement cron-job to send cloudlinux-summary statistics each day


author:
  Anastasia Lutsiuk <alutsiuk@cloudlinux.com>, Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com>, Sergei Chernikov <schernikov@cloudlinux.com> 3.0-21.7

changelog:
  - Skip statistics collection for DA
  - LU-910 Remote settings for CL statistics rollout
  - LU-907: Limit resources for cloudlinux-summary statistics (add lve-wrappers dependency)


author:
  Anastasia Lutsiuk <alutsiuk@cloudlinux.com>, Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com> 3.0-21.8

changelog:
  - LU-910 Remote settings for CL statistics rollout (part 2)
  - LU-924: Save statistics even if server_id field is null


author:
  Anastasia Lutsiuk <alutsiuk@cloudlinux.com>, Konstantin Vaskovtsov <derkonstantin@cloudlinux.com> 3.0-21.10

changelog:
  - LU-934 Add ability for admin to swich CL usage statistics on/off (part-2)
  - LU-926: Collect time required to collect statistics as a new metric itself


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com> 3.0-21.11

changelog:
  - LU-926: Collect time required to collect statistics as a new metrics itself
  - LU-935: Integrate Sentry reports into cloudlinux-summary
  - LU-942: Implement new metric "lve-utils version"


author:
  Stanislav Sergiienko <ssergiienko@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 3.0-21.13

changelog:
  - LU-955 Change url for usage stats api
  - LU-954: setup_supergids error while  cldeploy  execution  on centos6


author: Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com>, alutsiuk <alutsiuk@cloudlinux.com> 3.0-22.0
changelog:
  - LVEMAN-1370: Add statistics for php selector usage
  - LU-899: Collect more statistics about LVE limits
  - LU-899: get rid of some unused global variables and methods in lvectllib
  - LU-679 Improve cldiag script to detect suPHP/suEXEC modules


author:
  alutsiuk <alutsiuk@cloudlinux.com>, Sergei Chernikov <schernikov@cloudlinux.com>, Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Egor Zvorykin <ezvorykin@cloudlinux.com> 3.0-22.1

changelog:
  - LU-953: Log to sentry when clsummary fails in some cases
  - LU-944: Collect maximum memory required to collect statistics as a new metrics itself
  - LU-890: Integrate lsapi stats in cloudlinux-summary, Part I
  - LU-957 Add running applications statistics for Usage Stats


author: alutsiuk <alutsiuk@cloudlinux.com>, Sergei Chernikov <schernikov@cloudlinux.com> 3.0-22.2
changelog:
  - LU-948 Fix statistics for metric selector_python_versions_installed
  - LU-901: Collect statistics about resellers end-users
  - LU-985: Enable cloudlinux-summary on DA


author:
  Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Anastasia Lutsiuk <alutsiuk@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 3.0-23.0

changelog:
  - LU-913: Add modules status information for Usage Stats
  - LU-964: Add statistics metric token for signing each sending
  - LU-966: Provide blocking of simultaneous (parallel) gathering of statistics
  - LU-965: Provide get request from ClickHouse with using of signing token
  - LU-970: Get status of collecting usage statistics
  - LU-970: Get status of collecting usage statistics. Part 2
  - LVES-924: Check non-using of /tmp folder in all project for security purposes
  - LU-971: Allow async running of collecting statistics


author:
  Sergei Chernikov <schernikov@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com>, Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com> 3.0-23.1

changelog:
  - LU-981: cl-summary get-remote do not return success status
  - Changed length of security token from 65 to 64 (according to specification)
  - Add "users_with_faults" metric


author:
  Pavel Negrobov <pnegrobov@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 3.0-23.6

changelog:
  - CAG-843: Fix bug of migrate fs.proc_can_see_other_uid value on new installations
  - LU-990: Add ability to toggle statistic collection for cloudlinux-summary. Part 3


author:
  Egor Zvorykin <ezvorykin@cloudlinux.com>, Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com>, Oleksandr Shyshatskyi <oshyshatskyi@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, alutsiuk <alutsiuk@cloudlinux.com>, schernikov <schernikov@cloudlinux.com> 3.0-23.8

changelog:
  - LU-1037: "cloudlinux-summary status" should return "failed" status if any exception in metric
  - LU-1033: Handle the case when ncpu is absent from ve.cfg
  - LU-1013: Add last sending statistics status to cloudlinux-summary status
  - LU-1015: Do not require --json for cloudlinux-summary
  - LU-1014: Remove old dashboard code
  - LVES-920: Investigate and fix possible memory leak in lve-stats
  - LU-1036 Handle case when cl-statistics database malformed and we cannot get faults
  - LU-1007: Change cloudlinux-summary API endpoint
  - LU-1031 Handle whmapi errors in get_php_domains_info


author:
  Egor Zvorykin <ezvorykin@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 3.0-23.9

changelog:
  - LU-1035: Investigate [Errno 14] Bad address when reading htaccess cache - added `kernel` field to sentry tags
  - LU-1043: Investigate "Max retries exceeded" when sending statistics


author:
  Sergei Chernikov <schernikov@cloudlinux.com>, Stanislav Sergiienko <ssergiienko@cloudlinux.com> 3.0-23.17

changelog:
  - LU-1135 Fix regression with old statistics URL
  - LU-1121: Check why cloudlinux-summary get-remote works more than 30s


author:
  Daria Kavchuk <dkavchuk@cloudlinux.com>, Egor Zvorykin <ezvorykin@cloudlinux.com>, Konstantin Vaskovtsov <derkonstantin@cloudlinux.com>, Oleksandr Shyshatskyi <oshyshatskyi@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Roman Krompets <rkrompets@cloudlinux.com>, Sergei Chernikov <schernikov@cloudlinux.com>, Stanislav Sergiienko <ssergiienko@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com>, alutsiuk <alutsiuk@cloudlinux.com>, ddemin <ddemin@cloudlinux.com> 3.1-1

changelog:
  - LU-1109: Fix Traceback during installation of Governor from wizard
  - LU-1133: Change wizard logs permissions to 600
  - LU-1127: PHP module in Wizard doesn't display current selector
  - LU-1111: Add blockers for mod_lsapi module in wizard
  - LU-1124: Incorrect error handling in wizard
  - LU-1099 Improve cldiag --check-php-conf
  - LU-1093 Add ability to install only alt-php packages without configurating php-selector
  - LU-1052: Add statistics collection about wizard
  - LU-1078: Remove wrong warning about suexec from wizard lsapi module
  - LU-1071: Investigate and fix errors "lveps output was incorrect: mv /u"
  - LU-1057: Allow cloudlinux-wizard to work on non-CPanel panels
  - LU-1070 Detect LiteSpeed in Wizard
  - LU-1048: Fix reseller limit inheritance tests/behaviour on cPanel
  - LU-1012: Warn about incompatibilities for governor and lsapi
  - LU-1044 - Validate json-data sent by UI in cl-wizard
  - LU-1026: Add RPM DB corruption detection to cldiag
  - LU-1053: Add warning message for php selector module in status --initial
  - LU-1049: Return "already_configured: False" when selector icon in UI disabled
  - LU-1042 Remove do-install key from input to cloudlinux-wizard
  - LU-1020 Implement file marker to detect that wizard has finished its work at some point in time
  - LU-1023 Replace hardcoded list of php/python/ruby/nodejs interpreters and use groups for installation
  - LU-1010: Implement new Wizard step: mod_lsapi
  - LU-1009: Implement new Wizard step: NodeJS selector
  - LU-999: Implement "cancel" command for wizard
  - LU-1011: Split "cloudlinux-wizard status" command into light and extended version
  - LU-1005 Implement new Wizard step: Ruby + Python selector
  - LU-1003 : Implement new Wizard step: MySQL governor
  - LU-1004: Implement new Wizard step: PHP selector
  - LU-995 Create CageFS module for cl-wizard
  - LU-967 Create utility for installing required modules with logging
  - LU-919: Make validation on CLI tools for setting limits that verify that NPROC > EP
  - LU-950: can't apply limits if reseller was removed and it had subaccounts
  - LVEMAN-1381: Add ClSelectExcept handling to statistics
  - LU-912: Add running applications statistics for dashboard
  - LU-890: Integrate lsapi stats in cloudlinux-summary, Part II
  - LVEMAN-1342: processpaneluserspackages works very slow on DA server with many users
  - LU-915: Fix dashboard status for cagefs
  - LVES-880 Fix issue with Username = N/A for reseller with disabled reseller limits on the Statistics tab
  - LU-882 Parse/handle stderr output correctly
  - LU-610: Add ability to integrate reseller limits to any control panel


author:
  Egor Zvorykin <ezvorykin@cloudlinux.com>, Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Sergei Chernikov <schernikov@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com>, alutsiuk <alutsiuk@cloudlinux.com>, ddemin <ddemin@cloudlinux.com>, dkulazhenko <dkulazhenko@cloudlinux.com> 3.1.1-1

changelog:
  - LU-1168: Wizard installation process should be interrupted when a module fails
  - LU-1160 New special module status for governor in Wizard
  - LU-1132: Fix conditions for python and ruby selector to be enabled on dashboard
  - LU-1175: Disable php-selector in the wizard should cause disable php selector in the selector tab
  - LU-1161: Add blockers for governor on all panels except cPanel and DA
  - LU-1139: Fix incorrect Governor status for wizard
  - LU-1167 - Fix initial status of PHP selector in wizard
  - LU-1163 Fix traceback when run 'cloudlinux-wizard status --initial' on server without installed CageFS
  - LU-1159 Ruby requires alt-python-virtualenv
  - CAG-871 Fix cagefsctl --cagefs-status command
  - LU-1119: Fix test_simultaneous_collect on cpanel
  - LU-1125 Run statistic collecting after wizard finished
  - LU-1141: Our utils are broken when Sentry is down
  - LU-1130: Fix Cagefs status in summary
  - LVEMAN-1410: Delete Redundant messages during installation lvemanager


author: Sergei Chernikov <schernikov@cloudlinux.com> 3.1.2-1
changelog:
  - LU-1181: Enable sentry for wizard
  - LU-1175: Disable php-selector in the wizard should cause disable php selector in the selector tab (part-2)


author:
  Simba <dpoleev@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, alutsiuk <alutsiuk@cloudlinux.com>, Sergei Chernikov <schernikov@cloudlinux.com> 3.1.3-1

changelog:
  - WEB-1394: Show only php errors on Selector tab
  - LU-1176: Check for rpmdb errors in is_package_installed method for wizard and cl-summary
  - LU-1191 Improve cldiag notifications with links to docs
  - LU-1192 cldiag fails on check-defaults-cfg param
  - LU-1147: cloudlinux-summary should use lock-file while collecting statistics
  - WEB-1337: Cache cloudlinux-summary data for UI


author: alutsiuk <alutsiuk@cloudlinux.com>, Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com> 3.1.4-2
changelog:
  - LU-1218: Improve cldiag email template
  - LU-1189: problem with sending email on cPanel server
  - LU-1197 We should limit max output lines for cldiag checkers(e.g. rpmdb)
  - LU-1196 cldiag 'Check fs.enforce_symlinksifowner' failed with internal error
  - LU-1193 fs.symlinkown_gid check on openvz containers


author:
  Anton Volkov <avolkov@cloudlinux.com>, schernikov <schernikov@cloudlinux.com>, alutsiuk <alutsiuk@cloudlinux.com>, Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com> 3.1.5-2

changelog:
  - CAG-891: fix suexec check in cldiag - issue on servers without hosting panel
  - LU-1227: suexec check in cldiag should process HostingNG correctly
  - bump conflicts with cagefs and lvemanager
  - LU-1186: Review and fix logger levels in wizard
  - LU-1229 Cldiag fs.enforce_symlinksifowner checker fix for openvz
  - LVEMAN-1468: incorrect status in wizard during installation
  - AAP-262: control_panel_apache metric added
  - LU-1198: Fix json errors when getting remote available groups info


author: Stanislav Sergiienko <ssergiienko@cloudlinux.com>, alutsiuk <alutsiuk@cloudlinux.com> 3.1.6-1
changelog:
  - LU-1235 Wizard should handle "ea-apache24-mod-alt-passenger" unavailibility due repo issues
  - LU-1232 Remove unnecessary warnings in cldiag messages
  - LU-1190 Writing manuals for fixing issues found by cldiag


author: alutsiuk <alutsiuk@cloudlinux.com>, Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com> 3.1.7-1
changelog:
  - LU-1234 Python selector do not find virtualenv in directadmin
  - LU-1241: make possible to use cloudlinux-wizard in ansible task


author: Anton Volkov <avolkov@cloudlinux.com>, Pavel <pmogilnikov@cloudlinux.com> 3.1.8-1
changelog:
  - LU-1295 Wizard is crashed if module installation was cancelled
  - LU-1230: Sync enabling/disabling Python app icon in clconfig utility with status of Python Selector


author: Pavel <pmogilnikov@cloudlinux.com>, alutsiuk <alutsiuk@cloudlinux.com> 3.1.9-1
changelog:
  - LVES-957 charset in lve-stats2 notifications
  - LU-1318 Allow cloudlinux-wizard to set default python version
  - LU-1310 Implement collecting statistic about Python Selector on DirectAdmin


author:
  Pavel Negrobov <pnegrobov@cloudlinux.com>, Roman Krompets <rkrompets@cloudlinux.com>, alutsiuk <alutsiuk@cloudlinux.com> 3.1.10-1

changelog:
  - WEB-1434: list-reseller command don't work using API
  - LU-1291 wizard should run `cagefsctl --force-update` after installation of packages selected by user
  - LU-1334: Users were missing in LVE manager users tab
  - LU-1335: Cldiag error `check-cpanel-packages` if users list is empty
  - LU-1317 cldiag should ignore/cut the space before/after the Package name


author:
  Anton Volkov <avolkov@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com>, Oleksandr Shyshatsky <oshyshatskyi@cloudlinux.com>, alutsiuk <alutsiuk@cloudlinux.com>, Dmitriy Poleev <dpoleev@cloudlinux.com> 3.1.11-1

changelog:
  - LU-1385: Disable script `kill_php_script` by default for new installations
  - LU-1367: Run lve-utils rpm tests on real Panels(cPanel/Plesk)
  - LU-1341: Replace using of `too long script` by using of cpapi
  - LU-1370 Python selector is always enabled on Dashboard


author:
  Oleksandr <oshyshatskyi@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Sergey Kozhekin <skozhekin@cloudlinux.com>, Simba <dpoleev@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com>, Ulugbek <usamigjonov@cloudlinux.com>, alutsiuk <alutsiuk@cloudlinux.com> 3.1.13-1

changelog:
  - CAG-945: Move sync-map hooks to lve-utils
  - CAG-945: Rename new_vendor -> new_owner in modify_user callbacks
  - LU-1389: Do not use rpm -q in passenger and virtualenv detecting
  - LU-1390 Improve panels detection for statistics
  - PTCLLIB-153: Add sentry to new universal hooks
  - PTCLLIB-153: Move sentry to python-cllib package
  - WEB-1580: Add ability to hide inodes in Plesk and DirectAdmin
  - WEB-1592: Do not show inode accordion if quota unavailable


author:
  Arina Busygina <abusygina@cloudlinux.com>, Simba <dpoleev@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com>, Ulugbek <usamigjonov@cloudlinux.com>, alutsiuk <alutsiuk@cloudlinux.com> 3.2.2-2

changelog:
  - Bump cllib version in requires
  - LU-1404 Add new metrics to CL summary stats
  - WEB-1593: Use the same names for options in config file as it return cl_config
  - WEB-1593: Use the same names for options in config file as it return cl_config (part2)
  - WEB-1593: Use the same names for options in config file as it return cl_config (part2)
  - WEB-1604: LVE Manager shows the incorrect path /usr/lve/dbgovernor-store.


author:
  Anton Volkov <avolkov@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com> 3.2.3-2

changelog:
  - LU-1487: replace alt-python27-MySQL-python with alt-python27-MySQL-meta in all spec files
  - LU-1445: Investigate and fix possibly hangs of cldiag utility if RPMDB is locked
  - LU-1389: Do not use rpm -q in passenger and virtualenv detecting.


author:
  Anton Volkov <avolkov@cloudlinux.com>, msozin <msozin@cloudlinux.com>, Oleksandr Shyshatskyi <oshyshatskyi@cloudlinux.com> 3.2.6-1

changelog:
  - LU-1492: Do not call struct.pack with float argument
  - LU-1492: fix bug with _parse_lve_lines
  - Sonar Qube: disable rules related to unused imports and imports ordering
  - LU-1492: Migrate lve-utils code to use universal python 2/3 code (Part 3. --stage1. Absolute imports)
  - LU-1492: Migrate lve-utils code to use universal python 2/3 code (tab to spaces)
  - LU-1492: Migrate lve-utils code to use universal python 2/3 code (Part 1 - w/o unicode)


author: Oleksandr <oshyshatskyi@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com> 3.2.7-1
changelog:
  - LU-1501: Manually build pyc pyo for cloudlinux 8
  - LU-1589: Fix wizard errors on CL8
  - LU-1576: Skip cldiag suexec checker for custom control panels
  - LU-1492: Migrate lve-utils code to use universal python 2/3 code


author:
  alutsiuk <alutsiuk@cloudlinux.com>, msozin <msozin@cloudlinux.com>,  Oleksandr <oshyshatskyi@cloudlinux.com> 4.0.2-2

changelog:
  - LU-1630 : (LU) usage of os.makedirs on py3
  - LU-1637: /usr/sbin/lveps cuts user IDs > 8
  - LU-1629: cl-summary get-remote return -42 for cagefs params
  - LU-1620 fix clsummary enabling/disabling error
  - LU-1607 : (lve-utils) add interpolation=None
  - LU-1604 fix lve-utils cl8&py3 tests
  - LU-1501: Manually build pyc pyo for cloudlinux 8
  - LU-1589: Fix wizard errors on CL8
  - Fix removed variable initialization
  - LU-1492: Fix checking of users's packages in cldiaglib
  - LU-1492: Enable unit tests for lve-utils package
  - LU-1492: Fix migration_ve1_to_v2.py script
  - LU-1492: Fix cldiaglib error reporting about user's packages
  - LU-1492: Remove unneeded encode() in clcontrollib for plesk
  - PTCLLIB-184 : (Py_lve) Fix DA cpapi tests
  - LU-1492: Use process.cmdline as method because of new psutil version
  - LU-1492: Write errors in case of bad cpanel configs
  - fix writing governor config file
  - LU-1492: Migrate lve-utils code to python3 (limits manipulation)
  - fix shebangs with -s and -bb keys for lve-utils
  - LU-1492: Migrate lve-utils code to use universal python 2/3 code
  - LU-1566 add -bb option to lve-utils
  - LU-1500: update spec file for python_lve
  - LU-1492: Do not call struct.pack with float argument
  - LU-1492: fix bug with _parse_lve_lines
  - Sonar Qube: disable rules related to unused imports and imports ordering
  - Version change
  - LU-1500: Version up
  - LU-1486: Build lve-utils package for CL8
  - LU-1500: Add commented pylint --py3k
  - LU-1500: create master-py3 branch


author: Anton Volkov <avolkov@cloudlinux.com>, pmogilnikov <pmogilnikov@cloudlinux.com> 4.0.3-1
changelog:
  - CAG-1029 : fix writing toprettyxml to files
  - PTCLLIB-201: Fix wrong obsoletes in alt-python27-cllib that breaks yum update


author:
  Ulugbek <usamigjonov@cloudlinux.com>, alutsiuk <alutsiuk@cloudlinux.com>, msozin <msozin@cloudlinux.com>, Oleksandr <oshyshatskyi@cloudlinux.com>, Anton Volkov <avolkov@cloudlinux.com>, Dmitriy Poleev <dpoleev@cloudlinux.com> 4.0.6-1

changelog:
  - WEB-1784: Admin side : message about incompatibility
  - WEB-1785: Admin side : dashboad warning about php selector issue
  - LU-1672 [Endurance] Add metric for datacycle usage
  - LU-1691 fix lve-utils performance regression
  - LU-1677 Add collecting of number of domains and subdomains on the server in daily stats
  - LU-1544: LVE limits don't reset to the signed package limits in DirectAdmin for the account which was created by the reseller
  - LU-1686 add cldiag cron check enabled metric
  - WEB-1788: Admin side : message about unworkable php selector if alt-php version is  system default
  - LU-1685: correct typo in cldiag help
  - LU-1654: set cloudlinux=yes parameter in /usr/local/directadmin/custombuild/options.conf
  - PTCLLIB-192: Implement new folder-based hooks installation mechanism on DA
  - only tests fixed


author:
  alutsiuk <alutsiuk@cloudlinux.com>, msozin <msozin@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, pmogilnikov <pmogilnikov@cloudlinux.com> 4.2.0-1

changelog:
  - LVEMAN-1664 : Use /usr/bin/switch_mod_lsapi --stat instead of import python lib
  - LU-1710: Fix lve-utils unit-tests fails during building on EL8 environment
  - LVEMAN-1658: Fix dynamicui crash during nodejs install on DA
  - LU-1720: Fix copyright checker failure on lve-utils. Part II
  - LU-1718 Make configparser less strict and ignore duplicated options in configs
  - LU-1720: Fix copyright checker failure on lve-utils
  - LU-1693: Configure sonarcube for all our projects
  - LU-1372: Prepare clsummary & dashboard to work with unification
  - PTCLLIB-192: remove hooks func from clcontrollib
  - LU-1068: refactor clquota_lib in order to avoid code duplicates
  - LU-1068: improve errors reporting for cl-quota utility
  - LU-1381: Case installing panel after lvemanager lve-utils
  - LU-1693: Configure sonarcube for all our projects
  - LU-1258 skip suspended users in --check-cpanel-packages checker LU-1239 skip whmcs package 'Custom' diring package checking
  - LU-1702 Add cloudlinux linksafe metric
  - LU-1684: Add possibility to install lsapi via wizard on DirectAdmin from beta. Part II
  - LU-1684: Add possibility to install lsapi via wizard on DirectAdmin from beta
  - LU-1696: Add LiteSpeed web-server usage statistic in cl-summary for adding into ClickHouse
  - LU-1631 : add ability to set lve-stats2 email parameters
  - LU-978: Always create clsupergid group


author: Stepan Oksanichenko <soksanichenko@cloudlinux.com>, Ulugbek <usamigjonov@cloudlinux.com> 4.2.2-1
changelog:
  - LU-1768: Create prototype which can collect statistics
  - WEB-1856: Fix the link in LVE Manager error


author:
  alutsiuk <alutsiuk@cloudlinux.com>, Anton Volkov <avolkov@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 4.2.3-1

changelog:
  - CAG-1049: lve_namespaces service should be started after zfs-mount service
  - LU-1789 package_reinstaller.py check failed on CL
  - LU-1818: Get more info about call `rpm -qa` if it returns non-zero code


author: Anton Volkov <avolkov@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com> 4.2.5-1
changelog:
  - LU-1816: Change of username in Plesk leads to incorrect user showing in the LVE Manager
  - LU-1784: lveps/lvetop doesn't show memory usage on CL7h/CL8

  Mon Jun 01 2020 Dmitriy Poleev <dpoleev@cloudlinux.com> 4.2.4-2
  - LU-1828: fix spec: build of lve-utils package fails on CL8
  - WEB-1929: Change cldiag message and behavior for checking domains compatibility


author: Stepan Oksanichenko <soksanichenko@cloudlinux.com> 4.2.6-1
changelog:
  - LU-1842: Dashboard update finished with "Result of last sending: Collecting statistics was failed. Error report has been sent to developers and will be fixed soon. "


author:
  Stepan Oksanichenko <soksanichenko@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, msozin <msozin@cloudlinux.com> 4.2.7-1

changelog:
  - LU-1843: Add polkitd user to clsupergid
  - LU-1849: cldiag typo
  - LU-1836: The result of call rpm -qa --queryformat  has an invalid line
  - LU-1047: Check if statistics enabled BEFORE running asynchronous process


author: alutsiuk <alutsiuk@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com> 4.2.8-1
changelog:
  - LU-1751: Add AppVersionDetector as a dependency and execute it once a month to collect stats
  - LU-1862: add logging to package_reinstaller


author:
  alutsiuk <alutsiuk@cloudlinux.com>, dkuropiatnyk <dkuropiatnyk@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 4.2.9-1

changelog:
  - CMT-126: bump cllib version to use fixed xml parser
  - LU-1047: Check if statistics enabled BEFORE running asynchronous process. Part 3
  - LU-1866: Do not perform checking patches for "suexec" if LiteSpeed server is used


author:
  alutsiuk <alutsiuk@cloudlinux.com>, msozin <msozin@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Ulugbek <usamigjonov@cloudlinux.com> 4.2.10-1

changelog:
  - LU-1865 Do not remove cmt package if it does not exist
  - WEB-1458: Dashboard (mod_lsapi + litespeed)
  - CMT-163: Temporary remove autoinstallation of CM package and start of demons
  - CMT-141 rename centralized-management to cl-end-server tools
  - CMT-135: add missing cron
  - LU-1865: Add activate/deactivate mechanism for Endserver-tools


author: Anton Volkov <avolkov@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com> 4.2.12-1
changelog:
  - LU-1843: Add polkitd user to clsupergid (part 2)
  - LU-1894: Version up and test lve-utils with new application detector


author:
  Alisher Matkurbanov <amatkurbanov@cloudlinux.com>, msozin <msozin@cloudlinux.com>, soksanichenko <soksanichenko@cloudlinux.com> 4.2.18-1

changelog:
  - LU-1899: cldiag: add ability to disable specific list of notifications
  - LU-1903: Run app-detector on random day. Part 2
  - LU-1881: Add a few metrics to CL statistics
  - LU-1890: Add cldiag hidepid checker
  - CMT-221: Add package versions tags to sentry
  - CMT-235: Add cron for verifying jwt correct [for beta only]


author: Anton Volkov <avolkov@cloudlinux.com>, msozin <msozin@cloudlinux.com> 4.2.19-1
changelog:
  - LU-1938: Install /etc/cron.d/cloudlinux_domains_collector when missing
  - CMT-235: [End-server-tools] Add cron for verifying jwt correct [for beta only] part2


author:
  Stepan Oksanichenko <soksanichenko@cloudlinux.com>, Dmitriy Poleev <dpoleev@cloudlinux.com>  4.2.22-1

changelog:
  - CMT-257: Add to cldiag the base checks for CMT
  - WEB-1995: Dashboard does not display correct values after wizard


changelog: - CMT-257: Add to cldiag the base checks for CMT. Hot-fix for non-CL+ clients
author:
  Pavel Mogilnikov <pmogilnikov@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 4.2.23-1


author:
  alutsiuk <alutsiuk@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com>, Alisher Matkurbanov <amatkurbanov@cloudlinux.com>, dkuropiatnyk <dkuropiatnyk@cloudlinux.com> 4.2.25-1

changelog:
  - CMT-460: CM errors for non-CL+ customer
  - LU-1963: Add metrics detecting HW info in daily statistic
  - LU-1893: Add cagefs partition checker to cldiag
  - CMT-436: add sentry & some debug checks for manage clplus script


author:
  Danylo Kuropiatnyk <dkuropiatnyk@cloudlinux.com>, Simba <dpoleev@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 4.2.26-1

changelog:
  - WEB-2040: Add config parameters for cl-config: Hide X-Ray for user
  - LU-2016: Does not perform checking patches for "suexec" with LiteSpeed server
  - CMT-257: Add to cldiag the base checks for CMT
  - CMT-448: "clplus_manage.py enable" util must fail (or at least warn) if CM is not activated in CM UI


author:
  Anton Volkov <avolkov@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com>, Pavel Mogilnikov <pmogilnikov@cloudlinux.com>, Roman Krompets <rkrompets@cloudlinux.com>  4.2.31-1

changelog:
  - PTCLLIB-219: Fix None package issues
  - LU-2251: Add OLS to cloudlinux-summary
  - WEB-2113: Implement installation of end-user xray plugin on custom panel
  - LU-1897 : make cldiag notification workable on all systems
  - LU-2237: kill_php_script: exclude jetbackup* processes
  - LU-1926: Add support of duplicate UIDS to /usr/bin/getcontrolpaneluserspackages


author: Pavel Negrobov <pnegrobov@cloudlinux.com> 4.2.32-3
changelog:
  - LU-2242: Fix cldiag error "INTERNAL_TEST_ERROR: ExternalProgramFailed during check_cagefs_partition_disk_quota"
  - LU-2305: Add Clickhouse metrics to estimate "Act like CageFS is disabled" errors


author:
  Pavel Negrobov <pnegrobov@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com> 4.3.1-1

changelog:
  - LU-2262: Collect list of CLOS / CLOS+ customers with domains
  - LU-2246: Add "Low LVE PMEM value" checker to cldiag


author:
  Pavel Negrobov <pnegrobov@cloudlinux.com>, Pavel Mogilnikov <pmogilnikov@cloudlinux.com>, Hasan <haliev@cloudlinux.com> 4.3.3-1

changelog:
  - LU-2374: do not break packages loop after Exception
  - LU-2242: Fix cldiag error "INTERNAL_TEST_ERROR: ExternalProgramFailed during check_cagefs_partition_disk_quota". Part 2
  - LU-2291: Fix cl-limits set mysql governor to plesk users with additional accounts
  - PTCLLIB-221: Make vendors_api importable directly


author: alutsiuk <alutsiuk@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com> 4.3.3.1-1
changelog:
  - LU-2428 Change the way to get the version  of kmodlve in  cloudlinux-summary (for 7h/8)
  - LU-2426: Fix APD command in lve-utils cron


author:
  alutsiuk <alutsiuk@cloudlinux.com>, Dmitry Shibut <dshibut@cloudlinux.com>, Oleksandr Shyshatskyi <oshyshatskyi@cloudlinux.com>, Danylo Kuropiatnyk <dkuropiatnyk@cloudlinux.com>, Stepan Oksanichenko <soksanichenko@cloudlinux.com>, Hasan <haliev@cloudlinux.com> 5.1.1-1

changelog:
  - LU-2388: Fix hidepid behaviour on CL8
  - LU-2321 Conflict mod_hostinglimits in single edition
  - LU-2354: Split liblve.so into liblve and libsecureio
  - skip resellers packages cldiag check in solo
  - LU-2351 fix scriptlets problems on solo
  - LU-2366: Add telemetry about current WMT settings
  - LU-2353 do not install unneeded cronjobs for solo
  - LU-2352: Renew cl single detection by marker logic according to spec
  - LU-2367: Provide reinstall lvemanager-xray by cron for Single Edition
  - LU-2334 clean up unneeded utils calls on single
  - LU-2268 improve cloudlinux-customizer utility
  - LU-2328 Enable domains collector on CL single
  - LU-2269: Check usage of the list /proc params on CL single
  - LU-2300: Add "cldetect --detect-edition" command
  - LU-2270: Investigate a method of limitation resources for cl-summary on CL single
  - LU-2255: Enable cloudlinux-summary for CLOSS
  - Rename cloudlinux-reconfigure to cloudlinux-customizer
  - LU-2222: Create script that customizes CL installation
  - LU-2226 skip cloudlinux lve utils for cl single edition
  - LU-2229: Create cloudlinux-single-edition package


author: Aleksey Zverev <azverev@cloudlinux.com> 5.2.1-1
changelog:
  - LU-2375: Provide possibility to register cloudlinux with trial license via cloudlinux-license utility


changelog:
  - LU-2509: Fix APD statistics
  - CAG-1117: fix LiteSpeed setup for CageFS

author:
  Dmitry Shibut <dshibut@cloudlinux.com>, Pavel Mogilnikov <pmogilnikov@cloudlinux.com>, Pavel Negrobov <pnegrobov@cloudlinux.com> 5.2.4-1


