# changelog

author: Kir Kolyshkin <kir@openvz.org> - 4.3-1
changelog:
  - New functionality:
  -- vzctl enter/exec now works for upstream kernel 3.8+
  -- vzctl snapshot-[u]mount
  -- user namespace support for upstream kernel 3.9+
  -- vzctl suspend/resume: support upstream 3.x kernel via CRIU (http://criu.org)
  -- vzmigrate: add compatibility pre-checks for CPT version and CPU flags
  -- Add vzstats dependency to rpm package
  - Improvements:
  -- vzctl: introduce cleanup handler mechanism, use for ploop, scripts etc.
  -- vzctl start: add pre-start dist script
  -- vzctl start: remove dumpfile on successful start
  -- vzmigrate: add -o BatchMode=yes to SSH_OPTIONS
  -- vzctl console: recognize ESC as a first character
  -- add vzctl itself to OOM group configuration
  -- bash-completion: add vzctl snapshot-list options
  -- bash-completion: add vzctl snapshot-* --id/--uuid argument
  -- vzctl set --reset_ub: make exclusive
  -- vzctl set: on fail don't warn about missing --save
  -- etc/init.d/vz*: try to run vzstats
  -- vzmigrate: add --check-only (aka --dry-run)
  -- Move container private area check after executing premount scripts
  - Fixes:
  -- vzctl snapshot-list -o desc,device: fix width
  -- vzmigrate: fix ploop-based CT migration wrt symlinks
  -- vzmigrate: improve a few log messages
  -- vzmigrate: fix and optimize IP address checks
  -- vzmigrate: fix checking rsync/vzctl exit code
  -- vps_destroy_dir(): don't call quota on ploop CT
  -- suse-add_ip.sh: remove a bogus warning in no IPs case
  -- src/lib/cpt.c:restore_fn(): log errno
  -- Many (about 40) fixes here and there, found by Coverity
  -- destroydir(): log errno
  -- vzctl set 0 ... --force: don't SEGV on non-ovz kernel
  -- vzctl set --force: require --save
  -- vzctl set --diskspace: require --save for ploop
  -- vps-download: fix config file in --config output
  -- vzlist -o vswap: fix
  -- vzctl start: fix ub limits setting for upstream containers
  -- vzctl restore: don't run action scripts
  -- Fix checking vps_is_mounted() return value
  -- Remove more traces of noatime flag
  - Documentation:
  -- vzcptcheck(8): added
  -- vzctl(8): note vzctl set --name requires --save
  -- vzctl(8): improve --setmode description
  -- vzctl(8): fix and improve description of set --userpasswd
  -- vzctl(8): document snapshot-mount, snapshot-umount
  -- vzctl(8): document --local-gid, local-uid
  -- distribution.conf-template: document PRE_START
  -- other fixes and improvements


author: Kir Kolyshkin <kir@openvz.org> - 4.3.1-1
changelog:
  - New functionality:
  -- vzctl restore with CRIU: restore veth devices
  - Fixes:
  -- vzmigrate: fix a typo leading to missing `]' warning (harmless)
  -- configure.ac: set _GNU_SOURCE for older autoconf
  -- vzctl stop: don't kill CT right away if halt exited with 1
  -- vzctl restore/start: fix running mount script (#2603)
  -- vps_start_custom(): close old_wait_p fds
  -- stat_file(): print error if other than ENOENT
  -- vzctl snapshot-switch: do apply config saved on snapshot
  -- vzctl snapshot-switch: don't remove dump file
  -- fix checking stat_file() return code
  -- vzctl create: umount ploop device if interrupted
  -- src/snapshot.c: log errno after failed rename
  -- vzctl start/destroy: fix criu dump removal
  -- vzctl restore: synchronize criu with vzctl
  -- vzctl --help: fix copyright years
  - Improvements:
  -- logger(): don't spoil errno
  -- Macro GET_DUMP_FILE is internal, move to .c
  -- is_vzquota_available(): use access() and check for x bit
  -- stat_file(): use access() instead of stat()
  -- vzctl_env_[u]mount_snapshot: rm guid check
  -- vzctl_env_create_snapshot(): explicitly specify guid on rollback
  -- vzctl_env_switch_snapshot(): rework using ploop_switch_snapshot_ex()
  -- vzctl restore: more consistent error printing
  - Documentation:
  -- man: fix pages' dates


author: Kir Kolyshkin <kir@openvz.org> - 4.4-1
changelog:
  - New functionality:
  -- vztmpl-dl script to aid in template downloading/updating
  -- nameserver/searchdomain auto-propagation from the host (#2301)
  -- vzctl start: do fsck for ploop, add --skip-fsck (#2615)
  -- add --stop-timeout/STOP_TIMEOUT option (#2621)
  -- vzmigrate: use remote VZ_PRIVATE and VE_ROOT (#2523)
  -- Introduce vz-postinstall script (set sysctl.conf, disable selinux)
  -- vzmigrate: add -f, ability to ignore some checks (#2643)
  -- distscripts: update for newer Arch Linux (#2617)
  -- etc/vz.conf: set default OS template to centos-6-x86
  -- etc/vz.conf: comment out NEIGHBOUR_DEVS by default
  - Fixes:
  -- vzmigrate: fix check for IPs when there are none (#2620)
  -- Deny "unlimited" value for DISKSPACE/DISKINODES
  -- scripts/vps-netns_dev_add: rework config action (#2637)
  -- vzctl convert: fix final renames (#2638)
  -- vzctl convert: rename old private back if failed (#2638)
  -- vzctl convert: fix new directory mode to be 0700 not 0600
  -- scripts/vps-rst: make VE_VETH_DEVS optional (#2659)
  -- fix compilation on arches without support for VZ (RH #971821)
  -- vzlist -j: fix to work on RHEL5 kernel (#2661)
  -- fix exec to really enter into pidns on upstream kernel (#2658)
  -- debian-add_ip.sh: ignore comments when looking for venet0 (#2674)
  -- destroydir(): don't return -1
  -- create.c: fix warnings compiling w/o ploop
  -- build fix for automake < 1.10.2
  - Improvements:
  -- vzmigrate: check ipv6 module on dest (#2555)
  -- Remove check for ploop size (let ploop decide)
  -- vzmigrate: improve invalid cmdline handling
  -- [build] configure: set localstatedir to w/o prefix (#2637#c2)
  - Documentation:
  -- add vztmpl-dl(8)
  -- vzctl(8), vz.conf(5), ctid.conf(5): "inherit" for nameserver/searchdomain
  -- vzctl(8): describe new options --skip-fsck, --stop-timeout
  -- vzmigrate(8): describe new option -f/--nodeps
  -- vzmigrate(8): remove duplicate --live option description
  -- vzmigrate --help: simplify synopsys


author: Kir Kolyshkin <kir@openvz.org> - 4.5-1
changelog:
  - New functionality:
  -- vztmpl-dl: add --upload-all, --ignore-errors
  -- vztmpl-dl: add --list-remote, --list-local
  -- vztmpl-dl: do not check GPG signatures by default
  -- vztmpl-dl: add --gpg-check and --update options
  -- vz-postinstall: enable iptables for bridges (#2641)
  -- vz-postinstall: be verbose about what we do
  -- vzmigrate: support for VE_PRIVATE being a symlink (#2694)
  - Fixes:
  -- ndsend: fix option field in sending packets (#2709)
  -- libvzchown: link to -ldl (#2705)
  -- vps_create(): save LOCAL_UID/GID=0 if !userns for upstream CT
  -- vzctl.spec: run vz-postinstall on a fresh install only
  -- vz-postinstall: do not change rp_filter sysctl
  -- vzmigrate: remove a bashism
  -- vzctl create: fix running postcreate action wrt --ostemplate path/tmpl
  -- vzctl create: use proper version of basename()
  -- vzdaemon_stop(): don't return error if stopped already
  -- read_resolv_conf(): fix potential buffer overflow
  -- vzctl_env_switch_snapshot: fix leak on error path
  -- vzctl_env_convert_ploop(): check chmod return code
  - Improvements:
  -- veth: improve veth random MAC generation (#2695)
  -- vzctl start: always mount /dev/pts for upstream CT
  -- vzmigrate: add / to paths for rsync (#2686)
  -- load_ploop_lib(): load .so.1, try .so too (for ploop-1.9)
  -- scripts: use VPSCONFDIR instead of PKGCONFDIR/conf
  -- vzctl.spec: add /var/lib/vz as a symlink to /vz
  -- vzctl.spec: don't mark symlink as %dir
  -- vzctl.spec: remove a bunch of defines
  -- vzctl.spec: use /var/lib not /var/lib
  -- vzctl.spec: quote rpm macros
  -- vzctl.spec: remove extra slashes
  - Documentation:
  -- vztmpl-dl: improve usage
  -- vztmpl-dl(8): describe new options


author: Kir Kolyshkin <kir@openvz.org> - 4.5.1-1
changelog:
  - Fixes:
  -- Fix loading older (<1.9) ploop library (#2719)
  -- Fix installing rpm for people using /var/lib/vz (#2722)


author: Kir Kolyshkin <kir@openvz.org> - 4.6-1
changelog:
  - New functionality:
  -- Add iolimit and iopslimit (need kernel >= 042stab084.2)
  -- Add optional VM_OVERCOMMIT/--vm_overcommit parameter
  -- In VSwap mode, set some secondary UBCs if unset:
  --- lockedpages=oomguarpages=ram
  --- vmguarpages=ram+swap
  --- privvmpages=(ram+swap)*vm_overcommit (if set)
  -- vzoversell: add
  -- vztmpl-dl: add --list-orphans
  -- vztmpl-dl: add --quiet/--no-quiet
  -- vzubc: don't show unlimited ubcs by default; add -v to show
  -- vzlist: add new fields (vm_overcommit, iolimit, iopslimit)
  - Fixes:
  -- Fix quota on ploop for RHEL5 CT
  -- vzctl console: hack to force redraw on reattach
  -- set_ublimit(): don't set unknown UBs to unlim (#2760)
  -- init.d/vzeventd: set reboot_event (#2764)
  -- arch.conf: add POST_CREATE (#2371)
  -- configure: fix libdir for Debian/Ubuntu case
  -- ct_env_create_real(): fix build for IA64
  -- vzctl create, vzctl exec: do skip fsck
  -- init.d/vz-gentoo: fix setting default for NET_MODULES and PLOOP_MODULES
  -- init.d/vz-redhat: don't reset cpulimits for all CTs
  - Improvements:
  -- Add a way to not modify sysctl.conf on installation (#2375)
  -- vzctl set --reset_ub: only allow for running CT
  -- init.d/vzeventd-redhat: switch to strict bash
  -- vz-postinstall: don't add bridge params to sysctl.conf
  -- vzlist: skip mounted status check if not needed
  -- vzubc: print errors to stderr
  -- vzctl start: don't start CT if /proc mount failed
  -- vzevent-stop: check for suspend/chkpnt
  -- init.d/vz*: unset io limits before stopping CT
  -- [build] setver.sh: add build_id, use getopt
  -- assorted minor code improvements
  - Documentation:
  -- vzctl(8), ctid.conf(5): document vm_overcommit
  -- vzctl(8): fix per-CT action script prefix
  -- vz.conf(5): LOGFILE don't have a default
  -- man: don't hardcode configurable paths
  -- vzlist(8): fix a subsection reference
  -- vzlist(8): fix indentation


author: Kir Kolyshkin <kir@openvz.org> - 4.6.1-1
changelog:
  - Fixes:
  -- vzctl set: require swap to be set for VSwap
  -- fill_vswap_ub(): fix a potential segfault
  -- ndsend: clear reserved2 field (#2804)
  -- vzubc: fix to work in old mawk (#2793)
  -- vzlist: fix bogus CTIDs in list (#2830)
  -- vzctl start: don't fail if VE_ROOT does not exist (#2807)


author: Kir Kolyshkin <kir@openvz.org> - 4.7-1
changelog:
  - New functionality and important changes:
  -- Disable conntrack for VE0 by default (#2755)
  -- vzctl set --diskspace: add --offline-resize (#2281)
  -- vzctl create: use ploop by default
  -- vzctl create, vzctl convert: honor diskinodes for ploop (#2898)
  -- vzctl create: add --diskinodes
  -- vzctl set: new option --netfilter to replace --iptables
  -- vzmigrate: support for copying CT dump file
  -- vzmigrate: introduce/use vzfsync for ploop (to shorten CT freeze time)
  -- bash-completion: CTIDs on ploop for compact
  -- vzctl create: honor MOUNT_OPTS
  -- vzctl console: add set_console dist script (#2865)
  -- vzctl snapshot-switch: add --skip_arpdetect option
  -- vzctl snapshot-switch: add --skip-resume, --skip-config
  -- vzctl set --diskinodes, DISKINODES: allow suffixes (KMG)
  -- vzpid: new option "-p" to show in-container PID(s)
  -- etc/vz.conf: add SKIP_ARPDETECT example
  -- etc/vz.conf: use ploop by default
  -- etc/vz.conf: use vswap config by default
  -- etc/vz.conf: merge IP6TABLES to IPTABLES_MODULES
  - Fixes:
  -- vzctl destroy: fix locking (#2814)
  -- debian-add_ip.sh: setup loopback device at least (#2859)
  -- vzctl start --wait: fix for non-standard Debian 7
  -- postcreate.sh: add Fedora 20+
  -- postcreate.sh: set file caps for suse 13.1+
  -- vzmigrate: fix ploop for diff VE_PRIVATE case (#2875)
  -- vzmigrate: hide ploop getdev output
  -- vzctl status, snapshot-list: don't mess with stdout even when verbose
  -- vzlist: don't spoil output with ploop messages
  -- logger.c: fix wrt ploop logging
  -- etc/network/if-up.d/vzifup-post: fix for Debian Wheezy (#2914)
  -- hooks_ct.c: bind-mount root to itself (fix for kernel v3.11+)
  -- hooks_ct: mount /proc and /sys before umounting old root
  -- bash_completion: replace exit with return
  -- bash_completion.d: add --quiet to vzctl
  -- vzmigrate: call vzctl status with --quiet
  -- vzcptcheck: fix program name in usage
  - Improvements:
  -- add_reach_runlevel_mark(): improve error messages
  -- set(): don't ignore fail from fill_vswap_ub()
  -- vzctl restore: warn in CPT_SET_LOCKFD2 not supported
  -- config.c: add SKIP_ARPDETECT to ignored list
  -- vzmigrate: lock CT locally
  -- vzmigrate --live: check for running CT earlier
  -- destroy_dump(): don't log "Removing" if no dump
  -- etc/conf/*sample: tune DISKINODES for ploop diskspace/diskinodes ratio
  -- etc/conf/ve-unlimited.conf-sample: remove
  -- hooks_ct: remove non-working devpts mount
  -- hooks_ct: mount devtmpfs in CT
  -- ct_chroot(): do not change a set of CT0's mounts
  -- parse_netif_str(): improve NETIF= param parsing
  -- setup_hardlink_dir(): show error if mkdir() failed
  - Documentation:
  -- vzctl(8): document MAX_VEID (#2784)
  -- vzctl --help: fix convert synopsys
  - Build system:
  -- setver.sh: rework buildid
  -- setver.sh: make it work on fresh git source
  -- autogen.sh, setver.sh: fix build from screwed git repo
  -- vzctl.spec: require bridge-utils (as we use brctl)


author: Kir Kolyshkin <kir@openvz.org> - 4.7.2-1
changelog:
  - vzlist: don't complain about missing ploop-lib (#2952)
  - setup_console: don't execute on older kernels (#2961)
  - clean_hardlink_dir(): note unlink/rmdir errors
  - vzctl(8): fix a typo


author: Kir Kolyshkin <kir@openvz.org> - 4.8-1
changelog:
  - New functionality and important changes:
  -- vzctl set: add NUMA --nodemask (sponsored by FastVPS)
  -- vzmigrate: speed up by using se ploop copy with feedback if available
  -- vzmigrate: speed up by reusing ssh connection
  -- init.d/vz: show CT stop status
  -- init.d/vz: implement parallel CT start (#2954, #2084)
  -- init.d/vz, vz.conf: use/expose VE_PARALLEL
  -- vzctl start,restore: add --skip-remount
  -- vzctl snapshot-switch: add --must-restore
  -- vzmigrate: ability to run ploop copy with timestamps
  - Fixes:
  -- vzctl.spec: disable VE0 conntracks only if unused (#2755)
  -- vzmigrate: fix for --snapshot (#2907)
  -- vzmigrate: don't run vzfsync if there is no need (#3055)
  -- vzmigrate: undo_lock if check_cpt_props failed
  -- vzmigrate: don't exit 1 on success
  -- vzlist: fix showing DISABLED (#3029)
  -- vzlist: fix cpulimit rounding (#3063)
  -- redhat-set_hostname.sh: fix for F15+/RHEL7 (#3051)
  -- vzctl compact: use built-in PATH (#2990)
  -- postcreate.sh: fix caps for suexec
  - Improvements:
  -- debian-add_ip.sh: support for Ubuntu 14.04
  -- postcreate.sh: add RHEL7/CentOS7 support
  -- vzctl create --diskinodes: check for max ploop size
  -- vzctl set --ostemplate: require --save (#2909)
  -- vzmigrate: don't specify default cipher
  -- vzmigrate: use getopt for option parsing
  -- vzmigrate: detect "can't lock CT" error
  -- vzmigrate: don't use rsync --delete-excluded
  -- cpumask: allow for up to 4096 CPUs
  -- vz_setcpu(): don't ignore errors from set_cpu*
  -- fixed a few memory leaks and non-closed fds reported by Coverity
  -- compare_osrelease(): fix for 3.x kernels
  -- parse_{chkpnt,restore}_opt: don't print error twice
  -- parse*opt(): add/improve extra args check
  -- vzctl create: improve "no ploop" error message
  - Documentation:
  -- vznnc(8): add
  -- vzctl --help: fix iolimit
  -- vzctl(8): document set --ostemplate (#2909)
  -- vzctl(8): add --nodemask, --must-restore, --skip-remount
  -- vzctl(8): improve --netfilter
  -- vz.conf(5): document VE_PARALLEL
  -- vzmigrate(8), vzmigrate --help: document --ssh-mux
  - Build system:
  -- setver.sh: check for ./configure to run autogen
  -- setver.sh: abort if autogen.sh/configure fails


